Rearrange docker to speed-up building 58/75058/1
authorkurczews <krzysztof.kurczewski@nokia.com>
Tue, 20 Nov 2018 09:33:30 +0000 (10:33 +0100)
committerkurczews <krzysztof.kurczewski@nokia.com>
Fri, 21 Dec 2018 13:41:15 +0000 (14:41 +0100)
Reduce number of layers in order to improve build time.
Every layer (even zero-sized ones) forces Docker engine to check layers cache. Every cache call incurs non zero cost which in case of 60+ layers becames one of bottlenecks during build.

Issue-ID: VID-164
Change-Id: Id190d956edb61a1efdb6171602c7fd2228598ddc
Signed-off-by: kurczews <krzysztof.kurczewski@nokia.com>
deliveries/src/main/docker/docker-files/Dockerfile

index a115b5f..02cc98f 100755 (executable)
@@ -6,82 +6,88 @@ RUN apt-get update && apt-get install -y \
 \r
 COPY conf.d/ /etc/onap/vid/conf.d/\r
 \r
-RUN sed -i 's/# alias/alias/g' /root/.bashrc\r
-\r
-ENV JAVA_OPTS="-Xmx1536m -Xms1536m -Dlogback.configurationFile=/etc/onap/vid/conf.d/logback.xml"\r
+# MariaDB variables\r
+ENV VID_MYSQL_HOST="vid-mariadb-docker-instance" \\r
+  VID_MYSQL_PORT="3306" \\r
+  VID_MYSQL_DBNAME="vid_portal" \\r
+  VID_MYSQL_USER="vidadmin" \\r
+  VID_MYSQL_PASS="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" \\r
+  VID_MYSQL_MAXCONNECTIONS="5"\r
+\r
+# General variables\r
+ENV VID_APP_DISPLAY_NAME="VID" \\r
+  VID_MYLOGIN_FEED_DIRECTORY="/tmp/MyLogins" \\r
+  VID_ROLE_ACCESS_CENTRALIZED="local" \\r
+  VID_DECRYPTION_KEY="AGLDdG4D04BKm2IxIWEr8o=" \\r
+  VID_ECOMP_PORTAL_INBOX_NAME="ECOMP-PORTAL-INBOX"\r
 \r
 ENV ROOT_DIR /opt/app/vid\r
