Example #1
0
def create_dhcp_pool(options, vsm_obj, range, default_gateway):
    """ function to create dhcp ip pool

    @param options cli options to this script
    @param vsm_obj reference to vsm client object
    @param range dhcp ip range
    @param default_gateway default gateway
    @return True/False True - success False - error
    """
    edge = Edge(vsm_obj, '4.0')
    edge_id = get_edge(vsm_obj)
    edge.id = edge_id

    dhcp_py_dict = {
        'enabled':
        True,
        'logging': {
            'loglevel': 'info',
            'enable': False
        },
        'ippools': [{
            'autoconfiguredns': True,
            'defaultGateway': default_gateway,
            'iprange': range,
        }],
    }
    dhcp_client = DHCP(edge)
    print("Creating dhcp ippool with range %s" % range)
    dhcp_schema_object = dhcp_client.get_schema_object(dhcp_py_dict)
    existing_dhcp_schema = dhcp_client.read()
    if existing_dhcp_schema and existing_dhcp_schema.ipPools:
        print "append dhcp ippool to existing list"
        dhcp_schema_object.ipPools = existing_dhcp_schema.ipPools + \
           dhcp_schema_object.ipPools
    result = dhcp_client.create(dhcp_schema_object)

    if (result[0].response.status != 204):
        r_vars = vars(result[0])
        print("Create IP Pool error: %s" % result[0].response.reason)
        print ', '.join("%s: %s" % item for item in r_vars.items())
        return False
    return True
Example #2
0
def create_dhcp_pool(options, vsm_obj, range, default_gateway):
    """ function to create dhcp ip pool

    @param options cli options to this script
    @param vsm_obj reference to vsm client object
    @param range dhcp ip range
    @param default_gateway default gateway
    @return True/False True - success False - error
    """
    edge = Edge(vsm_obj, '4.0')
    edge_id = get_edge(vsm_obj)
    edge.id = edge_id

    dhcp_py_dict = {
        'enabled': True,
        'logging': {'loglevel': 'info', 'enable': False},
        'ippools': [
                   {
                       'autoconfiguredns': True,
                       'defaultGateway': default_gateway,
                       'iprange': range,
                   }
        ],
    }
    dhcp_client = DHCP(edge)
    print("Creating dhcp ippool with range %s" % range)
    dhcp_schema_object = dhcp_client.get_schema_object(dhcp_py_dict)
    existing_dhcp_schema = dhcp_client.read()
    if existing_dhcp_schema and existing_dhcp_schema.ipPools:
       print "append dhcp ippool to existing list"
       dhcp_schema_object.ipPools = existing_dhcp_schema.ipPools + \
          dhcp_schema_object.ipPools
    result = dhcp_client.create(dhcp_schema_object)

    if (result[0].response.status != 204):
       r_vars = vars(result[0])
       print("Create IP Pool error: %s" % result[0].response.reason)
       print ', '.join("%s: %s" % item for item in r_vars.items())
       return False
    return True
Example #3
0
        'enabled': True,
        'logging': {'loglevel': 'info', 'enable': False},
        'ippools': [
                   {
                       'autoconfiguredns': True,
                       'defaultGateway': '192.168.0.3',
                       'domainname': 'eng.vmware.com',
                       'primarynameserver': '192.168.0.4',
                       'secondarynameserver': '4.2.2.4',
                       'leasetime': 360000,
                       'iprange': '192.168.0.10-192.168.0.20',
                   }
        ],
    }
    dhcp_client = DHCP(edge_client)
    dhcp_schema_object = dhcp_client.get_schema_object(dhcp_py_dict)
    result_obj_1 = dhcp_client.create(dhcp_schema_object)
    print result_obj_1.status_code

    dhcp_schema = dhcp_client.read()
    dhcp_schema.print_object()

    #Append IPPool to DHCP
    ippool_py_dict = {
                       'autoconfiguredns': True,
                       'defaultGateway': '192.168.0.3',
                       'domainname': 'eng.vmware.com',
                       'primarynameserver': '192.168.0.4',
                       'secondarynameserver': '4.2.2.4',
                       'leasetime': 360000,
                       'iprange': '192.168.0.21-192.168.0.25',