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