When looking up a lease via omapi, the dhcpd ignores the "state" field of the query key object. This can prevent the query from working at all, because there can easily be multiple objects which are distinguished only by "state": > new lease obj: lease > set hardware-address = 5a:36:0e:9d:00:01 obj: lease hardware-address = 5a:36:0e:9d:00:01 > open can't open object: more than one object matches key obj: lease hardware-address = 5a:36:0e:9d:00:01 > set state = 00:00:00:02 obj: lease hardware-address = 5a:36:0e:9d:00:01 state = 00:00:00:02 > open can't open object: more than one object matches key obj: lease hardware-address = 5a:36:0e:9d:00:01 state = 00:00:00:02 > This bug seems to be described here: https://lists.isc.org/pipermail/dhcp-hackers/2005-August/001399.html Sadly no-one seems to have given any useful pointers to Robin Breathe in 2005 and the bug remains unfixed at least in my current distro. As as result, the "lookup_ip" function in pypureomapi does not work reliably (and cannot be made to work reliably). (I'm using Debian's isc-dhcp-server version 4.2.2.dfsg.1-5+deb70u8.) Ian.