Adds Neutron LBaaS Support
Previously, kolla did not support neutron lbaas functionality. Only Lbaasv2 is supported in Mitaka. Additional information can be found here: http://docs.openstack.org/mitaka/networking-guide/adv-config-lbaas.html Magnum uses Neutron Lbaas to provide high availability to COE API and Etcd endpoints within a bay. Therefore, Neutron Lbaas is required for Kolla to support Magnum. Co-Authored-By: Serguei Bezverkhi <sbezverk@cisco.com> Partial-Bug: #1551992 Change-Id: I05360b7c447c601fcb3c2b6b2a913ef5cc0f3a1b
This commit is contained in:
parent
c51e315523
commit
ba30579b3b
@ -204,6 +204,7 @@ enable_manila: "no"
|
|||||||
enable_mistral: "no"
|
enable_mistral: "no"
|
||||||
enable_mongodb: "no"
|
enable_mongodb: "no"
|
||||||
enable_murano: "no"
|
enable_murano: "no"
|
||||||
|
enable_neutron_lbaas: "no"
|
||||||
enable_swift: "no"
|
enable_swift: "no"
|
||||||
|
|
||||||
ironic_keystone_user: "ironic"
|
ironic_keystone_user: "ironic"
|
||||||
|
@ -130,6 +130,9 @@ neutron
|
|||||||
[neutron-l3-agent:children]
|
[neutron-l3-agent:children]
|
||||||
neutron
|
neutron
|
||||||
|
|
||||||
|
[neutron-lbaas-agent:children]
|
||||||
|
neutron
|
||||||
|
|
||||||
[neutron-metadata-agent:children]
|
[neutron-metadata-agent:children]
|
||||||
neutron
|
neutron
|
||||||
|
|
||||||
|
@ -142,6 +142,9 @@ neutron
|
|||||||
[neutron-l3-agent:children]
|
[neutron-l3-agent:children]
|
||||||
neutron
|
neutron
|
||||||
|
|
||||||
|
[neutron-lbaas-agent:children]
|
||||||
|
neutron
|
||||||
|
|
||||||
[neutron-metadata-agent:children]
|
[neutron-metadata-agent:children]
|
||||||
neutron
|
neutron
|
||||||
|
|
||||||
|
@ -20,6 +20,10 @@ neutron_l3_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{
|
|||||||
neutron_l3_agent_tag: "{{ openstack_release }}"
|
neutron_l3_agent_tag: "{{ openstack_release }}"
|
||||||
neutron_l3_agent_image_full: "{{ neutron_l3_agent_image }}:{{ neutron_l3_agent_tag }}"
|
neutron_l3_agent_image_full: "{{ neutron_l3_agent_image }}:{{ neutron_l3_agent_tag }}"
|
||||||
|
|
||||||
|
neutron_lbaas_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-lbaas-agent"
|
||||||
|
neutron_lbaas_agent_tag: "{{ openstack_release }}"
|
||||||
|
neutron_lbaas_agent_image_full: "{{ neutron_lbaas_agent_image }}:{{ neutron_lbaas_agent_tag }}"
|
||||||
|
|
||||||
neutron_linuxbridge_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-linuxbridge-agent"
|
neutron_linuxbridge_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{{ docker_namespace }}/{{ kolla_base_distro }}-{{ kolla_install_type }}-neutron-linuxbridge-agent"
|
||||||
neutron_linuxbridge_agent_tag: "{{ openstack_release }}"
|
neutron_linuxbridge_agent_tag: "{{ openstack_release }}"
|
||||||
neutron_linuxbridge_agent_image_full: "{{ neutron_linuxbridge_agent_image }}:{{ neutron_linuxbridge_agent_tag }}"
|
neutron_linuxbridge_agent_image_full: "{{ neutron_linuxbridge_agent_image }}:{{ neutron_linuxbridge_agent_tag }}"
|
||||||
|
@ -18,3 +18,26 @@
|
|||||||
- "kolla_logs:/var/log/kolla/"
|
- "kolla_logs:/var/log/kolla/"
|
||||||
run_once: True
|
run_once: True
|
||||||
delegate_to: "{{ groups['neutron-server'][0] }}"
|
delegate_to: "{{ groups['neutron-server'][0] }}"
|
||||||
|
|
||||||
|
- name: Running Neutron lbaas bootstrap container
|
||||||
|
kolla_docker:
|
||||||
|
action: "start_container"
|
||||||
|
common_options: "{{ docker_common_options }}"
|
||||||
|
detach: False
|
||||||
|
environment:
|
||||||
|
KOLLA_BOOTSTRAP:
|
||||||
|
KOLLA_CONFIG_STRATEGY: "{{ config_strategy }}"
|
||||||
|
image: "{{ neutron_lbaas_agent_image_full }}"
|
||||||
|
labels:
|
||||||
|
BOOTSTRAP:
|
||||||
|
name: "bootstrap_neutron_lbaas_agent"
|
||||||
|
restart_policy: "never"
|
||||||
|
volumes:
|
||||||
|
- "{{ node_config_directory }}/neutron-lbaas-agent/:{{ container_config_directory }}/:ro"
|
||||||
|
- "/etc/localtime:/etc/localtime:ro"
|
||||||
|
- "kolla_logs:/var/log/kolla/"
|
||||||
|
when:
|
||||||
|
- enable_neutron_lbaas | bool
|
||||||
|
- inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
|
run_once: True
|
||||||
|
delegate_to: "{{ groups['neutron-lbaas-agent'][0] }}"
|
||||||
|
@ -23,6 +23,7 @@
|
|||||||
- "neutron-server"
|
- "neutron-server"
|
||||||
- "openvswitch-db-server"
|
- "openvswitch-db-server"
|
||||||
- "openvswitch-vswitchd"
|
- "openvswitch-vswitchd"
|
||||||
|
- "neutron-lbaas-agent"
|
||||||
|
|
||||||
- name: Copying over config.json files for services
|
- name: Copying over config.json files for services
|
||||||
template:
|
template:
|
||||||
@ -37,6 +38,7 @@
|
|||||||
- "neutron-server"
|
- "neutron-server"
|
||||||
- "openvswitch-db-server"
|
- "openvswitch-db-server"
|
||||||
- "openvswitch-vswitchd"
|
- "openvswitch-vswitchd"
|
||||||
|
- "neutron-lbaas-agent"
|
||||||
|
|
||||||
- name: Copying over neutron.conf
|
- name: Copying over neutron.conf
|
||||||
merge_configs:
|
merge_configs:
|
||||||
@ -58,6 +60,7 @@
|
|||||||
- "neutron-metadata-agent"
|
- "neutron-metadata-agent"
|
||||||
- "neutron-openvswitch-agent"
|
- "neutron-openvswitch-agent"
|
||||||
- "neutron-server"
|
- "neutron-server"
|
||||||
|
- "neutron-lbaas-agent"
|
||||||
|
|
||||||
- name: Copying over ml2_conf.ini
|
- name: Copying over ml2_conf.ini
|
||||||
merge_configs:
|
merge_configs:
|
||||||
@ -126,3 +129,14 @@
|
|||||||
dest: "{{ node_config_directory }}/{{ item }}/metadata_agent.ini"
|
dest: "{{ node_config_directory }}/{{ item }}/metadata_agent.ini"
|
||||||
with_items:
|
with_items:
|
||||||
- "neutron-metadata-agent"
|
- "neutron-metadata-agent"
|
||||||
|
|
||||||
|
- name: Copying over lbaas_agent.ini
|
||||||
|
merge_configs:
|
||||||
|
vars:
|
||||||
|
service_name: "{{ item }}"
|
||||||
|
sources:
|
||||||
|
- "{{ role_path }}/templates/lbaas_agent.ini.j2"
|
||||||
|
- "/etc/kolla/config/neutron/lbaas_agent.ini"
|
||||||
|
dest: "{{ node_config_directory }}/{{ item }}/lbaas_agent.ini"
|
||||||
|
with_items:
|
||||||
|
- "neutron-lbaas-agent"
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
or inventory_hostname in groups['neutron-server']
|
or inventory_hostname in groups['neutron-server']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
|
|
||||||
- include: config-neutron-fake.yml
|
- include: config-neutron-fake.yml
|
||||||
when:
|
when:
|
||||||
@ -28,3 +29,4 @@
|
|||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
or inventory_hostname in groups['neutron-server']
|
or inventory_hostname in groups['neutron-server']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
- { name: neutron_server, group: neutron-server }
|
- { name: neutron_server, group: neutron-server }
|
||||||
- { name: neutron_dhcp_agent, group: neutron-dhcp-agent }
|
- { name: neutron_dhcp_agent, group: neutron-dhcp-agent }
|
||||||
- { name: neutron_l3_agent, group: neutron-l3-agent }
|
- { name: neutron_l3_agent, group: neutron-l3-agent }
|
||||||
|
- { name: neutron_lbaas_agent, group: neutron-lbaas-agent }
|
||||||
- { name: neutron_metadata_agent, group: neutron-metadata-agent }
|
- { name: neutron_metadata_agent, group: neutron-metadata-agent }
|
||||||
|
|
||||||
- name: Ensuring the neutron_openvswitch_agent container is up
|
- name: Ensuring the neutron_openvswitch_agent container is up
|
||||||
@ -25,11 +26,13 @@
|
|||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
and not enable_nova_fake | bool
|
and not enable_nova_fake | bool
|
||||||
) or
|
) or
|
||||||
( inventory_hostname in groups['neutron-dhcp-agent']
|
( inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
and enable_nova_fake | bool
|
and enable_nova_fake | bool
|
||||||
)
|
)
|
||||||
@ -47,6 +50,7 @@
|
|||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||||
|
|
||||||
- include: config.yml
|
- include: config.yml
|
||||||
@ -61,6 +65,7 @@
|
|||||||
- { name: neutron_server, group: neutron-server }
|
- { name: neutron_server, group: neutron-server }
|
||||||
- { name: neutron_dhcp_agent, group: neutron-dhcp-agent }
|
- { name: neutron_dhcp_agent, group: neutron-dhcp-agent }
|
||||||
- { name: neutron_l3_agent, group: neutron-l3-agent }
|
- { name: neutron_l3_agent, group: neutron-l3-agent }
|
||||||
|
- { name: neutron_lbaas_agent, group: neutron-lbaas-agent }
|
||||||
- { name: neutron_metadata_agent, group: neutron-metadata-agent }
|
- { name: neutron_metadata_agent, group: neutron-metadata-agent }
|
||||||
|
|
||||||
- name: Check the configs in the neutron_openvswitch_agent container
|
- name: Check the configs in the neutron_openvswitch_agent container
|
||||||
@ -75,11 +80,13 @@
|
|||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
and not enable_nova_fake | bool
|
and not enable_nova_fake | bool
|
||||||
) or
|
) or
|
||||||
( inventory_hostname in groups['neutron-dhcp-agent']
|
( inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
and enable_nova_fake | bool
|
and enable_nova_fake | bool
|
||||||
)
|
)
|
||||||
@ -96,6 +103,7 @@
|
|||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||||
|
|
||||||
# NOTE(jeffrey4l): when config_strategy == 'COPY_ALWAYS'
|
# NOTE(jeffrey4l): when config_strategy == 'COPY_ALWAYS'
|
||||||
@ -111,6 +119,7 @@
|
|||||||
- { name: neutron_server, group: neutron-server }
|
- { name: neutron_server, group: neutron-server }
|
||||||
- { name: neutron_dhcp_agent, group: neutron-dhcp-agent }
|
- { name: neutron_dhcp_agent, group: neutron-dhcp-agent }
|
||||||
- { name: neutron_l3_agent, group: neutron-l3-agent }
|
- { name: neutron_l3_agent, group: neutron-l3-agent }
|
||||||
|
- { name: neutron_lbaas_agent, group: neutron-lbaas-agent }
|
||||||
- { name: neutron_metadata_agent, group: neutron-metadata-agent }
|
- { name: neutron_metadata_agent, group: neutron-metadata-agent }
|
||||||
|
|
||||||
- name: Container config strategy for the neutron_openvswitch_agent container
|
- name: Container config strategy for the neutron_openvswitch_agent container
|
||||||
@ -126,11 +135,13 @@
|
|||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
) or
|
) or
|
||||||
( enable_nova_fake | bool
|
( enable_nova_fake | bool
|
||||||
and inventory_hostname in groups['neutron-dhcp-agent']
|
and inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -146,6 +157,7 @@
|
|||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||||
|
|
||||||
- name: Remove the containers running neutron-server and neutron agents
|
- name: Remove the containers running neutron-server and neutron agents
|
||||||
@ -161,6 +173,7 @@
|
|||||||
- [{ name: neutron_server, group: neutron-server },
|
- [{ name: neutron_server, group: neutron-server },
|
||||||
{ name: neutron_dhcp_agent, group: neutron-dhcp-agent },
|
{ name: neutron_dhcp_agent, group: neutron-dhcp-agent },
|
||||||
{ name: neutron_l3_agent, group: neutron-l3-agent },
|
{ name: neutron_l3_agent, group: neutron-l3-agent },
|
||||||
|
{ name: neutron_lbaas_agent, group: neutron-lbaas-agent },
|
||||||
{ name: neutron_metadata_agent, group: neutron-metadata-agent }]
|
{ name: neutron_metadata_agent, group: neutron-metadata-agent }]
|
||||||
- neutron_container_envs.results
|
- neutron_container_envs.results
|
||||||
- neutron_check_results.results
|
- neutron_check_results.results
|
||||||
@ -178,11 +191,13 @@
|
|||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
) or
|
) or
|
||||||
( enable_nova_fake | bool
|
( enable_nova_fake | bool
|
||||||
and inventory_hostname in groups['neutron-dhcp-agent']
|
and inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
@ -200,6 +215,7 @@
|
|||||||
or inventory_hostname in groups['manila-share']
|
or inventory_hostname in groups['manila-share']
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||||
- config_strategy == "COPY_ONCE" or linuxbridge_agent_envs['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
|
- config_strategy == "COPY_ONCE" or linuxbridge_agent_envs['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
|
||||||
- linuxbridge_agent_check_results['rc'] == 1
|
- linuxbridge_agent_check_results['rc'] == 1
|
||||||
@ -222,6 +238,7 @@
|
|||||||
- [{ name: neutron_server, group: neutron-server },
|
- [{ name: neutron_server, group: neutron-server },
|
||||||
{ name: neutron_dhcp_agent, group: neutron-dhcp-agent },
|
{ name: neutron_dhcp_agent, group: neutron-dhcp-agent },
|
||||||
{ name: neutron_l3_agent, group: neutron-l3-agent },
|
{ name: neutron_l3_agent, group: neutron-l3-agent },
|
||||||
|
{ name: neutron_lbaas_agent, group: neutron-lbaas-agent },
|
||||||
{ name: neutron_metadata_agent, group: neutron-metadata-agent }]
|
{ name: neutron_metadata_agent, group: neutron-metadata-agent }]
|
||||||
- neutron_container_envs.results
|
- neutron_container_envs.results
|
||||||
- neutron_check_results.results
|
- neutron_check_results.results
|
||||||
@ -238,11 +255,13 @@
|
|||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
and not enable_nova_fake | bool
|
and not enable_nova_fake | bool
|
||||||
) or
|
) or
|
||||||
( inventory_hostname in groups['neutron-dhcp-agent']
|
( inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
and enable_nova_fake | bool
|
and enable_nova_fake | bool
|
||||||
)
|
)
|
||||||
@ -261,6 +280,7 @@
|
|||||||
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
or (enable_manila | bool and inventory_hostname in groups['manila-share'])
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||||
- linuxbridge_agent_envs['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
|
- linuxbridge_agent_envs['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
|
||||||
- linuxbridge_agent_check_results['rc'] == 1
|
- linuxbridge_agent_check_results['rc'] == 1
|
||||||
|
@ -6,4 +6,5 @@
|
|||||||
or inventory_hostname in groups['compute']
|
or inventory_hostname in groups['compute']
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
|
@ -185,6 +185,23 @@
|
|||||||
when:
|
when:
|
||||||
- inventory_hostname in groups['neutron-l3-agent']
|
- inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
|
||||||
|
- name: Starting neutron-lbaas-agent container
|
||||||
|
kolla_docker:
|
||||||
|
action: "start_container"
|
||||||
|
common_options: "{{ docker_common_options }}"
|
||||||
|
image: "{{ neutron_lbaas_agent_image_full }}"
|
||||||
|
name: "neutron_lbaas_agent"
|
||||||
|
privileged: True
|
||||||
|
volumes:
|
||||||
|
- "{{ node_config_directory }}/neutron-lbaas-agent/:{{ container_config_directory }}/:ro"
|
||||||
|
- "/run:/run"
|
||||||
|
- "/run/netns/:/run/netns/:shared"
|
||||||
|
- "neutron_metadata_socket:/var/lib/neutron/kolla/"
|
||||||
|
- "kolla_logs:/var/log/kolla/"
|
||||||
|
when:
|
||||||
|
- enable_neutron_lbaas | bool
|
||||||
|
- inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
|
|
||||||
- name: Starting neutron-metadata-agent container
|
- name: Starting neutron-metadata-agent container
|
||||||
kolla_docker:
|
kolla_docker:
|
||||||
action: "start_container"
|
action: "start_container"
|
||||||
|
@ -3,6 +3,7 @@
|
|||||||
when: inventory_hostname in groups['compute']
|
when: inventory_hostname in groups['compute']
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
or inventory_hostname in groups['neutron-server']
|
or inventory_hostname in groups['neutron-server']
|
||||||
|
|
||||||
@ -19,5 +20,6 @@
|
|||||||
when: inventory_hostname in groups['compute']
|
when: inventory_hostname in groups['compute']
|
||||||
or inventory_hostname in groups['neutron-dhcp-agent']
|
or inventory_hostname in groups['neutron-dhcp-agent']
|
||||||
or inventory_hostname in groups['neutron-l3-agent']
|
or inventory_hostname in groups['neutron-l3-agent']
|
||||||
|
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||||
or inventory_hostname in groups['neutron-metadata-agent']
|
or inventory_hostname in groups['neutron-metadata-agent']
|
||||||
or inventory_hostname in groups['neutron-server']
|
or inventory_hostname in groups['neutron-server']
|
||||||
|
17
ansible/roles/neutron/templates/lbaas_agent.ini.j2
Normal file
17
ansible/roles/neutron/templates/lbaas_agent.ini.j2
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
debug = {{ neutron_logging_debug }}
|
||||||
|
verbose = True
|
||||||
|
|
||||||
|
output_file = /etc/neutron/lbaas_agent.ini
|
||||||
|
wrap_width = 79
|
||||||
|
|
||||||
|
{% if neutron_plugin_agent == "openvswitch" %}
|
||||||
|
interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver
|
||||||
|
{% elif neutron_plugin_agent == "linuxbridge" %}
|
||||||
|
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
device_driver = neutron_lbaas.drivers.haproxy.namespace_driver.HaproxyNSDriver
|
||||||
|
|
||||||
|
[haproxy]
|
||||||
|
user_group = haproxy
|
17
ansible/roles/neutron/templates/neutron-lbaas-agent.json.j2
Normal file
17
ansible/roles/neutron/templates/neutron-lbaas-agent.json.j2
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{
|
||||||
|
"command": "neutron-lbaasv2-agent --config-file /etc/neutron/neutron.conf --config-file /etc/neutron/lbaas_agent.ini",
|
||||||
|
"config_files": [
|
||||||
|
{
|
||||||
|
"source": "{{ container_config_directory }}/neutron.conf",
|
||||||
|
"dest": "/etc/neutron/neutron.conf",
|
||||||
|
"owner": "neutron",
|
||||||
|
"perm": "0600"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"source": "{{ container_config_directory }}/lbaas_agent.ini",
|
||||||
|
"dest": "/etc/neutron/lbaas_agent.ini",
|
||||||
|
"owner": "neutron",
|
||||||
|
"perm": "0600"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -32,7 +32,12 @@ host = {{ ansible_hostname }}_{{ item }}
|
|||||||
|
|
||||||
allow_overlapping_ips = true
|
allow_overlapping_ips = true
|
||||||
core_plugin = ml2
|
core_plugin = ml2
|
||||||
service_plugins = router
|
service_plugins = router{% if enable_neutron_lbaas | bool %},neutron_lbaas.services.loadbalancer.plugin.LoadBalancerPluginv2{% endif %}
|
||||||
|
|
||||||
|
{% if enable_neutron_lbaas | bool %}
|
||||||
|
[service_providers]
|
||||||
|
service_provider = LOADBALANCERV2:Haproxy:neutron_lbaas.drivers.haproxy.plugin_driver.HaproxyOnHostPluginDriver:default
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
[nova]
|
[nova]
|
||||||
auth_url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
auth_url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||||
|
@ -119,6 +119,7 @@
|
|||||||
- neutron-server
|
- neutron-server
|
||||||
- neutron-dhcp-agent
|
- neutron-dhcp-agent
|
||||||
- neutron-l3-agent
|
- neutron-l3-agent
|
||||||
|
- neutron-lbaas-agent
|
||||||
- neutron-metadata-agent
|
- neutron-metadata-agent
|
||||||
- compute
|
- compute
|
||||||
- manila-share
|
- manila-share
|
||||||
|
@ -8,6 +8,7 @@ RUN yum -y install \
|
|||||||
openstack-neutron \
|
openstack-neutron \
|
||||||
openstack-neutron-ml2 \
|
openstack-neutron-ml2 \
|
||||||
openvswitch \
|
openvswitch \
|
||||||
|
openstack-neutron-lbaas \
|
||||||
&& yum clean all
|
&& yum clean all
|
||||||
|
|
||||||
{% elif base_distro in ['ubuntu'] %}
|
{% elif base_distro in ['ubuntu'] %}
|
||||||
@ -16,6 +17,7 @@ RUN apt-get -y install --no-install-recommends \
|
|||||||
neutron-plugin-ml2 \
|
neutron-plugin-ml2 \
|
||||||
neutron-server \
|
neutron-server \
|
||||||
openvswitch-switch \
|
openvswitch-switch \
|
||||||
|
neutron-lbaas \
|
||||||
&& apt-get clean \
|
&& apt-get clean \
|
||||||
&& mkdir -p /usr/share/neutron \
|
&& mkdir -p /usr/share/neutron \
|
||||||
&& ln -s /etc/neutron/api-paste.ini /usr/share/neutron/api-paste.ini
|
&& ln -s /etc/neutron/api-paste.ini /usr/share/neutron/api-paste.ini
|
||||||
|
51
docker/neutron/neutron-lbaas-agent/Dockerfile.j2
Normal file
51
docker/neutron/neutron-lbaas-agent/Dockerfile.j2
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
|
||||||
|
MAINTAINER {{ maintainer }}
|
||||||
|
|
||||||
|
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
|
||||||
|
|
||||||
|
RUN yum -y install \
|
||||||
|
haproxy \
|
||||||
|
&& yum clean all
|
||||||
|
|
||||||
|
{% elif base_distro in ['ubuntu'] %}
|
||||||
|
|
||||||
|
RUN apt-get -y install --no-install-recommends \
|
||||||
|
haproxy \
|
||||||
|
&& apt-get clean
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% if install_type == 'binary' %}
|
||||||
|
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
|
||||||
|
|
||||||
|
RUN yum -y install \
|
||||||
|
openstack-neutron-lbaas \
|
||||||
|
&& yum clean all
|
||||||
|
|
||||||
|
{% elif base_distro in ['ubuntu'] %}
|
||||||
|
|
||||||
|
RUN apt-get -y install --no-install-recommends \
|
||||||
|
neutron-lbaas-common \
|
||||||
|
neutron-lbaasv2-agent \
|
||||||
|
python-neutron-lbaas \
|
||||||
|
&& apt-get clean \
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
{% elif install_type == 'source' %}
|
||||||
|
|
||||||
|
ADD neutron-lbaas-agent-archive /neutron-lbaas-agent-source
|
||||||
|
RUN ln -s neutron-lbaas-agent-source/* neutron_lbaas \
|
||||||
|
&& /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /neutron_lbaas \
|
||||||
|
&& cp -r /neutron_lbaas/etc/* /etc/neutron/ \
|
||||||
|
&& cp -r /neutron_lbaas/etc/neutron/* /etc/neutron/ \
|
||||||
|
&& sed -i 's|^exec_dirs.*|exec_dirs=/var/lib/kolla/venv/bin,/sbin,/usr/sbin,/bin,/usr/bin,/usr/local/bin,/usr/local/sbin|g' /etc/neutron/rootwrap.conf
|
||||||
|
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
COPY extend_start.sh /usr/local/bin/kolla_neutron_extend_start
|
||||||
|
RUN chmod 755 /usr/local/bin/kolla_neutron_extend_start
|
||||||
|
|
||||||
|
{{ include_footer }}
|
||||||
|
|
||||||
|
USER neutron
|
8
docker/neutron/neutron-lbaas-agent/extend_start.sh
Normal file
8
docker/neutron/neutron-lbaas-agent/extend_start.sh
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Bootstrap and exit if KOLLA_BOOTSTRAP variable is set. This catches all cases
|
||||||
|
# of the KOLLA_BOOTSTRAP variable being set, including empty.
|
||||||
|
if [[ "${!KOLLA_BOOTSTRAP[@]}" ]]; then
|
||||||
|
neutron-db-manage --service lbaas --config-file /etc/neutron/neutron.conf upgrade head
|
||||||
|
exit 0
|
||||||
|
fi
|
@ -1,6 +1,23 @@
|
|||||||
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
|
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
|
||||||
MAINTAINER {{ maintainer }}
|
MAINTAINER {{ maintainer }}
|
||||||
|
|
||||||
|
{% if install_type == 'binary' %}
|
||||||
|
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
|
||||||
|
|
||||||
|
RUN yum -y install \
|
||||||
|
openstack-neutron-lbaas \
|
||||||
|
&& yum clean all
|
||||||
|
|
||||||
|
{% elif base_distro in ['ubuntu'] %}
|
||||||
|
|
||||||
|
RUN apt-get -y install --no-install-recommends \
|
||||||
|
neutron-lbaas-common \
|
||||||
|
neutron-lbaasv2-agent \
|
||||||
|
python-neutron-lbaas \
|
||||||
|
&& apt-get clean \
|
||||||
|
{% endif %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
ADD plugins-archive /
|
ADD plugins-archive /
|
||||||
COPY extend_start.sh /usr/local/bin/kolla_neutron_extend_start
|
COPY extend_start.sh /usr/local/bin/kolla_neutron_extend_start
|
||||||
RUN chmod 755 /usr/local/bin/kolla_neutron_extend_start \
|
RUN chmod 755 /usr/local/bin/kolla_neutron_extend_start \
|
||||||
|
@ -118,6 +118,7 @@ neutron_external_interface: "eth1"
|
|||||||
#enable_mistral: "no"
|
#enable_mistral: "no"
|
||||||
#enable_mongodb: "no"
|
#enable_mongodb: "no"
|
||||||
#enable_murano: "no"
|
#enable_murano: "no"
|
||||||
|
#enable_neutron_lbaas: "no"
|
||||||
#enable_swift: "no"
|
#enable_swift: "no"
|
||||||
|
|
||||||
|
|
||||||
|
@ -217,6 +217,10 @@ SOURCES = {
|
|||||||
'type': 'url',
|
'type': 'url',
|
||||||
'location': ('http://tarballs.openstack.org/neutron/'
|
'location': ('http://tarballs.openstack.org/neutron/'
|
||||||
'neutron-master.tar.gz')},
|
'neutron-master.tar.gz')},
|
||||||
|
'neutron-lbaas-agent': {
|
||||||
|
'type': 'url',
|
||||||
|
'location': ('http://tarballs.openstack.org/neutron-lbaas/'
|
||||||
|
'neutron-lbaas-master.tar.gz')},
|
||||||
'nova-base': {
|
'nova-base': {
|
||||||
'type': 'url',
|
'type': 'url',
|
||||||
'location': ('http://tarballs.openstack.org/nova/'
|
'location': ('http://tarballs.openstack.org/nova/'
|
||||||
|
@ -0,0 +1,3 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- Add support for LBaaSv2 with HAproxy container.
|
Loading…
Reference in New Issue
Block a user