Skip to content

Instantly share code, notes, and snippets.

@niedbalski
Last active August 29, 2015 14:24
Show Gist options
  • Save niedbalski/eb5a5cdbe4b5158bb4d7 to your computer and use it in GitHub Desktop.
Save niedbalski/eb5a5cdbe4b5158bb4d7 to your computer and use it in GitHub Desktop.
update-node-dhcp-dns.py
#!/usr/bin/env python
"""
This scripts creates a MAAS DHCP lease, forces to write that dhcp lease on the
filesystem , and forces to write the dns zone reflecting the new lease.
Usage:
./{0} ip_addr mac_addr
"""
from maasserver.dns import change_dns_zones, write_full_dns_config
from maasserver.models import DHCPLease
from maasserver.models import NodeGroup
from maasserver.dhcp import configure_dhcp
import sys
def update_lease(nodegroup, ip, mac):
lease = DHCPLease(nodegroup=nodegroup, ip=ip, mac=mac)
lease.save()
def main():
ip, mac = (sys.argv[1], sys.argv[2])
for nodegroup in NodeGroup.objects.all():
update_lease(nodegroup, ip, mac)
configure_dhcp(nodegroup)
change_dns_zones(NodeGroup.objects.all())
write_full_dns_config(reload_retry=True, force=True)
if __name__ == "__main__":
if not len(sys.argv) >= 3:
print >> sys.stderr, __doc__.format(*sys.argv)
sys.exit(-1)
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment