summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--nova/network/__init__.py3
-rw-r--r--nova/network/api.py2
-rw-r--r--nova/network/l3.py2
-rw-r--r--nova/network/ldapdns.py29
-rw-r--r--nova/network/linux_net.py103
-rw-r--r--nova/network/manager.py82
-rw-r--r--nova/network/minidns.py7
-rw-r--r--nova/network/quantum/nova_ipam_lib.py3
-rw-r--r--nova/network/quantumv2/__init__.py21
-rw-r--r--nova/network/quantumv2/api.py12
-rw-r--r--nova/network/rpcapi.py6
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)