41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
##@cooked comments # -*- coding: utf-8 mode: sh -*- vim:sw=4:sts=4:et:ai:si:sta:fenc=utf-8
 | 
						|
## Fonction de support pour virsh
 | 
						|
##@cooked nocomments
 | 
						|
uprovide virsh
 | 
						|
 | 
						|
function virsh_filter() {
 | 
						|
    # filtrer une sortie liste de virsh. En pratique, ne prendre que les lignes
 | 
						|
    # non vides à partir de la ligne "----*"
 | 
						|
    awk '
 | 
						|
      BEGIN { dump = 0 }
 | 
						|
      /^---/ { dump = 1; next }
 | 
						|
      dump && $0 != "" { print }
 | 
						|
    '
 | 
						|
}
 | 
						|
 | 
						|
function virsh_list() {
 | 
						|
    virsh list "$@" | virsh_filter
 | 
						|
}
 | 
						|
 | 
						|
function virsh_pool_list() {
 | 
						|
    virsh pool-list "$@" | virsh_filter
 | 
						|
}
 | 
						|
 | 
						|
function guess_vm_type() {
 | 
						|
    # Afficher hn, kvm, vmware, virtualbox ou openvz suivant que l'on est
 | 
						|
    # *probablement* respectivement sur une machine physique, une machine
 | 
						|
    # virtuelle kvm, vmware, virtualbox, openvz
 | 
						|
    # XXX pour le moment, seuls openvz, kvm et hn sont supportés
 | 
						|
    local ctid="$(grep envID /proc/self/status | awk '{print $2}')"
 | 
						|
    if [ -n "$ctid" -a "$ctid" != "0" ]; then
 | 
						|
        echo openvz
 | 
						|
        return 0
 | 
						|
    fi
 | 
						|
    local cpuid="$(grep 'model name' /proc/cpuinfo)"
 | 
						|
    if quietgrep QEMU <<<"$cpuid"; then
 | 
						|
        echo kvm
 | 
						|
    else
 | 
						|
        echo hn
 | 
						|
    fi
 | 
						|
}
 |