Run pods as non-root user 37/103437/3
authorMichaelMorris <michael.morris@est.tech>
Tue, 10 Mar 2020 12:37:48 +0000 (12:37 +0000)
committerOfir Sonsino <ofir.sonsino@intl.att.com>
Mon, 16 Mar 2020 08:45:20 +0000 (08:45 +0000)
Summary of changes:
sdc-cassandra-init
Added user sdc (in base image base_sdc-cqlsh - https://gerrit.onap.org/r/103436)
Run entrypoint as user sdc
Moved relevant files from /root/ to /home/sdc/

sdc-backend-init
Added user sdc (in base image base_sdc-python - https://gerrit.onap.org/r/103436)
Run entrypoint as user sdc
Moved relevant files from /root/ to /home/sdc/

sdc-backend
Run entrypoint as user jetty
Moved relevant files from /root/ to /var/lib/jetty/
Moved cadi & cert files from /opt/app/jetty to /var/lib/jetty/
Moved ready_probe from /var/lib/read-probe.sh to /var/lib/jetty/read-probe.sh

sdc-frontend
Run entrypoint as user jetty
Moved relevant files from /root/ to /var/lib/jetty/
Moved ready_probe from /var/lib/read-probe.sh to /var/lib/jetty/read-probe.sh

sdc-onboard-backend-docker
Run entrypoint as user jetty
Moved relevant files from /root/ to /var/lib/jetty/
Moved ready_probe from /var/lib/read-probe.sh to /var/lib/jetty/read-probe.sh

sdc-onboard-db-init-docker
Run entrypoint as user sdc
Added user sdc (in base image base_sdc-cqlsh - https://gerrit.onap.org/r/103436)
Moved relevant files from /root/ to /home/sdc/

Signed-off-by: MichaelMorris <michael.morris@est.tech>
Issue-ID: SDC-2798
Change-Id: I85be320a4a5e1cc5aeebbb98c4484d5d6fd06dfc

25 files changed:
.gitignore
asdctool/sdc-cassandra-init/Dockerfile
asdctool/sdc-cassandra-init/startup.sh
catalog-be/sdc-backend-init/Dockerfile
catalog-be/sdc-backend-init/startup.sh
catalog-be/sdc-backend/Dockerfile
catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi.properties
catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/cadi_truststore.jks
catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/files/default/keyfile
catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_10_setup_cadi.rb
catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/recipes/BE_9_prepareProbeFile.rb
catalog-be/sdc-backend/chef-repo/cookbooks/sdc-catalog-be/templates/default/BE-distribution-engine-configuration.yaml.erb
catalog-be/sdc-backend/startup.sh
catalog-be/src/main/resources/cadi.properties
catalog-be/src/main/resources/config/configuration.yaml
catalog-be/src/main/resources/config/distribution-engine-configuration.yaml
catalog-fe/sdc-frontend/Dockerfile
catalog-fe/sdc-frontend/chef-repo/cookbooks/sdc-catalog-fe/recipes/FE_8_prepareProbeFile.rb
catalog-fe/sdc-frontend/startup.sh
openecomp-be/dist/sdc-onboard-backend-docker/artifacts/Dockerfile
openecomp-be/dist/sdc-onboard-backend-docker/artifacts/chef-repo/cookbooks/sdc-onboard-backend/recipes/ON_6_prepareProbeFile.rb
openecomp-be/dist/sdc-onboard-backend-docker/artifacts/startup.sh
openecomp-be/dist/sdc-onboard-db-init-docker/artifacts/Dockerfile
openecomp-be/dist/sdc-onboard-db-init-docker/artifacts/startup.sh
sdc-os-chef/scripts/docker_run.sh

index 33ad652..852967b 100644 (file)
@@ -272,3 +272,4 @@ asdctool/report_test_1538046722484.json
 /ajcore*.txt
 **/.factorypath
 
+**/.checkstyle
index 64dbe05..b1ff2ae 100644 (file)
@@ -1,12 +1,12 @@
-FROM onap/base_sdc-cqlsh:1.5.0-SNAPSHOT-latest
+FROM onap/base_sdc-cqlsh:1.6.0-SNAPSHOT-latest
 
-COPY chef-solo /root/chef-solo/
+COPY --chown=sdc:sdc chef-solo /home/sdc/chef-solo/
 
-COPY chef-repo/cookbooks /root/chef-solo/cookbooks/
+COPY --chown=sdc:sdc chef-repo/cookbooks /home/sdc/chef-solo/cookbooks/
 
-COPY startup.sh /root/
+COPY --chown=sdc:sdc startup.sh /home/sdc/
 
-RUN chmod 770 /root/startup.sh
+RUN chmod 770 /home/sdc/startup.sh
 
-ENTRYPOINT [ "/root/startup.sh" ]
+ENTRYPOINT [ "/home/sdc/startup.sh" ]
 
index 13c882a..3e474f3 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-cd /root/chef-solo
+cd /home/sdc/chef-solo
 chef-solo -c solo.rb  -E ${ENVNAME}
 rc=$?
-if [[ $rc != 0 ]]; then exit $rc; fi
\ No newline at end of file
+if [[ $rc != 0 ]]; then exit $rc; fi
index 8b1a2e6..cb26610 100644 (file)
@@ -1,11 +1,11 @@
-FROM onap/base_sdc-python:1.4.1
+FROM onap/base_sdc-python:1.6.0-SNAPSHOT-latest
 
-COPY chef-solo /root/chef-solo/
+COPY --chown=sdc:sdc chef-solo /home/sdc/chef-solo/
 
-COPY chef-repo/cookbooks /root/chef-solo/cookbooks/
+COPY --chown=sdc:sdc chef-repo/cookbooks /home/sdc/chef-solo/cookbooks/
 
-COPY startup.sh /root/
+COPY --chown=sdc:sdc startup.sh /home/sdc/
 
-RUN chmod 770 /root/startup.sh
+RUN chmod 770 /home/sdc/startup.sh
 
-ENTRYPOINT [ "/root/startup.sh" ]
+ENTRYPOINT [ "/home/sdc/startup.sh" ]
index 0a96e49..a379677 100644 (file)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-cd /root/chef-solo || exit $?
+cd /home/sdc/chef-solo || exit $?
 chef-solo -c solo.rb -E "${ENVNAME}"
 rc=$?
 if [ $rc != 0 ]; then exit $rc; fi
index 104bbd9..833008d 100644 (file)
@@ -1,16 +1,13 @@
 FROM onap/base_sdc-jetty:1.6.0
-
-COPY chef-solo /root/chef-solo/
-
-COPY chef-repo/cookbooks/. /root/chef-solo/cookbooks/
+COPY --chown=jetty:jetty chef-solo ${JETTY_BASE}/chef-solo/
+COPY --chown=jetty:jetty chef-repo/cookbooks/. ${JETTY_BASE}/chef-solo/cookbooks/
 
 ADD --chown=jetty:jetty catalog-be-*.war       ${JETTY_BASE}/webappwar/
 ADD --chown=jetty:jetty context.xml       ${JETTY_BASE}/webapps/
 
-USER root
-
-COPY startup.sh /root/
+COPY --chown=jetty:jetty startup.sh ${JETTY_BASE}/ 
 
-RUN chmod 770 /root/startup.sh
+RUN chmod 770 ${JETTY_BASE}/startup.sh
 
-ENTRYPOINT [ "/root/startup.sh" ]
+ENTRYPOINT ${JETTY_BASE}/startup.sh
index 2d234c3..1011ba3 100644 (file)
@@ -1,4 +1,4 @@
 #############################################################
 # This file should be replaced with jetty cadi.properties:  #
-#  /opt/app/jetty/base/be/etc/cadi.properties               #
-#############################################################
\ No newline at end of file
+#  /var/lib/jetty/base/be/etc/cadi.properties               #
+#############################################################
index 6720910..0835ef4 100644 (file)
@@ -1,4 +1,4 @@
 ##################################################################
 ## This file should be replaced with jetty cadi_truststore.jks:  #
-##  /opt/app/jetty/base/be/etc/cadi_truststore.jks               #
-##################################################################
\ No newline at end of file
+##  /var/lib/jetty/base/be/etc/cadi_truststore.jks               #
+##################################################################
index 41876b7..43d20d4 100644 (file)
@@ -1,4 +1,4 @@
 #############################################################
 # This file should be replaced with jetty keyfile:          #
-#  /opt/app/jetty/base/be/etc/keyfile                       #
-#############################################################
\ No newline at end of file
+#  /var/lib/jetty/base/be/etc/keyfile                       #
+#############################################################
index b06f8a5..3a79cfc 100644 (file)
@@ -35,51 +35,3 @@ template "#{jetty_base}/etc/cadi.properties" do
   mode "0755"
 end
 
-
-#Workaround due to hardcode definition in cata,log-be web.xml file
-directory "/opt/app/jetty" do
-  path "/opt/app/jetty"
-  owner 'jetty'
-  group 'jetty'
-  mode '0755'
-  recursive true
-  action :create
-end
-
-directory "/opt/app/jetty/base/" do
-  path "/opt/app/jetty/base/"
-  owner 'jetty'
-  group 'jetty'
-  mode '0755'
-  recursive true
-  action :create
-end
-
-
-directory "/opt/app/jetty/base/be/" do
-  path "/opt/app/jetty/base/be/"
-  owner 'jetty'
-  group 'jetty'
-  mode '0755'
-  recursive true
-  action :create
-end
-
-directory "/opt/app/jetty/base/be/etc" do
-  path "/opt/app/jetty/base/be/etc"
-  owner 'jetty'
-  group 'jetty'
-  mode '0755'
-  recursive true
-  action :create
-end
-
-#Workaround due to hardcode definition in catalog-be web.xml file
-template "/opt/app/jetty/base/be/etc/cadi.properties" do
-  path "/opt/app/jetty/base/be/etc/cadi.properties"
-  source "cadi.properties.erb"
-  owner "jetty"
-  group "jetty"
-  mode "0755"
-end
-
index 8d42c26..81e1a85 100644 (file)
@@ -6,7 +6,7 @@ else
   port = "#{node['BE'][:http_port]}"
 end
 
-template "/var/lib/ready-probe.sh" do
+template "/var/lib/jetty/ready-probe.sh" do
   source "ready-probe.sh.erb"
   sensitive true
   mode 0755
@@ -14,4 +14,4 @@ template "/var/lib/ready-probe.sh" do
     :protocol => protocol,
     :port => port
   })
-end
\ No newline at end of file
+end
index a9df5c3..0fa6936 100644 (file)
@@ -58,7 +58,7 @@ aaiConfig:
          readTimeoutMs: 5000
          connectTimeoutMs: 1000
       clientCertificate:
-         keyStore: /opt/app/jetty/base/be/etc/non-prod.jks
+         keyStore: /var/lib/jetty/base/be/etc/non-prod.jks
          keyStorePassword: hmXYcznAljMSisdy8zgcag==
       headers:
          X-FromAppId: asdc
index e41aff4..abb3074 100644 (file)
@@ -11,7 +11,7 @@ export JAVA_OPTIONS=" -Dconfig.home=${JETTY_BASE}/config \
        -Djetty.console-capture.dir=${JETTY_BASE}/logs \
        ${JAVA_OPTIONS} "
 
-cd /root/chef-solo
+cd /var/lib/jetty/chef-solo
 chef-solo -c solo.rb -E ${ENVNAME}
 
 status=$?
index 0d6aee1..bbce361 100644 (file)
@@ -13,7 +13,7 @@ hostname=onapportal
 csp_domain=PROD
 
 # Add Absolute path to Keyfile
-cadi_keyfile=/opt/app/jetty/base/be/etc/keyfile
+cadi_keyfile=/var/lib/jetty/opt/be/etc/keyfile
 
 
 # This is required to accept Certificate Authentication from Certman certificates.
@@ -31,7 +31,7 @@ cadi_loglevel=DEBUG
 # Default TrustStore - REQUIRED for changing PROTOCOL Defaults for DME2
 # Read https://wiki.web.att.com/pages/viewpage.action?pageId=574623569#URGENT:SolvingSSL2-3/TLSv1removalissues-Up-to-dateTruststore
 # Add Absolute path to truststore2018.jks
-cadi_truststore=/opt/app/jetty/base/be/etc/cadi_truststore.jks
+cadi_truststore=/var/lib/jetty/base/be/etc/cadi_truststore.jks
 # Note: This is the ONLY password that doesn't have to be encrypted. All Java's TrustStores are this passcode by default, because they are public certs
 cadi_truststore_password=changeit
 
@@ -52,4 +52,4 @@ cadi_latitude=32.780140
 cadi_longitude=-96.800451
 
 aaf_root_ns=com.att.aaf
-aaf_api_version=2.0
\ No newline at end of file
+aaf_api_version=2.0
index 482bea1..8dfe646 100644 (file)
@@ -111,7 +111,7 @@ cassandraConfig:
     username: asdc_user
     password: Aa1234%^!
     ssl: true
-    truststorePath : /opt/app/jetty/base/be/config/.truststore
+    truststorePath : /var/lib/jetty/opt/base/be/config/.truststore
     truststorePassword : Aa123456
     keySpaces:
         - { name: dox, replicationStrategy: NetworkTopologyStrategy, replicationInfo: ['DC-sdc-iltlv650', '1']}
@@ -816,7 +816,7 @@ dmaapConsumerConfiguration:
         password: XyCUPhFx9u70aklYGo6OiA==
     aftDme2SslEnable: true
     aftDme2ClientIgnoreSslConfig: false
-    aftDme2ClientKeystore: /opt/app/jetty/base/be/config/.truststore
+    aftDme2ClientKeystore: /var/lib/jetty/opt/base/be/config/.truststore
     aftDme2ClientKeystorePassword: XyCUPhFx9u70aklYGo6OiA==
     aftDme2ClientSslCertAlias: certman
 
@@ -850,7 +850,7 @@ dmaapProducerConfiguration:
         password: XyCUPhFx9u70aklYGo6OiA==
         aftDme2SslEnable: true
     aftDme2ClientIgnoreSslConfig: false
-    aftDme2ClientKeystore: /opt/app/jetty/base/be/config/.truststore
+    aftDme2ClientKeystore: /var/lib/jetty/opt/jetty/base/be/config/.truststore
     aftDme2ClientKeystorePassword: XyCUPhFx9u70aklYGo6OiA==
     aftDme2ClientSslCertAlias: certman
 
@@ -901,9 +901,9 @@ aafAuthNeeded: false
 cadiFilterParams:
     hostname: 192.168.33.10
     csp_domain: PROD
-    cadi_keyfile: /opt/app/jetty/base/be/config/catalog-be/keyfile
+    cadi_keyfile: /var/lib/jetty/opt/base/be/config/catalog-be/keyfile
     cadi_loglevel: DEBUG
-    cadi_truststore: /opt/app/jetty/base/be/config/.truststore
+    cadi_truststore: /var/lib/jetty/opt/base/be/config/.truststore
     cadi_truststore_password: enc:XyCUPhFx9u70aklYGo6OiA==
     #aaf_url: https://aaf.onap.org/service=?
     aaf_id: aaf@sdc.onap.org
@@ -918,4 +918,4 @@ cadiFilterParams:
 
 # This configuration entry lists all node type names prefix that shall be allowed on SDC.
 definedResourceNamespace:
-  - org.openecomp.resource.
\ No newline at end of file
+  - org.openecomp.resource.
index 1817ecb..65a41e4 100644 (file)
@@ -61,7 +61,7 @@ aaiConfig:
          readTimeoutMs: 5000
          connectTimeoutMs: 1000
       clientCertificate:
-         keyStore: /opt/app/jetty/base/be/etc/non-prod.jks
+         keyStore: /var/lib/jetty/opt/base/be/etc/non-prod.jks
          keyStorePassword: hmXYcznAljMSisdy8zgcag==
       headers:
          X-FromAppId: asdc
index 5733dd2..66aea7b 100644 (file)
@@ -1,17 +1,17 @@
 FROM onap/base_sdc-jetty:1.6.0
 
-COPY chef-solo /root/chef-solo/
+RUN mkdir -p ${JETTY_BASE}/config/catalog-fe
 
-COPY chef-repo/cookbooks /root/chef-solo/cookbooks/
+COPY --chown=jetty:jetty chef-solo ${JETTY_BASE}/chef-solo/
+
+COPY --chown=jetty:jetty chef-repo/cookbooks ${JETTY_BASE}/chef-solo/cookbooks/
 
 ADD --chown=jetty:jetty onboarding*.war         ${JETTY_BASE}/webapps/
 
 ADD --chown=jetty:jetty catalog-fe-*.war        ${JETTY_BASE}/webapps/
 
-USER root
-
-COPY startup.sh /root/
+COPY --chown=jetty:jetty startup.sh ${JETTY_BASE}
 
-RUN chmod 770 /root/startup.sh
+RUN chmod 770 ${JETTY_BASE}/startup.sh
 
-ENTRYPOINT [ "/root/startup.sh" ]
+ENTRYPOINT ${JETTY_BASE}/startup.sh
index 85ae99b..2ce61b9 100644 (file)
@@ -6,7 +6,7 @@ else
   port = "#{node['FE'][:http_port]}"
 end
 
-template "/var/lib/ready-probe.sh" do
+template "/var/lib/jetty/ready-probe.sh" do
   source "ready-probe.sh.erb"
   sensitive true
   mode 0755
@@ -14,4 +14,4 @@ template "/var/lib/ready-probe.sh" do
     :protocol => protocol,
     :port => port
   })
