diff options
author | priyanshu <pagarwal@amdocs.com> | 2018-05-28 15:29:26 +0300 |
---|---|---|
committer | Vitaly Emporopulo <Vitaliy.Emporopulo@amdocs.com> | 2018-05-29 08:59:17 +0000 |
commit | daf0dfe8308a259d168734d3fe98212cadad1a9e (patch) | |
tree | 921c28edbda67f876fd88935f0a50fec6eb98e11 /services | |
parent | 80a35922da9c0244e736a87fea3007de92822967 (diff) |
Activity Spec docker enhancements
Activity Spec Changes for docker in Kubernetes
Change-Id: I987fe097792ccd5d41a0ad811602dad72259d45f
Issue-ID: SDC-1048
Signed-off-by: priyanshu <pagarwal@amdocs.com>
Diffstat (limited to 'services')
11 files changed, 137 insertions, 56 deletions
diff --git a/services/activity-spec/activity-spec-init/Dockerfile b/services/activity-spec/activity-spec-init/Dockerfile index 09361461dd..a940b20c5f 100644 --- a/services/activity-spec/activity-spec-init/Dockerfile +++ b/services/activity-spec/activity-spec-init/Dockerfile @@ -2,8 +2,6 @@ FROM alpine:3.7 RUN apk add --no-cache 'python<3' py-pip && pip install cqlsh==4.0.1 -ENV CASSANDRA_PORT=9160 - COPY create_activityspec_db.cql . COPY start.sh . diff --git a/services/activity-spec/activity-spec-init/start.sh b/services/activity-spec/activity-spec-init/start.sh index defc8efedf..582f0bde0a 100644 --- a/services/activity-spec/activity-spec-init/start.sh +++ b/services/activity-spec/activity-spec-init/start.sh @@ -1,8 +1,18 @@ #!/bin/sh -if [[ -z "${CASSANDRA_HOST}" ]]; then - echo "CASSANDRA_HOST environment variable must be set" +if [[ -z "${CS_USER}" ]]; then + echo "CS_USER environment variable must be set" exit 1 fi -cqlsh -f /create_activityspec_db.cql $CASSANDRA_HOST $CASSANDRA_PORT
\ No newline at end of file +if [[ -z "${CS_PASSWORD}" ]]; then + echo "CS_PASSWORD environment variable must be set" + exit 1 +fi + +if [[ -z "${CS_HOST}" ]]; then + echo "CS_HOST environment variable must be set" + exit 1 +fi + +cqlsh -u $CS_USER -p $CS_PASSWORD -f /create_activityspec_db.cql $CS_HOST $CS_PORT diff --git a/services/activity-spec/activity-spec-web/Dockerfile b/services/activity-spec/activity-spec-web/Dockerfile deleted file mode 100644 index fe7e20bd3c..0000000000 --- a/services/activity-spec/activity-spec-web/Dockerfile +++ /dev/null @@ -1,27 +0,0 @@ -FROM jetty:9.4.9-alpine - -EXPOSE 8080 -EXPOSE 8443 -EXPOSE 5005 - -ARG ARTIFACT_VERSION - -ENV LOGBACK_FILE_DIR /etc/onap/activity-spec/be/ - -# See https://hub.docker.com/_/jetty/ -ARG WEBAPPS_DIR=${JETTY_BASE}/webapps/ - -COPY activity-spec-api-docs/target/activity-spec-api-docs-${ARTIFACT_VERSION}.war ${WEBAPPS_DIR} - -COPY activity-spec-war/target/activity-spec-war-${ARTIFACT_VERSION}.war ${WEBAPPS_DIR} - -COPY activity-spec-assembly/configuration.yaml . -COPY activity-spec-assembly/start.sh . -COPY activity-spec-assembly/logback.xml ${LOGBACK_FILE_DIR} - -USER root - -RUN chown jetty:jetty start.sh -RUN chmod 744 start.sh - -ENTRYPOINT ["./start.sh"]
\ No newline at end of file diff --git a/services/activity-spec/activity-spec-web/activity-spec-assembly/configuration.yaml b/services/activity-spec/activity-spec-web/activity-spec-assembly/configuration.yaml deleted file mode 100644 index cc54430ba3..0000000000 --- a/services/activity-spec/activity-spec-web/activity-spec-assembly/configuration.yaml +++ /dev/null @@ -1,9 +0,0 @@ -cassandraConfig: - cassandraHosts: ['CASSANDRA_HOST'] - reconnectTimeout : 30000 - authenticate: false - username: asdc_user - password: Aa1234%^! - ssl: false - truststorePath : /path/path - truststorePassword : Aa123456
\ No newline at end of file diff --git a/services/activity-spec/activity-spec-web/activity-spec-assembly/start.sh b/services/activity-spec/activity-spec-web/activity-spec-assembly/start.sh deleted file mode 100644 index d4a02293d9..0000000000 --- a/services/activity-spec/activity-spec-web/activity-spec-assembly/start.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -if [[ -z "${CASSANDRA_HOST}" ]]; then - echo "CASSANDRA_HOST environment variable must be set" - exit 1 -fi - -#Replace 'CASSANDRA_HOST' in configuration.yaml with value of CASSANDRA_HOST environment variable -sed -i "s/CASSANDRA_HOST/${CASSANDRA_HOST}/" configuration.yaml - -java -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 "$JETTY_HOME/start.jar" -Dconfiguration.yaml=configuration.yaml -Dlogback.configurationFile=${LOGBACK_FILE_DIR}/logback.xml
\ No newline at end of file diff --git a/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/Dockerfile b/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/Dockerfile new file mode 100644 index 0000000000..adbde5e441 --- /dev/null +++ b/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/Dockerfile @@ -0,0 +1,24 @@ +FROM jetty:9.4.9-alpine + +EXPOSE 8080 +EXPOSE 8443 +EXPOSE 5005 + +USER root + +RUN mkdir -p /etc/onap/activity-spec/be +RUN mkdir -p /var/log/ONAP/activity-spec/be + +ENV CONFIG_FILES_DIR /etc/onap/activity-spec/be +ENV LOGS_DIR /var/log/ONAP/activity-spec/be + +ADD activity-spec-api-docs-*.war ${JETTY_BASE}/webapps/ +ADD activity-spec-war-*.war ${JETTY_BASE}/webapps/ + +COPY start.sh . +COPY logback.xml ${CONFIG_FILES_DIR} + +RUN chown -R jetty:jetty ${JETTY_BASE}/webapps +RUN chmod 744 start.sh + +ENTRYPOINT [ "./start.sh" ]
\ No newline at end of file diff --git a/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/ReadMe/Activity_Spec_Manual_Steps_And_Commands.txt b/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/ReadMe/Activity_Spec_Manual_Steps_And_Commands.txt new file mode 100644 index 0000000000..c724498349 --- /dev/null +++ b/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/ReadMe/Activity_Spec_Manual_Steps_And_Commands.txt @@ -0,0 +1,14 @@ +# Steps to run activiti-spec docker + +1. Create a directory on host machine to hold configuration file. +2. Copy the provided configuration.yaml in this new;y created directory and populate real enviornment value of Cassandra to which activity-spec web service needs to be connected. +3. Execute below commands to start docker containers. + +# 1. Start activity-spec container +docker run -d --name <CONTAINER_NAME> -e JAVA_OPTIONS="-Xmx128m -Xms128m -Xss1m" -v <CONFIG_FILE_DIRECTORY_PATH>:/etc/onap/activity-spec/be/config -p <PORT_TO_HOST_SERVICE>:8080 <IMAGE_NAME> +# 2. Start activity-spec-init container +docker run -d --name <CONTAINER_NAME> -e CS_HOST=<CS_HOST_IP> -e CS_PORT=<CS_PORT> -e CS_USER=<CS_USER> -e CS_PASSWORD=<CS_PASSWORD> <IMAGE_NAME> + +# Example Commands +docker run -d --name sdc-act -e JAVA_OPTIONS="-Xmx128m -Xms128m -Xss1m" -v /data/environments:/etc/onap/activity-spec/be/config -p 8090:8080 onap/activity-spec:1.2.0-SNAPSHOT +docker run -d --name sdc-act-init -e CS_HOST=172.17.0.2 -e CS_USER=asdc_user -e CS_PORT=9160 -e CS_PASSWORD=Aa1234%^! onap/activity-spec-init:1.2.0-SNAPSHOT diff --git a/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/ReadMe/configuration.yaml b/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/ReadMe/configuration.yaml new file mode 100644 index 0000000000..bedf36c5db --- /dev/null +++ b/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/ReadMe/configuration.yaml @@ -0,0 +1,11 @@ +cassandraConfig: + cassandraHosts: ['${CS_HOST}'] + reconnectTimeout : 30000 + socketReadTimeout: 20000 + socketConnectTimeout: 20000 + authenticate: true + username: ${CS_USER} + password: ${CS_PASSWORD} + ssl: ${CS_SSL_ENABLED} + truststorePath : ${CS_TRUST_PATH} + truststorePassword : ${CS_TRUST_PASSWORD}
\ No newline at end of file diff --git a/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/start.sh b/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/start.sh new file mode 100644 index 0000000000..993ace67bf --- /dev/null +++ b/services/activity-spec/activity-spec-web/activity-spec-docker-assembly/start.sh @@ -0,0 +1,10 @@ +#!/bin/sh + +JAVA_OPTIONS=" ${JAVA_OPTIONS} \ + -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 + -Dconfig.home=${CONFIG_FILES_DIR}/config \ + -Dlog.home=${LOGS_DIR} \ + -Dlogback.configurationFile=${CONFIG_FILES_DIR}/logback.xml \ + -Dconfiguration.yaml=${CONFIG_FILES_DIR}/config/configuration.yaml" + +java -jar "$JETTY_HOME/start.jar" ${JAVA_OPTIONS}
\ No newline at end of file diff --git a/services/activity-spec/activity-spec-web/activity-spec-assembly/logback.xml b/services/activity-spec/activity-spec-web/activity-spec-service/src/main/resources/config/logback.xml index 949510aac9..949510aac9 100644 --- a/services/activity-spec/activity-spec-web/activity-spec-assembly/logback.xml +++ b/services/activity-spec/activity-spec-web/activity-spec-service/src/main/resources/config/logback.xml diff --git a/services/activity-spec/activity-spec-web/pom.xml b/services/activity-spec/activity-spec-web/pom.xml index a1df9771fd..d565010c75 100644 --- a/services/activity-spec/activity-spec-web/pom.xml +++ b/services/activity-spec/activity-spec-web/pom.xml @@ -26,6 +26,70 @@ </activation> <build> <plugins> + <plugin> + <artifactId>maven-resources-plugin</artifactId> + <version>3.0.2</version> + <executions> + <execution> + <id>copy-activity-spec-docker-assembly</id> + <phase>verify</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>target/activity-spec-docker-assembly</outputDirectory> + <resources> + <resource> + <directory>${project.basedir}/activity-spec-docker-assembly</directory> + </resource> + </resources> + </configuration> + </execution> + <execution> + <id>copy-static-configuration-files</id> + <phase>verify</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>target/activity-spec-docker-assembly</outputDirectory> + <resources> + <resource> + <directory>${project.basedir}/activity-spec-service/src/main/resources/config</directory> + <includes> + <include>logback.xml</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + <execution> + <id>copy-resources</id> + <phase>verify</phase> + <goals> + <goal>copy-resources</goal> + </goals> + <configuration> + <outputDirectory>target/activity-spec-docker-assembly</outputDirectory> + <resources> + <resource> + <directory>${project.basedir}/activity-spec-war/target</directory> + <includes> + <include>activity-spec-war-${project.version}.war</include> + </includes> + </resource> + <resource> + <directory>${project.basedir}/activity-spec-api-docs/target + </directory> + <includes> + <include>activity-spec-api-docs-${project.version}.war</include> + </includes> + </resource> + </resources> + </configuration> + </execution> + </executions> + </plugin> <plugin> <groupId>io.fabric8</groupId> <artifactId>docker-maven-plugin</artifactId> @@ -37,11 +101,8 @@ <tags> <tag>${project.version}</tag> </tags> - <dockerFileDir>${project.basedir}</dockerFileDir> + <dockerFileDir>${project.basedir}/target/activity-spec-docker-assembly</dockerFileDir> <dockerFile>Dockerfile</dockerFile> - <args> - <ARTIFACT_VERSION>${project.version}</ARTIFACT_VERSION> - </args> </build> </image> </images> |