From 589264e69c389524b390c2daa0dc33539e9b929b Mon Sep 17 00:00:00 2001 From: Ikram Ikramullah <ikram@research.att.com> Date: Wed, 14 Mar 2018 11:37:06 -0400 Subject: All compnents on Single docker image Made changes to docker settings to make a single image instead of multiple. Also made changes to the run and build scripts to work on this single image. The data component requires certs, keys and ca bundles settings too. For this, made changes to the run script. Also, do to this, added the feature of picking the default values from the current directory if arguments are not provided to the run-docker.scripts. For example: sudo ./run-dockers.sh will run without providing any arguments to it IF the directory from where it is run has these files in it. 1. conductor.conf -- configuration file 2. log.conf -- log settings files 3. aai_cert.cer 4. aai_key.key 5. aai_ca_bunlde.pem (pem) file The first two from the above have been created and provided in the current directory (has/). However, since certs will be different from env to env, the last three needs to be provided either by copying in the current direcotry or as the arguments 3, 4 and 5. The script will give a detailed message on what may be missing and how an attempt was made to get the default files. Checkt it out by playing with run-docker.sh file. Finally, the build script also calls the push script now. Since there can be no testing of this in ONAP artifcats prod BEFORE being merged to master, we can only test the push part once merged to master. Issue-ID: OPTFRA-123 Change-Id: I83c54c97953b71aae18166b937dd89195e705f73 Signed-off-by: Ikram Ikramullah <ikram@research.att.com> --- conductor/docker/Dockerfile | 31 +++++++++++++++++++++++++++ conductor/docker/api/Dockerfile | 38 --------------------------------- conductor/docker/api/api_paste.ini | 26 ---------------------- conductor/docker/api_paste.ini | 26 ++++++++++++++++++++++ conductor/docker/controller/Dockerfile | 25 ---------------------- conductor/docker/data/Dockerfile | 25 ---------------------- conductor/docker/reservation/Dockerfile | 26 ---------------------- conductor/docker/solver/Dockerfile | 25 ---------------------- 8 files changed, 57 insertions(+), 165 deletions(-) create mode 100755 conductor/docker/Dockerfile delete mode 100755 conductor/docker/api/Dockerfile delete mode 100755 conductor/docker/api/api_paste.ini create mode 100755 conductor/docker/api_paste.ini delete mode 100755 conductor/docker/controller/Dockerfile delete mode 100755 conductor/docker/data/Dockerfile delete mode 100755 conductor/docker/reservation/Dockerfile delete mode 100755 conductor/docker/solver/Dockerfile (limited to 'conductor') diff --git a/conductor/docker/Dockerfile b/conductor/docker/Dockerfile new file mode 100755 index 0000000..3e1f43c --- /dev/null +++ b/conductor/docker/Dockerfile @@ -0,0 +1,31 @@ +# ------------------------------------------------------------------------- +# Copyright (c) 2015-2017 AT&T Intellectual Property +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# ------------------------------------------------------------------------- + +FROM python:2.7 +ENV CON_ADDR "127.0.0.1" +ENV CON_PORT "8091" + +EXPOSE 8091 + +RUN apt-get update && apt-get --assume-yes install python-setuptools && \ +apt-get install -y unzip && \ +apt-get install -y curl && \ +apt-get install -y wget + +RUN git clone https://gerrit.onap.org/r/optf/has +RUN cd ./has/conductor/ && pip install -e . +COPY api_paste.ini /usr/local/bin/api_paste.ini diff --git a/conductor/docker/api/Dockerfile b/conductor/docker/api/Dockerfile deleted file mode 100755 index 9280c6c..0000000 --- a/conductor/docker/api/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -# ------------------------------------------------------------------------- -# Copyright (c) 2015-2017 AT&T Intellectual Property -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ------------------------------------------------------------------------- - -FROM python:2.7 -ENV CON_ADDR "127.0.0.1" -ENV CON_PORT "8091" - -EXPOSE 8091 - -RUN apt-get update -RUN apt-get --assume-yes install python-setuptools -RUN apt-get install -y unzip -RUN apt-get install -y curl -RUN apt-get install -y wget -RUN rm -rf ./has -RUN git clone https://gerrit.onap.org/r/optf/has -WORKDIR ./has/conductor/ -#RUN ls -RUN pip install -e . -#COPY ./conductor.conf conductor.conf -WORKDIR ./has/conductor/docker/api -COPY api_paste.ini /usr/local/bin/api_paste.ini -RUN ls -CMD ["sh","-c", "python /usr/local/bin/conductor-api --port=8091 -- --config-file=/usr/local/bin/conductor.conf"] diff --git a/conductor/docker/api/api_paste.ini b/conductor/docker/api/api_paste.ini deleted file mode 100755 index 4299f46..0000000 --- a/conductor/docker/api/api_paste.ini +++ /dev/null @@ -1,26 +0,0 @@ -# Conductor API WSGI Pipeline -# Define the filters that make up the pipeline for processing WSGI requests -# Note: This pipeline is PasteDeploy's term rather than Conductor's pipeline -# used for processing samples - -# Remove authtoken from the pipeline if you don't want to use keystone authentication -[pipeline:main] -pipeline = cors http_proxy_to_wsgi api-server -#pipeline = cors http_proxy_to_wsgi request_id authtoken api-server - -[app:api-server] -paste.app_factory = conductor.api.app:app_factory - -#[filter:authtoken] -#paste.filter_factory = keystonemiddleware.auth_token:filter_factory - -#[filter:request_id] -#paste.filter_factory = oslo_middleware:RequestId.factory - -[filter:cors] -paste.filter_factory = oslo_middleware.cors:filter_factory -oslo_config_project = conductor - -[filter:http_proxy_to_wsgi] -paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory -oslo_config_project = conductor diff --git a/conductor/docker/api_paste.ini b/conductor/docker/api_paste.ini new file mode 100755 index 0000000..4299f46 --- /dev/null +++ b/conductor/docker/api_paste.ini @@ -0,0 +1,26 @@ +# Conductor API WSGI Pipeline +# Define the filters that make up the pipeline for processing WSGI requests +# Note: This pipeline is PasteDeploy's term rather than Conductor's pipeline +# used for processing samples + +# Remove authtoken from the pipeline if you don't want to use keystone authentication +[pipeline:main] +pipeline = cors http_proxy_to_wsgi api-server +#pipeline = cors http_proxy_to_wsgi request_id authtoken api-server + +[app:api-server] +paste.app_factory = conductor.api.app:app_factory + +#[filter:authtoken] +#paste.filter_factory = keystonemiddleware.auth_token:filter_factory + +#[filter:request_id] +#paste.filter_factory = oslo_middleware:RequestId.factory + +[filter:cors] +paste.filter_factory = oslo_middleware.cors:filter_factory +oslo_config_project = conductor + +[filter:http_proxy_to_wsgi] +paste.filter_factory = oslo_middleware.http_proxy_to_wsgi:HTTPProxyToWSGI.factory +oslo_config_project = conductor diff --git a/conductor/docker/controller/Dockerfile b/conductor/docker/controller/Dockerfile deleted file mode 100755 index 4f9bfdd..0000000 --- a/conductor/docker/controller/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -# ------------------------------------------------------------------------- -# Copyright (c) 2015-2017 AT&T Intellectual Property -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ------------------------------------------------------------------------- - -FROM python:2.7 -RUN apt-get update -RUN apt-get --assume-yes install python-setuptools -RUN git clone https://gerrit.onap.org/r/optf/has -WORKDIR ./has/conductor/ -RUN pip install -e . -RUN echo "Starting conductor-controller" -CMD ["python","/usr/local/bin/conductor-controller", "--config-file=/usr/local/bin/conductor.conf"] diff --git a/conductor/docker/data/Dockerfile b/conductor/docker/data/Dockerfile deleted file mode 100755 index 9485644..0000000 --- a/conductor/docker/data/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -# ------------------------------------------------------------------------- -# Copyright (c) 2015-2017 AT&T Intellectual Property -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ------------------------------------------------------------------------- - -FROM python:2.7 -RUN apt-get update -RUN apt-get --assume-yes install python-setuptools -RUN git clone https://gerrit.onap.org/r/optf/has -WORKDIR ./has/conductor -RUN pip install -e . -RUN echo "Starting conductor-data" -CMD ["python","/usr/local/bin/conductor-data", "--config-file=/usr/local/bin/conductor.conf"] diff --git a/conductor/docker/reservation/Dockerfile b/conductor/docker/reservation/Dockerfile deleted file mode 100755 index 323f15d..0000000 --- a/conductor/docker/reservation/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -# ------------------------------------------------------------------------- -# Copyright (c) 2015-2017 AT&T Intellectual Property -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ------------------------------------------------------------------------- - -FROM python:2.7 -RUN apt-get update -RUN apt-get --assume-yes install python-setuptools -RUN git clone https://gerrit.onap.org/r/optf/has -WORKDIR ./has/conductor/ -RUN pip install -e . -RUN pwd -RUN echo "Starting conductor-reservation" -CMD ["python","/usr/local/bin/conductor-reservation", "--config-file=/usr/local/bin/conductor.conf"] diff --git a/conductor/docker/solver/Dockerfile b/conductor/docker/solver/Dockerfile deleted file mode 100755 index b1a3125..0000000 --- a/conductor/docker/solver/Dockerfile +++ /dev/null @@ -1,25 +0,0 @@ -# ------------------------------------------------------------------------- -# Copyright (c) 2015-2017 AT&T Intellectual Property -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# ------------------------------------------------------------------------- - -FROM python:2.7 -RUN apt-get update -RUN apt-get --assume-yes install python-setuptools -RUN git clone https://gerrit.onap.org/r/optf/has -WORKDIR ./has/conductor -RUN pip install -e . -RUN echo "Starting conductor-solver" -CMD ["python","/usr/local/bin/conductor-solver", "--config-file=/usr/local/bin/conductor.conf"] -- cgit