def initialize(self): self.vif_type = portbindings.VIF_TYPE_OVS self.vif_details = {portbindings.CAP_PORT_FILTER: True} config.validate_config_options() # need sec group handler? # start sync thread here self.nsx_opts = cfg.CONF.NSX self.nsx_sync_opts = cfg.CONF.NSX_SYNC self.cluster = nsx_utils.create_nsx_cluster( cfg.CONF, self.nsx_opts.concurrent_connections, self.nsx_opts.nsx_gen_timeout ) self._synchronize = AkandaNsxSynchronizer( DeferredPluginRef(), self.cluster, self.nsx_sync_opts.state_sync_interval+1000, self.nsx_sync_opts.min_sync_req_delay, self.nsx_sync_opts.min_chunk_size, self.nsx_sync_opts.max_random_sync_delay )
def main(): if len(sys.argv) != 2: help(sys.argv[0]) args = ['--config-file'] args.append(sys.argv[1]) config.init(args) print("----------------------- Database Options -----------------------") print("\tconnection: %s" % cfg.CONF.database.connection) print("\tretry_interval: %d" % cfg.CONF.database.retry_interval) print("\tmax_retries: %d" % cfg.CONF.database.max_retries) print("----------------------- NSX Options -----------------------") print("\tNSX Generation Timeout %d" % cfg.CONF.NSX.nsx_gen_timeout) print("\tNumber of concurrent connections to each controller %d" % cfg.CONF.NSX.concurrent_connections) print("\tmax_lp_per_bridged_ls: %s" % cfg.CONF.NSX.max_lp_per_bridged_ls) print("\tmax_lp_per_overlay_ls: %s" % cfg.CONF.NSX.max_lp_per_overlay_ls) print("----------------------- Cluster Options -----------------------") print("\tretries: %s" % cfg.CONF.retries) print("\tredirects: %s" % cfg.CONF.redirects) print("\thttp_timeout: %s" % cfg.CONF.http_timeout) cluster = nsx_utils.create_nsx_cluster(cfg.CONF, cfg.CONF.NSX.concurrent_connections, cfg.CONF.NSX.nsx_gen_timeout) nsx_controllers = get_nsx_controllers(cluster) num_controllers = len(nsx_controllers) print("Number of controllers found: %s" % num_controllers) if num_controllers == 0: print("You must specify at least one controller!") sys.exit(1) get_control_cluster_nodes(cluster) for controller in nsx_controllers: print("\tController endpoint: %s" % controller) gateway_services = get_gateway_services(cluster) default_gateways = { "L2GatewayServiceConfig": cfg.CONF.default_l2_gw_service_uuid, "L3GatewayServiceConfig": cfg.CONF.default_l3_gw_service_uuid } errors = 0 for svc_type in default_gateways.keys(): for uuid in gateway_services[svc_type]: print("\t\tGateway(%s) uuid: %s" % (svc_type, uuid)) if (default_gateways[svc_type] and default_gateways[svc_type] not in gateway_services[svc_type]): print("\t\t\tError: specified default %s gateway (%s) is " "missing from NSX Gateway Services!" % (svc_type, default_gateways[svc_type])) errors += 1 transport_zones = get_transport_zones(cluster) print("\tTransport zones: %s" % transport_zones) if cfg.CONF.default_tz_uuid not in transport_zones: print("\t\tError: specified default transport zone " "(%s) is missing from NSX transport zones!" % cfg.CONF.default_tz_uuid) errors += 1 transport_nodes = get_transport_nodes(cluster) print("\tTransport nodes: %s" % transport_nodes) node_errors = [] for node in transport_nodes: if not is_transport_node_connected(cluster, node): node_errors.append(node) # Use different exit codes, so that we can distinguish # between config and runtime errors if len(node_errors): print("\nThere are one or mode transport nodes that are " "not connected: %s. Please, revise!" % node_errors) sys.exit(10) elif errors: print("\nThere are %d errors with your configuration. " "Please, revise!" % errors) sys.exit(12) else: print("Done.")
def main(): if len(sys.argv) != 2: help(sys.argv[0]) args = ['--config-file'] args.append(sys.argv[1]) config.init(args) print("----------------------- Database Options -----------------------") print("\tconnection: %s" % cfg.CONF.database.connection) print("\tretry_interval: %d" % cfg.CONF.database.retry_interval) print("\tmax_retries: %d" % cfg.CONF.database.max_retries) print("----------------------- NSX Options -----------------------") print("\tNSX Generation Timeout %d" % cfg.CONF.NSX.nsx_gen_timeout) print("\tNumber of concurrent connections to each controller %d" % cfg.CONF.NSX.concurrent_connections) print("\tmax_lp_per_bridged_ls: %s" % cfg.CONF.NSX.max_lp_per_bridged_ls) print("\tmax_lp_per_overlay_ls: %s" % cfg.CONF.NSX.max_lp_per_overlay_ls) print("----------------------- Cluster Options -----------------------") print("\trequested_timeout: %s" % cfg.CONF.req_timeout) print("\tretries: %s" % cfg.CONF.retries) print("\tredirects: %s" % cfg.CONF.redirects) print("\thttp_timeout: %s" % cfg.CONF.http_timeout) cluster = nsx_utils.create_nsx_cluster( cfg.CONF, cfg.CONF.NSX.concurrent_connections, cfg.CONF.NSX.nsx_gen_timeout) nsx_controllers = get_nsx_controllers(cluster) num_controllers = len(nsx_controllers) print("Number of controllers found: %s" % num_controllers) if num_controllers == 0: print("You must specify at least one controller!") sys.exit(1) get_control_cluster_nodes(cluster) for controller in nsx_controllers: print("\tController endpoint: %s" % controller) gateway_services = get_gateway_services(cluster) default_gateways = { "L2GatewayServiceConfig": cfg.CONF.default_l2_gw_service_uuid, "L3GatewayServiceConfig": cfg.CONF.default_l3_gw_service_uuid} errors = 0 for svc_type in default_gateways.keys(): for uuid in gateway_services[svc_type]: print("\t\tGateway(%s) uuid: %s" % (svc_type, uuid)) if (default_gateways[svc_type] and default_gateways[svc_type] not in gateway_services[svc_type]): print("\t\t\tError: specified default %s gateway (%s) is " "missing from NSX Gateway Services!" % ( svc_type, default_gateways[svc_type])) errors += 1 transport_zones = get_transport_zones(cluster) print("\tTransport zones: %s" % transport_zones) if cfg.CONF.default_tz_uuid not in transport_zones: print("\t\tError: specified default transport zone " "(%s) is missing from NSX transport zones!" % cfg.CONF.default_tz_uuid) errors += 1 transport_nodes = get_transport_nodes(cluster) print("\tTransport nodes: %s" % transport_nodes) node_errors = [] for node in transport_nodes: if not is_transport_node_connected(cluster, node): node_errors.append(node) # Use different exit codes, so that we can distinguish # between config and runtime errors if len(node_errors): print("\nThere are one or mode transport nodes that are " "not connected: %s. Please, revise!" % node_errors) sys.exit(10) elif errors: print("\nThere are %d errors with your configuration. " "Please, revise!" % errors) sys.exit(12) else: print("Done.")