-end
\ No newline at end of file
+end
index 6080856..dda1e02 100644 (file)
@@ -10,7 +10,7 @@ JAVA_OPTIONS=" ${JAVA_OPTIONS} \
                -Djavax.net.ssl.trustStorePassword=].][xgtze]hBhz*wy]}m#lf* \
                -Djetty.console-capture.dir=${JETTY_BASE}/logs "
 
-cd /root/chef-solo
+cd /var/lib/jetty/chef-solo
 chef-solo -c solo.rb -E ${ENVNAME}
 
 cd /var/lib/jetty
index e6a0dc1..acc84ab 100644 (file)
@@ -1,17 +1,15 @@
 FROM onap/base_sdc-jetty:1.6.0
 
-COPY chef-solo /root/chef-solo/
+COPY --chown=jetty:jetty chef-solo ${JETTY_BASE}/chef-solo/
 
-COPY chef-repo/cookbooks /root/chef-solo/cookbooks/
+COPY --chown=jetty:jetty chef-repo/cookbooks ${JETTY_BASE}/chef-solo/cookbooks/
 
 ADD --chown=jetty:jetty onboarding-be-*.war    ${JETTY_BASE}/webapps/
 
 ADD --chown=jetty:jetty api-docs.war           ${JETTY_BASE}/webapps/
 
