Merge lp:~james-page/charm-helpers/plumgrid into lp:charm-helpers

Proposed by James Page on 2015-09-02
Status: Merged
Merged at revision: 437
Proposed branch: lp:~james-page/charm-helpers/plumgrid
Merge into: lp:charm-helpers
Diff against target: 95 lines (+45/-0)
4 files modified
charmhelpers/contrib/openstack/context.py (+14/-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:~james-page/charm-helpers/plumgrid
Reviewer Review Type Date Requested Status
Liam Young 2015-09-02 Approve on 2015-09-02
Review via email: mp+269920@code.launchpad.net

Description of the Change

Add misc bits and pieces for plumgrid support

To post a comment you must log in.
Liam Young (gnuoy) wrote :

Approve

review: Approve

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-08-18 20:52:11 +0000
3+++ charmhelpers/contrib/openstack/context.py 2015-09-02 14:24:29 +0000
4@@ -895,6 +895,18 @@
5 'neutron_url': '%s://%s:%s' % (proto, host, '9696')}
6 return ctxt
7
8+ def pg_ctxt(self):
9+ driver = neutron_plugin_attribute(self.plugin, 'driver',
10+ self.network_manager)
11+ config = neutron_plugin_attribute(self.plugin, 'config',
12+ self.network_manager)
13+ ovs_ctxt = {'core_plugin': driver,
14+ 'neutron_plugin': 'plumgrid',
15+ 'neutron_security_groups': self.neutron_security_groups,
16+ 'local_ip': unit_private_ip(),
17+ 'config': config}
18+ return ovs_ctxt
19+
20 def __call__(self):
21 if self.network_manager not in ['quantum', 'neutron']:
22 return {}
23@@ -914,6 +926,8 @@
24 ctxt.update(self.calico_ctxt())
25 elif self.plugin == 'vsp':
26 ctxt.update(self.nuage_ctxt())
27+ elif self.plugin == 'plumgrid':
28+ ctxt.update(self.pg_ctxt())
29
30 alchemy_flags = config('neutron-alchemy-flags')
31 if alchemy_flags:
32
33=== modified file 'charmhelpers/contrib/openstack/neutron.py'
34--- charmhelpers/contrib/openstack/neutron.py 2015-08-18 11:35:52 +0000
35+++ charmhelpers/contrib/openstack/neutron.py 2015-09-02 14:24:29 +0000
36@@ -195,6 +195,20 @@
37 'packages': [],
38 'server_packages': ['neutron-server', 'neutron-plugin-nuage'],
39 'server_services': ['neutron-server']
40+ },
41+ 'plumgrid': {
42+ 'config': '/etc/neutron/plugins/plumgrid/plumgrid.ini',
43+ 'driver': 'neutron.plugins.plumgrid.plumgrid_plugin.plumgrid_plugin.NeutronPluginPLUMgridV2',
44+ 'contexts': [
45+ context.SharedDBContext(user=config('database-user'),
46+ database=config('database'),
47+ ssl_dir=NEUTRON_CONF_DIR)],
48+ 'services': [],
49+ 'packages': [['plumgrid-lxc'],
50+ ['iovisor-dkms']],
51+ 'server_packages': ['neutron-server',
52+ 'neutron-plugin-plumgrid'],
53+ 'server_services': ['neutron-server']
54 }
55 }
56 if release >= 'icehouse':
57
58=== modified file 'tests/contrib/openstack/test_neutron_utils.py'
59--- tests/contrib/openstack/test_neutron_utils.py 2015-08-19 10:04:09 +0000
60+++ tests/contrib/openstack/test_neutron_utils.py 2015-09-02 14:24:29 +0000
61@@ -71,6 +71,8 @@
62 '/etc/neutron/plugins/cisco/cisco_plugins.ini')
63 self.assertEquals(plugins['Calico']['config'],
64 '/etc/neutron/plugins/ml2/ml2_conf.ini')
65+ self.assertEquals(plugins['plumgrid']['config'],
66+ '/etc/neutron/plugins/plumgrid/plumgrid.ini')
67 self.assertEquals(plugins['nvp']['services'], [])
68 self.assertEquals(plugins['nsx'], plugins['nvp'])
69
70
71=== modified file 'tests/contrib/openstack/test_os_contexts.py'
72--- tests/contrib/openstack/test_os_contexts.py 2015-08-19 12:45:20 +0000
73+++ tests/contrib/openstack/test_os_contexts.py 2015-09-02 14:24:29 +0000
74@@ -1788,6 +1788,21 @@
75 @patch.object(context.NeutronContext, 'neutron_security_groups')
76 @patch.object(context, 'unit_private_ip')
77 @patch.object(context, 'neutron_plugin_attribute')
78+ def test_neutron_plumgrid_plugin_context(self, attr, ip, sec_groups):
79+ ip.return_value = '10.0.0.1'
80+ sec_groups.__get__ = MagicMock(return_value=True)
81+ attr.return_value = 'some.quantum.driver.class'
82+ neutron = context.NeutronContext()
83+ self.assertEquals({
84+ 'config': 'some.quantum.driver.class',
85+ 'core_plugin': 'some.quantum.driver.class',
86+ 'neutron_plugin': 'plumgrid',
87+ 'neutron_security_groups': True,
88+ 'local_ip': '10.0.0.1'}, neutron.pg_ctxt())
89+
90+ @patch.object(context.NeutronContext, 'neutron_security_groups')
91+ @patch.object(context, 'unit_private_ip')
92+ @patch.object(context, 'neutron_plugin_attribute')
93 def test_neutron_nuage_plugin_context(self, attr, ip, sec_groups):
94 ip.return_value = '10.0.0.1'
95 sec_groups.__get__ = MagicMock(return_value=True)

Subscribers

People subscribed via source and target branches