Project

General

Profile

« Previous | Next » 

Revision 72fd0486

Added by Dmitri Dolguikh over 7 years ago

Fixes #18070 - add_record() checks for conflicts with leases now.

View differences:

modules/dhcp_libvirt/dhcp_libvirt_main.rb
doc = REXML::Document.new xml = libvirt_network.dump_xml
REXML::XPath.each(doc, "//network/ip[not(@family) or @family='ipv4']/dhcp/host") do |e|
to_ret << Proxy::DHCP::Reservation.new(
:subnet => subnet,
:ip => e.attributes["ip"],
:mac => e.attributes["mac"],
:hostname => e.attributes["name"])
e.attributes["name"],
e.attributes["ip"],
e.attributes["mac"],
subnet,
:hostname => e.attributes["name"])
end
to_ret
rescue Exception => e
......
leases = libvirt_network.dhcp_leases
leases.each do |element|
lease = Proxy::DHCP::Lease.new(
:subnet => subnet,
:ip => element['ipaddr'],
:mac => element['mac'],
:starts => Time.now.utc,
:ends => Time.at(element['expirytime'] || 0).utc,
:state => 'active'
nil,
element['ipaddr'],
element['mac'],
subnet,
Time.now.utc,
Time.at(element['expirytime'] || 0).utc,
'active'
)
service.add_lease(lease.subnet_address, lease)
end

Also available in: Unified diff