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
|
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
|
file should be a ZIP file containing at least one yaml file with a .yaml
|
||||||
or .yml extension. If False then remove the overrides.
|
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):
|
def neutron_l3ha(self):
|
||||||
return get_l3ha()
|
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
|
# Do not need the plugin agent installed on the api server
|
||||||
def _ensure_packages(self):
|
def _ensure_packages(self):
|
||||||
pass
|
pass
|
||||||
|
@ -445,6 +449,7 @@ class NeutronCCContext(context.NeutronContext):
|
||||||
ctxt['external_network'] = config('neutron-external-network')
|
ctxt['external_network'] = config('neutron-external-network')
|
||||||
release = os_release('neutron-server')
|
release = os_release('neutron-server')
|
||||||
cmp_release = CompareOpenStackReleases(release)
|
cmp_release = CompareOpenStackReleases(release)
|
||||||
|
ctxt['enable_igmp_snooping'] = self.neutron_igmp_snoop
|
||||||
if config('neutron-plugin') == 'vsp' and cmp_release < 'newton':
|
if config('neutron-plugin') == 'vsp' and cmp_release < 'newton':
|
||||||
_config = config()
|
_config = config()
|
||||||
for k, v in _config.items():
|
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('mem-password', 'heslo')
|
||||||
self.test_config.set('enable-ml2-port-security', True)
|
self.test_config.set('enable-ml2-port-security', True)
|
||||||
self.test_config.set('dhcp-agents-per-network', 3)
|
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):
|
def tearDown(self):
|
||||||
super(NeutronCCContextTest, self).tearDown()
|
super(NeutronCCContextTest, self).tearDown()
|
||||||
|
@ -448,6 +451,7 @@ class NeutronCCContextTest(CharmTestCase):
|
||||||
'dhcp_agents_per_network': 3,
|
'dhcp_agents_per_network': 3,
|
||||||
'enable_sriov': False,
|
'enable_sriov': False,
|
||||||
'external_network': 'bob',
|
'external_network': 'bob',
|
||||||
|
'enable_igmp_snooping': True,
|
||||||
'neutron_bind_port': self.api_port,
|
'neutron_bind_port': self.api_port,
|
||||||
'verbose': True,
|
'verbose': True,
|
||||||
'l2_population': True,
|
'l2_population': True,
|
||||||
|
@ -497,6 +501,7 @@ class NeutronCCContextTest(CharmTestCase):
|
||||||
'enable_sriov': False,
|
'enable_sriov': False,
|
||||||
'external_network': 'bob',
|
'external_network': 'bob',
|
||||||
'global_physnet_mtu': 1500,
|
'global_physnet_mtu': 1500,
|
||||||
|
'enable_igmp_snooping': True,
|
||||||
'neutron_bind_port': self.api_port,
|
'neutron_bind_port': self.api_port,
|
||||||
'verbose': True,
|
'verbose': True,
|
||||||
'l2_population': True,
|
'l2_population': True,
|
||||||
|
@ -602,6 +607,7 @@ class NeutronCCContextTest(CharmTestCase):
|
||||||
'dhcp_agents_per_network': 3,
|
'dhcp_agents_per_network': 3,
|
||||||
'enable_sriov': False,
|
'enable_sriov': False,
|
||||||
'external_network': 'bob',
|
'external_network': 'bob',
|
||||||
|
'enable_igmp_snooping': True,
|
||||||
'neutron_bind_port': self.api_port,
|
'neutron_bind_port': self.api_port,
|
||||||
'verbose': True,
|
'verbose': True,
|
||||||
'l2_population': True,
|
'l2_population': True,
|
||||||
|
@ -654,6 +660,7 @@ class NeutronCCContextTest(CharmTestCase):
|
||||||
'l3_ha': True,
|
'l3_ha': True,
|
||||||
'mechanism_drivers': 'openvswitch',
|
'mechanism_drivers': 'openvswitch',
|
||||||
'external_network': 'bob',
|
'external_network': 'bob',
|
||||||
|
'enable_igmp_snooping': True,
|
||||||
'neutron_bind_port': self.api_port,
|
'neutron_bind_port': self.api_port,
|
||||||
'verbose': True,
|
'verbose': True,
|
||||||
'l2_population': False,
|
'l2_population': False,
|
||||||
|
@ -725,6 +732,7 @@ class NeutronCCContextTest(CharmTestCase):
|
||||||
'enable_sriov': True,
|
'enable_sriov': True,
|
||||||
'supported_pci_vendor_devs': '1111:3333,2222:4444',
|
'supported_pci_vendor_devs': '1111:3333,2222:4444',
|
||||||
'external_network': 'bob',
|
'external_network': 'bob',
|
||||||
|
'enable_igmp_snooping': True,
|
||||||
'neutron_bind_port': self.api_port,
|
'neutron_bind_port': self.api_port,
|
||||||
'verbose': True,
|
'verbose': True,
|
||||||
'l2_population': True,
|
'l2_population': True,
|
||||||
|
|
Loading…
Reference in New Issue