def parse(config_file):
- conf = cfg.ConfigOpts()
- conf(args=[], default_config_files=[config_file])
+ conf = cfg.CONF
+ if 'config_file' in conf:
+ conf.config_file.append(config_file)
+ else:
+ conf.config_file = [config_file]
+ conf(args=[], default_config_files=conf.config_file)
conf.register_opts(vlan_opts, "VLANS")
conf.register_opts(database_opts, "DATABASE")
conf.register_opts(bridge_opts, "LINUX_BRIDGE")
def parse(config_file):
- conf = cfg.ConfigOpts()
- conf(args=[], default_config_files=[config_file])
+ conf = cfg.CONF
+ if 'config_file' in conf:
+ conf.config_file.append(config_file)
+ else:
+ conf.config_file = [config_file]
+ conf(args=[], default_config_files=conf.config_file)
conf.register_opts(database_opts, "DATABASE")
conf.register_opts(ovs_opts, "OVS")
conf.register_opts(agent_opts, "AGENT")
def parse(config_file):
- conf = cfg.ConfigOpts()
- conf(args=[], default_config_files=[config_file])
+ conf = cfg.CONF
+ if 'config_file' in conf:
+ conf.config_file.append(config_file)
+ else:
+ conf.config_file = [config_file]
+ conf(args=[], default_config_files=conf.config_file)
conf.register_opts(database_opts, "DATABASE")
conf.register_opts(ovs_opts, "OVS")
conf.register_opts(agent_opts, "AGENT")
--- /dev/null
+# Copyright (c) 2012 OpenStack, LLC.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import os
+import tempfile
+import unittest
+
+from quantum.openstack.common import cfg
+from quantum.plugins.linuxbridge.common import config
+
+
+class LinuxBridgeConfigTestCase(unittest.TestCase):
+ def test_dummy(self):
+ configs = """[DATABASE]
+sql_connection = testlink
+reconnect_interval=100
+[AGENT]
+root_helper = mysudo
+polling_interval=50
+"""
+
+ (fd, path) = tempfile.mkstemp(prefix='lb_config', suffix='.ini')
+
+ try:
+ os.write(fd, configs)
+ os.close(fd)
+
+ conf = config.parse(path)
+ self.assertEqual('testlink', conf.DATABASE.sql_connection)
+ self.assertEqual(100, conf.DATABASE.reconnect_interval)
+ self.assertEqual(50, conf.AGENT.polling_interval)
+ self.assertEqual('mysudo', conf.AGENT.root_helper)
+ self.assertEqual(conf.AGENT.polling_interval,
+ cfg.CONF.AGENT.polling_interval)
+ finally:
+ os.remove(path)
+
+ def test_defaults(self):
+ configs = """
+"""
+
+ (fd, path) = tempfile.mkstemp(prefix='lb_config', suffix='.ini')
+
+ try:
+ os.write(fd, configs)
+ os.close(fd)
+
+ conf = config.parse(path)
+ self.assertEqual('sqlite://', conf.DATABASE.sql_connection)
+ self.assertEqual(2, conf.DATABASE.reconnect_interval)
+ self.assertEqual(2, conf.AGENT.polling_interval)
+ self.assertEqual('sudo', conf.AGENT.root_helper)
+ self.assertEqual(1000, conf.VLANS.vlan_start)
+ self.assertEqual(3000, conf.VLANS.vlan_end)
+ self.assertEqual('eth1', conf.LINUX_BRIDGE.physical_interface)
+ self.assertEqual(conf.DATABASE.sql_connection,
+ cfg.CONF.DATABASE.sql_connection)
+ self.assertEqual(conf.AGENT.root_helper,
+ cfg.CONF.AGENT.root_helper)
+ finally:
+ os.remove(path)
+
+ def tearDown(self):
+ """Clear the test environment"""
+ cfg.CONF.reset()
+ cfg.CONF.unregister_opts(config.vlan_opts, "VLANS")
+ cfg.CONF.unregister_opts(config.database_opts, "DATABASE")
+ cfg.CONF.unregister_opts(config.bridge_opts, "LINUX_BRIDGE")
+ cfg.CONF.unregister_opts(config.agent_opts, "AGENT")
import tempfile
import unittest
-from quantum.openstack.common.cfg import ConfigFileValueError
+from quantum.openstack.common import cfg
from quantum.plugins.openvswitch.common import config
self.assertEqual(100, conf.DATABASE.reconnect_interval)
self.assertEqual(50, conf.AGENT.polling_interval)
self.assertEqual('mysudo', conf.AGENT.root_helper)
+ self.assertEqual(conf.OVS.integration_bridge,
+ cfg.CONF.OVS.integration_bridge)
finally:
os.remove(path)
self.assertEqual(2, conf.DATABASE.reconnect_interval)
self.assertEqual(2, conf.AGENT.polling_interval)
self.assertEqual('sudo', conf.AGENT.root_helper)
+ self.assertEqual(conf.DATABASE.sql_connection,
+ cfg.CONF.DATABASE.sql_connection)
+ self.assertEqual(conf.AGENT.root_helper,
+ cfg.CONF.AGENT.root_helper)
finally:
os.remove(path)
try:
os.write(fd, configs)
os.close(fd)
+
conf = config.parse(path)
exception_raised = False
try:
tunnel = conf.OVS.enable_tunneling
- except ConfigFileValueError:
+ except cfg.ConfigFileValueError:
exception_raised = True
self.assertTrue(exception_raised)
finally:
os.remove(path)
+
+ def tearDown(self):
+ """Clear the test environment"""
+ cfg.CONF.reset()
+ cfg.CONF.unregister_opts(config.database_opts, "DATABASE")
+ cfg.CONF.unregister_opts(config.ovs_opts, "OVS")
+ cfg.CONF.unregister_opts(config.agent_opts, "AGENT")
--- /dev/null
+# Copyright (c) 2012 OpenStack, LLC.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import os
+import tempfile
+import unittest
+
+from quantum.openstack.common import cfg
+from quantum.plugins.ryu.common import config
+
+
+class RyuConfigTestCase(unittest.TestCase):
+ def test_config(self):
+ configs = """[DATABASE]
+sql_connection = testlink
+reconnect_interval=100
+[OVS]
+enable_tunneling = True
+integration_bridge = mybrint
+local_ip = 10.0.0.3
+[AGENT]
+root_helper = mysudo
+polling_interval=50
+"""
+
+ (fd, path) = tempfile.mkstemp(prefix='ryu_config', suffix='.ini')
+
+ try:
+ os.write(fd, configs)
+ os.close(fd)
+
+ conf = config.parse(path)
+ self.assertEqual('mybrint', conf.OVS.integration_bridge)
+ self.assertEqual('testlink', conf.DATABASE.sql_connection)
+ self.assertEqual(100, conf.DATABASE.reconnect_interval)
+ self.assertEqual(50, conf.AGENT.polling_interval)
+ self.assertEqual('mysudo', conf.AGENT.root_helper)
+ self.assertEqual(conf.OVS.integration_bridge,
+ cfg.CONF.OVS.integration_bridge)
+ finally:
+ os.remove(path)
+
+ def test_defaults(self):
+ configs = """
+"""
+
+ (fd, path) = tempfile.mkstemp(prefix='ryu_config', suffix='.ini')
+
+ try:
+ os.write(fd, configs)
+ os.close(fd)
+
+ conf = config.parse(path)
+ self.assertEqual('br-int', conf.OVS.integration_bridge)
+ self.assertEqual('sqlite://', conf.DATABASE.sql_connection)
+ self.assertEqual(2, conf.DATABASE.reconnect_interval)
+ self.assertEqual(2, conf.AGENT.polling_interval)
+ self.assertEqual('sudo', conf.AGENT.root_helper)
+ self.assertEqual('127.0.0.1:6633', conf.OVS.openflow_controller)
+ self.assertEqual('127.0.0.1:8080', conf.OVS.openflow_rest_api)
+ self.assertEqual(conf.DATABASE.sql_connection,
+ cfg.CONF.DATABASE.sql_connection)
+ self.assertEqual(conf.AGENT.root_helper,
+ cfg.CONF.AGENT.root_helper)
+ finally:
+ os.remove(path)
+
+ def tearDown(self):
+ """Clear the test environment"""
+ cfg.CONF.reset()
+ cfg.CONF.unregister_opts(config.database_opts, "DATABASE")
+ cfg.CONF.unregister_opts(config.ovs_opts, "OVS")
+ cfg.CONF.unregister_opts(config.agent_opts, "AGENT")