def add_devices(n_devices):
    """ create n_devices devices with random ip and device class """
    device_classes = get_device_classes(dmd)
    for i in range(n_devices):
        ip = generate_random_ip()
        device_class = random.choice(device_classes)
        device_class = device_class[18:] # remove "/zport/dmd/Devices"
        print "Creating device {0} / {1}".format(ip, device_class)
        device = JobDeviceLoader(dmd).load_device(ip, device_class, 'none', 'localhost', manageIp=ip)
        assign_random_ips_to_device(device)
        commit()
def assign_random_ips_to_device(device, n_ips=N_IPS):
    for i in range(n_ips):
        ip = generate_random_ip()
        #print "added ip {0} to {1}".format(ip, device)
        ts = int(time.time())
        iface_id = "testinterface_{0}_{1}".format(str(ts), i)
        device.os.addIpInterface(iface_id, True)
        interface = device.os.interfaces._getOb(iface_id)
        interface.macaddress = iface_id + "_macaddress"
        interface.description = "hola {0}".format(ts)
        interface.addIpAddress(ip)