Bug 99: get_dhcp_lease.sh with support for LXD DHCP / fix in openvimd.cfg comment
[osm/openvim.git] / scripts / get_dhcp_lease.sh
index 247a675..3262154 100755 (executable)
 # For those usages not covered by the Apache License, Version 2.0 please
 # contact with: nfvlabs@tid.es
 ##
-awk '
-($1=="lease" && $3=="{"){ lease=$2; active="no"; found="no" }
-($1=="binding" && $2=="state" && $3=="active;"){ active="yes" }
-($1=="hardware" && $2=="ethernet" && $3==tolower("'$1';")){ found="yes" }
-($1=="client-hostname"){ name=$2 }
-($1=="}"){ if (active=="yes" && found=="yes"){ target_lease=lease; target_name=name}}
-END{printf("%s", target_lease)} #print target_name
-' /var/lib/dhcp/dhcpd.leases
 
+if [ -e /var/lib/dhcp/dhcpd.leases ]
+then 
+       awk '
+       ($1=="lease" && $3=="{"){ lease=$2; active="no"; found="no" }
+       ($1=="binding" && $2=="state" && $3=="active;"){ active="yes" }
+       ($1=="hardware" && $2=="ethernet" && $3==tolower("'$1';")){ found="yes" }
+       ($1=="client-hostname"){ name=$2 }
+       ($1=="}"){ if (active=="yes" && found=="yes"){ target_lease=lease; target_name=name}}
+       END{printf("%s", target_lease)} #print target_name
+       ' /var/lib/dhcp/dhcpd.leases
+elif [ -e /var/lib/lxd-bridge/dnsmasq.lxdbr0.leases ]
+then
+       awk '
+       ($2=="'$1'"){ lease=$3; name=$4}
+       END{printf("%s", lease)} 
+       ' /var/lib/lxd-bridge/dnsmasq.lxdbr0.leases
+fi