Merge lp:~springfield-team/charms/trusty/nova-cloud-controller/next into lp:~openstack-charmers-archive/charms/trusty/nova-cloud-controller/next

Proposed by Shiv Prasad Rao
Status: Superseded
Proposed branch: lp:~springfield-team/charms/trusty/nova-cloud-controller/next
Merge into: lp:~openstack-charmers-archive/charms/trusty/nova-cloud-controller/next
Diff against target: 512 lines (+407/-2)
10 files modified
config.yaml (+22/-0)
hooks/charmhelpers/contrib/openstack/context.py (+6/-2)
hooks/nova_cc_hooks.py (+3/-0)
hooks/nova_cc_utils.py (+5/-0)
templates/havana/cisco_plugins.ini (+157/-0)
templates/havana/neutron.conf (+6/-0)
templates/havana/openrc (+15/-0)
templates/icehouse/cisco_plugins.ini (+179/-0)
templates/icehouse/neutron.conf (+5/-0)
templates/icehouse/nova.conf (+9/-0)
To merge this branch: bzr merge lp:~springfield-team/charms/trusty/nova-cloud-controller/next
Reviewer Review Type Date Requested Status
Hua Zhang (community) Needs Fixing
Jorge Niedbalski Pending
Review via email: mp+234748@code.launchpad.net

This proposal has been superseded by a proposal from 2014-09-18.

Description of the change

This merge proposal is prepared to enable N1KV plugin to install with charm logic for nova-cloud-controller.
Similar to ovs and nvp, n1kv (Nexus 1000V) is another layer 2 virtual switch provided by Cisco Nexus 1000V engineering team, which is a host side VM switching fabric building block we call it VEM (Virtual Ethernet Switch). 1+ VEM work in tandem with a VSM (Virtual Switch Module) to form a virtual chassis in a data center.
Please also refer to the VEM/VSM charm and Cisco Nexus1000V related document for its detail.

config.yaml
- added n1kv as a possible value for quantum-plugin
- added n1kv-vsm-username, n1kv-vsm-password, n1kv-vsm-ip to communicate with its supervisor module with (VSM)

hooks/charmhelpers/contrib/openstack/context.py
- Added n1kv related dictionary for context look-up

hooks/charmhelpers/contrib/openstack/neutron.py
- Added n1kv related plugin logic data formation

hooks/nova_cc_hooks.py
- Added copy logic to copy Cisco n1kv template to /root

templates/havana/cisco_plugins.ini
- New file for Cisco Plugin related parameters

templates/havana/neutron.conf
- Added customized system parameters for N1KV plugin to run with

templates/havana/cisco_plugin.ini
- Adding support for PostgreSQL for cisco_plugin.ini

Please refer to old merge proposal if needed:
https://code.launchpad.net/~springfield-team/charms/precise/nova-cloud-controller/trunk/+merge/218172

To post a comment you must log in.
Revision history for this message
Shiv Prasad Rao (shivrao) wrote :

I have submitted changes required for charm-helpers as part of another commit to lp:charm-helpers
https://code.launchpad.net/~springfield-team/charm-helpers/trunk/+merge/234402

Revision history for this message
Hua Zhang (zhhuabj) wrote :

some inline comments, thanks.

review: Needs Fixing
102. By Shiv Prasad Rao

Addressing review comments

103. By Shiv Prasad Rao

Upstream 102

Revision history for this message
Shiv Prasad Rao (shivrao) wrote :

Accepted the review comments.
Synced with latest revision

104. By Shiv Prasad Rao

Fixing a typo

105. By Shiv Prasad Rao

Addressed Review comments:
1.Removed openrc generation
2.Trimmed down comments from cisco_plugins.ini

106. By Shiv Prasad Rao

Sync with revision 112

107. By Shiv Prasad Rao

typo

108. By Shiv Prasad Rao

Addressing review comments

1. Added delimiter for cisco options in config.yaml
2. Removed cisco_plugins.ini for havana. Added conditional block in icehouse template

Unmerged revisions

108. By Shiv Prasad Rao

Addressing review comments

1. Added delimiter for cisco options in config.yaml
2. Removed cisco_plugins.ini for havana. Added conditional block in icehouse template

107. By Shiv Prasad Rao

typo

106. By Shiv Prasad Rao

Sync with revision 112

105. By Shiv Prasad Rao

