summaryrefslogtreecommitdiff
path: root/Dockerfile
diff options
context:
space:
mode:
authorTobias Henkel <tobias.henkel@bmw.de>2019-01-19 13:33:39 +0100
committerTobias Henkel <tobias.henkel@bmw.de>2019-03-15 09:09:16 +0100
commitcd9827e6649b7f14513c2f201afc9e9d46998ddb (patch)
treef89c2370385812fa82b64bd61a63a34a508d19c0 /Dockerfile
parentc91335b5279872d90b285b087a0c2ddb85fc4f77 (diff)
downloadzuul-cd9827e6649b7f14513c2f201afc9e9d46998ddb.tar.gz
Manage ansible installations within zuul
As a first step towards supporting multiple ansible versions we need tooling to manage ansible installations. This moves the installation of ansible from the requirements.txt into zuul. This is called as a setup hook to install the ansible versions into <prefix>/lib/zuul/ansible. Further this tooling abstracts knowledge that the executor must know in order to actually run the correct version of ansible. The actual usage of multiple ansible versions will be done in follow-ups. For better maintainability the ansible plugins live in zuul/ansible/base where plugins can be kept in different versions if necessary. For each supported ansible version there is a specific folder that symlinks the according plugins. Change-Id: I5ce1385245c76818777aa34230786a9dbaf723e5 Depends-On: https://review.openstack.org/623927
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile7
1 files changed, 7 insertions, 0 deletions
diff --git a/Dockerfile b/Dockerfile
index a859675c8..1cc85b3cb 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -24,6 +24,11 @@ COPY . /tmp/src
RUN /tmp/src/tools/install-js-tools.sh
RUN assemble
+# The wheel install method doesn't run the setup hooks as the source based
+# installations do so we have to call zuul-manage-ansible here.
+RUN /output/install-from-bindep && zuul-manage-ansible
+
+
FROM opendevorg/python-base as zuul
COPY --from=builder /output/ /output
@@ -40,8 +45,10 @@ CMD ["/usr/local/bin/zuul"]
FROM zuul as zuul-executor
COPY --from=builder /output/ /output
+COPY --from=builder /usr/local/lib/zuul/ /usr/local/lib/zuul
RUN pip install --cache-dir=/output/wheels -r /output/zuul_executor/requirements.txt \
&& rm -rf /output
+
CMD ["/usr/local/bin/zuul-executor"]
FROM zuul as zuul-fingergw