diff options
| author | prithiv <prithiv.mohan@intel.com> | 2016-07-29 15:46:30 +0100 |
|---|---|---|
| committer | Prithiv <prithiv.mohan@intel.com> | 2016-08-06 12:06:39 +0000 |
| commit | eb41179a73502ea3f977ba4f07bf76675bd6b864 (patch) | |
| tree | d265035b62cbfdbfce03b2e34cce2725877e8fa0 | |
| parent | 5ce4de6b2b76ca14387e5e5984f3b1067a4a223b (diff) | |
| download | kolla-eb41179a73502ea3f977ba4f07bf76675bd6b864.tar.gz kolla-eb41179a73502ea3f977ba4f07bf76675bd6b864.zip | |
Dockerfiles for Networking-SFC Container
Networking-SFC is a neutron big-tent project
Kolla does not have Networking-SFC agent support for now. This
is essential for Service Function Chaining use case. Build Networking-SFC
Container.
Change-Id: I67b4d6e061dbe31e2211cd3210726ab4c30cd087
Partially-Implements: blueprint enable-networking-sfc-support
| -rw-r--r-- | docker/neutron/neutron-networking-sfc-agent/Dockerfile.j2 | 26 | ||||
| -rw-r--r-- | docker/neutron/neutron-networking-sfc-agent/extend_start.sh | 8 | ||||
| -rw-r--r-- | kolla/common/config.py | 4 | ||||
| -rw-r--r-- | tests/test_build.py | 12 |
4 files changed, 47 insertions, 3 deletions
diff --git a/docker/neutron/neutron-networking-sfc-agent/Dockerfile.j2 b/docker/neutron/neutron-networking-sfc-agent/Dockerfile.j2 new file mode 100644 index 000000000..e5d2d348c --- /dev/null +++ b/docker/neutron/neutron-networking-sfc-agent/Dockerfile.j2 @@ -0,0 +1,26 @@ +FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }} +MAINTAINER {{ maintainer }} + +{% if install_type == 'binary' %} + +RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \ + && /bin/false + +{% elif install_type == 'source' %} + +ADD neutron-networking-sfc-agent-archive /neutron-networking-sfc-agent-source +RUN ln -s neutron-networking-sfc-agent-source/* neutron_networking-sfc-agent \ + && /var/lib/kolla/venv/bin/pip --no-cache-dir install --upgrade -c requirements/upper-constraints.txt /neutron_networking-sfc-agent \ + && cp /neutron_networking-sfc-agent/etc/neutron/rootwrap.d/* /etc/neutron/rootwrap.d \ + && 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 + +{% block neutron_networking_sfc_agent_footer %}{% endblock %} +{% block footer %}{% endblock %} +{{ include_footer }} + +USER neutron diff --git a/docker/neutron/neutron-networking-sfc-agent/extend_start.sh b/docker/neutron/neutron-networking-sfc-agent/extend_start.sh new file mode 100644 index 000000000..d721b4d7b --- /dev/null +++ b/docker/neutron/neutron-networking-sfc-agent/extend_start.sh @@ -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 --subproject networking-sfc --config-file /etc/neutron/neutron.conf upgrade head + exit 0 +fi diff --git a/kolla/common/config.py b/kolla/common/config.py index b243a953b..31d006c75 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -234,6 +234,10 @@ SOURCES = { 'type': 'url', 'location': ('http://tarballs.openstack.org/neutron-lbaas/' 'neutron-lbaas-master.tar.gz')}, + 'neutron-networking-sfc-agent': { + 'type': 'url', + 'location': ('http://tarballs.openstack.org/networking-sfc/' + 'networking-sfc-master.tar.gz')}, 'nova-base': { 'type': 'url', 'location': ('http://tarballs.openstack.org/nova/' diff --git a/tests/test_build.py b/tests/test_build.py index f8f846034..77cc87c88 100644 --- a/tests/test_build.py +++ b/tests/test_build.py @@ -68,8 +68,10 @@ class BuildTest(object): class BuildTestCentosBinary(BuildTest, base.BaseTestCase): excluded_images = ["kuryr", + "neutron-networking-sfc-agent", "senlin-base", - "watcher-base"] + "watcher-base" + ] def setUp(self): super(BuildTestCentosBinary, self).setUp() @@ -88,7 +90,9 @@ class BuildTestCentosSource(BuildTest, base.BaseTestCase): class BuildTestUbuntuBinary(BuildTest, base.BaseTestCase): - excluded_images = ["zaqar"] + excluded_images = ["neutron-networking-sfc-agent", + "zaqar" + ] def setUp(self): super(BuildTestUbuntuBinary, self).setUp() @@ -107,8 +111,10 @@ class BuildTestUbuntuSource(BuildTest, base.BaseTestCase): class BuildTestOracleLinuxBinary(BuildTest, base.BaseTestCase): excluded_images = ["kuryr", + "neutron-networking-sfc-agent", "senlin-base", - "watcher-base"] + "watcher-base" + ] def setUp(self): super(BuildTestOracleLinuxBinary, self).setUp() |
