delete potentially conflicting dhcp configs before adding a new one
This commit is contained in:
		@ -12,4 +12,13 @@ ipv4_address="$4"
 | 
			
		||||
[ "$mac_address" = '' ] && printf 'you must set $mac_address (3rd arg)\n' && exit 1
 | 
			
		||||
[ "$ipv4_address" = '' ] && printf 'you must set $ipv4_address (4th arg)\n' && exit 1
 | 
			
		||||
 | 
			
		||||
# for some reason libvirt appears to remember every dhcp lease even after it has expired.
 | 
			
		||||
# adding a new ip-dhcp-host will fail if there already is one with the same ip address. 
 | 
			
		||||
# so we will try to delete any that already exist with that IP address just in case!
 | 
			
		||||
if [ "$action" == 'add' ]; then
 | 
			
		||||
  printf "trying to delete any existing (probably expired) dhcp associations for $ipv4_address..."
 | 
			
		||||
  virsh net-update "$network_name" delete ip-dhcp-host "<host ip='$ipv4_address' />" --live --config || true
 | 
			
		||||
fi
 | 
			
		||||
 | 
			
		||||
printf "adding $mac_address --> $ipv4_address to $network_name"
 | 
			
		||||
virsh net-update "$network_name" "$action" ip-dhcp-host "<host mac='$mac_address' ip='$ipv4_address' />" --live --config
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user