From 68c6b5e5150fb066cbf2db335818d9a59aaea44a Mon Sep 17 00:00:00 2001 From: James Page Date: Mon, 5 Sep 2016 12:59:02 +0100 Subject: [PATCH] Switch to LBaaS v2 for OpenStack Newton OpenStack Newton drops support for the deprecated v1 LBaaS model; switch to using LBaaS v2 including directly referencing all service_providers in the neutron.conf template (implicit loading from neutron_*.conf files will be removed in Ocata anyway). Change-Id: I8d625ddf079ed0f0f22d180334b928f04cbae182 --- templates/newton/neutron.conf | 113 ++++++++++++++++++++++++++++++++++ tox.ini | 3 + 2 files changed, 116 insertions(+) create mode 100644 templates/newton/neutron.conf diff --git a/templates/newton/neutron.conf b/templates/newton/neutron.conf new file mode 100644 index 00000000..6c09a5c3 --- /dev/null +++ b/templates/newton/neutron.conf @@ -0,0 +1,113 @@ +# newton +############################################################################### +# [ 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 +notification_driver = neutron.openstack.common.notifier.rpc_notifier +notification_topics = notifications,notifications_designate +api_workers = {{ workers }} +rpc_workers = {{ workers }} + +router_distributed = {{ enable_dvr }} + +l3_ha = {{ l3_ha }} +{% if l3_ha -%} +max_l3_agents_per_router = {{ max_l3_agents_per_router }} +min_l3_agents_per_router = {{ min_l3_agents_per_router }} +{% 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 }} +{% else -%} +{% if neutron_plugin in ['ovs', 'ml2', 'Calico'] -%} +service_plugins = router,firewall,vpnaas,metering,neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2 +{% endif -%} +{% endif -%} +{% endif -%} + +{% if neutron_security_groups -%} +allow_overlapping_ips = True +{% if neutron_plugin == 'Calico' -%} +neutron_firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver +{% else -%} +neutron_firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver +{% endif -%} +{% endif -%} + +{% if neutron_plugin == 'Calico' -%} +dhcp_agents_per_network = 1000 +{% endif -%} + +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.iteritems() -%} +{{ key }} = {{ value }} +{% endfor -%} +{% endif -%} + +{% include "section-zeromq" %} + +[quotas] +{% if quota_driver -%} +quota_driver = {{ quota_driver }} +{% else -%} +quota_driver = neutron.db.quota_db.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-rabbitmq-oslo" %} + +[oslo_concurrency] +lock_path = $state_path/lock + +{% include "parts/section-nova" %} + +[service_providers] +service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default +service_provider = VPN:strongswan:neutron_vpnaas.services.vpn.service_drivers.ipsec.IPsecVPNDriver:default diff --git a/tox.ini b/tox.ini index efc5200e..73b5387b 100644 --- a/tox.ini +++ b/tox.ini @@ -5,9 +5,12 @@ skipsdist = True [testenv] setenv = VIRTUAL_ENV={envdir} PYTHONHASHSEED=0 + AMULET_SETUP_TIMEOUT=2700 install_command = pip install --allow-unverified python-apt {opts} {packages} commands = ostestr {posargs} +whitelist_externals = juju +passenv = HOME TERM AMULET_* [testenv:py27] basepython = python2.7