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_mongodb: "no"
|
||||
enable_murano: "no"
|
||||
enable_neutron_lbaas: "no"
|
||||
enable_swift: "no"
|
||||
|
||||
ironic_keystone_user: "ironic"
|
||||
|
@ -130,6 +130,9 @@ neutron
|
||||
[neutron-l3-agent:children]
|
||||
neutron
|
||||
|
||||
[neutron-lbaas-agent:children]
|
||||
neutron
|
||||
|
||||
[neutron-metadata-agent:children]
|
||||
neutron
|
||||
|
||||
|
@ -142,6 +142,9 @@ neutron
|
||||
[neutron-l3-agent:children]
|
||||
neutron
|
||||
|
||||
[neutron-lbaas-agent:children]
|
||||
neutron
|
||||
|
||||
[neutron-metadata-agent:children]
|
||||
neutron
|
||||
|
||||
|
@ -20,6 +20,10 @@ neutron_l3_agent_image: "{{ docker_registry ~ '/' if docker_registry else '' }}{
|
||||
neutron_l3_agent_tag: "{{ openstack_release }}"
|
||||
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_tag: "{{ openstack_release }}"
|
||||
neutron_linuxbridge_agent_image_full: "{{ neutron_linuxbridge_agent_image }}:{{ neutron_linuxbridge_agent_tag }}"
|
||||
|
@ -18,3 +18,26 @@
|
||||
- "kolla_logs:/var/log/kolla/"
|
||||
run_once: True
|
||||
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"
|
||||
- "openvswitch-db-server"
|
||||
- "openvswitch-vswitchd"
|
||||
- "neutron-lbaas-agent"
|
||||
|
||||
- name: Copying over config.json files for services
|
||||
template:
|
||||
@ -37,6 +38,7 @@
|
||||
- "neutron-server"
|
||||
- "openvswitch-db-server"
|
||||
- "openvswitch-vswitchd"
|
||||
- "neutron-lbaas-agent"
|
||||
|
||||
- name: Copying over neutron.conf
|
||||
merge_configs:
|
||||
@ -58,6 +60,7 @@
|
||||
- "neutron-metadata-agent"
|
||||
- "neutron-openvswitch-agent"
|
||||
- "neutron-server"
|
||||
- "neutron-lbaas-agent"
|
||||
|
||||
- name: Copying over ml2_conf.ini
|
||||
merge_configs:
|
||||
@ -126,3 +129,14 @@
|
||||
dest: "{{ node_config_directory }}/{{ item }}/metadata_agent.ini"
|
||||
with_items:
|
||||
- "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-metadata-agent']
|
||||
or inventory_hostname in groups['neutron-server']
|
||||
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||
|
||||
- include: config-neutron-fake.yml
|
||||
when:
|
||||
@ -28,3 +29,4 @@
|
||||
or inventory_hostname in groups['neutron-l3-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent']
|
||||
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_dhcp_agent, group: neutron-dhcp-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: Ensuring the neutron_openvswitch_agent container is up
|
||||
@ -25,11 +26,13 @@
|
||||
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-l3-agent']
|
||||
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent']
|
||||
and not enable_nova_fake | bool
|
||||
) or
|
||||
( inventory_hostname in groups['neutron-dhcp-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']
|
||||
and enable_nova_fake | bool
|
||||
)
|
||||
@ -47,6 +50,7 @@
|
||||
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-l3-agent']
|
||||
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||
|
||||
- include: config.yml
|
||||
@ -61,6 +65,7 @@
|
||||
- { name: neutron_server, group: neutron-server }
|
||||
- { name: neutron_dhcp_agent, group: neutron-dhcp-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: 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 inventory_hostname in groups['neutron-dhcp-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']
|
||||
and not enable_nova_fake | bool
|
||||
) or
|
||||
( inventory_hostname in groups['neutron-dhcp-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']
|
||||
and enable_nova_fake | bool
|
||||
)
|
||||
@ -96,6 +103,7 @@
|
||||
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-l3-agent']
|
||||
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||
|
||||
# NOTE(jeffrey4l): when config_strategy == 'COPY_ALWAYS'
|
||||
@ -111,6 +119,7 @@
|
||||
- { name: neutron_server, group: neutron-server }
|
||||
- { name: neutron_dhcp_agent, group: neutron-dhcp-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: 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 inventory_hostname in groups['neutron-dhcp-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
|
||||
( enable_nova_fake | bool
|
||||
and inventory_hostname in groups['neutron-dhcp-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']
|
||||
)
|
||||
)
|
||||
@ -146,6 +157,7 @@
|
||||
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-l3-agent']
|
||||
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||
|
||||
- name: Remove the containers running neutron-server and neutron agents
|
||||
@ -161,6 +173,7 @@
|
||||
- [{ name: neutron_server, group: neutron-server },
|
||||
{ name: neutron_dhcp_agent, group: neutron-dhcp-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 }]
|
||||
- neutron_container_envs.results
|
||||
- neutron_check_results.results
|
||||
@ -178,11 +191,13 @@
|
||||
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-l3-agent']
|
||||
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent']
|
||||
) or
|
||||
( enable_nova_fake | bool
|
||||
and inventory_hostname in groups['neutron-dhcp-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']
|
||||
)
|
||||
)
|
||||
@ -200,6 +215,7 @@
|
||||
or inventory_hostname in groups['manila-share']
|
||||
or inventory_hostname in groups['neutron-dhcp-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'])
|
||||
- config_strategy == "COPY_ONCE" or linuxbridge_agent_envs['KOLLA_CONFIG_STRATEGY'] == 'COPY_ONCE'
|
||||
- linuxbridge_agent_check_results['rc'] == 1
|
||||
@ -222,6 +238,7 @@
|
||||
- [{ name: neutron_server, group: neutron-server },
|
||||
{ name: neutron_dhcp_agent, group: neutron-dhcp-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 }]
|
||||
- neutron_container_envs.results
|
||||
- neutron_check_results.results
|
||||
@ -238,11 +255,13 @@
|
||||
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-l3-agent']
|
||||
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent']
|
||||
and not enable_nova_fake | bool
|
||||
) or
|
||||
( inventory_hostname in groups['neutron-dhcp-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']
|
||||
and enable_nova_fake | bool
|
||||
)
|
||||
@ -261,6 +280,7 @@
|
||||
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-l3-agent']
|
||||
or inventory_hostname in groups['neutron-lbaas-agent']
|
||||
or inventory_hostname in groups['neutron-metadata-agent'])
|
||||
- linuxbridge_agent_envs['KOLLA_CONFIG_STRATEGY'] != 'COPY_ONCE'
|
||||
- linuxbridge_agent_check_results['rc'] == 1
|
||||
|
@ -6,4 +6,5 @@
|
||||
or inventory_hostname in groups['compute']
|
||||
or inventory_hostname in groups['neutron-dhcp-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']
|
||||
|
@ -185,6 +185,23 @@
|
||||
when:
|
||||
- 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
|
||||
kolla_docker:
|
||||
action: "start_container"
|
||||
|
@ -3,6 +3,7 @@
|
||||
when: inventory_hostname in groups['compute']
|
||||
or inventory_hostname in groups['neutron-dhcp-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-server']
|
||||
|
||||
@ -19,5 +20,6 @@
|
||||
when: inventory_hostname in groups['compute']
|
||||
or inventory_hostname in groups['neutron-dhcp-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-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
|
||||
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]
|
||||
auth_url = {{ internal_protocol }}://{{ kolla_internal_fqdn }}:{{ keystone_admin_port }}
|
||||
|
@ -119,6 +119,7 @@
|
||||
- neutron-server
|
||||
- neutron-dhcp-agent
|
||||
- neutron-l3-agent
|
||||
- neutron-lbaas-agent
|
||||
- neutron-metadata-agent
|
||||
- compute
|
||||
- manila-share
|
||||
|
@ -8,6 +8,7 @@ RUN yum -y install \
|
||||
openstack-neutron \
|
||||
openstack-neutron-ml2 \
|
||||
openvswitch \
|
||||
openstack-neutron-lbaas \
|
||||
&& yum clean all
|
||||
|
||||
{% elif base_distro in ['ubuntu'] %}
|
||||
@ -16,6 +17,7 @@ RUN apt-get -y install --no-install-recommends \
|
||||
neutron-plugin-ml2 \
|
||||
neutron-server \
|
||||
openvswitch-switch \
|
||||
neutron-lbaas \
|
||||
&& apt-get clean \
|
||||
&& mkdir -p /usr/share/neutron \
|
||||
&& 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 }}
|
||||
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 /
|
||||
COPY extend_start.sh /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_mongodb: "no"
|
||||
#enable_murano: "no"
|
||||
#enable_neutron_lbaas: "no"
|
||||
#enable_swift: "no"
|
||||
|
||||
|
||||
|
@ -217,6 +217,10 @@ SOURCES = {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/neutron/'
|
||||
'neutron-master.tar.gz')},
|
||||
'neutron-lbaas-agent': {
|
||||
'type': 'url',
|
||||
'location': ('http://tarballs.openstack.org/neutron-lbaas/'
|
||||
'neutron-lbaas-master.tar.gz')},
|
||||
'nova-base': {
|
||||
'type': 'url',
|
||||
'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