Projet

Général

Profil

Paste
Télécharger au format
Statistiques
| Branche: | Révision:

root / plugins / lxc / lxc-lib @ 3e865223

Historique | Voir | Annoter | Télécharger (1,13 ko)

1 ce6e67ff Marc SCHAEFER
: << =cut
2
3
=head1 NAME
4
5
lxc-lib -- some base functions for the lxc_* plugins
6
7
=head1 AUTHOR
8
9
schaefer@alphanet.ch
10
11
=head1 LICENSE
12
13
GPLv3
14
15
=cut
16
17
lxcpath=${lxcpath:-/var/lib/lxc}
18
19
function active_guests {
20
   local g active i ok
21
   for g in $(lxc-ls | sort -u)
22
   do
23
      # handle optional exclude list in $1
24
      ok=1
25
      for i in $1
26
      do
27
         if [ "$i" = "$g" ]; then
28
            ok=0
29
         fi
30
      done
31
32
      if [ $ok = 1 ]; then
33
         if lxc-info -n $g 2>&1 | grep -qs RUNNING; then
34
            active="$active $g"
35
         fi
36
      fi
37
   done
38
39
   echo $active
40
}
41
42
function lxc_cgroup {
43
   # lxc3
44
   lxc-cgroup -o /dev/stdout -l INFO $* | sed 's/^.*lxc_cgroup.c:main:[0-9][0-9]* - //'
45
46
   # lxc < 3
47 3e865223 Marc SCHAEFER
#   lxc-cgroup $*
48 ce6e67ff Marc SCHAEFER
}
49
50
function lxc_clean_fieldname {
51
   # workaround for bug leaving out the first number
52
   echo $(clean_fieldname ${1::1}$1)
53
}
54
55
function lxc_netdev {
56
   local g=$1 dev
57
58
   if [ -f $lxcpath/$g/config ]; then
59 3e865223 Marc SCHAEFER
      # lxc3
60
      egrep '^lxc.net.0.veth.pair' $lxcpath/$g/config | awk '{print $NF;}'
61
62
      # lxc < 3
63
#      egrep '^lxc.network.veth.pair' $lxcpath/$g/config | awk '{print $NF;}'
64 ce6e67ff Marc SCHAEFER
   else
65
      echo unknown
66
   fi
67
}