================== Tag Query Language ================== == by examples == # list accounts sluttrin> list a # list hypervisor sluttrin> list hv # list vm sluttrin> list vm # list vm of hypervisor toto sluttrin> list hv=toto&vm # list vm chiche of hypervisor toto sluttrin> list hv=toto&vm=chiche #list vm with 2 cpu sluttrin> list vm&cpu=2 #list vm with 2 cpu and mem > 10g sluttrin> list vm&cpu=2&mem>10g #list hypervistor with 2cpu and vm with 2cpu sluttrin> list hv&cpu=2&vm&cpu=2 #list hypervistor at least 2cpu and show tags pop and alloc sluttrin> list hv&cpu>=2$pop$alloc #list first 10 vm sluttrin> list vm^10 #list last 10 vm sluttrin> list vm^:10 #list vm sluttrin> list vm^5:10 #list vm sorted by vm sluttrin> list vm%vm #list vm sorted by vm and cpu sluttrin> list vm%vm%cpu == Basics == - TQL build a list of objects from left to right - Every tag can add or remove objects - Separators create link between tag - Operators apply only on one tag == separators of tags == & and between tags $ show a tag ^ limit output % limit output == operators on tags == = strict equality != not strict equlity : globing matching !:not globing matching ~ regex matching !~ not regex matching > superior strict >= superior < inferior <= inferior strict == number facility == 10k = 1000 10ki = 1024 1m = 1000 ^ 2 1mi = 1024 ^ 2 1g = 1000 ^ 3 1gi = 1024 ^ 3 == well known tags == a: account name (eg: bobby) role: account role (eg: hypersivor/host/cli/vm) id: a[.vm] (eg: hkvm-itx1-3.slfw-b) con: connection uptime or offline (eg: 3600/offline) ip: ip of peer hv: hypervisor name (eg: kvm-chausette) vm: virtual machine name (eg: access) h: hostname (eg: access) hvtype: hypervistor type (xen/kvm) libvirtver: Libvirt version status: Vm status (eg: running/paused/stopped) pop: Point of Presence cpu: cpu count mem: memory size memused: memory used memfree: memory free arch: (x86/x64) uname: uname of host uptime: uptime of hostname load: load average hvm: hardware virtualisation enabled alloc: host is allowed to be selected to a migration nvm: vm count on an hypervisor version: account version sto: storage pool names (eg: vg fg) stovg_type: vg storage pool type (eg: lvm) stovg_size: vg storage pool size (eg: 1042) stovg_used: vg storage pool used space (eg: 1) stovg_free: vg storage pool free space (eg: 1041) stovg_path: vg storage pool path (eg: /dev/vg/) stovg_vol: vg storage pool volume list (eg: sex titi toto) disk: disk index list (eg: 1 2 3 4) disk1_path: disk 1 path (eg: /dev/vg/sex) disk1_size: disk 1 size (eg: 1024) disk1_pool: storage pool back reference (eg: vg) [vmonly] disk1_voln: storage pool volume back reference (eg: ) [vmonly]