Use integration-java11 Dockerfile

Use onap/integration-java11:7.1.0 as a source for the images requiring JDK 11 in SDC

Issue-ID: SDC-3298
Change-Id: Ifee3d2942dcb9c078f2ebb686bdabc0ecca857b3
Signed-off-by: xuegao <xue.gao@intl.att.com>
diff --git a/utils/webseal-simulator/sdc-simulator/Dockerfile b/utils/webseal-simulator/sdc-simulator/Dockerfile
index 24a7dd1..31af19e 100644
--- a/utils/webseal-simulator/sdc-simulator/Dockerfile
+++ b/utils/webseal-simulator/sdc-simulator/Dockerfile
@@ -1,17 +1,13 @@
-FROM jetty:9.4.31-jre11-slim
+FROM onap/integration-java11:8.0.0
 
 USER root
+ARG JETTY_FOLDER=/app/jetty
 
 # Install Chef
 RUN set -ex && \
-    apt-get update -y && \
-    apt-get install -y \
-        jq \
-        curl \
-        curl \
-        vim \
-        make \
-        gcc \
+    apk update && \
+    apk add --no-cache \
+        build-base \
         ruby \
         ruby-dev \
         libffi-dev \
@@ -23,39 +19,28 @@
         etc webrick \
         --no-document && \
     gem cleanup && \
-    apt-get update -y && \
-    apt-get install -y binutils jq && \
-    apt-get clean
+    apk update
 
-# Replace Jetty user ID
-ENV USER_JETTY="jetty"
-ENV GROUP_JETTY="jetty"
-ENV UID_JETTY="352070"
-ENV GID_JETTY="35953"
+ENV JETTY_HOME=$JETTY_FOLDER
+ENV JETTY_BASE=$JETTY_FOLDER
+ENV JETTY_USER=onap
+ENV JETTY_GROUP=onap
 
-# Remove user:
-RUN deluser ${USER_JETTY}
-#RUN delgroup ${GROUP_JETTY}
-RUN echo "${USER_JETTY}:x:${UID_JETTY}:${GID_JETTY}::/home/${USER_JETTY}:Linux User,,,:/home/jetty:/bin/false" >> /etc/passwd
-RUN echo "${GROUP_JETTY}:x:${GID_JETTY}:${USER_JETTY}" >> /etc/group
-RUN echo "${USER_JETTY}:!:17501:0:99999:7:::" >> /etc/shadow
-RUN mkdir /home/${USER_JETTY} && chown ${USER_JETTY}:${GROUP_JETTY} /home/${USER_JETTY}
-RUN chown -R jetty:jetty ${JETTY_BASE}/webapps /var/lib/jetty
+RUN mkdir $JETTY_FOLDER && chown onap:onap $JETTY_FOLDER
 
-USER jetty
+USER onap
 
-COPY chef-solo /root/chef-solo/
+#Download jetty
+RUN wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-distribution/9.4.31.v20200723/jetty-distribution-9.4.31.v20200723.tar.gz -O $JETTY_FOLDER/jetty.tar.gz && \
+        tar xvz -C $JETTY_FOLDER -f $JETTY_FOLDER/jetty.tar.gz --strip 1 && \
+        rm -rf $JETTY_FOLDER/jetty.tar.gz
+RUN sed -i 's/"jetty"/"onap"/g' $JETTY_FOLDER/etc/jetty-setuid.xml
 
-COPY chef-repo/cookbooks /root/chef-solo/cookbooks/
+COPY --chown=onap:onap chef-solo $JETTY_FOLDER/chef-solo/
+COPY --chown=onap:onap  chef-repo/cookbooks $JETTY_FOLDER/chef-solo/cookbooks/
+ADD --chown=onap:onap WSSimulator*.war                    	$JETTY_FOLDER/webapps/
+COPY --chown=onap:onap startup.sh $JETTY_FOLDER/
 
-ADD WSSimulator*.war                    	${JETTY_BASE}/webapps/
+RUN chmod 770 $JETTY_FOLDER/startup.sh
 
-USER root
-
-RUN chown -R jetty:jetty               		${JETTY_BASE}/webapps
-
-COPY startup.sh ${JETTY_BASE}/
-
-RUN chmod 777 ${JETTY_BASE}/startup.sh
-
-ENTRYPOINT [ "sh", "-c", "${JETTY_BASE}/startup.sh"]
+ENTRYPOINT [ "sh", "-c", "${JETTY_HOME}/startup.sh"]
diff --git a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_1_cleanup_jettydir.rb b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_1_cleanup_jettydir.rb
index c02aa7e..a1156ee 100644
--- a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_1_cleanup_jettydir.rb
+++ b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_1_cleanup_jettydir.rb
@@ -1,7 +1,7 @@
 directory "SDC_Simulator_tempdir_creation" do
   path "#{ENV['JETTY_BASE']}/temp"