-\r
-ENV ASDC_CLIENT_TYPE REST\r
-ENV ASDC_CLIENT_REST_HOST c2.vm1.sdc.simpledemo.onap.org\r
-#old creds 1/9/2017 ENV ASDC_CLIENT_REST_AUTH Basic dmlkOnZpZG9z\r
-ENV ASDC_CLIENT_REST_AUTH Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=\r
-ENV ASDC_CLIENT_REST_PROTOCOL http\r
-ENV ASDC_CLIENT_REST_PORT 8080\r
-ENV ASDC_CLIENT_MODEL_NAMESPACE org.onap\r
-\r
-ENV CACHE_DIRECTORY $ROOT_DIR/cache\r
-\r
-ENV LOG4J_LOGLEVEL INFO\r
-ENV LOG4J_APPENDER rollingfile\r
-ENV LOG4J_LOGS_DIRECTORY ${ROOT_DIR}/logs\r
-\r
-ENV VID_AAI_URL https://aai.api.simpledemo.onap.org:8443\r
-ENV VID_APP_DISPLAY_NAME VID\r
-ENV VID_ECOMP_SHARED_CONTEXT_REST_URL https://portal.api.simpledemo.onap.org:8080/onapportal/context\r
-ENV VID_MSO_SERVER_URL http://vm1.mso.simpledemo.onap.org:8080/onap/so/infra\r
-ENV VID_MYLOGIN_FEED_DIRECTORY /tmp/MyLogins\r
-ENV VID_MSO_USER InfraPortalClient\r
-ENV VID_MSO_PASS OBF:1ih71i271vny1yf41ymf1ylz1yf21vn41hzj1icz\r
-ENV MSO_DME2_CLIENT_TIMEOUT 10000\r
-ENV MSO_DME2_CLIENT_READ_TIMEOUT 10000\r
-ENV MSO_DME2_SERVER_URL http://localhost:8081\r
-ENV MSO_DME2_ENABLED false\r
-ENV MSO_POLLING_INTERVAL_MSECS 10000\r
-ENV AAI_TRUSTSTORE_FILENAME tomcat_keystore\r
-ENV AAI_TRUSTSTORE_PASSWD_X OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1mli1sop1k8o1j651vu91mxw1vun1mze1vv11j8x1k5i1sp11mjc1y161hlr1gm41m111nkj1z781pw31kku1r4p1e391r571pbm1o741l4x1ksp\r
-ENV AAI_KEYSTORE_FILENAME tomcat_keystore\r
-ENV AAI_KEYSTORE_PASSWD_X OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1mli1sop1k8o1j651vu91mxw1vun1mze1vv11j8x1k5i1sp11mjc1y161hlr1gm41m111nkj1z781pw31kku1r4p1e391r571pbm1o741l4x1ksp\r
-ENV AAI_VID_UID VID\r
-ENV AAI_VID_PASSWD_X OBF:1jm91i0v1jl9\r
-ENV AAI_USE_CLIENT_CERT false\r
-ENV AAI_VNF_PROV_STATUS PREPROV,NVTPROV,PROV,CAPPED\r
-ENV VID_ECOMP_REDIRECT_URL  http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm\r
-ENV VID_ECOMP_REST_URL http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi\r
-ENV VID_ECOMP_SHARED_CONTEXT_REST_URL http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/context\r
-ENV VID_ROLE_ACCESS_CENTRALIZED local\r
-ENV VID_CONTACT_US_LINK https://todo_contact_us_link.com\r
-\r
-ENV VID_DECRYPTION_KEY AGLDdG4D04BKm2IxIWEr8o=\r
-ENV VID_UEB_URL_LIST ueb.api.simpledemo.onap.org\r
-ENV VID_UEB_CONSUMER_GROUP VID\r
-ENV VID_ECOMP_PORTAL_INBOX_NAME ECOMP-PORTAL-INBOX\r
-ENV VID_UEB_APP_KEY 2Re7Pvdkgw5aeAUD\r
-ENV VID_UEB_APP_SECRET S31PrbOzGgL4hg4owgtx47Da\r
-ENV VID_UEB_APP_MAILBOX_NAME ECOMP-PORTAL-OUTBOX-90\r
-ENV VID_UEB_LISTENERS_ENABLE false\r
-\r
-ENV VID_LOG_DIR ${ROOT_DIR}/logs\r
-ENV VID_LOG_LEVEL INFO\r
-\r
-ENV VID_MYSQL_HOST vid-mariadb-docker-instance\r
-ENV VID_MYSQL_PORT 3306\r
-ENV VID_MYSQL_DBNAME vid_portal\r
-ENV VID_MYSQL_USER vidadmin\r
-ENV VID_MYSQL_MAXCONNECTIONS 5\r
-ENV VID_MYSQL_PASS Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U\r
-\r
-ENV VID_KEYSTORE_FILENAME ${ROOT_DIR}/etc/org.onap.vid.jks\r
-ENV VID_KEYSTORE_PASSWORD Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U\r
-ENV VID_TRUSTSTORE_FILENAME ${ROOT_DIR}/etc/org.onap.vid.trust.jks\r
-ENV VID_TRUSTSTORE_PASSWORD OBF:1dx01j0e1hs01t981mis1dws156s1ojc1qjc1zsx1pw31qob1qr71pyj1zst1qhy1ojq156i1dua1mm21tb61hvi1j0g1du2\r
-ENV VID_TOMCAT_PATH /usr/local/tomcat/conf/\r
-ENV CATALINA_OPTS "-Dvid.keystore.password=${VID_KEYSTORE_PASSWORD} -Dvid.keyalias=vid@vid.onap.org -Dvid.keystore.filename=${VID_KEYSTORE_FILENAME}"\r
+ENV CACHE_DIRECTORY="$ROOT_DIR/cache"\r
+\r
+# Keystore variables\r
+ENV VID_KEYSTORE_FILENAME="${ROOT_DIR}/etc/org.onap.vid.jks" \\r
+  VID_TRUSTSTORE_FILENAME="${ROOT_DIR}/etc/org.onap.vid.trust.jks" \\r
+  VID_KEYSTORE_PASSWORD="Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U" \\r
+  VID_TRUSTSTORE_PASSWORD="OBF:1dx01j0e1hs01t981mis1dws156s1ojc1qjc1zsx1pw31qob1qr71pyj1zst1qhy1ojq156i1dua1mm21tb61hvi1j0g1du2" \\r
+  VID_TOMCAT_PATH="/usr/local/tomcat/conf/"\r
+\r
+# Logging variables\r
+ENV VID_LOG_DIR="${ROOT_DIR}/logs" \\r
+  VID_LOG_LEVEL="INFO" \\r
+  LOG4J_LOGLEVEL="INFO" \\r
+  LOG4J_APPENDER="rollingfile" \\r
+  LOG4J_LOGS_DIRECTORY="${ROOT_DIR}/logs"\r
+\r
+# UEB variables\r
+ENV VID_UEB_URL_LIST="ueb.api.simpledemo.onap.org" \\r
+  VID_UEB_CONSUMER_GROUP="VID" \\r
+  VID_UEB_APP_KEY="2Re7Pvdkgw5aeAUD" \\r
+  VID_UEB_APP_SECRET="S31PrbOzGgL4hg4owgtx47Da" \\r
+  VID_UEB_APP_MAILBOX_NAME="ECOMP-PORTAL-OUTBOX-90" \\r
+  VID_UEB_LISTENERS_ENABLE="false"\r
+\r
+# SDC variables\r
+ENV ASDC_CLIENT_REST_PROTOCOL="http" \\r
+  ASDC_CLIENT_REST_HOST="c2.vm1.sdc.simpledemo.onap.org" \\r
+  ASDC_CLIENT_REST_PORT="8080" \\r
+  ASDC_CLIENT_REST_AUTH="Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=" \\r
+  ASDC_CLIENT_MODEL_NAMESPACE="org.onap" \\r
+  ASDC_CLIENT_TYPE="REST"\r
+\r
+# AAI variables\r
+ENV VID_AAI_URL="https://aai.api.simpledemo.onap.org:8443" \\r
+  AAI_TRUSTSTORE_FILENAME="tomcat_keystore" \\r
+  AAI_KEYSTORE_FILENAME="tomcat_keystore" \\r
+  AAI_TRUSTSTORE_PASSWD_X="OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1mli1sop1k8o1j651vu91mxw1vun1mze1vv11j8x1k5i1sp11mjc1y161hlr1gm41m111nkj1z781pw31kku1r4p1e391r571pbm1o741l4x1ksp" \\r
+  AAI_KEYSTORE_PASSWD_X="OBF:1ks51l8d1o3i1pcc1r2r1e211r391kls1pyj1z7u1njf1lx51go21hnj1y0k1mli1sop1k8o1j651vu91mxw1vun1mze1vv11j8x1k5i1sp11mjc1y161hlr1gm41m111nkj1z781pw31kku1r4p1e391r571pbm1o741l4x1ksp" \\r
+  AAI_VID_PASSWD_X="OBF:1jm91i0v1jl9" \\r
+  AAI_VID_UID="VID" \\r
+  AAI_USE_CLIENT_CERT="false" \\r
+  AAI_VNF_PROV_STATUS="PREPROV,NVTPROV,PROV,CAPPED"\r
+\r
+# SO environment variables\r
+ENV VID_MSO_SERVER_URL="http://vm1.mso.simpledemo.onap.org:8080/onap/so/infra" \\r
+  MSO_DME2_SERVER_URL="http://localhost:8081" \\r
+  VID_MSO_PASS="OBF:1ih71i271vny1yf41ymf1ylz1yf21vn41hzj1icz" \\r
+  MSO_DME2_CLIENT_TIMEOUT="10000" \\r
+  MSO_DME2_CLIENT_READ_TIMEOUT="10000" \\r
+  MSO_POLLING_INTERVAL_MSECS="10000" \\r
+  VID_MSO_USER="InfraPortalClient" \\r
+  MSO_DME2_ENABLED="false"\r
+\r
+# Portal variables\r
+ENV VID_CONTACT_US_LINK="https://todo_contact_us_link.com" \\r
+  VID_ECOMP_REDIRECT_URL="http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/login.htm" \\r
+  VID_ECOMP_REST_URL="http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/auxapi" \\r
+  VID_ECOMP_SHARED_CONTEXT_REST_URL="http://portal.api.simpledemo.onap.org:8989/ONAPPORTAL/context"\r
+\r
+# Custom options\r
+ENV JAVA_OPTS="-Xmx1536m -Xms1536m"\r
+ENV CATALINA_OPTS="-Dvid.keystore.password=${VID_KEYSTORE_PASSWORD} -Dvid.keyalias=vid@vid.onap.org -Dvid.keystore.filename=${VID_KEYSTORE_FILENAME}"\r
 \r
 ADD maven/config/org.onap.vid.jks ${VID_KEYSTORE_FILENAME}\r
 ADD maven/config/org.onap.vid.trust.jks ${VID_TRUSTSTORE_FILENAME}\r
 ADD maven/config/server.xml ${VID_TOMCAT_PATH}\r
-\r
 ADD maven/scripts/*.sh /tmp/vid/\r
 ADD maven/artifacts/vid.war /tmp/vid/stage/\r
 \r