Exemple #1
0
def do_clean(dev, user):
    # Reset save priorities
    dev.save_priorities = ''
    dev.max_save_priority = 0
    dev.save()
    # Set comment and user here, so that all changes have it
    save_comment = "Deployment"
    dev.save_comment = save_comment
    dev.save_user = user
    # Disconnect all IP addresses and delete DNS and DHCP entries
    for ipaddress in dev.ipaddress_set.all():
        clean_dhcp_ip(ipaddress.address)
        clean_dns_entries(ipaddress.address)
        ipaddress.device = None
        ipaddress.save()
    for ethernet in dev.ethernet_set.all():
        clean_dhcp_mac(ethernet.mac)
    # Delete all software components
    for c in dev.software_set.all():
        c.delete()
    for c in dev.operatingsystem_set.all():
        c.delete()
    # Disconnect all children
    for d in dev.child_set.all():
        d.parent = None
        d.save_priorities = ''
        d.max_save_priority = 0
        d.save_comment = save_comment
        d.save(user=user)
    # Delete all disk share mounts
    for m in dev.disksharemount_set.all():
        m.delete()
    for m in dev.servermount_set.all():
        m.delete()
    # Delete all disk shares
    for ds in dev.diskshare_set.all():
        ds.delete()
    # Reset uptime
    dev.uptime_seconds = 0
    dev.uptime_timestamp = None
    # Set verified, undelete, and update remarks
    dev.verified = True
    dev.deleted = False
    if dev.remarks:
        remark = "-- Remarks below are for old role %s/%s from %s --\n" % (
            dev.venture.name if dev.venture else '-',
            dev.venture_role.full_name if dev.venture_role else '-',
            datetime.date.today().strftime('%Y-%m-%d'),
        )
        dev.remarks = remark + dev.remarks
    dev.save()
Exemple #2
0
def do_clean(dev, user):
    # Reset save priorities
    dev.save_priorities = ''
    dev.max_save_priority = 0
    dev.save()
    # Set comment and user here, so that all changes have it
    save_comment = "Deployment"
    dev.save_comment = save_comment
    dev.save_user = user
    # Disconnect all IP addresses and delete DNS and DHCP entries
    for ipaddress in dev.ipaddress_set.all():
        clean_dhcp_ip(ipaddress.address)
        clean_dns_entries(ipaddress.address)
        ipaddress.device = None
        ipaddress.save()
    for ethernet in dev.ethernet_set.all():
        clean_dhcp_mac(ethernet.mac)
    # Delete all software components
    for c in dev.software_set.all():
        c.delete()
    for c in dev.operatingsystem_set.all():
        c.delete()
    # Disconnect all children
    for d in dev.child_set.all():
        d.parent = None
        d.save_priorities = ''
        d.max_save_priority = 0
        d.save_comment = save_comment
        d.save(user=user)
    # Delete all disk share mounts
    for m in dev.disksharemount_set.all():
        m.delete()
    for m in dev.servermount_set.all():
        m.delete()
    # Delete all disk shares
    for ds in dev.diskshare_set.all():
        ds.delete()
    # Reset uptime
    dev.uptime_seconds = 0
    dev.uptime_timestamp = None
    # Set verified, undelete, and update remarks
    dev.verified = True
    dev.deleted = False
    if dev.remarks:
        remark = "-- Remarks below are for old role %s/%s from %s --\n" % (
            dev.venture.name if dev.venture else '-',
            dev.venture_role.full_name if dev.venture_role else '-',
            datetime.date.today().strftime('%Y-%m-%d'),
        )
        dev.remarks = remark + dev.remarks
    dev.save()
Exemple #3
0
def change_ip_address(current_ip_address, new_ip_address):
    _change_ip_address_validation(current_ip_address, new_ip_address)

    # change device ip address
    ip_current = _get_changed_ip_address_object(current_ip_address)
    ip_new = _get_or_create_ip_address(new_ip_address)
    hostname = ip_current.hostname
    device = _get_connected_device(ip_current)
    _change_device_ip_address(device, ip_current, ip_new)

    # change dhcp entries
    _change_ip_address_dhcp_entry(ip_current, ip_new)

    # change dns
    clean_dns_entries(ip_current.address)
    reset_dns(hostname, ip_new.address)
Exemple #4
0
def change_ip_address(current_ip_address, new_ip_address):
    _change_ip_address_validation(current_ip_address, new_ip_address)

    # change device ip address
    ip_current = _get_changed_ip_address_object(current_ip_address)
    ip_new = _get_or_create_ip_address(new_ip_address)
    hostname = ip_current.hostname
    device = _get_connected_device(ip_current)
    _change_device_ip_address(device, ip_current, ip_new)

    # change dhcp entries
    _change_ip_address_dhcp_entry(ip_current, ip_new)

    # change dns
    clean_dns_entries(ip_current.address)
    reset_dns(hostname, ip_new.address)