diff --git a/docker/tacker/tacker-base/Dockerfile.j2 b/docker/tacker/tacker-base/Dockerfile.j2 index d3a9f4701b..4bc277170f 100644 --- a/docker/tacker/tacker-base/Dockerfile.j2 +++ b/docker/tacker/tacker-base/Dockerfile.j2 @@ -11,7 +11,8 @@ LABEL maintainer="{{ maintainer }}" name="{{ image_name }}" build-date="{{ build {% if base_distro in ['centos', 'oraclelinux', 'rhel'] %} {% set tacker_base_packages = [ - 'openstack-tacker-common' + 'openstack-tacker-common', + 'python-networking-sfc' ] %} {% elif base_distro in ['debian', 'ubuntu'] %} @@ -26,16 +27,24 @@ RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ {% elif install_type == 'source' %} ADD tacker-base-archive /tacker-base-source +ADD plugins-archive / {% set tacker_base_pip_packages = [ '/tacker' ] %} +{% set tacker_base_plugins_pip_packages = [ + '/plugins/*' +] %} + RUN ln -s tacker-base-source/* tacker \ && {{ macros.install_pip(tacker_base_pip_packages | customizable("pip_packages")) }} \ && mkdir -p /etc/tacker \ && cp -r /tacker/etc/tacker/* /etc/tacker \ - && chown -R tacker: /etc/tacker + && chown -R tacker: /etc/tacker \ + && if [ "$(ls /plugins)" ]; then \ + {{ macros.install_pip(tacker_base_plugins_pip_packages) }}; \ + fi {% endif %} diff --git a/kolla/common/config.py b/kolla/common/config.py index 4bcda41700..8d7863b972 100755 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -637,6 +637,10 @@ SOURCES = { 'type': 'url', 'location': ('$tarballs_base/tacker/' 'tacker-master.tar.gz')}, + 'tacker-base-plugin-networking-sfc': { + 'type': 'url', + 'location': ('$tarballs_base/networking-sfc/' + 'networking-sfc-master.tar.gz')}, 'tempest': { 'type': 'url', 'location': ('$tarballs_base/tempest/' diff --git a/releasenotes/notes/tacker-networking-sfc-138b9fedd09b8728.yaml b/releasenotes/notes/tacker-networking-sfc-138b9fedd09b8728.yaml new file mode 100644 index 0000000000..16968b3896 --- /dev/null +++ b/releasenotes/notes/tacker-networking-sfc-138b9fedd09b8728.yaml @@ -0,0 +1,4 @@ +--- +features: + - Networking-sfc package is installed in tacker images + to provide Service Function Chaining capabilities.