-USER root
+COPY --chown=jetty:jetty startup.sh ${JETTY_BASE}/ 
 
-COPY startup.sh /root/
+RUN chmod 770 ${JETTY_BASE}/startup.sh
 
-RUN chmod 770 /root/startup.sh
-
-ENTRYPOINT [ "/root/startup.sh" ]
+ENTRYPOINT ${JETTY_BASE}/startup.sh
index 413fdb3..df8cefb 100644 (file)
@@ -1,7 +1,7 @@
 #!/bin/sh
 
 
-cd /root/chef-solo
+cd /var/lib/jetty/chef-solo
 chef-solo -c solo.rb -E ${ENVNAME}
 rc=$?
 if [[ $rc != 0 ]]; then
@@ -21,4 +21,4 @@ cd /var/lib/jetty
 
 /docker-entrypoint.sh &
 
-while true; do sleep 2; done
\ No newline at end of file
+while true; do sleep 2; done
index 29189db..8dfc8a8 100644 (file)
@@ -1,14 +1,13 @@
-FROM onap/base_sdc-cqlsh:1.5.0-SNAPSHOT-latest
+FROM onap/base_sdc-cqlsh:1.6.0-SNAPSHOT-latest
 
-COPY init_keyspaces.cql /root/
+COPY --chown=sdc:sdc init_keyspaces.cql /home/sdc/
 
