Merge "Add igmp_snooping_enable config"
This commit is contained in:
commit
ebfcf31609
|
@ -779,3 +779,9 @@ options:
|
|||
override YAML files in the service's policy.d directory. The resource
|
||||
file should be a ZIP file containing at least one yaml file with a .yaml
|
||||
or .yml extension. If False then remove the overrides.
|
||||
enable-igmp-snooping:
|
||||
type: boolean
|
||||
default: False
|
||||
description: |
|
||||
If True, on Ussuri or later, igmp snooping will be set on OVS and OVN
|
||||
control plane will learn about multicast traffic going on in the cluster.
|
||||
|
|
|
@ -370,6 +370,10 @@ class NeutronCCContext(context.NeutronContext):
|
|||
def neutron_l3ha(self):
|
||||
return get_l3ha()
|
||||
|
||||
@property
|
||||
def neutron_igmp_snoop(self):
|
||||
return config('enable-igmp-snooping')
|
||||
|
||||
# Do not need the plugin agent installed on the api server
|
||||
def _ensure_packages(self):
|
||||
pass
|
||||
|
@ -445,6 +449,7 @@ class NeutronCCContext(context.NeutronContext):
|
|||
ctxt['external_network'] = config('neutron-external-network')
|
||||
release = os_release('neutron-server')
|
||||
cmp_release = CompareOpenStackReleases(release)
|
||||
ctxt['enable_igmp_snooping'] = self.neutron_igmp_snoop
|
||||
if config('neutron-plugin') == 'vsp' and cmp_release < 'newton':
|
||||
_config = config()
|
||||
for k, v in _config.items():
|
||||
|
|
|
@ -0,0 +1,145 @@
|
|||
# ussuri
|
||||
###############################################################################
|
||||
# [ WARNING ]
|
||||
# Configuration file maintained by Juju. Local changes may be overwritten.
|
||||
# Restart trigger {{ restart_trigger }}
|
||||
###############################################################################
|
||||
[DEFAULT]
|
||||
verbose = {{ verbose }}
|
||||
debug = {{ debug }}
|
||||
use_syslog = {{ use_syslog }}
|
||||
state_path = /var/lib/neutron
|
||||
bind_host = {{ bind_host }}
|
||||
auth_strategy = keystone
|
||||
api_workers = {{ workers }}
|
||||
rpc_workers = {{ workers }}
|
||||
|
||||
{% if transport_url %}
|
||||
transport_url = {{ transport_url }}
|
||||
{% endif %}
|
||||
|
||||
router_distributed = {{ enable_dvr }}
|
||||
|
||||
{% if dns_domain -%}
|
||||
dns_domain = {{ dns_domain }}
|
||||
{% endif -%}
|
||||
|
||||
l3_ha = {{ l3_ha }}
|
||||
{% if l3_ha -%}
|
||||
max_l3_agents_per_router = {{ max_l3_agents_per_router }}
|
||||
{% endif -%}
|
||||
|
||||
allow_automatic_l3agent_failover = {{ allow_automatic_l3agent_failover }}
|
||||
allow_automatic_dhcp_failover = {{ allow_automatic_dhcp_failover }}
|
||||
{% if network_scheduler_driver -%}
|
||||
network_scheduler_driver = {{ network_scheduler_driver }}
|
||||
dhcp_load_type = {{ dhcp_load_type }}
|
||||
{% endif -%}
|
||||
|
||||
{% if neutron_bind_port -%}
|
||||
bind_port = {{ neutron_bind_port }}
|
||||
{% else -%}
|
||||
bind_port = 9696
|
||||
{% endif -%}
|
||||
|
||||
{% if core_plugin -%}
|
||||
core_plugin = {{ core_plugin }}
|
||||
{% if service_plugins -%}
|
||||
service_plugins = {{ service_plugins }}
|
||||
{% endif -%}
|
||||
{% endif -%}
|
||||
|
||||
{% if neutron_security_groups -%}
|
||||
allow_overlapping_ips = True
|
||||
{% endif -%}
|
||||
|
||||
dhcp_agents_per_network = {{ dhcp_agents_per_network }}
|
||||
|
||||
notify_nova_on_port_status_changes = True
|
||||
notify_nova_on_port_data_changes = True
|
||||
|
||||
{% if sections and 'DEFAULT' in sections -%}
|
||||
{% for key, value in sections['DEFAULT'] -%}
|
||||
{{ key }} = {{ value }}
|
||||
{% endfor -%}
|
||||
{% endif %}
|
||||
|
||||
{% if user_config_flags -%}
|
||||
{% for key, value in user_config_flags.items() -%}
|
||||
{{ key }} = {{ value }}
|
||||
{% endfor -%}
|
||||
{% endif -%}
|
||||
|
||||
{% if global_physnet_mtu -%}
|
||||
global_physnet_mtu = {{ global_physnet_mtu }}
|
||||
{% endif -%}
|
||||
|
||||
{% if enable_designate -%}
|
||||
external_dns_driver = designate
|
||||
{% endif -%}
|
||||
|
||||
{% include "section-zeromq" %}
|
||||
|
||||
[quotas]
|
||||
{% if quota_driver -%}
|
||||
quota_driver = {{ quota_driver }}
|
||||
{% else -%}
|
||||
quota_driver = neutron.db.quota.driver.DbQuotaDriver
|
||||
{% endif -%}
|
||||
{% if neutron_security_groups -%}
|
||||
quota_items = network,subnet,port,security_group,security_group_rule
|
||||
quota_security_group = {{ quota_security_group }}
|
||||
quota_security_group_rule = {{ quota_security_group_rule }}
|
||||
{% else -%}
|
||||
quota_items = network,subnet,port
|
||||
{% endif -%}
|
||||
quota_network = {{ quota_network }}
|
||||
quota_subnet = {{ quota_subnet }}
|
||||
quota_port = {{ quota_port }}
|
||||
quota_vip = {{ quota_vip }}
|
||||
quota_pool = {{ quota_pool }}
|
||||
quota_member = {{ quota_member }}
|
||||
quota_health_monitors = {{ quota_health_monitors }}
|
||||
quota_router = {{ quota_router }}
|
||||
quota_floatingip = {{ quota_floatingip }}
|
||||
|
||||
[agent]
|
||||
root_helper = sudo /usr/bin/neutron-rootwrap /etc/neutron/rootwrap.conf
|
||||
|
||||
{% include "section-keystone-authtoken-mitaka" %}
|
||||
|
||||
{% include "parts/section-database" %}
|
||||
|
||||
{% include "section-oslo-messaging-rabbit" %}
|
||||
|
||||
{% include "section-oslo-notifications" %}
|
||||
|
||||
[ovs]
|
||||
igmp_snooping_enable = {{ enable_igmp_snooping }}
|
||||
|
||||
[oslo_concurrency]
|
||||
lock_path = $state_path/lock
|
||||
|
||||
{% include "parts/section-nova" %}
|
||||
|
||||
{% if enable_designate -%}
|
||||
{% include "parts/section-designate" %}
|
||||
{% endif -%}
|
||||
|
||||
{% include "parts/section-placement" %}
|
||||
|
||||
{% if firewall_v2 -%}
|
||||
[service_providers]
|
||||
service_provider = FIREWALL_V2:fwaas_db:neutron_fwaas.services.firewall.service_drivers.agents.agents.FirewallAgentDriver:default
|
||||
{% endif %}
|
||||
|
||||
{% include "section-oslo-middleware" %}
|
||||
|
||||
{% for section in sections -%}
|
||||
{% if section != 'DEFAULT' -%}
|
||||
[{{ section }}]
|
||||
{% for key, value in sections[section] -%}
|
||||
{{ key }} = {{ value }}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
{%- endfor %}
|
|
@ -428,6 +428,9 @@ class NeutronCCContextTest(CharmTestCase):
|
|||
self.test_config.set('mem-password', 'heslo')
|
||||
self.test_config.set('enable-ml2-port-security', True)
|
||||
self.test_config.set('dhcp-agents-per-network', 3)
|
||||
# Although set as True for all tests, only Ussuri templates
|
||||
# can apply this option.
|
||||
self.test_config.set('enable-igmp-snooping', True)
|
||||
|
||||
def tearDown(self):
|
||||
super(NeutronCCContextTest, self).tearDown()
|
||||
|
@ -448,6 +451,7 @@ class NeutronCCContextTest(CharmTestCase):
|
|||
'dhcp_agents_per_network': 3,
|
||||
'enable_sriov': False,
|
||||
'external_network': 'bob',
|
||||
'enable_igmp_snooping': True,
|
||||
'neutron_bind_port': self.api_port,
|
||||
'verbose': True,
|
||||
'l2_population': True,
|
||||
|
@ -497,6 +501,7 @@ class NeutronCCContextTest(CharmTestCase):
|
|||
'enable_sriov': False,
|
||||
'external_network': 'bob',
|
||||
'global_physnet_mtu': 1500,
|
||||
'enable_igmp_snooping': True,
|
||||
'neutron_bind_port': self.api_port,
|
||||
'verbose': True,
|
||||
'l2_population': True,
|
||||
|
@ -602,6 +607,7 @@ class NeutronCCContextTest(CharmTestCase):
|
|||
'dhcp_agents_per_network': 3,
|
||||
'enable_sriov': False,
|
||||
'external_network': 'bob',
|
||||
'enable_igmp_snooping': True,
|
||||
'neutron_bind_port': self.api_port,
|
||||
'verbose': True,
|
||||
'l2_population': True,
|
||||
|
@ -654,6 +660,7 @@ class NeutronCCContextTest(CharmTestCase):
|
|||
'l3_ha': True,
|
||||
'mechanism_drivers': 'openvswitch',
|
||||
'external_network': 'bob',
|
||||
'enable_igmp_snooping': True,
|
||||
'neutron_bind_port': self.api_port,
|
||||
'verbose': True,
|
||||
'l2_population': False,
|
||||
|
@ -725,6 +732,7 @@ class NeutronCCContextTest(CharmTestCase):
|
|||
'enable_sriov': True,
|
||||
'supported_pci_vendor_devs': '1111:3333,2222:4444',
|
||||
'external_network': 'bob',
|
||||
'enable_igmp_snooping': True,
|
||||
'neutron_bind_port': self.api_port,
|
||||
'verbose': True,
|
||||
'l2_population': True,
|
||||
|
|
Loading…
Reference in New Issue