Create base Ubuntu container 23/7123/1
authorDan Timoney <dtimoney@att.com>
Wed, 9 Aug 2017 17:37:32 +0000 (13:37 -0400)
committerDan Timoney <dtimoney@att.com>
Wed, 9 Aug 2017 17:37:43 +0000 (13:37 -0400)
Create base docker container for Ubuntu 16.04 LTS with packages needed for CCSDK SLI

Issue-ID: CCSDK-27
Change-Id: I17a88fc2539f58ee6ced12ea64fbce45bc16a5ff
Signed-off-by: Dan Timoney <dtimoney@att.com>
.gitignore [new file with mode: 0755]
pom.xml [new file with mode: 0644]
ubuntu/pom.xml [new file with mode: 0644]
ubuntu/src/main/docker/Dockerfile [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100755 (executable)
index 0000000..f9801b8
--- /dev/null
@@ -0,0 +1,44 @@
+#####standard .git ignore entries#####
+
+## IDE Specific Files ##
+org.eclipse.core.resources.prefs
+.classpath
+.project
+.settings
+.idea
+.externalToolBuilders
+.checkstyle
+maven-eclipse.xml
+workspace
+
+## Compilation Files ##
+*.class
+**/target
+target
+target-ide
+MANIFEST.MF
+
+## Misc Ignores (OS specific etc) ##
+bin/
+dist
+*~
+*.ipr
+*.iml
+*.iws
+classes
+out/
+.DS_STORE
+.metadata
+
+## antlr4 generated files ##
+ExprGrammarBaseListener.java
+ExprGrammarLexer.java
+ExprGrammarListener.java
+ExprGrammarParser.java
+ExprGrammar.tokens
+ExprGrammarLexer.tokens
+
+# BlackDuck generated file
+sdnc-core_bdio.jsonld
+blackDuckHubProjectName.txt
+blackDuckHubProjectVersionName.txt
diff --git a/pom.xml b/pom.xml
new file mode 100644 (file)
index 0000000..8c9e5eb
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+       <parent>
+               <groupId>org.onap.ccsdk.parent</groupId>
+               <artifactId>odlparent-boron-sr3</artifactId>
+               <version>0.0.1-SNAPSHOT</version>
+       </parent>
+
+       <modelVersion>4.0.0</modelVersion>
+       <packaging>pom</packaging>
+       <groupId>org.onap.ccsdk.distribution</groupId>
+       <artifactId>distribution-root</artifactId>
+       <version>0.0.1-SNAPSHOT</version>
+
+       <name>Distribution</name>
+       <description>Creates distributuon bundles for CCSDK</description>
+
+       <properties>
+               <application.name>distribution</application.name>
+
+               <maven.build.timestamp.format>yyMMdd-HHmmss</maven.build.timestamp.format>
+               <build.number>${maven.build.timestamp}</build.number>
+               <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+               <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
+       </properties>
+
+    <modules>
+        <module>ubuntu</module>
+    </modules>
+</project>
diff --git a/ubuntu/pom.xml b/ubuntu/pom.xml
new file mode 100644 (file)
index 0000000..504d673
--- /dev/null
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+       <parent>
+               <groupId>org.onap.ccsdk.distribution</groupId>
+               <artifactId>distribution-root</artifactId>
+               <version>0.0.1-SNAPSHOT</version>
+       </parent>
+
+       <modelVersion>4.0.0</modelVersion>
+       <packaging>pom</packaging>
+       <artifactId>distribution-ubuntu</artifactId>
+       <version>0.0.1-SNAPSHOT</version>
+
+       <name>Distribution - ubuntu</name>
+       <description>Creates base ubuntu Docker container</description>
+
+       <properties>
+               <image.name>onap/ccsdk-ubuntu-image</image.name>
+               <ccsdk.project.version>${project.version}</ccsdk.project.version>
+       </properties>
+
+
+       <build>
+               <plugins>
+
+                       <plugin>
+                               <groupId>org.codehaus.groovy.maven</groupId>
+                               <artifactId>gmaven-plugin</artifactId>
+                               <executions>
+                                       <execution>
+                                               <phase>validate</phase>
+                                               <goals>
+                                                       <goal>execute</goal>
+                                               </goals>
+                                               <configuration>
+                                                       <source>
+                                                               println project.properties['ccsdk.project.version'];
+                                                               def versionArray;
+                                                               if ( project.properties['ccsdk.project.version'] != null ) {
+                                                                       versionArray =
+                                                                       project.properties['ccsdk.project.version'].split('\\.');
+                                                               }
+
+                                                               if (project.properties['ccsdk.project.version'].endsWith("-SNAPSHOT")) {
+                                                                       project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
+                                                               } else {
+                                                                       project.properties['project.docker.latesttag.version']=versionArray[0] + '.' + versionArray[1] + "-STAGING-latest";
+                                                               }
+
+                                                               println 'New Tag for docker:' +
+                                                               project.properties['project.docker.latesttag.version'];
+                                                       </source>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+                       <plugin>
+                               <groupId>io.fabric8</groupId>
+                               <artifactId>docker-maven-plugin</artifactId>
+                               <version>0.16.5</version>
+                               <inherited>false</inherited>
+                               <configuration>
+
+                                       <images>
+                                               <image>
+                                                       <name>${image.name}</name>
+                                                       <build>
+                                                               <cleanup>try</cleanup>
+                                                               <dockerFileDir>${basedir}/target/docker-stage</dockerFileDir>
+                                                               <dockerFile>${basedir}/target/docker-stage/Dockerfile</dockerFile>
+                                                               <tags>
+                                                                       <tag>${project.version}</tag>
+                                                                       <tag>${project.version}-STAGING-${maven.build.timestamp}</tag>
+                                                                       <tag>${project.docker.latesttag.version}</tag>
+                                                               </tags>
+                                                       </build>
+                                               </image>
+                                       </images>
+                               </configuration>
+                               <executions>
+                                       <execution>
+                                               <id>generate-images</id>
+                                               <phase>generate-sources</phase>
+                                               <goals>
+                                                       <goal>build</goal>
+                                               </goals>
+                                       </execution>
+
+                                       <execution>
+                                               <id>push-images</id>
+                                               <phase>deploy</phase>
+                                               <goals>
+                                                       <goal>build</goal>
+                                                       <goal>push</goal>
+                                               </goals>
+                                       </execution>
+                               </executions>
+                       </plugin>
+
+                       <plugin>
+                               <artifactId>maven-resources-plugin</artifactId>
+                               <version>2.6</version>
+                               <executions>
+                                       <execution>
+                                               <id>copy-dockerfile</id>
+                                               <goals>
+                                                       <goal>copy-resources</goal>
+                                               </goals><!-- here the phase you need -->
+                                               <phase>validate</phase>
+                                               <configuration>
+                                                       <outputDirectory>${basedir}/target/docker-stage</outputDirectory>
+                                                       <resources>
+                                                               <resource>
+                                                                       <directory>src/main/docker</directory>
+                                                                       <includes>
+                                                                               <include>Dockerfile</include>
+                                                                       </includes>
+                                                                       <filtering>true</filtering>
+                                                               </resource>
+                                                       </resources>
+                                               </configuration>
+                                       </execution>
+                               </executions>
+                       </plugin>
+               </plugins>
+
+       </build>
+       <organization>
+               <name>openECOMP</name>
+       </organization>
+</project>
diff --git a/ubuntu/src/main/docker/Dockerfile b/ubuntu/src/main/docker/Dockerfile
new file mode 100644 (file)
index 0000000..0066e76
--- /dev/null
@@ -0,0 +1,15 @@
+# Base ubuntu with added packages needed for open ecomp
+FROM ubuntu:16.04
+MAINTAINER CCSDK  Team (onap-ccsdk@lists.onap.org)
+
+ARG HTTP_PROXY
+ARG HTTPS_PROXY
+
+ENV HTTP_PROXY  ${HTTP_PROXY}
+ENV HTTPS_PROXY ${HTTPS_PROXY}
+
+RUN if [ ! -z ${HTTP_PROXY} ]; then echo "Acquire::http::proxy  \"${HTTP_PROXY}\";" >> /etc/apt/apt.conf; fi && \
+    if [ ! -z ${HTTPS_PROXY} ]; then echo "Acquire::https::proxy \"${HTTPS_PROXY}\";" >> /etc/apt/apt.conf; fi
+
+# Add tools needed for OpenDaylight
+RUN apt-get update && apt-get install -y git openjdk-8-jdk maven mysql-client nodejs nodejs-legacy python-pip graphviz npm unzip