def main(): eventlet.monkey_patch() cfg.CONF(args=sys.argv, project='quantum') # (TODO) gary - swap with common logging logging_config.setup_logging(cfg.CONF) interface_mappings = {} for mapping in cfg.CONF.LINUX_BRIDGE.physical_interface_mappings: try: physical_network, physical_interface = mapping.split(':') interface_mappings[physical_network] = physical_interface LOG.debug("physical network %s mapped to physical interface %s" % (physical_network, physical_interface)) except ValueError as ex: LOG.error("Invalid physical interface mapping: \'%s\' - %s" % (mapping, ex)) sys.exit(1) polling_interval = cfg.CONF.AGENT.polling_interval reconnect_interval = cfg.CONF.DATABASE.reconnect_interval root_helper = cfg.CONF.AGENT.root_helper rpc = cfg.CONF.AGENT.rpc if rpc: plugin = LinuxBridgeQuantumAgentRPC(interface_mappings, polling_interval, root_helper) else: db_connection_url = cfg.CONF.DATABASE.sql_connection plugin = LinuxBridgeQuantumAgentDB(interface_mappings, polling_interval, reconnect_interval, root_helper, db_connection_url) LOG.info("Agent initialized successfully, now running... ") plugin.daemon_loop() sys.exit(0)
def main(): cfg.CONF(args=sys.argv, project='quantum') # (TODO) gary - swap with common logging logging_config.setup_logging(cfg.CONF) # Determine which agent type to use. enable_tunneling = cfg.CONF.OVS.enable_tunneling integ_br = cfg.CONF.OVS.integration_bridge db_connection_url = cfg.CONF.DATABASE.sql_connection polling_interval = cfg.CONF.AGENT.polling_interval reconnect_interval = cfg.CONF.DATABASE.reconnect_interval root_helper = cfg.CONF.AGENT.root_helper # Determine API Version to use target_v2_api = cfg.CONF.AGENT.target_v2_api # Get parameters for OVSQuantumAgent. plugin = MetaOVSQuantumAgent(integ_br, root_helper, polling_interval, reconnect_interval, target_v2_api) # Start everything. plugin.daemon_loop(db_connection_url) sys.exit(0)
def main(): cfg.CONF(args=sys.argv, project='quantum') # (TODO) gary - swap with common logging logging_config.setup_logging(cfg.CONF) integ_br = cfg.CONF.OVS.integration_bridge root_helper = cfg.CONF.AGENT.root_helper options = {"sql_connection": cfg.CONF.DATABASE.sql_connection} db = SqlSoup(options["sql_connection"]) LOG.info( _("Connecting to database \"%(database)s\" on %(host)s") % { "database": db.engine.url.database, "host": db.engine.url.host }) ofp_rest_api_addr = check_ofp_rest_api_addr(db) tunnel_ip = _get_tunnel_ip() LOG.debug(_('tunnel_ip %s'), tunnel_ip) ovsdb_port = cfg.CONF.OVS.ovsdb_port LOG.debug(_('ovsdb_port %s'), ovsdb_port) ovsdb_ip = _get_ovsdb_ip() LOG.debug(_('ovsdb_ip %s'), ovsdb_ip) try: OVSQuantumOFPRyuAgent(integ_br, ofp_rest_api_addr, tunnel_ip, ovsdb_ip, ovsdb_port, root_helper) except httplib.HTTPException, e: LOG.error(_("initialization failed: %s"), e) sys.exit(1)
def main(): eventlet.monkey_patch() opts = [ cfg.StrOpt('network_id'), cfg.StrOpt('router_id'), cfg.StrOpt('pid_file'), cfg.BoolOpt('daemonize', default=True), cfg.IntOpt('metadata_port', default=9697, help="TCP Port to listen for metadata server requests."), ] cfg.CONF.register_opts(opts) cfg.CONF(args=sys.argv, project='quantum') config.setup_logging(cfg.CONF) proxy = ProxyDaemon(cfg.CONF.pid_file, cfg.CONF.metadata_port, network_id=cfg.CONF.network_id, router_id=cfg.CONF.router_id) if cfg.CONF.daemonize: proxy.start() else: proxy.run()
def main(): eventlet.monkey_patch() cfg.CONF.register_opts(UnixDomainMetadataProxy.OPTS) cfg.CONF.register_opts(MetadataProxyHandler.OPTS) cfg.CONF(args=sys.argv, project='quantum') config.setup_logging(cfg.CONF) proxy = UnixDomainMetadataProxy(cfg.CONF) proxy.run()
def parse(args): cfg.CONF(args=args, project='quantum', version='%%prog %s' % quantum_version.version_string_with_vcs()) # Validate that the base_mac is of the correct format msg = attributes._validate_regex(cfg.CONF.base_mac, attributes.MAC_PATTERN) if msg: msg = "Base MAC: %s" % msg raise Exception(msg)
def init_config(): """Initialize configuration for this script""" logging.basicConfig() cfgfile = get_config_files() cfg.CONF( args=[ j for i in zip(["--config-file"] * len(cfgfile), cfgfile) for j in i ], project="quantum", )
def main(): eventlet.monkey_patch() cfg.CONF.register_opts(DhcpAgent.OPTS) cfg.CONF.register_opts(DeviceManager.OPTS) cfg.CONF.register_opts(DhcpLeaseRelay.OPTS) cfg.CONF.register_opts(dhcp.OPTS) cfg.CONF.register_opts(interface.OPTS) cfg.CONF(args=sys.argv, project='quantum') config.setup_logging(cfg.CONF) mgr = DhcpAgent(cfg.CONF) mgr.run()
def initialize_app(self, argv): super(QuantumDebugShell, self).initialize_app(argv) if not self.options.config_file: raise exc.CommandError( "You must provide a config file for bridge -" " either --config-file or env[QUANTUM_TEST_CONFIG_FILE]") client = self.client_manager.quantum cfg.CONF.register_opts(interface.OPTS) cfg.CONF.register_opts(QuantumDebugAgent.OPTS) cfg.CONF(['--config-file', self.options.config_file]) config.setup_logging(cfg.CONF) driver = importutils.import_object(cfg.CONF.interface_driver, cfg.CONF) self.debug_agent = QuantumDebugAgent(cfg.CONF, client, driver)
def main(): eventlet.monkey_patch() cfg.CONF(args=sys.argv, project='quantum') logging_config.setup_logging(cfg.CONF) try: agent_config = create_agent_config_map(cfg.CONF) except ValueError as e: LOG.error('%s Agent terminated!', e) sys.exit(1) plugin = OVSQuantumAgent(**agent_config) # Start everything. LOG.info("Agent initialized successfully, now running... ") plugin.daemon_loop() sys.exit(0)
def main(): cfg.CONF(args=sys.argv, project='quantum') # (TODO) gary - swap with common logging logging_config.setup_logging(cfg.CONF) integ_br = cfg.CONF.OVS.integration_bridge root_helper = cfg.CONF.AGENT.root_helper options = {"sql_connection": cfg.CONF.DATABASE.sql_connection} db = SqlSoup(options["sql_connection"]) LOG.info("Connecting to database \"%s\" on %s", db.engine.url.database, db.engine.url.host) plugin = OVSQuantumOFPRyuAgent(integ_br, db, root_helper) plugin.daemon_loop(db) sys.exit(0)
def main(): eventlet.monkey_patch() cfg.CONF(args=sys.argv, project='quantum') # (TODO) gary - swap with common logging logging_config.setup_logging(cfg.CONF) integ_br = cfg.CONF.OVS.integration_bridge db_connection_url = cfg.CONF.DATABASE.sql_connection polling_interval = cfg.CONF.AGENT.polling_interval reconnect_interval = cfg.CONF.DATABASE.reconnect_interval root_helper = cfg.CONF.AGENT.root_helper rpc = cfg.CONF.AGENT.rpc tun_br = cfg.CONF.OVS.tunnel_bridge local_ip = cfg.CONF.OVS.local_ip enable_tunneling = cfg.CONF.OVS.enable_tunneling if enable_tunneling and not local_ip: LOG.error("Invalid local_ip. (%s). " "Agent terminated!" % repr(local_ip)) sys.exit(1) bridge_mappings = {} for mapping in cfg.CONF.OVS.bridge_mappings: mapping = mapping.strip() if mapping != '': try: physical_network, bridge = mapping.split(':') bridge_mappings[physical_network] = bridge LOG.info("Physical network %s mapped to bridge %s", physical_network, bridge) except ValueError as ex: LOG.error( "Invalid bridge mapping: %s - %s. " "Agent terminated!", mapping, ex) sys.exit(1) plugin = OVSQuantumAgent(integ_br, tun_br, local_ip, bridge_mappings, root_helper, polling_interval, reconnect_interval, rpc, enable_tunneling) # Start everything. LOG.info("Agent initialized successfully, now running... ") plugin.daemon_loop(db_connection_url) sys.exit(0)
def main(): eventlet.monkey_patch() cfg.CONF(args=sys.argv, project='quantum') # (TODO) gary - swap with common logging logging_config.setup_logging(cfg.CONF) try: interface_mappings = q_utils.parse_mappings( cfg.CONF.LINUX_BRIDGE.physical_interface_mappings) except ValueError as e: LOG.error( _("Parsing physical_interface_mappings failed: %s." " Agent terminated!"), e) sys.exit(1) LOG.info(_("Interface mappings: %s") % interface_mappings) polling_interval = cfg.CONF.AGENT.polling_interval root_helper = cfg.CONF.AGENT.root_helper plugin = LinuxBridgeQuantumAgentRPC(interface_mappings, polling_interval, root_helper) LOG.info(_("Agent initialized successfully, now running... ")) plugin.daemon_loop() sys.exit(0)
def setUp(self): cfg.CONF.register_opts(interface.OPTS) cfg.CONF.register_opts(QuantumDebugAgent.OPTS) cfg.CONF(args=sys.argv, project='quantum') cfg.CONF.set_override('use_namespaces', True) cfg.CONF.root_helper = 'sudo' self.addCleanup(mock.patch.stopall) device_exists_p = mock.patch( 'quantum.agent.linux.ip_lib.device_exists', return_value=False) device_exists_p.start() namespace_p = mock.patch( 'quantum.agent.linux.ip_lib.IpNetnsCommand') namespace_p.start() ensure_namespace_p = mock.patch( 'quantum.agent.linux.ip_lib.IPWrapper.ensure_namespace') ensure_namespace_p.start() dvr_cls_p = mock.patch('quantum.agent.linux.interface.NullDriver') driver_cls = dvr_cls_p.start() mock_driver = mock.MagicMock() mock_driver.DEV_NAME_LEN = ( interface.LinuxInterfaceDriver.DEV_NAME_LEN) mock_driver.get_device_name.return_value = 'tap12345678-12' driver_cls.return_value = mock_driver self.driver = mock_driver client_cls_p = mock.patch('quantumclient.v2_0.client.Client') client_cls = client_cls_p.start() client_inst = mock.Mock() client_cls.return_value = client_inst fake_network = {'network': {'id': 'fake_net', 'tenant_id': 'fake_tenant', 'subnets': ['fake_subnet']}} fake_port = {'port': {'id': 'fake_port', 'device_owner': 'fake_device', 'mac_address': 'aa:bb:cc:dd:ee:ffa', 'network_id': 'fake_net', 'fixed_ips': [{'subnet_id': 'fake_subnet', 'ip_address':'10.0.0.3'}] }} fake_ports = {'ports': [fake_port['port']]} self.fake_ports = fake_ports allocation_pools = [{'start': '10.0.0.2', 'end': '10.0.0.254'}] fake_subnet_v4 = {'subnet': {'name': 'fake_subnet_v4', 'id': 'fake_subnet', 'network_id': 'fake_net', 'gateway_ip': '10.0.0.1', 'dns_nameservers': ['10.0.0.2'], 'host_routes': [], 'cidr': '10.0.0.0/24', 'allocation_pools': allocation_pools, 'enable_dhcp': True, 'ip_version': 4}} client_inst.list_ports.return_value = fake_ports client_inst.create_port.return_value = fake_port client_inst.show_port.return_value = fake_port client_inst.show_network.return_value = fake_network client_inst.show_subnet.return_value = fake_subnet_v4 self.client = client_inst mock_std = mock.Mock() self.app = MyApp(mock_std) self.app.debug_agent = QuantumDebugAgent(cfg.CONF, client_inst, mock_driver)
def parse(args): cfg.CONF(args=args, project='quantum', version='%%prog %s' % version_string())