-  owner 'jetty'
-  group 'jetty'
+  owner "#{ENV['JETTY_USER']}"
+  group "#{ENV['JETTY_GROUP']}"
   mode '0755'
   action :create
 end
@@ -9,8 +9,8 @@
 
 directory "SDC_Simulator_create_config_dir" do
   path "#{ENV['JETTY_BASE']}/config"
-  owner 'jetty'
-  group 'jetty'
+  owner "#{ENV['JETTY_USER']}"
+  group "#{ENV['JETTY_GROUP']}"
   mode '0755'
   action :create
 end
@@ -18,8 +18,8 @@
 
 directory "SDC_Simulator_create_sdc-simulator" do
   path "#{ENV['JETTY_BASE']}/config/sdc-simulator"
-  owner 'jetty'
-  group 'jetty'
+  owner "#{ENV['JETTY_USER']}"
+  group "#{ENV['JETTY_GROUP']}"
   mode '0755'
   action :create
 end
diff --git a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_2_setup_configuration.rb b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_2_setup_configuration.rb
index bf859f1..3769a1f 100644
--- a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_2_setup_configuration.rb
+++ b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_2_setup_configuration.rb
@@ -10,8 +10,8 @@
 template "webseal.conf" do
    path "#{ENV['JETTY_BASE']}/config/sdc-simulator/webseal.conf"
    source "SDC-Simulator-webseal.conf.erb"
