diff options
| author | liyingjun <yingjun.li@kylin-cloud.com> | 2016-08-08 09:17:10 +0800 |
|---|---|---|
| committer | liyingjun <yingjun.li@kylin-cloud.com> | 2016-08-31 16:31:07 +0800 |
| commit | c5668bd50aa6f2fa885be45a28c04648a1f6a53e (patch) | |
| tree | d5da199c58c3802a36bc73a205afa0fc7ecb3dff | |
| parent | cb32b2b8d9c9aaae2ce08a58ebce37f7cad8224e (diff) | |
| download | kolla-c5668bd50aa6f2fa885be45a28c04648a1f6a53e.tar.gz kolla-c5668bd50aa6f2fa885be45a28c04648a1f6a53e.zip | |
Add option to support dhcp/l3 agent ha
New option enable_neutron_agent_ha added to enable/disable dhcp/l3 agent
high availability, dhcp_agents_per_network is default to 2 and it's
configurable.
Implement blueprint: support-network-ha
Change-Id: Id4742aa67c80584634b923195545bf2b654172f3
| -rw-r--r-- | ansible/group_vars/all.yml | 1 | ||||
| -rw-r--r-- | ansible/roles/neutron/defaults/main.yml | 4 | ||||
| -rw-r--r-- | ansible/roles/neutron/templates/neutron.conf.j2 | 7 | ||||
| -rw-r--r-- | ansible/roles/prechecks/tasks/service_checks.yml | 8 | ||||
| -rw-r--r-- | etc/kolla/globals.yml | 1 | ||||
| -rw-r--r-- | releasenotes/notes/bp-support-network-ha-1a771d735a268219.yaml | 5 |
6 files changed, 26 insertions, 0 deletions
diff --git a/ansible/group_vars/all.yml b/ansible/group_vars/all.yml index d6e25ad77..d925d9876 100644 --- a/ansible/group_vars/all.yml +++ b/ansible/group_vars/all.yml @@ -231,6 +231,7 @@ enable_multipathd: "no" enable_murano: "no" enable_neutron_lbaas: "no" enable_neutron_qos: "no" +enable_neutron_agent_ha: "no" enable_swift: "no" enable_tempest: "no" enable_watcher: "no" diff --git a/ansible/roles/neutron/defaults/main.yml b/ansible/roles/neutron/defaults/main.yml index 80c6ed43e..21ef9a49f 100644 --- a/ansible/roles/neutron/defaults/main.yml +++ b/ansible/roles/neutron/defaults/main.yml @@ -52,6 +52,10 @@ openvswitch_vswitchd_image_full: "{{ openvswitch_vswitchd_image }}:{{ openvswitc #################### # OpenStack #################### +dhcp_agents_per_network: 2 +min_l3_agents_per_router: 2 +max_l3_agents_per_router: 3 + neutron_admin_endpoint: "{{ admin_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}" neutron_internal_endpoint: "{{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ neutron_server_port }}" neutron_public_endpoint: "{{ public_protocol }}://{{ kolla_external_fqdn }}:{{ neutron_server_port }}" diff --git a/ansible/roles/neutron/templates/neutron.conf.j2 b/ansible/roles/neutron/templates/neutron.conf.j2 index 16f0b8b31..fe8ed1029 100644 --- a/ansible/roles/neutron/templates/neutron.conf.j2 +++ b/ansible/roles/neutron/templates/neutron.conf.j2 @@ -37,6 +37,13 @@ allow_overlapping_ips = true core_plugin = ml2 service_plugins = router{% if enable_neutron_lbaas | bool %},neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2{% endif %}{% if enable_neutron_qos | bool %},qos{% endif %} +{% if enable_neutron_agent_ha | bool %} +dhcp_agents_per_network = {{ dhcp_agents_per_network }} +l3_ha = true +max_l3_agents_per_router = {{ max_l3_agents_per_router }} +min_l3_agents_per_router = {{ min_l3_agents_per_router }} +{% endif %} + {% if enable_neutron_lbaas | bool %} [service_providers] service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default diff --git a/ansible/roles/prechecks/tasks/service_checks.yml b/ansible/roles/prechecks/tasks/service_checks.yml index b275fd4c2..1faa83185 100644 --- a/ansible/roles/prechecks/tasks/service_checks.yml +++ b/ansible/roles/prechecks/tasks/service_checks.yml @@ -48,3 +48,11 @@ register: result changed_when: false failed_when: result.stdout | regex_replace('(60|120|180|240|300|360|600|720|900|1200|1800|3600|7200|10800|14400|21600|28800|43200|86400|604800)', '') | search(".+") + +- name: Checking number of network agents + local_action: fail msg="Number of network agents are less than two when enabling agent ha" + changed_when: false + when: + - enable_neutron_agent_ha | bool + - groups['neutron-dhcp-agent'] | length < 2 + or groups['neutron-l3-agent'] | length < 2 diff --git a/etc/kolla/globals.yml b/etc/kolla/globals.yml index e6d37bd0e..abd3f5e5d 100644 --- a/etc/kolla/globals.yml +++ b/etc/kolla/globals.yml @@ -132,6 +132,7 @@ neutron_external_interface: "eth1" #enable_multipathd: "no" #enable_neutron_lbaas: "no" #enable_neutron_qos: "no" +#enable_neutron_agent_ha: "no" #enable_swift: "no" #enable_tempest: "no" #enable_watcher: "no" diff --git a/releasenotes/notes/bp-support-network-ha-1a771d735a268219.yaml b/releasenotes/notes/bp-support-network-ha-1a771d735a268219.yaml new file mode 100644 index 000000000..0e73f5d30 --- /dev/null +++ b/releasenotes/notes/bp-support-network-ha-1a771d735a268219.yaml @@ -0,0 +1,5 @@ +--- +features: + - New option enable_neutron_agent_ha added to enable/disable dhcp/l3 agent + high availability, dhcp_agents_per_network is default to 2 and it's + configurable for user. |