-COPY init_schemas.cql /root/
+COPY --chown=sdc:sdc init_schemas.cql /home/sdc/
 
-COPY alter_tables.cql /root/
+COPY --chown=sdc:sdc alter_tables.cql /home/sdc/ 
 
-COPY startup.sh /root/
+COPY --chown=sdc:sdc startup.sh /home/sdc/ 
 
-RUN chmod 770 /root/startup.sh
-
-ENTRYPOINT [ "/root/startup.sh" ]
+RUN chmod 770 /home/sdc/startup.sh
 
+ENTRYPOINT [ "/home/sdc/startup.sh" ]
index 7d24c98..e51f499 100755 (executable)
@@ -113,6 +113,16 @@ function ready_probe {
 }
 #
 
+function ready_probe_jetty {
+    docker exec $1 /var/lib/jetty/ready-probe.sh > /dev/null 2>&1
+    rc=$?
+    if [[ ${rc} == 0 ]]; then
+        echo DOCKER $1 start finished in $2 seconds
+        return ${SUCCESS}
+    fi
+    return ${FAILURE}
+}
+#
 
 function probe_docker {
     MATCH=`docker logs --tail 30 $1 | grep "DOCKER STARTED"`
@@ -181,15 +191,15 @@ function monitor_docker {
                 status=$? ;
             ;;
             sdc-BE)
-                ready_probe ${DOCKER_NAME} ${TIME} ;
+                ready_probe_jetty ${DOCKER_NAME} ${TIME} ;
                 status=$? ;
             ;;
             sdc-FE)