Addressed Review comments:
1.Removed openrc generation
2.Trimmed down comments from cisco_plugins.ini

104. By Shiv Prasad Rao

Fixing a typo

103. By Shiv Prasad Rao

Upstream 102

102. By Shiv Prasad Rao

Addressing review comments

101. By Shiv Prasad Rao

Adding support for Cisco N1kV

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'config.yaml'
2--- config.yaml 2014-09-16 08:59:35 +0000
3+++ config.yaml 2014-09-17 19:34:44 +0000
4@@ -243,3 +243,25 @@
5 .
6 Increasing this value will increase instance density on compute nodes
7 at the potential expense of instance performance.
8+ n1kv-vsm-username:
9+ type: string
10+ default: admin
11+ description: Username to connect to Cisco Nexus1000v VSM
12+ n1kv-vsm-password:
13+ type: string
14+ default: abc123
15+ description: Password to connect to Cisco Nexus1000v VSM
16+ n1kv-vsm-ip:
17+ type: string
18+ default: 10.10.10.10
19+ description: IP address to connect to Cisco Nexus1000v VSM
20+ n1kv-restrict-policy-profiles:
21+ type: boolean
22+ default: false
23+ All tenants will be able to access all policy profiles if disblaed.
24+ If enabled, tenants can access only those policy profiles which are
25+ explicitly assigned to them by admin.
26+ n1kv-config-flags:
27+ default: None
28+ type: string
29+ description: Comma separated list of key=value config flags to be set in cisco_plugins.ini
30
31=== modified file 'hooks/charmhelpers/contrib/openstack/context.py'
32--- hooks/charmhelpers/contrib/openstack/context.py 2014-08-13 13:12:02 +0000
33+++ hooks/charmhelpers/contrib/openstack/context.py 2014-09-17 19:34:44 +0000
34@@ -597,6 +597,7 @@
35 self.network_manager)
36 n1kv_config = neutron_plugin_attribute(self.plugin, 'config',
37 self.network_manager)
38+ n1kv_user_config_flags = config('n1kv-config-flags')
39 n1kv_ctxt = {
40 'core_plugin': driver,
41 'neutron_plugin': 'n1kv',
42@@ -607,9 +608,12 @@
43 'vsm_username': config('n1kv-vsm-username'),
44 'vsm_password': config('n1kv-vsm-password'),
45 'restrict_policy_profiles': config(
46- 'n1kv_restrict_policy_profiles'),
47+ 'n1kv-restrict-policy-profiles'),
48 }
49-
50+ if n1kv_user_config_flags:
51+ flags = config_flags_parser(n1kv_user_config_flags)
52+ n1kv_ctxt['n1kv_user_config_flags'] = flags
53+
54 return n1kv_ctxt
55
56 def neutron_ctxt(self):
57
58=== modified file 'hooks/nova_cc_hooks.py'
59--- hooks/nova_cc_hooks.py 2014-09-12 13:57:42 +0000
60+++ hooks/nova_cc_hooks.py 2014-09-17 19:34:44 +0000
61@@ -111,6 +111,9 @@
62 @hooks.hook()
63 def install():
64 execd_preinstall()
65+ plugin = config('quantum-plugin')
66+ if (plugin == 'n1kv'):
67+ shutil.copy2('templates/havana/openrc', '/root/')
68 configure_installation_source(config('openstack-origin'))
69 apt_update()
70 apt_install(determine_packages(), fatal=True)
71
72=== modified file 'hooks/nova_cc_utils.py'
73--- hooks/nova_cc_utils.py 2014-09-12 13:57:42 +0000
74+++ hooks/nova_cc_utils.py 2014-09-17 19:34:44 +0000
75@@ -93,6 +93,7 @@
76 HAPROXY_CONF = '/etc/haproxy/haproxy.cfg'
77 APACHE_CONF = '/etc/apache2/sites-available/openstack_https_frontend'
78 APACHE_24_CONF = '/etc/apache2/sites-available/openstack_https_frontend.conf'
79+OPENRC = '/root/openrc'
80 NEUTRON_DEFAULT = '/etc/default/neutron-server'
81 QUANTUM_DEFAULT = '/etc/default/quantum-server'
82
83@@ -174,6 +175,10 @@
84 'contexts': [nova_cc_context.ApacheSSLContext()],
85 'services': ['apache2'],
86 }),
87+ (OPENRC, {
88+ 'contexts': [context.IdentityServiceContext()],
89+ 'services': [],
90+ }),
91 ])
92
93 CA_CERT_PATH = '/usr/local/share/ca-certificates/keystone_juju_ca_cert.crt'
94
95=== added file 'templates/havana/cisco_plugins.ini'
96--- templates/havana/cisco_plugins.ini 1970-01-01 00:00:00 +0000
97+++ templates/havana/cisco_plugins.ini 2014-09-17 19:34:44 +0000
98@@ -0,0 +1,157 @@
99+[cisco_plugins]
100+
101+# (StrOpt) Period-separated module path to the plugin class to use for
102+# the Cisco Nexus switches.
103+#
104+# nexus_plugin = neutron.plugins.cisco.nexus.cisco_nexus_plugin_v2.NexusPlugin
105+
106+# (StrOpt) Period-separated module path to the plugin class to use for
107+# the virtual switches on compute nodes.
108+#
109+# vswitch_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
110+
111+
112+[cisco]
113+
114+# (StrOpt) A short prefix to prepend to the VLAN number when creating a
115+# VLAN interface. For example, if an interface is being created for
116+# VLAN 2001 it will be named 'q-2001' using the default prefix.
117+#
118+# vlan_name_prefix = q-
119+# Example: vlan_name_prefix = vnet-
120+
121+# (StrOpt) A short prefix to prepend to the VLAN number when creating a
122+# provider VLAN interface. For example, if an interface is being created
123+# for provider VLAN 3003 it will be named 'p-3003' using the default prefix.
124+#
125+# provider_vlan_name_prefix = p-
126+# Example: provider_vlan_name_prefix = PV-
127+
128+# (BoolOpt) A flag indicating whether Openstack networking should manage the
129+# creation and removal of VLAN interfaces for provider networks on the Nexus
130+# switches. If the flag is set to False then Openstack will not create or
131+# remove VLAN interfaces for provider networks, and the administrator needs
132+# to manage these interfaces manually or by external orchestration.
133+#
134+# provider_vlan_auto_create = True
135+
136+# (BoolOpt) A flag indicating whether Openstack networking should manage
137+# the adding and removing of provider VLANs from trunk ports on the Nexus
138+# switches. If the flag is set to False then Openstack will not add or
139+# remove provider VLANs from trunk ports, and the administrator needs to
140+# manage these operations manually or by external orchestration.
141+#
142+# provider_vlan_auto_trunk = True
143+
144+# (StrOpt) Period-separated module path to the model class to use for
145+# the Cisco neutron plugin.
146+#
147+# model_class = neutron.plugins.cisco.models.virt_phy_sw_v2.VirtualPhysicalSwitchModelV2
148+
149+# (StrOpt) Period-separated module path to the driver class to use for
150+# the Cisco Nexus switches.
151+#
152+# If no value is configured, a fake driver will be used.
153+# nexus_driver = neutron.plugins.cisco.test.nexus.fake_nexus_driver.CiscoNEXUSFakeDriver
154+# With real hardware, use the CiscoNEXUSDriver class:
155+# nexus_driver = neutron.plugins.cisco.nexus.cisco_nexus_network_driver_v2.CiscoNEXUSDriver
156+
157+# (BoolOpt) A flag to enable round robin scheduling of routers for SVI.
158+# svi_round_robin = False
159+
160+
161+# Cisco Nexus Switch configurations.
162+# Each switch to be managed by Openstack Neutron must be configured here.
163+#
164+# Cisco Nexus Switch Format.
165+# [NEXUS_SWITCH:<IP address of switch>]
166+# <hostname>=<port> (1)
167+# ssh_port=<ssh port> (2)
168+# username=<credential username> (3)
169+# password=<credential password> (4)
170+#
171+# (1) For each host connected to a port on the switch, specify the hostname
172+# and the Nexus physical port (interface) it is connected to.
173+# (2) The TCP port for connecting via SSH to manage the switch. This is
174+# port number 22 unless the switch has been configured otherwise.
175+# (3) The username for logging into the switch to manage it.
176+# (4) The password for logging into the switch to manage it.
177+#
178+# Example:
179+# [NEXUS_SWITCH:1.1.1.1]
180+# compute1=1/1
181+# compute2=1/2
182+# ssh_port=22
183+# username=admin
184+# password=mySecretPassword
185+
186+#
187+# N1KV Format.
188+# [N1KV:<IP address of VSM>]
189+# username=<credential username>
190+# password=<credential password>
191+#
192+# Example:
193+# [N1KV:2.2.2.2]
194+# username=admin
195+# password=mySecretPassword
196+
197+[cisco_n1k]
198+
199+# (StrOpt) Specify the name of the integration bridge to which the VIFs are
200+# attached.
201+#
202+integration_bridge = br-int
203+
204+# (StrOpt) Name of the policy profile to be associated with a port when no
205+# policy profile is specified during port creates.
206+#
207+default_policy_profile = default-pp
208+# Example: default_policy_profile = service_profile
209+
210+# (StrOpt) Name of the policy profile to be associated with a port owned by
211+# network node (dhcp, router).
212+#
213+network_node_policy_profile = default-pp
214+# Example: network_node_policy_profile = dhcp_pp
215+
216+# (StrOpt) Name of the network profile to be associated with a network when no
217+# network profile is specified during network creates. Admin should pre-create
218+# a network profile with this name.
219+#
220+# default_network_profile =
221+# Example: default_network_profile = network_pool
222+
223+# (StrOpt) Time in seconds for which the plugin polls the VSM for updates in
224+# policy profiles.
225+#
226+#poll_duration = 10
227+# Example: poll_duration = 180
228+
229+restrict_policy_profiles = {{ restrict_policy_profiles }}
230+# Example: restrict_policy_profiles = False
231+
232+{% if n1kv_user_config_flags -%}
233+{% for key, value in n1kv_user_config_flags.iteritems() -%}
234+{{ key }} = {{ value }}
235+{% endfor -%}
236+{% endif -%}
237+
238+{% include "parts/section-database" %}
239+
240+[CISCO_PLUGINS]
241+vswitch_plugin = neutron.plugins.cisco.n1kv.n1kv_neutron_plugin.N1kvNeutronPluginV2
242+
243+[N1KV:{{ vsm_ip }}]
244+password = {{ vsm_password }}
245+username = {{ vsm_username }}
246+
247+[securitygroup]
248+{% if neutron_security_groups -%}
249+#Firewall driver for realizing neutron security group function.
250+#firewall_driver = neutron.agent.firewall.NoopFirewallDriver
251+firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
252+enable_security_group = True
253+{% else -%}
254+firewall_driver = neutron.agent.firewall.NoopFirewallDriver
255+{% endif -%}
256
257=== modified file 'templates/havana/neutron.conf'
258--- templates/havana/neutron.conf 2014-04-16 08:25:14 +0000
259+++ templates/havana/neutron.conf 2014-09-17 19:34:44 +0000
260@@ -27,6 +27,12 @@
261
262 {% include "parts/rabbitmq" %}
263
264+{% if neutron_plugin and neutron_plugin == 'n1kv' -%}
265+rpc_backend = neutron.openstack.common.rpc.impl_kombu
266+api_extensions_path = /usr/share/pyshared/neutron/plugins/cisco/extensions
267+network_auto_schedule = False
268+{% endif %}
269+
270 [quotas]
271 quota_driver = neutron.db.quota_db.DbQuotaDriver
272 {% if neutron_security_groups -%}
273
274=== added file 'templates/havana/openrc'
275--- templates/havana/openrc 1970-01-01 00:00:00 +0000
276+++ templates/havana/openrc 2014-09-17 19:34:44 +0000
277@@ -0,0 +1,15 @@
278+#!/bin/sh
279+#This is an example of openrc
280+# READ:http://docs.openstack.org/user-guide/content/cli_openrc.html
281+export OS_NO_CACHE=true
282+export OS_TENANT_NAME=admin
283+export OS_USERNAME=
284+export OS_PASSWORD=
285+export OS_AUTH_URL=http://{{ service_host }}:{{ service_port }}/v2.0/
286+export OS_AUTH_STRATEGY=keystone
287+export OS_REGION_NAME=RegionOne
288+export CINDER_ENDPOINT_TYPE=publicURL
289+export GLANCE_ENDPOINT_TYPE=publicURL
290+export KEYSTONE_ENDPOINT_TYPE=publicURL
291+export NOVA_ENDPOINT_TYPE=publicURL
292+export QUANTUM_ENDPOINT_TYPE=publicURL
293
294=== added file 'templates/icehouse/cisco_plugins.ini'
295--- templates/icehouse/cisco_plugins.ini 1970-01-01 00:00:00 +0000
296+++ templates/icehouse/cisco_plugins.ini 2014-09-17 19:34:44 +0000
297@@ -0,0 +1,179 @@
298+[cisco_plugins]
299+
300+# (StrOpt) Period-separated module path to the plugin class to use for
301+# the Cisco Nexus switches.
302+#
303+# nexus_plugin = neutron.plugins.cisco.nexus.cisco_nexus_plugin_v2.NexusPlugin
304+
305+# (StrOpt) Period-separated module path to the plugin class to use for
306+# the virtual switches on compute nodes.
307+#
308+# vswitch_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
309+
310+
311+[cisco]
312+
313+# (StrOpt) A short prefix to prepend to the VLAN number when creating a
314+# VLAN interface. For example, if an interface is being created for
315+# VLAN 2001 it will be named 'q-2001' using the default prefix.
316+#
317+# vlan_name_prefix = q-
318+# Example: vlan_name_prefix = vnet-
319+
320+# (StrOpt) A short prefix to prepend to the VLAN number when creating a
321+# provider VLAN interface. For example, if an interface is being created
322+# for provider VLAN 3003 it will be named 'p-3003' using the default prefix.
323+#
324+# provider_vlan_name_prefix = p-
325+# Example: provider_vlan_name_prefix = PV-
326+
327+# (BoolOpt) A flag indicating whether Openstack networking should manage the
328+# creation and removal of VLAN interfaces for provider networks on the Nexus
329+# switches. If the flag is set to False then Openstack will not create or
330+# remove VLAN interfaces for provider networks, and the administrator needs
331+# to manage these interfaces manually or by external orchestration.
332+#
333+# provider_vlan_auto_create = True
334+
335+# (BoolOpt) A flag indicating whether Openstack networking should manage
336+# the adding and removing of provider VLANs from trunk ports on the Nexus
337+# switches. If the flag is set to False then Openstack will not add or
338+# remove provider VLANs from trunk ports, and the administrator needs to
339+# manage these operations manually or by external orchestration.
340+#
341+# provider_vlan_auto_trunk = True
342+
343+# (StrOpt) Period-separated module path to the model class to use for
344+# the Cisco neutron plugin.
345+#
346+# model_class = neutron.plugins.cisco.models.virt_phy_sw_v2.VirtualPhysicalSwitchModelV2
347+
348+# (StrOpt) Period-separated module path to the driver class to use for
349+# the Cisco Nexus switches.
350+#
351+# If no value is configured, a fake driver will be used.
352+# nexus_driver = neutron.plugins.cisco.test.nexus.fake_nexus_driver.CiscoNEXUSFakeDriver
353+# With real hardware, use the CiscoNEXUSDriver class:
354+# nexus_driver = neutron.plugins.cisco.nexus.cisco_nexus_network_driver_v2.CiscoNEXUSDriver
355+
356+# (BoolOpt) A flag to enable round robin scheduling of routers for SVI.
357+# svi_round_robin = False
358+
359+
360+# Cisco Nexus Switch configurations.
361+# Each switch to be managed by Openstack Neutron must be configured here.
362+#
363+# Cisco Nexus Switch Format.
364+# [NEXUS_SWITCH:<IP address of switch>]
365+# <hostname>=<port> (1)
366+# ssh_port=<ssh port> (2)
367+# username=<credential username> (3)
368+# password=<credential password> (4)
369+#
370+# (1) For each host connected to a port on the switch, specify the hostname
371+# and the Nexus physical port (interface) it is connected to.
372+# (2) The TCP port for connecting via SSH to manage the switch. This is
373+# port number 22 unless the switch has been configured otherwise.
374+# (3) The username for logging into the switch to manage it.
375+# (4) The password for logging into the switch to manage it.
376+#
377+# Example:
378+# [NEXUS_SWITCH:1.1.1.1]
379+# compute1=1/1
380+# compute2=1/2
381+# ssh_port=22
382+# username=admin
383+# password=mySecretPassword
384+
385+#
386+# N1KV Format.
387+# [N1KV:<IP address of VSM>]
388+# username=<credential username>
389+# password=<credential password>
390+#
391+# Example:
392+# [N1KV:2.2.2.2]
393+# username=admin
394+# password=mySecretPassword
395+
396+[cisco_n1k]
397+
398+# (StrOpt) Specify the name of the integration bridge to which the VIFs are
399+# attached.
400+#
401+integration_bridge = br-int
402+
403+# (StrOpt) Name of the policy profile to be associated with a port when no
404+# policy profile is specified during port creates.
405+#
406+default_policy_profile = default-pp
407+# Example: default_policy_profile = service_profile
408+
409+# (StrOpt) Name of the policy profile to be associated with a port owned by
410+# network node (dhcp, router).
411+#
412+network_node_policy_profile = default-pp
413+# Example: network_node_policy_profile = dhcp_pp
414+
415+# (StrOpt) Name of the network profile to be associated with a network when no
416+# network profile is specified during network creates. Admin should pre-create
417+# a network profile with this name.
418+#
419+# default_network_profile =
420+# Example: default_network_profile = network_pool
421+
422+# (StrOpt) Time in seconds for which the plugin polls the VSM for updates in
423+# policy profiles.
424+#
425+#poll_duration = 10
426+# Example: poll_duration = 180
427+
428+# (BoolOpt) Specify whether tenants are restricted from accessing all the
429+# policy profiles.
430+# Default value: False, indicating all tenants can access all policy profiles.
431+#
432+# restrict_policy_profiles =
433+# Example: restrict_policy_profiles = False
434+
435+# (IntOpt) Number of threads to use to make HTTP requests to the VSM.
436+#
437+# http_pool_size = 4
438+
439+# (IntOpt) Time in seconds for which the plugin waits for the VSM to respond.
440+#
441+# http_timeout = 30
442+http_timeout = 120
443+
444+
445+# (BoolOpt) Specify whether plugin should attempt to synchronize with the VSM
446+# when neutron is started.
447+# Default value: False, indicating no full sync will be performed.
448+#
449+# enable_sync_on_start = False
450+
451+restrict_policy_profiles = {{ restrict_policy_profiles }}
452+
453+{% if n1kv_user_config_flags -%}
454+{% for key, value in n1kv_user_config_flags.iteritems() -%}
455+{{ key }} = {{ value }}
456+{% endfor -%}
457+{% endif -%}
458+
459+{% include "parts/section-database" %}
460+
461+[CISCO_PLUGINS]
462+vswitch_plugin = neutron.plugins.cisco.n1kv.n1kv_neutron_plugin.N1kvNeutronPluginV2
463+
464+[N1KV:{{ vsm_ip }}]
465+password = {{ vsm_password }}
466+username = {{ vsm_username }}
467+
468+[securitygroup]
469+{% if neutron_security_groups -%}
470+#Firewall driver for realizing neutron security group function.
471+#firewall_driver = neutron.agent.firewall.NoopFirewallDriver
472+firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
473+enable_security_group = True
474+{% else -%}
475+firewall_driver = neutron.agent.firewall.NoopFirewallDriver
476+{% endif -%}
477
478=== modified file 'templates/icehouse/neutron.conf'
479--- templates/icehouse/neutron.conf 2014-08-08 09:31:32 +0000
480+++ templates/icehouse/neutron.conf 2014-09-17 19:34:44 +0000
481@@ -31,6 +31,11 @@
482
483 {% include "parts/rabbitmq" %}
484
485+{% if neutron_plugin and neutron_plugin == 'n1kv' -%}
486+rpc_backend = neutron.openstack.common.rpc.impl_kombu
487+network_auto_schedule = False
488+{% endif %}
489+
490 notify_nova_on_port_status_changes = True
491 notify_nova_on_port_data_changes = True
492 nova_url = {{ nova_url }}
493
494=== modified file 'templates/icehouse/nova.conf'
495--- templates/icehouse/nova.conf 2014-09-16 08:59:35 +0000
496+++ templates/icehouse/nova.conf 2014-09-17 19:34:44 +0000
497@@ -69,6 +69,15 @@
498 {% endif -%}
499 {% endif -%}
500
501+{% if neutron_plugin and neutron_plugin == 'n1kv' -%}
502+libvirt_user_virtio_for_bridges = True
503+security_group_api = {{ network_manager }}
504+nova_firewall_driver = nova.virt.firewall.NoopFirewallDriver
505+{% if external_network -%}
506+default_floating_pool = {{ external_network }}
507+{% endif -%}
508+{% endif -%}
509+
510 {% if network_manager_config -%}
511 {% for key, value in network_manager_config.iteritems() -%}
512 {{ key }} = {{ value }}

Subscribers

People subscribed via source and target branches