Hello All,
I am using following Python script to reserve the first available IP address from a subnet. It works fine most of the time but occasionally it returns a random available address from the middle of the range instead of the first available. Any ideas why is this happening and how to fix it?
import sys
from orionsdk import SwisClient
api_username = sys.argv[1]
api_password = sys.argv[2]
ipam_server = '10.1.1.10'
# Get first available ip address
query = "SELECT TOP 1 I.DisplayName, I.Uri FROM IPAM.IPNode I WHERE Status=2 AND I.Subnet.DisplayName = '{0}'".format(sys.argv[3])
swis = SwisClient(ipam_server, api_username, api_password)
results = swis.query(query)
for result in results['results']:
uri = result['Uri']
print(result['DisplayName'])
# Mark the ip address as Reserved and add a comment
swis.update(uri, Status='Reserved', DnsBackward=sys.argv[4])