diff options
-rw-r--r-- | nova/network/__init__.py | 3 | ||||
-rw-r--r-- | nova/network/api.py | 2 | ||||
-rw-r--r-- | nova/network/l3.py | 2 | ||||
-rw-r--r-- | nova/network/ldapdns.py | 29 | ||||
-rw-r--r-- | nova/network/linux_net.py | 103 | ||||
-rw-r--r-- | nova/network/manager.py | 82 | ||||
-rw-r--r-- | nova/network/minidns.py | 7 | ||||
-rw-r--r-- | nova/network/quantum/nova_ipam_lib.py | 3 | ||||
-rw-r--r-- | nova/network/quantumv2/__init__.py | 21 | ||||
-rw-r--r-- | nova/network/quantumv2/api.py | 12 | ||||
-rw-r--r-- | nova/network/rpcapi.py | 6 |
11 files changed, 134 insertions, 136 deletions
diff --git a/nova/network/__init__.py b/nova/network/__init__.py index 7cdef3f36..221130a91 100644 --- a/nova/network/__init__.py +++ b/nova/network/__init__.py @@ -18,11 +18,12 @@ # Importing full names to not pollute the namespace and cause possible # collisions with use of 'from nova.network import <foo>' elsewhere. +import nova.config import nova.flags import nova.openstack.common.importutils def API(): importutils = nova.openstack.common.importutils - cls = importutils.import_class(nova.flags.FLAGS.network_api_class) + cls = importutils.import_class(nova.config.CONF.network_api_class) return cls() diff --git a/nova/network/api.py b/nova/network/api.py index bb05a0c2a..4d6360aba 100644 --- a/nova/network/api.py +++ b/nova/network/api.py @@ -28,8 +28,6 @@ from nova.network import rpcapi as network_rpcapi from nova.openstack.common import log as logging from nova.openstack.common import rpc - -FLAGS = flags.FLAGS LOG = logging.getLogger(__name__) diff --git a/nova/network/l3.py b/nova/network/l3.py index e41e6312f..6c16dbeb6 100644 --- a/nova/network/l3.py +++ b/nova/network/l3.py @@ -22,8 +22,6 @@ from nova import utils LOG = logging.getLogger(__name__) -FLAGS = flags.FLAGS - class L3Driver(object): """Abstract class that defines a generic L3 API""" diff --git a/nova/network/ldapdns.py b/nova/network/ldapdns.py index 1fda0e11a..661c3ad56 100644 --- a/nova/network/ldapdns.py +++ b/nova/network/ldapdns.py @@ -15,13 +15,14 @@ import ldap import time +from nova import config from nova import exception from nova import flags from nova.openstack.common import cfg from nova.openstack.common import log as logging from nova import utils - +CONF = config.CONF LOG = logging.getLogger(__name__) ldap_dns_opts = [ @@ -61,7 +62,7 @@ ldap_dns_opts = [ 'Statement of Authority'), ] -flags.FLAGS.register_opts(ldap_dns_opts) +CONF.register_opts(ldap_dns_opts) # Importing ldap.modlist breaks the tests for some reason, @@ -90,7 +91,7 @@ class DNSEntry(object): @classmethod def _get_tuple_for_domain(cls, lobj, domain): - entry = lobj.search_s(flags.FLAGS.ldap_dns_base_dn, ldap.SCOPE_SUBTREE, + entry = lobj.search_s(CONF.ldap_dns_base_dn, ldap.SCOPE_SUBTREE, '(associatedDomain=%s)' % utils.utf8(domain)) if not entry: return None @@ -101,7 +102,7 @@ class DNSEntry(object): @classmethod def _get_all_domains(cls, lobj): - entries = lobj.search_s(flags.FLAGS.ldap_dns_base_dn, + entries = lobj.search_s(CONF.ldap_dns_base_dn, ldap.SCOPE_SUBTREE, '(sOARecord=*)') domains = [] for entry in entries: @@ -142,13 +143,13 @@ class DomainEntry(DNSEntry): def _soa(cls): date = time.strftime('%Y%m%d%H%M%S') soa = '%s %s %s %s %s %s %s' % ( - flags.FLAGS.ldap_dns_servers[0], - flags.FLAGS.ldap_dns_soa_hostmaster, + CONF.ldap_dns_servers[0], + CONF.ldap_dns_soa_hostmaster, date, - flags.FLAGS.ldap_dns_soa_refresh, - flags.FLAGS.ldap_dns_soa_retry, - flags.FLAGS.ldap_dns_soa_expiry, - flags.FLAGS.ldap_dns_soa_minimum) + CONF.ldap_dns_soa_refresh, + CONF.ldap_dns_soa_retry, + CONF.ldap_dns_soa_expiry, + CONF.ldap_dns_soa_minimum) return utils.utf8(soa) @classmethod @@ -158,7 +159,7 @@ class DomainEntry(DNSEntry): if entry: raise exception.FloatingIpDNSExists(name=domain, domain='') - newdn = 'dc=%s,%s' % (domain, flags.FLAGS.ldap_dns_base_dn) + newdn = 'dc=%s,%s' % (domain, CONF.ldap_dns_base_dn) attrs = {'objectClass': ['domainrelatedobject', 'dnsdomain', 'domain', 'dcobject', 'top'], 'sOARecord': [cls._soa()], @@ -305,9 +306,9 @@ class LdapDNS(object): in the top-level, aRecords only.""" def __init__(self): - self.lobj = ldap.initialize(flags.FLAGS.ldap_dns_url) - self.lobj.simple_bind_s(flags.FLAGS.ldap_dns_user, - flags.FLAGS.ldap_dns_password) + self.lobj = ldap.initialize(CONF.ldap_dns_url) + self.lobj.simple_bind_s(CONF.ldap_dns_user, + CONF.ldap_dns_password) def get_domains(self): return DomainEntry._get_all_domains(self.lobj) diff --git a/nova/network/linux_net.py b/nova/network/linux_net.py index 9aafc50a1..994a3c0f4 100644 --- a/nova/network/linux_net.py +++ b/nova/network/linux_net.py @@ -24,6 +24,7 @@ import inspect import netaddr import os +from nova import config from nova import db from nova import exception from nova import flags @@ -87,8 +88,8 @@ linux_net_opts = [ 'get default gateway from dhcp server'), ] -FLAGS = flags.FLAGS -FLAGS.register_opts(linux_net_opts) +CONF = config.CONF +CONF.register_opts(linux_net_opts) # NOTE(vish): Iptables supports chain names of up to 28 characters, and we @@ -356,7 +357,7 @@ class IptablesManager(object): """ s = [('iptables', self.ipv4)] - if FLAGS.use_ipv6: + if CONF.use_ipv6: s += [('ip6tables', self.ipv6)] for cmd, tables in s: @@ -507,19 +508,19 @@ def write_to_file(file, data, mode='w'): def metadata_forward(): """Create forwarding rule for metadata.""" - if FLAGS.metadata_host != '127.0.0.1': + if CONF.metadata_host != '127.0.0.1': iptables_manager.ipv4['nat'].add_rule('PREROUTING', '-s 0.0.0.0/0 -d 169.254.169.254/32 ' '-p tcp -m tcp --dport 80 -j DNAT ' '--to-destination %s:%s' % - (FLAGS.metadata_host, - FLAGS.metadata_port)) + (CONF.metadata_host, + CONF.metadata_port)) else: iptables_manager.ipv4['nat'].add_rule('PREROUTING', '-s 0.0.0.0/0 -d 169.254.169.254/32 ' '-p tcp -m tcp --dport 80 ' '-j REDIRECT --to-ports %s' % - FLAGS.metadata_port) + CONF.metadata_port) iptables_manager.apply() @@ -529,17 +530,17 @@ def metadata_accept(): '-s 0.0.0.0/0 -d %s ' '-p tcp -m tcp --dport %s ' '-j ACCEPT' % - (FLAGS.metadata_host, - FLAGS.metadata_port)) + (CONF.metadata_host, + CONF.metadata_port)) iptables_manager.apply() def add_snat_rule(ip_range): - if FLAGS.routing_source_ip: + if CONF.routing_source_ip: rule = '-s %s -j SNAT --to-source %s' % (ip_range, - FLAGS.routing_source_ip) - if FLAGS.public_interface: - rule += ' -o %s' % FLAGS.public_interface + CONF.routing_source_ip) + if CONF.public_interface: + rule += ' -o %s' % CONF.public_interface iptables_manager.ipv4['nat'].add_rule('snat', rule) iptables_manager.apply() @@ -549,15 +550,15 @@ def init_host(ip_range=None): # NOTE(devcamcar): Cloud public SNAT entries and the default # SNAT rule for outbound traffic. if not ip_range: - ip_range = FLAGS.fixed_range + ip_range = CONF.fixed_range add_snat_rule(ip_range) iptables_manager.ipv4['nat'].add_rule('POSTROUTING', '-s %s -d %s/32 -j ACCEPT' % - (ip_range, FLAGS.metadata_host)) + (ip_range, CONF.metadata_host)) - for dmz in FLAGS.dmz_cidr: + for dmz in CONF.dmz_cidr: iptables_manager.ipv4['nat'].add_rule('POSTROUTING', '-s %s -d %s -j ACCEPT' % (ip_range, dmz)) @@ -586,8 +587,8 @@ def bind_floating_ip(floating_ip, device): 'dev', device, run_as_root=True, check_exit_code=[0, 2, 254]) - if FLAGS.send_arp_for_ha and FLAGS.send_arp_for_ha_count > 0: - send_arp_for_ip(floating_ip, device, FLAGS.send_arp_for_ha_count) + if CONF.send_arp_for_ha and CONF.send_arp_for_ha_count > 0: + send_arp_for_ip(floating_ip, device, CONF.send_arp_for_ha_count) def unbind_floating_ip(floating_ip, device): @@ -687,10 +688,10 @@ def initialize_gateway_device(dev, network_ref): for fields in old_routes: _execute('ip', 'route', 'add', *fields, run_as_root=True) - if FLAGS.send_arp_for_ha and FLAGS.send_arp_for_ha_count > 0: + if CONF.send_arp_for_ha and CONF.send_arp_for_ha_count > 0: send_arp_for_ip(network_ref['dhcp_server'], dev, - FLAGS.send_arp_for_ha_count) - if(FLAGS.use_ipv6): + CONF.send_arp_for_ha_count) + if(CONF.use_ipv6): _execute('ip', '-f', 'inet6', 'addr', 'change', network_ref['cidr_v6'], 'dev', dev, run_as_root=True) @@ -701,7 +702,7 @@ def get_dhcp_leases(context, network_ref): hosts = [] host = None if network_ref['multi_host']: - host = FLAGS.host + host = CONF.host for data in db.network_get_associated_fixed_ips(context, network_ref['id'], host=host): @@ -714,7 +715,7 @@ def get_dhcp_hosts(context, network_ref): hosts = [] host = None if network_ref['multi_host']: - host = FLAGS.host + host = CONF.host for data in db.network_get_associated_fixed_ips(context, network_ref['id'], host=host): @@ -739,7 +740,7 @@ def get_dhcp_opts(context, network_ref): hosts = [] host = None if network_ref['multi_host']: - host = FLAGS.host + host = CONF.host data = db.network_get_associated_fixed_ips(context, network_ref['id'], host=host) @@ -803,7 +804,7 @@ def restart_dhcp(context, dev, network_ref): """ conffile = _dhcp_file(dev, 'conf') - if FLAGS.use_single_default_gateway: + if CONF.use_single_default_gateway: # NOTE(vish): this will have serious performance implications if we # are not in multi_host mode. optsfile = _dhcp_file(dev, 'opts') @@ -832,28 +833,28 @@ def restart_dhcp(context, dev, network_ref): LOG.debug(_('Pid %d is stale, relaunching dnsmasq'), pid) cmd = ['env', - 'FLAGFILE=%s' % FLAGS.dhcpbridge_flagfile, + 'FLAGFILE=%s' % CONF.dhcpbridge_flagfile, 'NETWORK_ID=%s' % str(network_ref['id']), 'dnsmasq', '--strict-order', '--bind-interfaces', - '--conf-file=%s' % FLAGS.dnsmasq_config_file, - '--domain=%s' % FLAGS.dhcp_domain, + '--conf-file=%s' % CONF.dnsmasq_config_file, + '--domain=%s' % CONF.dhcp_domain, '--pid-file=%s' % _dhcp_file(dev, 'pid'), '--listen-address=%s' % network_ref['dhcp_server'], '--except-interface=lo', '--dhcp-range=set:\'%s\',%s,static,%ss' % (network_ref['label'], network_ref['dhcp_start'], - FLAGS.dhcp_lease_time), + CONF.dhcp_lease_time), '--dhcp-lease-max=%s' % len(netaddr.IPNetwork(network_ref['cidr'])), '--dhcp-hostsfile=%s' % _dhcp_file(dev, 'conf'), - '--dhcp-script=%s' % FLAGS.dhcpbridge, + '--dhcp-script=%s' % CONF.dhcpbridge, '--leasefile-ro'] - if FLAGS.dns_server: - cmd += ['-h', '-R', '--server=%s' % FLAGS.dns_server] + if CONF.dns_server: + cmd += ['-h', '-R', '--server=%s' % CONF.dns_server] - if FLAGS.use_single_default_gateway: + if CONF.use_single_default_gateway: cmd += ['--dhcp-optsfile=%s' % _dhcp_file(dev, 'opts')] _execute(*cmd, run_as_root=True) @@ -912,7 +913,7 @@ def _host_lease(data): seconds_since_epoch = calendar.timegm(timestamp.utctimetuple()) - return '%d %s %s %s *' % (seconds_since_epoch + FLAGS.dhcp_lease_time, + return '%d %s %s %s *' % (seconds_since_epoch + CONF.dhcp_lease_time, data['vif_address'], data['address'], data['instance_hostname'] or '*') @@ -924,16 +925,16 @@ def _host_dhcp_network(data): def _host_dhcp(data): """Return a host string for an address in dhcp-host format.""" - if FLAGS.use_single_default_gateway: + if CONF.use_single_default_gateway: return '%s,%s.%s,%s,%s' % (data['vif_address'], data['instance_hostname'], - FLAGS.dhcp_domain, + CONF.dhcp_domain, data['address'], 'net:' + _host_dhcp_network(data)) else: return '%s,%s.%s,%s' % (data['vif_address'], data['instance_hostname'], - FLAGS.dhcp_domain, + CONF.dhcp_domain, data['address']) @@ -944,7 +945,7 @@ def _host_dhcp_opts(data): def _execute(*cmd, **kwargs): """Wrapper around utils._execute for fake_network.""" - if FLAGS.fake_network: + if CONF.fake_network: LOG.debug('FAKE NET: %s', ' '.join(map(str, cmd))) return 'fake', 0 else: @@ -960,16 +961,16 @@ def _device_exists(device): def _dhcp_file(dev, kind): """Return path to a pid, leases or conf file for a bridge/device.""" - fileutils.ensure_tree(FLAGS.networks_path) - return os.path.abspath('%s/nova-%s.%s' % (FLAGS.networks_path, + fileutils.ensure_tree(CONF.networks_path) + return os.path.abspath('%s/nova-%s.%s' % (CONF.networks_path, dev, kind)) def _ra_file(dev, kind): """Return path to a pid or conf file for a bridge/device.""" - fileutils.ensure_tree(FLAGS.networks_path) - return os.path.abspath('%s/nova-ra-%s.%s' % (FLAGS.networks_path, + fileutils.ensure_tree(CONF.networks_path) + return os.path.abspath('%s/nova-ra-%s.%s' % (CONF.networks_path, dev, kind)) @@ -1047,7 +1048,7 @@ def _get_interface_driver(): global interface_driver if not interface_driver: interface_driver = importutils.import_object( - FLAGS.linuxnet_interface_driver) + CONF.linuxnet_interface_driver) return interface_driver @@ -1085,7 +1086,7 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver): def plug(self, network, mac_address, gateway=True): if network.get('vlan', None) is not None: - iface = FLAGS.vlan_interface or network['bridge_interface'] + iface = CONF.vlan_interface or network['bridge_interface'] LinuxBridgeInterfaceDriver.ensure_vlan_bridge( network['vlan'], network['bridge'], @@ -1093,7 +1094,7 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver): network, mac_address) else: - iface = FLAGS.flat_interface or network['bridge_interface'] + iface = CONF.flat_interface or network['bridge_interface'] LinuxBridgeInterfaceDriver.ensure_bridge( network['bridge'], iface, @@ -1137,9 +1138,9 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver): check_exit_code=[0, 2, 254]) _execute('ip', 'link', 'set', interface, 'up', run_as_root=True, check_exit_code=[0, 2, 254]) - if FLAGS.network_device_mtu: + if CONF.network_device_mtu: _execute('ip', 'link', 'set', interface, 'mtu', - FLAGS.network_device_mtu, run_as_root=True, + CONF.network_device_mtu, run_as_root=True, check_exit_code=[0, 2, 254]) return interface @@ -1226,7 +1227,7 @@ class LinuxOVSInterfaceDriver(LinuxNetInterfaceDriver): def plug(self, network, mac_address, gateway=True): dev = self.get_dev(network) if not _device_exists(dev): - bridge = FLAGS.linuxnet_ovs_integration_bridge + bridge = CONF.linuxnet_ovs_integration_bridge _execute('ovs-vsctl', '--', '--may-exist', 'add-port', bridge, dev, '--', 'set', 'Interface', dev, 'type=internal', @@ -1239,9 +1240,9 @@ class LinuxOVSInterfaceDriver(LinuxNetInterfaceDriver): run_as_root=True) _execute('ip', 'link', 'set', dev, 'address', mac_address, run_as_root=True) - if FLAGS.network_device_mtu: + if CONF.network_device_mtu: _execute('ip', 'link', 'set', dev, 'mtu', - FLAGS.network_device_mtu, run_as_root=True) + CONF.network_device_mtu, run_as_root=True) _execute('ip', 'link', 'set', dev, 'up', run_as_root=True) if not gateway: # If we weren't instructed to act as a gateway then add the @@ -1267,7 +1268,7 @@ class LinuxOVSInterfaceDriver(LinuxNetInterfaceDriver): def unplug(self, network): dev = self.get_dev(network) - bridge = FLAGS.linuxnet_ovs_integration_bridge + bridge = CONF.linuxnet_ovs_integration_bridge _execute('ovs-vsctl', '--', '--if-exists', 'del-port', bridge, dev, run_as_root=True) return dev diff --git a/nova/network/manager.py b/nova/network/manager.py index afe79a664..e27755e26 100644 --- a/nova/network/manager.py +++ b/nova/network/manager.py @@ -54,6 +54,7 @@ from eventlet import greenpool import netaddr from nova.compute import api as compute_api +from nova import config from nova import context from nova import exception from nova import flags @@ -159,9 +160,8 @@ network_opts = [ help="Indicates underlying L3 management library") ] - -FLAGS = flags.FLAGS -FLAGS.register_opts(network_opts) +CONF = config.CONF +CONF.register_opts(network_opts) class RPCAllocateFixedIP(object): @@ -285,7 +285,7 @@ class FloatingIP(object): LOG.debug(msg) continue fixed_address = fixed_ip_ref['address'] - interface = FLAGS.public_interface or floating_ip['interface'] + interface = CONF.public_interface or floating_ip['interface'] try: self.l3driver.add_floating_ip(floating_ip['address'], fixed_address, interface) @@ -312,7 +312,7 @@ class FloatingIP(object): # do this first so fixed ip is already allocated nw_info = super(FloatingIP, self).allocate_for_instance(context, **kwargs) - if FLAGS.auto_assign_floating_ip: + if CONF.auto_assign_floating_ip: # allocate a floating ip floating_address = self.allocate_floating_ip(context, project_id, True) @@ -402,7 +402,7 @@ class FloatingIP(object): pool=None): """Gets a floating ip from the pool.""" # NOTE(tr3buchet): all network hosts in zone now use the same pool - pool = pool or FLAGS.default_floating_pool + pool = pool or CONF.default_floating_pool use_quota = not auto_assigned # Check the quota; can't put this in the API because we get @@ -521,7 +521,7 @@ class FloatingIP(object): else: host = network['host'] - interface = FLAGS.public_interface or floating_ip['interface'] + interface = CONF.public_interface or floating_ip['interface'] if host == self.host: # i'm the correct host self._associate_floating_ip(context, floating_address, @@ -584,7 +584,7 @@ class FloatingIP(object): # send to correct host, unless i'm the correct host network = self._get_network_by_id(context, fixed_ip['network_id']) - interface = FLAGS.public_interface or floating_ip['interface'] + interface = CONF.public_interface or floating_ip['interface'] if network['multi_host']: instance = self.db.instance_get_by_uuid(context, fixed_ip['instance_uuid']) @@ -682,7 +682,7 @@ class FloatingIP(object): "migrate it "), locals()) continue - interface = FLAGS.public_interface or floating_ip['interface'] + interface = CONF.public_interface or floating_ip['interface'] fixed_ip = self.db.fixed_ip_get(context, floating_ip['fixed_ip_id']) self.l3driver.remove_floating_ip(floating_ip['address'], @@ -720,7 +720,7 @@ class FloatingIP(object): floating_ip['address'], {'host': dest}) - interface = FLAGS.public_interface or floating_ip['interface'] + interface = CONF.public_interface or floating_ip['interface'] fixed_ip = self.db.fixed_ip_get(context, floating_ip['fixed_ip_id']) self.l3driver.add_floating_ip(floating_ip['address'], @@ -857,13 +857,13 @@ class NetworkManager(manager.SchedulerDependentManager): def __init__(self, network_driver=None, *args, **kwargs): if not network_driver: - network_driver = FLAGS.network_driver + network_driver = CONF.network_driver self.driver = importutils.import_module(network_driver) self.instance_dns_manager = importutils.import_object( - FLAGS.instance_dns_manager) - self.instance_dns_domain = FLAGS.instance_dns_domain + CONF.instance_dns_manager) + self.instance_dns_domain = CONF.instance_dns_domain self.floating_dns_manager = importutils.import_object( - FLAGS.floating_ip_dns_manager) + CONF.floating_ip_dns_manager) self.network_api = network_api.API() self.network_rpcapi = network_rpcapi.NetworkAPI() self.security_group_api = compute_api.SecurityGroupAPI() @@ -874,7 +874,7 @@ class NetworkManager(manager.SchedulerDependentManager): # already imported ipam, import nova ipam here if not hasattr(self, 'ipam'): self._import_ipam_lib('nova.network.nova_ipam_lib') - l3_lib = kwargs.get("l3_lib", FLAGS.l3_lib) + l3_lib = kwargs.get("l3_lib", CONF.l3_lib) self.l3driver = importutils.import_object(l3_lib) super(NetworkManager, self).__init__(service_name='network', @@ -922,7 +922,7 @@ class NetworkManager(manager.SchedulerDependentManager): def _disassociate_stale_fixed_ips(self, context): if self.timeout_fixed_ips: now = timeutils.utcnow() - timeout = FLAGS.fixed_ip_disassociate_timeout + timeout = CONF.fixed_ip_disassociate_timeout time = now - datetime.timedelta(seconds=timeout) num = self.db.fixed_ip_disassociate_all_by_timeout(context, self.host, @@ -1264,7 +1264,7 @@ class NetworkManager(manager.SchedulerDependentManager): 'network_id': network_id, 'uuid': str(utils.gen_uuid())} # try FLAG times to create a vif record with a unique mac_address - for i in xrange(FLAGS.create_unique_mac_address_attempts): + for i in xrange(CONF.create_unique_mac_address_attempts): try: return self.db.virtual_interface_create(context, vif) except exception.VirtualInterfaceCreateException: @@ -1379,7 +1379,7 @@ class NetworkManager(manager.SchedulerDependentManager): fixed_ip_ref['network_id']) self._teardown_network_on_host(context, network) - if FLAGS.force_dhcp_release: + if CONF.force_dhcp_release: dev = self.driver.get_dev(network) # NOTE(vish): The below errors should never happen, but there # may be a race condition that is causing them per @@ -1478,38 +1478,38 @@ class NetworkManager(manager.SchedulerDependentManager): if not (kwargs["cidr"] or kwargs["cidr_v6"]): raise exception.NetworkNotCreated(req="cidr or cidr_v6") - kwargs["bridge"] = kwargs["bridge"] or FLAGS.flat_network_bridge + kwargs["bridge"] = kwargs["bridge"] or CONF.flat_network_bridge kwargs["bridge_interface"] = (kwargs["bridge_interface"] or - FLAGS.flat_interface) + CONF.flat_interface) for fld in self.required_create_args: if not kwargs[fld]: raise exception.NetworkNotCreated(req=fld) - kwargs["num_networks"] = kwargs["num_networks"] or FLAGS.num_networks + kwargs["num_networks"] = kwargs["num_networks"] or CONF.num_networks if not kwargs["network_size"]: if kwargs["cidr"]: fixnet = netaddr.IPNetwork(kwargs["cidr"]) each_subnet_size = fixnet.size / kwargs["num_networks"] - if each_subnet_size > FLAGS.network_size: - subnet = 32 - int(math.log(FLAGS.network_size_size, 2)) + if each_subnet_size > CONF.network_size: + subnet = 32 - int(math.log(CONF.network_size_size, 2)) oversize_msg = _( 'Subnet(s) too large, defaulting to /%s.' ' To override, specify network_size flag.') % subnet LOG.warn(oversize_msg) - kwargs["network_size"] = FLAGS.network_size + kwargs["network_size"] = CONF.network_size else: kwargs["network_size"] = fixnet.size else: - kwargs["network_size"] = FLAGS.network_size + kwargs["network_size"] = CONF.network_size - kwargs["multi_host"] = (FLAGS.multi_host + kwargs["multi_host"] = (CONF.multi_host if kwargs["multi_host"] is None else utils.bool_from_str(kwargs["multi_host"])) - kwargs["vlan_start"] = kwargs.get("vlan_start") or FLAGS.vlan_start - kwargs["vpn_start"] = kwargs.get("vpn_start") or FLAGS.vpn_start - kwargs["dns1"] = kwargs["dns1"] or FLAGS.flat_network_dns + kwargs["vlan_start"] = kwargs.get("vlan_start") or CONF.vlan_start + kwargs["vpn_start"] = kwargs.get("vpn_start") or CONF.vpn_start + kwargs["dns1"] = kwargs["dns1"] or CONF.flat_network_dns if kwargs["fixed_cidr"]: kwargs["fixed_cidr"] = netaddr.IPNetwork(kwargs["fixed_cidr"]) @@ -1918,7 +1918,7 @@ class FlatManager(NetworkManager): # allocation, this functionality makes more sense in create_network # but we'd have to move the flat_injected flag to compute net = {} - net['injected'] = FLAGS.flat_injected + net['injected'] = CONF.flat_injected self.db.network_update(context, network['id'], net) def _teardown_network_on_host(self, context, network): @@ -1990,17 +1990,17 @@ class FlatDHCPManager(RPCAllocateFixedIP, FloatingIP, NetworkManager): self.l3driver.initialize_gateway(network) - if not FLAGS.fake_network: + if not CONF.fake_network: dev = self.driver.get_dev(network) self.driver.update_dhcp(context, dev, network) - if(FLAGS.use_ipv6): + if(CONF.use_ipv6): self.driver.update_ra(context, dev, network) gateway = utils.get_my_linklocal(dev) self.db.network_update(context, network['id'], {'gateway_v6': gateway}) def _teardown_network_on_host(self, context, network): - if not FLAGS.fake_network: + if not CONF.fake_network: network['dhcp_server'] = self._get_dhcp_ip(context, network) dev = self.driver.get_dev(network) self.driver.update_dhcp(context, dev, network) @@ -2145,7 +2145,7 @@ class VlanManager(RPCAllocateFixedIP, FloatingIP, NetworkManager): kwargs) kwargs['bridge_interface'] = (kwargs.get('bridge_interface') or - FLAGS.vlan_interface) + CONF.vlan_interface) return NetworkManager.create_networks( self, context, vpn=True, **kwargs) @@ -2153,7 +2153,7 @@ class VlanManager(RPCAllocateFixedIP, FloatingIP, NetworkManager): """Sets up network on this host.""" if not network['vpn_public_address']: net = {} - address = FLAGS.vpn_ip + address = CONF.vpn_ip net['vpn_public_address'] = address network = self.db.network_update(context, network['id'], net) else: @@ -2164,22 +2164,22 @@ class VlanManager(RPCAllocateFixedIP, FloatingIP, NetworkManager): # NOTE(vish): only ensure this forward if the address hasn't been set # manually. - if address == FLAGS.vpn_ip and hasattr(self.driver, + if address == CONF.vpn_ip and hasattr(self.driver, "ensure_vpn_forward"): - self.l3driver.add_vpn(FLAGS.vpn_ip, + self.l3driver.add_vpn(CONF.vpn_ip, network['vpn_public_port'], network['vpn_private_address']) - if not FLAGS.fake_network: + if not CONF.fake_network: dev = self.driver.get_dev(network) self.driver.update_dhcp(context, dev, network) - if(FLAGS.use_ipv6): + if(CONF.use_ipv6): self.driver.update_ra(context, dev, network) gateway = utils.get_my_linklocal(dev) self.db.network_update(context, network['id'], {'gateway_v6': gateway}) def _teardown_network_on_host(self, context, network): - if not FLAGS.fake_network: + if not CONF.fake_network: network['dhcp_server'] = self._get_dhcp_ip(context, network) dev = self.driver.get_dev(network) self.driver.update_dhcp(context, dev, network) @@ -2210,4 +2210,4 @@ class VlanManager(RPCAllocateFixedIP, FloatingIP, NetworkManager): def _top_reserved_ips(self): """Number of reserved ips at the top of the range.""" parent_reserved = super(VlanManager, self)._top_reserved_ips - return parent_reserved + FLAGS.cnt_vpn_clients + return parent_reserved + CONF.cnt_vpn_clients diff --git a/nova/network/minidns.py b/nova/network/minidns.py index f3b4fde77..35e77f63a 100644 --- a/nova/network/minidns.py +++ b/nova/network/minidns.py @@ -16,9 +16,12 @@ import os import shutil import tempfile +from nova import config from nova import exception from nova import flags +CONF = config.CONF + class MiniDNS(object): """ Trivial DNS driver. This will read/write to a local, flat file @@ -31,8 +34,8 @@ class MiniDNS(object): A proper implementation will need some manner of locking.""" def __init__(self): - if flags.FLAGS.logdir: - self.filename = os.path.join(flags.FLAGS.logdir, "dnstest.txt") + if CONF.logdir: + self.filename = os.path.join(CONF.logdir, "dnstest.txt") else: self.filename = "dnstest.txt" diff --git a/nova/network/quantum/nova_ipam_lib.py b/nova/network/quantum/nova_ipam_lib.py index 02157bf7c..b296715c2 100644 --- a/nova/network/quantum/nova_ipam_lib.py +++ b/nova/network/quantum/nova_ipam_lib.py @@ -24,11 +24,8 @@ from nova import ipv6 from nova.network import manager from nova.openstack.common import log as logging - LOG = logging.getLogger(__name__) -FLAGS = flags.FLAGS - def get_ipam_lib(net_man): return QuantumNovaIPAMLib(net_man) diff --git a/nova/network/quantumv2/__init__.py b/nova/network/quantumv2/__init__.py index 9070a1f3e..a5fac840c 100644 --- a/nova/network/quantumv2/__init__.py +++ b/nova/network/quantumv2/__init__.py @@ -15,6 +15,7 @@ # License for the specific language governing permissions and limitations # under the License. +from nova import config from nova import exception from nova import flags from nova.openstack.common import excutils @@ -22,19 +23,19 @@ from nova.openstack.common import log as logging from quantumclient import client from quantumclient.v2_0 import client as clientv20 -FLAGS = flags.FLAGS +CONF = config.CONF LOG = logging.getLogger(__name__) def _get_auth_token(): try: httpclient = client.HTTPClient( - username=FLAGS.quantum_admin_username, - tenant_name=FLAGS.quantum_admin_tenant_name, - password=FLAGS.quantum_admin_password, - auth_url=FLAGS.quantum_admin_auth_url, - timeout=FLAGS.quantum_url_timeout, - auth_strategy=FLAGS.quantum_auth_strategy) + username=CONF.quantum_admin_username, + tenant_name=CONF.quantum_admin_tenant_name, + password=CONF.quantum_admin_password, + auth_url=CONF.quantum_admin_auth_url, + timeout=CONF.quantum_url_timeout, + auth_strategy=CONF.quantum_auth_strategy) httpclient.authenticate() except Exception: with excutils.save_and_reraise_exception(): @@ -44,11 +45,11 @@ def _get_auth_token(): def get_client(context): token = context.auth_token - if not token and FLAGS.quantum_auth_strategy: + if not token and CONF.quantum_auth_strategy: token = _get_auth_token() params = { - 'endpoint_url': FLAGS.quantum_url, - 'timeout': FLAGS.quantum_url_timeout, + 'endpoint_url': CONF.quantum_url, + 'timeout': CONF.quantum_url_timeout, } if token: params['token'] = token diff --git a/nova/network/quantumv2/api.py b/nova/network/quantumv2/api.py index 9c3c9123e..62291569a 100644 --- a/nova/network/quantumv2/api.py +++ b/nova/network/quantumv2/api.py @@ -53,10 +53,8 @@ quantum_opts = [ ] CONF = config.CONF +CONF.register_opts(quantum_opts) CONF.import_opt('default_floating_pool', 'nova.network.manager') - -FLAGS = flags.FLAGS -FLAGS.register_opts(quantum_opts) LOG = logging.getLogger(__name__) NET_EXTERNAL = 'router:external' @@ -124,7 +122,7 @@ class API(base.Base): created_port_ids = [] for network in nets: network_id = network['id'] - zone = 'compute:%s' % FLAGS.node_availability_zone + zone = 'compute:%s' % CONF.node_availability_zone port_req_body = {'port': {'device_id': instance['uuid'], 'device_owner': zone}} try: @@ -284,7 +282,7 @@ class API(base.Base): def _get_port_id_by_fixed_address(self, client, instance, address): - zone = 'compute:%s' % FLAGS.node_availability_zone + zone = 'compute:%s' % CONF.node_availability_zone search_opts = {'device_id': instance['uuid'], 'device_owner': zone} data = client.list_ports(**search_opts) @@ -458,7 +456,7 @@ class API(base.Base): def allocate_floating_ip(self, context, pool=None): """Add a floating ip to a project from a pool.""" client = quantumv2.get_client(context) - pool = pool or FLAGS.default_floating_pool + pool = pool or CONF.default_floating_pool pool_id = self._get_floating_ip_pool_id_by_name_or_id(client, pool) # TODO(amotoki): handle exception during create_floatingip() @@ -555,7 +553,7 @@ class API(base.Base): network = network_model.Network( id=port['network_id'], bridge='', # Quantum ignores this field - injected=FLAGS.flat_injected, + injected=CONF.flat_injected, label=network_name, tenant_id=net['tenant_id'] ) diff --git a/nova/network/rpcapi.py b/nova/network/rpcapi.py index 6f31e140b..1fe822ebd 100644 --- a/nova/network/rpcapi.py +++ b/nova/network/rpcapi.py @@ -18,13 +18,13 @@ Client side of the network RPC API. """ +from nova import config from nova import flags from nova.openstack.common import jsonutils from nova.openstack.common import rpc from nova.openstack.common.rpc import proxy as rpc_proxy - -FLAGS = flags.FLAGS +CONF = config.CONF class NetworkAPI(rpc_proxy.RpcProxy): @@ -48,7 +48,7 @@ class NetworkAPI(rpc_proxy.RpcProxy): BASE_RPC_API_VERSION = '1.0' def __init__(self, topic=None): - topic = topic if topic else FLAGS.network_topic + topic = topic if topic else CONF.network_topic super(NetworkAPI, self).__init__( topic=topic, default_version=self.BASE_RPC_API_VERSION) |