Merge lp:~celebdor/charm-helpers/midonet into lp:charm-helpers

Proposed by Antoni Segura Puimedon
Status: Merged
Merged at revision: 461
Proposed branch: lp:~celebdor/charm-helpers/midonet
Merge into: lp:charm-helpers
Diff against target: 96 lines (+46/-0)
4 files modified
charmhelpers/contrib/openstack/context.py (+15/-0)
charmhelpers/contrib/openstack/neutron.py (+14/-0)
tests/contrib/openstack/test_neutron_utils.py (+2/-0)
tests/contrib/openstack/test_os_contexts.py (+15/-0)
To merge this branch: bzr merge lp:~celebdor/charm-helpers/midonet
Reviewer Review Type Date Requested Status
James Page Pending
Review via email: mp+273678@code.launchpad.net

Description of the change

Adding MidoNet support for the OpenStack charms to use.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'charmhelpers/contrib/openstack/context.py'
2--- charmhelpers/contrib/openstack/context.py 2015-09-29 20:57:50 +0000
3+++ charmhelpers/contrib/openstack/context.py 2015-10-07 11:37:05 +0000
4@@ -952,6 +952,19 @@
5 'config': config}
6 return ovs_ctxt
7
8+ def midonet_ctxt(self):
9+ driver = neutron_plugin_attribute(self.plugin, 'driver',
10+ self.network_manager)
11+ midonet_config = neutron_plugin_attribute(self.plugin, 'config',
12+ self.network_manager)
13+ mido_ctxt = {'core_plugin': driver,
14+ 'neutron_plugin': 'midonet',
15+ 'neutron_security_groups': self.neutron_security_groups,
16+ 'local_ip': unit_private_ip(),
17+ 'config': midonet_config}
18+
19+ return mido_ctxt
20+
21 def __call__(self):
22 if self.network_manager not in ['quantum', 'neutron']:
23 return {}
24@@ -973,6 +986,8 @@
25 ctxt.update(self.nuage_ctxt())
26 elif self.plugin == 'plumgrid':
27 ctxt.update(self.pg_ctxt())
28+ elif self.plugin == 'midonet':
29+ ctxt.update(self.midonet_ctxt())
30
31 alchemy_flags = config('neutron-alchemy-flags')
32 if alchemy_flags:
33
34=== modified file 'charmhelpers/contrib/openstack/neutron.py'
35--- charmhelpers/contrib/openstack/neutron.py 2015-09-28 10:58:33 +0000
36+++ charmhelpers/contrib/openstack/neutron.py 2015-10-07 11:37:05 +0000
37@@ -209,6 +209,20 @@
38 'server_packages': ['neutron-server',
39 'neutron-plugin-plumgrid'],
40 'server_services': ['neutron-server']
41+ },
42+ 'midonet': {
43+ 'config': '/etc/neutron/plugins/midonet/midonet.ini',
44+ 'driver': 'midonet.neutron.plugin.MidonetPluginV2',
45+ 'contexts': [
46+ context.SharedDBContext(user=config('neutron-database-user'),
47+ database=config('neutron-database'),
48+ relation_prefix='neutron',
49+ ssl_dir=NEUTRON_CONF_DIR)],
50+ 'services': [],
51+ 'packages': [[headers_package()] + determine_dkms_package()],
52+ 'server_packages': ['neutron-server',
53+ 'python-neutron-plugin-midonet'],
54+ 'server_services': ['neutron-server']
55 }
56 }
57 if release >= 'icehouse':
58
59=== modified file 'tests/contrib/openstack/test_neutron_utils.py'
60--- tests/contrib/openstack/test_neutron_utils.py 2015-09-02 14:09:43 +0000
61+++ tests/contrib/openstack/test_neutron_utils.py 2015-10-07 11:37:05 +0000
62@@ -73,6 +73,8 @@
63 '/etc/neutron/plugins/ml2/ml2_conf.ini')
64 self.assertEquals(plugins['plumgrid']['config'],
65 '/etc/neutron/plugins/plumgrid/plumgrid.ini')
66+ self.assertEquals(plugins['midonet']['config'],
67+ '/etc/neutron/plugins/midonet/midonet.ini')
68 self.assertEquals(plugins['nvp']['services'], [])
69 self.assertEquals(plugins['nsx'], plugins['nvp'])
70
71
72=== modified file 'tests/contrib/openstack/test_os_contexts.py'
73--- tests/contrib/openstack/test_os_contexts.py 2015-09-28 10:58:33 +0000
74+++ tests/contrib/openstack/test_os_contexts.py 2015-10-07 11:37:05 +0000
75@@ -1912,6 +1912,21 @@
76 'neutron_security_groups': True,
77 'local_ip': '10.0.0.1'}, neutron.nuage_ctxt())
78
79+ @patch.object(context.NeutronContext, 'neutron_security_groups')
80+ @patch.object(context, 'unit_private_ip')
81+ @patch.object(context, 'neutron_plugin_attribute')
82+ def test_neutron_midonet_plugin_context(self, attr, ip, sec_groups):
83+ ip.return_value = '10.0.0.1'
84+ sec_groups.__get__ = MagicMock(return_value=True)
85+ attr.return_value = 'some.quantum.driver.class'
86+ neutron = context.NeutronContext()
87+ self.assertEquals({
88+ 'config': 'some.quantum.driver.class',
89+ 'core_plugin': 'some.quantum.driver.class',
90+ 'neutron_plugin': 'midonet',
91+ 'neutron_security_groups': True,
92+ 'local_ip': '10.0.0.1'}, neutron.midonet_ctxt())
93+
94 @patch('charmhelpers.contrib.openstack.context.unit_get')
95 @patch.object(context.NeutronContext, 'network_manager')
96 def test_neutron_neutron_ctxt(self, mock_network_manager,

Subscribers

People subscribed via source and target branches