예제 #1
0
def add_edge(options):
    """ function to add on edge

    @param options cli options to this script
    @return True/False True - success False - error
    """
    vsm_obj = get_vsm_object(options, '4.0')
    edge = Edge(vsm_obj, '4.0')
    edge_schema = EdgeSchema(None)
    edge_schema.datacenterMoid = get_datacenter_id(options)
    edge_schema.appliances.applianceSize = 'compact'

    appliance_schema = ApplianceSchema()
    appliance_schema.datastoreId = get_datastore_id(options)
    appliance_schema.resourcePoolId = get_cluster_id(options)

    # XXX(hchilkot):
    # set default firewall rule to accept for edge,
    # this is required to pass any traffic across networks.
    result, features_schema = set_edge_features_schema(
        default_firewall_rule=FW_DEFAULT_RULE_ACCEPT)
    if not result:
        print(
            "Result : %r. Received: %r for features schema. \
              Failed to set edge features." % (result, features_schema))
        return False
    edge_schema.features = features_schema

    edge_schema.appliances.appliance = [appliance_schema]
    edge_schema.vnics = [get_vnic(options, 0)]
    edge_schema.name = get_edge_name(options)
    print("Creating edge %s" % edge_schema.name)
    result = edge.create(edge_schema)
    if (result[0].response.status != 201):
        r_vars = vars(result[0])
        print("Create edge error: %s" % result[0].response.reason)
        print ', '.join("%s: %s" % item for item in r_vars.items())
        return False
    return True
예제 #2
0
def add_edge(options):
    """ function to add on edge

    @param options cli options to this script
    @return True/False True - success False - error
    """
    vsm_obj = get_vsm_object(options, '4.0')
    edge = Edge(vsm_obj, '4.0')
    edge_schema = EdgeSchema(None)
    edge_schema.datacenterMoid = get_datacenter_id(options)
    edge_schema.appliances.applianceSize = 'compact'

    appliance_schema = ApplianceSchema()
    appliance_schema.datastoreId = get_datastore_id(options)
    appliance_schema.resourcePoolId = get_cluster_id(options)

    # XXX(hchilkot):
    # set default firewall rule to accept for edge,
    # this is required to pass any traffic across networks.
    result, features_schema = set_edge_features_schema(default_firewall_rule = FW_DEFAULT_RULE_ACCEPT)
    if not result:
       print("Result : %r. Received: %r for features schema. \
              Failed to set edge features." % (result, features_schema))
       return False
    edge_schema.features = features_schema

    edge_schema.appliances.appliance = [appliance_schema]
    edge_schema.vnics = [get_vnic(options, 0)]
    edge_schema.name = get_edge_name(options)
    print ("Creating edge %s" % edge_schema.name)
    result = edge.create(edge_schema)
    if (result[0].response.status != 201):
       r_vars = vars(result[0])
       print("Create edge error: %s" % result[0].response.reason)
       print ', '.join("%s: %s" % item for item in r_vars.items())
       return False
    return True
예제 #3
0
               'autoconfiguration': {'enabled': True, 'rulepriority': 'high'},
               'querydaemon': {'enabled': True, 'port': 5666},
               'vnics': [{'label': 'vNic_0', 'name': 'NIC-1',
                                   'addressgroups': [{
                                                         'primaryaddress': '192.168.0.1',
                                                          'subnetmask': '255.255.255.224',
                                                          'subnetprefixlength': 27
                                                     }],
                                   'mtu': 1500, 'type': 'internal', 'isconnected': True, 'index': 0,
                                   'portgroupid': 'dvportgroup-164',
                                   'enableproxyarp': False, 'enablesendredirects': False
                                  }],
               }

    edge_schema_object = edge_client.get_schema_object(py_dict)
    result_obj_1 = edge_client.create(edge_schema_object)
    print result_obj_1.status_code

    edge_schema = edge_client.read()
    edge_schema.print_object()

    edge_client.get_ip()

    #Configure DHCP
    dhcp_py_dict = {
        'enabled': True,
        'logging': {'loglevel': 'info', 'enable': False},
        'ippools': [
                   {
                       'autoconfiguredns': True,
                       'defaultGateway': '192.168.0.3',