summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien Barbot <julien@barbot.org>2018-08-24 17:34:50 +0200
committerJulien Barbot <julien@barbot.org>2018-08-27 17:40:56 +0200
commit70e1c3af97747c0e4972a6de68dd135a6ea9470c (patch)
treef842cd4e7f3efa2f4c489a6c91e506e3b942c7ef
parent88e7ac4f5511e8bc51b61ff0b7d55a270cd46a80 (diff)
Add pnda-bootstrap container creation
Change-Id: I9cd64fe38d3990b82d21e68cb41e870407a60d27 Issue-ID: DCAEGEN2-701 Signed-off-by: Julien Barbot <julien@barbot.org>
-rwxr-xr-xmvn-phase-script.sh2
-rw-r--r--pnda-bootstrap-container/Dockerfile35
-rw-r--r--pnda-bootstrap-container/README.md8
-rw-r--r--pnda-bootstrap-container/pom.xml144
4 files changed, 188 insertions, 1 deletions
diff --git a/mvn-phase-script.sh b/mvn-phase-script.sh
index de4d82d..3aea64f 100755
--- a/mvn-phase-script.sh
+++ b/mvn-phase-script.sh
@@ -83,7 +83,7 @@ deploy)
upload_files_of_extension sh
build_and_push_docker
;;
- k8s-bootstrap-container|tca-cdap-container|cm-container|redis-cluster-container|healthcheck-container|pnda-mirror-container)
+ k8s-bootstrap-container|tca-cdap-container|cm-container|redis-cluster-container|healthcheck-container|pnda-mirror-container|pnda-bootstrap-container)
build_and_push_docker
;;
scripts|cloud_init|heat)
diff --git a/pnda-bootstrap-container/Dockerfile b/pnda-bootstrap-container/Dockerfile
new file mode 100644
index 0000000..6a93aa9
--- /dev/null
+++ b/pnda-bootstrap-container/Dockerfile
@@ -0,0 +1,35 @@
+# ============LICENSE_START=======================================================
+# org.onap.dcae
+# ================================================================================
+# Copyright (c) 2018 Cisco Systems. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=========================================================
+
+FROM python:2.7.15 as build
+
+ARG PNDARELEASE=develop
+
+# RUN git clone -b $PNDARELEASE https://github.com/pndaproject/pnda-cli.git
+# Use this repository temporary until it's merged into PNDA upstream
+RUN git clone -b existing-network https://github.com/donaldh/pnda-cli.git
+RUN git clone -b $PNDARELEASE https://github.com/pndaproject/platform-salt.git
+
+RUN pip2 install --no-cache-dir -r pnda-cli/cli/requirements.txt --install-option="--prefix=/install"
+
+FROM python:2.7.15-alpine3.8
+COPY --from=build /install /usr/local
+COPY --from=build /pnda-cli /pnda-cli
+COPY --from=build /platform-salt /platform-salt
+
+RUN apk add --no-cache curl jq openssl openssh
diff --git a/pnda-bootstrap-container/README.md b/pnda-bootstrap-container/README.md
new file mode 100644
index 0000000..43e089e
--- /dev/null
+++ b/pnda-bootstrap-container/README.md
@@ -0,0 +1,8 @@
+# PNDA Boostrap container
+## Purpose
+The artifacts in this directory build a Docker image including the PNDA CLI.
+The CLI allows the bootstrap of a PNDA container.
+
+## Running the Container
+The container is intended to be launched via a Helm chart as part
+of the ONAP deployment process, guided by OOM.
diff --git a/pnda-bootstrap-container/pom.xml b/pnda-bootstrap-container/pom.xml
new file mode 100644
index 0000000..3c8dae5
--- /dev/null
+++ b/pnda-bootstrap-container/pom.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0"?>
+<!--
+================================================================================
+Copyright (c) 2018 Cisco Systems. All rights reserved.
+================================================================================
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+============LICENSE_END=========================================================
+
+-->
+<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/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.onap.dcaegen2.deployments</groupId>
+ <artifactId>deployments</artifactId>
+ <version>1.2.0-SNAPSHOT</version>
+ </parent>
+ <groupId>org.onap.dcaegen2.deployments</groupId>
+ <artifactId>pnda-bootstrap-container</artifactId>
+ <name>dcaegen2-deployments-pnda-bootstrap-container</name>
+ <version>5.0.0</version>
+ <url>http://maven.apache.org</url>
+ <properties>
+ <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+ <sonar.skip>true</sonar.skip>
+ <sonar.sources>.</sonar.sources>
+ <sonar.language>py</sonar.language>
+ <sonar.pluginName>Python</sonar.pluginName>
+ <sonar.inclusions>**/*.py</sonar.inclusions>
+ </properties>
+ <build>
+ <finalName>${project.artifactId}-${project.version}</finalName>
+ <plugins>
+ <!-- now we configure custom action (calling a script) at various lifecycle phases -->
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>exec-maven-plugin</artifactId>
+ <version>1.2.1</version>
+ <executions>
+ <execution>
+ <id>clean phase script</id>
+ <phase>clean</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <arguments>
+ <argument>${project.artifactId}</argument>
+ <argument>clean</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ <execution>
+ <id>generate-sources script</id>
+ <phase>generate-sources</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <arguments>
+ <argument>${project.artifactId}</argument>
+ <argument>generate-sources</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ <execution>
+ <id>compile script</id>
+ <phase>compile</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <arguments>
+ <argument>${project.artifactId}</argument>
+ <argument>compile</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ <execution>
+ <id>package script</id>
+ <phase>package</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <arguments>
+ <argument>${project.artifactId}</argument>
+ <argument>package</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ <execution>
+ <id>test script</id>
+ <phase>test</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <arguments>
+ <argument>${project.artifactId}</argument>
+ <argument>test</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ <execution>
+ <id>install script</id>
+ <phase>install</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <arguments>
+ <argument>${project.artifactId}</argument>
+ <argument>install</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ <execution>
+ <id>deploy script</id>
+ <phase>deploy</phase>
+ <goals>
+ <goal>exec</goal>
+ </goals>
+ <configuration>
+ <arguments>
+ <argument>${project.artifactId}</argument>
+ <argument>deploy</argument>
+ </arguments>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+</project>