Initial OpenECOMP MSO commit
[so.git] / packages / docker / src / main / docker / docker-files / Dockerfile.mso-arquillian
1 FROM ecomp/wildfly:1.0
2
3
4 ### File Author / Maintainer
5 MAINTAINER "Ecomp Opensource Team"
6 LABEL Description="This image contains Ecomp Opensource MSO base for arquillian" Version="1.0"
7
8 ARG chef_repo_branch_name
9 ARG chef_repo_address
10 ARG chef_repo_git_name
11 ARG chef_repo_git_username
12 ENV BRANCH_NAME=$chef_repo_branch_name
13 ENV REPO_USERNAME=$chef_repo_git_username
14 ENV REPO_ADDRESS=$chef_repo_address
15 ENV CHEF_REPO_NAME=$chef_repo_git_name
16
17 ### Downloading dependencies
18
19 USER root
20 RUN apt-get install -y curl && curl -LO  https://packages.chef.io/stable/ubuntu/12.04/chefdk_0.17.17-1_amd64.deb && curl -LO http://central.maven.org/maven2/org/mariadb/jdbc/mariadb-java-client/1.5.4/mariadb-java-client-1.5.4.jar && curl -LO http://search.maven.org/remotecontent?filepath=org/jacoco/jacoco/0.7.7.201606060606/jacoco-0.7.7.201606060606.zip && apt-get remove --purge -y curl && apt-get autoremove -y
21 RUN apt-get install -y unzip && unzip jacoco-0.7.7.201606060606.zip -d /tmp/jacoco && apt-get remove --purge -y unzip && apt-get autoremove -y
22 RUN chown -R jboss:jboss /tmp/jacoco
23 ### Install Chef
24 RUN dpkg -i chefdk_0.17.17-1_amd64.deb 
25
26 COPY scripts/init-chef.sh /opt/mso/scripts/init-chef.sh
27 COPY scripts/start-jboss-server.sh /opt/mso/scripts/start-jboss-server.sh
28
29 RUN chown jboss:jboss /opt/mso/scripts/*
30 RUN chmod u+rx /opt/mso/scripts/*
31
32 RUN mkdir /etc/chef
33 RUN chown jboss:jboss /etc/chef
34 RUN chmod u+xrw /etc/chef
35
36 RUN mkdir -p /etc/mso
37 RUN chown -R jboss:jboss /etc/mso
38 RUN chmod u+xrw /etc/mso
39
40 # Setup shared folder
41 RUN mkdir /shared
42 RUN chown jboss:jboss /shared
43
44 # Setup chef folders
45 RUN mkdir /var/berks-cookbooks
46 RUN chown jboss:jboss /var/berks-cookbooks
47 COPY chef-configs/solo.rb /tmp/git/solo.rb
48 RUN chown -R jboss:jboss /tmp/git/
49
50 COPY id_rsa /home/jboss/user
51 RUN chmod 600 /home/jboss/user
52 RUN chown -R jboss:jboss /home/jboss
53
54 # Start Chef config
55 RUN mkdir -p /var/nodes
56 RUN chown jboss:jboss /var/nodes
57
58 RUN mkdir -p /home/jboss/.chef/nodes
59 RUN mkdir /home/jboss/.ssh
60
61
62 RUN apt-get install -y git && sed -i "s@jboss:/bin/false@jboss:/bin/bash@g" /etc/passwd && su jboss -c "/opt/mso/scripts/init-chef.sh" && sed -i "s@jboss:/bin/bash@jboss:/bin/false@g" /etc/passwd && apt-get remove --purge -y git  && apt-get autoremove -y
63 RUN rm -rf /home/jboss/.ssh
64 RUN rm /home/jboss/user
65 RUN echo "" > /shared/mso-docker.json
66 RUN echo "" > /shared/jacoco-it.exec
67 RUN ls -latr /
68 RUN ls -latr /shared
69 RUN chown jboss:jboss /shared/jacoco-it.exec
70 RUN mv /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker-init.json
71 RUN ln -s /shared/mso-docker.json /var/berks-cookbooks/${CHEF_REPO_NAME}/environments/mso-docker.json
72 RUN rm -rf /tmp/git
73
74 ## Create the log folder for MSO
75 RUN mkdir -p /var/log/ecomp/MSO/
76 RUN chown jboss:jboss /var/log/ecomp/MSO
77
78 ### Configure Jboss WildFly
79 RUN mkdir -p $JBOSS_HOME/modules/mariadb/main
80 RUN cp mariadb-java-client-1.5.4.jar $JBOSS_HOME/modules/mariadb/main
81 COPY jboss-configs/modules/mariadb/main/module.xml $JBOSS_HOME/modules/mariadb/main
82 COPY jboss-configs/configuration/standalone-full-ha.xml $JBOSS_HOME/standalone/configuration/standalone-full-ha-mso.xml
83 COPY jboss-configs/configuration/mgmt-users.properties $JBOSS_HOME/standalone/configuration/mgmt-users.properties
84 COPY jboss-configs/configuration/mgmt-groups.properties $JBOSS_HOME/standalone/configuration/mgmt-groups.properties
85 COPY jboss-configs/configuration/application-users.properties $JBOSS_HOME/standalone/configuration/application-users.properties
86 COPY jboss-configs/configuration/application-roles.properties $JBOSS_HOME/standalone/configuration/application-roles.properties
87
88 RUN echo "JAVA_OPTS=\"\$JAVA_OPTS -Xms64m -Xmx4g -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=1g -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0 -Dmso.db=MARIADB -Dmso.config.path=/etc/mso/config.d/ -javaagent:/tmp/jacoco/lib/jacocoagent.jar=destfile=/shared/jacoco-it.exec,dumponexit=true,append=false,includes=com.att.*:org.openecomp.*\"" >> $JBOSS_HOME/bin/standalone.conf
89 RUN echo "LAUNCH_JBOSS_IN_BACKGROUND=true" >> $JBOSS_HOME/bin/standalone.conf
90
91 ### Open Ports
92 EXPOSE 8080 9990
93
94 VOLUME /shared
95
96 ### Start EAP
97 USER root
98 CMD ["/opt/mso/scripts/start-jboss-server.sh"]
99