-   owner "jetty"
-   group "jetty"
+   owner "#{ENV['JETTY_USER']}"
+   group "#{ENV['JETTY_GROUP']}"
    mode "0755"
    variables({
       :fe_url  =>"#{fe_url}"
diff --git a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_3_logback.rb b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_3_logback.rb
index 14f83c3..3abca7b 100644
--- a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_3_logback.rb
+++ b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_3_logback.rb
@@ -1,7 +1,7 @@
 cookbook_file "log4j2.properties" do
    path "#{ENV['JETTY_BASE']}/config/sdc-simulator/log4j2.properties"
    source "log4j2.properties"
-   owner "jetty"
-   group "jetty"
+   owner "#{ENV['JETTY_USER']}"
+   group "#{ENV['JETTY_GROUP']}"
    mode "0755"
 end
\ No newline at end of file
diff --git a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_4_locate_keystore.rb b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_4_locate_keystore.rb
index e0b106d..4c83e79 100644
--- a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_4_locate_keystore.rb
+++ b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_4_locate_keystore.rb
@@ -1,21 +1,21 @@
 directory "Jetty_etcdir_creation" do
 	path "#{ENV['JETTY_BASE']}/etc"
-	owner 'jetty'
-	group 'jetty'
+	owner "#{ENV['JETTY_USER']}"
+	group "#{ENV['JETTY_GROUP']}"
 	mode '0755'
 	action :create
 end
 
 cookbook_file "#{ENV['JETTY_BASE']}/etc/org.onap.sdc.trust.jks" do
    source "org.onap.sdc.trust.jks"
-   owner "jetty"
-   group "jetty"
+   owner "#{ENV['JETTY_USER']}"
+   group "#{ENV['JETTY_GROUP']}"
    mode 0755
 end
 
 cookbook_file "#{ENV['JETTY_BASE']}/etc/org.onap.sdc.p12" do
 	source "org.onap.sdc.p12"
-	owner "jetty"
-	group "jetty"
+	owner "#{ENV['JETTY_USER']}"
+	group "#{ENV['JETTY_GROUP']}"
 	mode 0755
 end
diff --git a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_5_create_jetty_modules.rb b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_5_create_jetty_modules.rb
index 5b67561..5e0d8eb 100644
--- a/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_5_create_jetty_modules.rb
+++ b/utils/webseal-simulator/sdc-simulator/chef-repo/cookbooks/sdc-simulator/recipes/SDC_Simulator_5_create_jetty_modules.rb
@@ -6,22 +6,17 @@
    http_option = "--module=http"
 end
 
-
-bash "create-jetty-modules" do
-   cwd "#{ENV['JETTY_BASE']}"
-   code <<-EOH
-   cd "#{ENV['JETTY_BASE']}"
-   java -jar "#{ENV['JETTY_HOME']}"/start.jar --add-to-start=deploy
-   java -jar "#{ENV['JETTY_HOME']}"/start.jar --create-startd --add-to-start=http,https,console-capture,setuid
-   EOH
+execute "create-jetty-modules" do
+  command "java -jar #{ENV['JETTY_HOME']}/start.jar --add-to-start=deploy && java -jar #{ENV['JETTY_HOME']}/start.jar --create-startd --add-to-start=http,https,console-capture,setuid"
+  cwd "#{ENV['JETTY_BASE']}"
+  action :run
 end
 
-
 template "http-ini" do
    path "#{ENV['JETTY_BASE']}/start.d/http.ini"
    source "SDC-Simulator-http-ini.erb"
-   owner "jetty"
-   group "jetty"
+   owner "#{ENV['JETTY_USER']}"
+   group "#{ENV['JETTY_GROUP']}"
    mode "0755"
    variables({
       :http_option => http_option,
@@ -33,8 +28,8 @@
 template "https-ini" do
    path "#{ENV['JETTY_BASE']}/start.d/https.ini"
    source "SDC-Simulator-https-ini.erb"
-   owner "jetty"
-   group "jetty"
+   owner "#{ENV['JETTY_USER']}"
+   group "#{ENV['JETTY_GROUP']}"
    mode "0755"
    variables({
       :https_port => "8443"
@@ -46,8 +41,8 @@
 template "ssl-ini" do
    path "#{ENV['JETTY_BASE']}/start.d/ssl.ini"
    source "SDC-Simulator-ssl-ini.erb"
-   owner "jetty"
-   group "jetty"
+   owner "#{ENV['JETTY_USER']}"
+   group "#{ENV['JETTY_GROUP']}"
    mode "0755"
    variables({
      :https_port           => "8443",
@@ -57,10 +52,7 @@
    })
 end
 
-
-bash "echo status" do
-   code <<-EOH
-      echo "DOCKER STARTED"
-   EOH
-end
-
+execute "echo status" do
+  command "echo 'DOCKER STARTED'"
+  action :run
+end
\ No newline at end of file
diff --git a/utils/webseal-simulator/sdc-simulator/startup.sh b/utils/webseal-simulator/sdc-simulator/startup.sh
index 3f6e2a0..e8774be 100644
--- a/utils/webseal-simulator/sdc-simulator/startup.sh
+++ b/utils/webseal-simulator/sdc-simulator/startup.sh
@@ -1,24 +1,19 @@
 #!/bin/sh
 
-cd /root/chef-solo
-chef-solo -c solo.rb -E ${ENVNAME}
-rc=$?
-if [ $rc -ne 0 ]; then
-    echo "Chef exaction failed."
-    exit $rc;
-fi
-
-JAVA_OPTIONS=" ${JAVA_OPTIONS} \
+JAVA_OPTIONS=" $JAVA_OPTIONS \
 		-Xdebug -agentlib:jdwp=transport=dt_socket,address=5000,server=y,suspend=n -Xmx128m -Xms128m -Xss1m \
-                -Dconfig.home=${JETTY_BASE}/config/sdc-simulator \
-                -Dlog.home=${JETTY_BASE}/logs \
-                -Dlogback.configurationFile=${JETTY_BASE}/config/sdc-simulator/logback.xml \
-                -Djavax.net.ssl.trustStore=${JETTY_BASE}/etc/org.onap.sdc.trust.jks \
+                -Dconfig.home=$JETTY_BASE/config/sdc-simulator \
+                -Dlog.home=$JETTY_BASE/logs \
+                -Dlogback.configurationFile=$JETTY_BASE/config/sdc-simulator/logback.xml \
+                -Djavax.net.ssl.trustStore=$JETTY_BASE/etc/org.onap.sdc.trust.jks \
                 -Djavax.net.ssl.trustStorePassword=z+KEj;t+,KN^iimSiS89e#p0 \
-                -Djetty.console-capture.dir=${JETTY_BASE}/logs"
+                -Djetty.console-capture.dir=$JETTY_BASE/logs"
 
 
-cd /var/lib/jetty
+cd $JETTY_BASE/chef-solo
+chef-solo -c solo.rb -E ${ENVNAME}
 
-java $JAVA_OPTIONS -jar "$JETTY_HOME/start.jar"
+cd $JETTY_HOME
+
+java $JAVA_OPTIONS -jar "${JETTY_HOME}/start.jar"