-                ready_probe ${DOCKER_NAME} ${TIME} ;
+                ready_probe_jetty ${DOCKER_NAME} ${TIME} ;
                 status=$? ;
             ;;
             sdc-onboard-BE)
-                ready_probe ${DOCKER_NAME} ${TIME} ;
+                ready_probe_jetty ${DOCKER_NAME} ${TIME} ;
                 status=$? ;
             ;;
             sdc-api-tests)
@@ -287,7 +297,7 @@ function sdc-cs-init {
     if [ ${LOCAL} = false ]; then
         docker pull ${PREFIX}/sdc-cassandra-init:${RELEASE}
     fi
-    docker run --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --env HOST_IP=${IP} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --volume ${WORKSPACE}/data/CS-Init:/root/chef-solo/cache ${PREFIX}/sdc-cassandra-init:${RELEASE} > /dev/null 2>&1
+    docker run --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --env HOST_IP=${IP} --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/home/sdc/chef-solo/environments --volume ${WORKSPACE}/data/CS-Init:/root/chef-solo/cache ${PREFIX}/sdc-cassandra-init:${RELEASE} > /dev/null 2>&1
     rc=$?
     docker_logs ${DOCKER_NAME}
     if [[ ${rc} != 0 ]]; then exit ${rc}; fi
@@ -302,7 +312,7 @@ function sdc-cs-onboard-init {
     if [ ${LOCAL} = false ]; then
         docker pull ${PREFIX}/sdc-onboard-cassandra-init:${RELEASE}
     fi
-    docker run --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env CS_HOST_IP=${IP} --env CS_HOST_PORT=${CS_PORT} --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --volume ${WORKSPACE}/data/CS-Init:/root/chef-solo/cache ${PREFIX}/sdc-onboard-cassandra-init:${RELEASE}
+    docker run --name ${DOCKER_NAME} --env RELEASE="${RELEASE}" --env CS_HOST_IP=${IP} --env CS_HOST_PORT=${CS_PORT} --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env CS_PASSWORD="${CS_PASSWORD}" --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/CS:/var/lib/cassandra --volume ${WORKSPACE}/data/environments:/home/sdc/chef-solo/environments --volume ${WORKSPACE}/data/CS-Init:/home/sdc/chef-solo/cache ${PREFIX}/sdc-onboard-cassandra-init:${RELEASE}
     rc=$?
     docker_logs ${DOCKER_NAME}
     if [[ ${rc} != 0 ]]; then exit ${rc}; fi
@@ -319,7 +329,7 @@ function sdc-BE {
     else
         ADDITIONAL_ARGUMENTS=${BE_DEBUG_PORT}
     fi
-    docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env cassandra_ssl_enabled="false" --env JAVA_OPTIONS="${BE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/BE/:${JETTY_BASE}/logs  --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 8443:8443 --publish 8080:8080 ${ADDITIONAL_ARGUMENTS} ${PREFIX}/sdc-backend:${RELEASE}
+    docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env cassandra_ssl_enabled="false" --env JAVA_OPTIONS="${BE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/BE/:${JETTY_BASE}/logs  --volume ${WORKSPACE}/data/environments:${JETTY_BASE}/chef-solo/environments --publish 8443:8443 --publish 8080:8080 ${ADDITIONAL_ARGUMENTS} ${PREFIX}/sdc-backend:${RELEASE}
     command_exit_status $? ${DOCKER_NAME}
     echo "please wait while BE is starting..."
     monitor_docker ${DOCKER_NAME}
@@ -334,7 +344,7 @@ function sdc-BE-init {
     if [ ${LOCAL} = false ]; then
         docker pull ${PREFIX}/sdc-backend-init:${RELEASE}
     fi
-    docker run --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/BE/:${JETTY_BASE}/logs  --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments ${PREFIX}/sdc-backend-init:${RELEASE} > /dev/null 2>&1
+    docker run --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/logs/BE/:${JETTY_BASE}/logs  --volume ${WORKSPACE}/data/environments:/home/sdc/chef-solo/environments ${PREFIX}/sdc-backend-init:${RELEASE} > /dev/null 2>&1
     rc=$?
     docker_logs ${DOCKER_NAME}
     if [[ ${rc} != 0 ]]; then exit ${rc}; fi
@@ -353,7 +363,7 @@ function sdc-onboard-BE {
     else
         ADDITIONAL_ARGUMENTS=${ONBOARD_DEBUG_PORT}
     fi
-    docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env cassandra_ssl_enabled="false" --env SDC_CLUSTER_NAME="SDC-CS-${DEP_ENV}" --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env SDC_CERT_DIR="${SDC_CERT_DIR}" --env JAVA_OPTIONS="${ONBOARD_BE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/${SDC_CERT_DIR}:${JETTY_BASE}/onap/cert --volume ${WORKSPACE}/data/logs/ONBOARD:${JETTY_BASE}/logs --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments --publish 8445:8445 --publish 8081:8081 ${ADDITIONAL_ARGUMENTS} ${PREFIX}/sdc-onboard-backend:${RELEASE}
+    docker run --detach --name ${DOCKER_NAME} --env HOST_IP=${IP} --env ENVNAME="${DEP_ENV}" --env cassandra_ssl_enabled="false" --env SDC_CLUSTER_NAME="SDC-CS-${DEP_ENV}" --env SDC_USER="${SDC_USER}" --env SDC_PASSWORD="${SDC_PASSWORD}" --env SDC_CERT_DIR="${SDC_CERT_DIR}" --env JAVA_OPTIONS="${ONBOARD_BE_JAVA_OPTIONS}" --log-driver=json-file --log-opt max-size=100m --log-opt max-file=10 --ulimit memlock=-1:-1 --ulimit nofile=4096:100000 ${LOCAL_TIME_MOUNT_CMD} --volume ${WORKSPACE}/data/${SDC_CERT_DIR}:${JETTY_BASE}/onap/cert --volume ${WORKSPACE}/data/logs/ONBOARD:${JETTY_BASE}/logs --volume ${WORKSPACE}/data/environments:/${JETTY_BASE}/chef-solo/environments --publish 8445:8445 --publish 8081:8081 ${ADDITIONAL_ARGUMENTS} ${PREFIX}/sdc-onboard-backend:${RELEASE}
     command_exit_status $? ${DOCKER_NAME}
     echo "please wait while sdc-onboard-BE is starting..."
     monitor_docker ${DOCKER_NAME}
@@ -391,7 +401,7 @@ function sdc-FE {
     --ulimit memlock=-1:-1 \
     --ulimit nofile=4096:100000 \
     --volume ${WORKSPACE}/data/logs/FE/:${JETTY_BASE}/logs \
-    --volume ${WORKSPACE}/data/environments:/root/chef-solo/environments \
+    --volume ${WORKSPACE}/data/environments:/${JETTY_BASE}/chef-solo/environments \
     ${LOCAL_TIME_MOUNT_CMD}  \
     ${PLUGINS_CONF_VOLUME_MOUNT} \
     --publish 9443:9443 \