diff options
author | 2017-02-14 15:12:15 +0000 | |
---|---|---|
committer | 2017-02-14 15:12:17 +0000 | |
commit | f80e6a127d51d68ff6c77196767ea8ea10e73243 (patch) | |
tree | 4d0cf0ec81578cedcf196940730685f2bbf28870 /dcae-demo-controller | |
parent | 055adf10fbc9893772f4d799c5af053fe098e144 (diff) |
Init dcae.demo
Change-Id: Ifc50405276e40c6458d236cd218764573551a7aa
Signed-off-by: lj1412 <lji@research.att.com>
Diffstat (limited to 'dcae-demo-controller')
21 files changed, 696 insertions, 0 deletions
diff --git a/dcae-demo-controller/.classpath b/dcae-demo-controller/.classpath new file mode 100644 index 0000000..fa00585 --- /dev/null +++ b/dcae-demo-controller/.classpath @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<classpath> + <classpathentry kind="src" path="src/main/docker-build"/> + <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> + <attributes> + <attribute name="maven.pomderived" value="true"/> + </attributes> + </classpathentry> + <classpathentry kind="output" path="target/classes"/> +</classpath> diff --git a/dcae-demo-controller/.gitignore b/dcae-demo-controller/.gitignore new file mode 100644 index 0000000..b83d222 --- /dev/null +++ b/dcae-demo-controller/.gitignore @@ -0,0 +1 @@ +/target/ diff --git a/dcae-demo-controller/.project b/dcae-demo-controller/.project new file mode 100644 index 0000000..2000556 --- /dev/null +++ b/dcae-demo-controller/.project @@ -0,0 +1,23 @@ +<?xml version="1.0" encoding="UTF-8"?> +<projectDescription> + <name>dcae-controller-opensource</name> + <comment></comment> + <projects> + </projects> + <buildSpec> + <buildCommand> + <name>org.eclipse.jdt.core.javabuilder</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>org.eclipse.m2e.core.maven2Builder</name> + <arguments> + </arguments> + </buildCommand> + </buildSpec> + <natures> + <nature>org.eclipse.jdt.core.javanature</nature> + <nature>org.eclipse.m2e.core.maven2Nature</nature> + </natures> +</projectDescription> diff --git a/dcae-demo-controller/.settings/org.eclipse.jdt.core.prefs b/dcae-demo-controller/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..abec6ca --- /dev/null +++ b/dcae-demo-controller/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,5 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 +org.eclipse.jdt.core.compiler.compliance=1.5 +org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning +org.eclipse.jdt.core.compiler.source=1.5 diff --git a/dcae-demo-controller/.settings/org.eclipse.m2e.core.prefs b/dcae-demo-controller/.settings/org.eclipse.m2e.core.prefs new file mode 100644 index 0000000..f897a7f --- /dev/null +++ b/dcae-demo-controller/.settings/org.eclipse.m2e.core.prefs @@ -0,0 +1,4 @@ +activeProfiles= +eclipse.preferences.version=1 +resolveWorkspaceProjects=true +version=1 diff --git a/dcae-demo-controller/LICENSE.txt b/dcae-demo-controller/LICENSE.txt new file mode 100644 index 0000000..30471b5 --- /dev/null +++ b/dcae-demo-controller/LICENSE.txt @@ -0,0 +1,22 @@ + +/*- + * ============LICENSE_START========================================== + * OPENECOMP - DCAE + * =================================================================== + * Copyright (c) 2017 AT&T Intellectual Property. 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============================================ + */ + +ECOMP and OpenECOMP are trademarks and service marks of AT&T Intellectual Property. diff --git a/dcae-demo-controller/pom.xml b/dcae-demo-controller/pom.xml new file mode 100644 index 0000000..ba45ffa --- /dev/null +++ b/dcae-demo-controller/pom.xml @@ -0,0 +1,231 @@ +<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> + <groupId>org.openecomp.dcae.demo</groupId> + <artifactId>dcae-demo-controller</artifactId> + <version>0.1.0-SNAPSHOT</version> + <packaging>pom</packaging> + + + <pluginRepositories> + <!-- Black Duck plugin dependencies --> + <pluginRepository> + <id>JCenter</id> + <name>JCenter Repository</name> + <url>http://jcenter.bintray.com</url> + </pluginRepository> + + <pluginRepository> + <id>Restlet</id> + <name>Restlet Repository</name> + <url>http://maven.restlet.com</url> + </pluginRepository> + </pluginRepositories> +<build> + <plugins> + <!-- blackduck maven plugin --> + <plugin> + <groupId>com.blackducksoftware.integration</groupId> + <artifactId>hub-maven-plugin</artifactId> + <version>1.4.0</version> + <inherited>false</inherited> + <configuration> + <hubProjectName>${project.name}</hubProjectName> + <outputDirectory>${project.basedir}</outputDirectory> + </configuration> + <executions> + <execution> + <id>create-bdio-file</id> + <phase>package</phase> + <goals> + <goal>createHubOutput</goal> + </goals> + </execution> + </executions> + </plugin> + <!-- site maven plugin --> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <version>3.6</version> + <dependencies> + <dependency> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-webdav-jackrabbit</artifactId> + <version>2.10</version> + </dependency> + </dependencies> + </plugin> + + <plugin> + <artifactId>maven-assembly-plugin</artifactId> + <version>2.6</version> + <executions> + <execution> + <id>zipfile</id> + <goals> + <goal>single</goal> + </goals> + <phase>package</phase> + <configuration> + <attach>false</attach> + <finalName>${project.artifactId}-${project.version}</finalName> + <descriptors> + <descriptor>src/assembly/assemble_zip.xml</descriptor> + </descriptors> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-dependency-plugin</artifactId> + <version>2.8</version> + <executions> + <execution> + <id>copy-dependencies</id> + <goals> + <goal>copy-dependencies</goal> + </goals> + <phase>prepare-package</phase> + <configuration> + <transitive>false</transitive> + <outputDirectory>${project.build.directory}/assembly/lib</outputDirectory> + <overWriteReleases>false</overWriteReleases> + <overWriteSnapshots>true</overWriteSnapshots> + <overWriteIfNewer>true</overWriteIfNewer> + <useRepositoryLayout>false</useRepositoryLayout> + <addParentPoms>false</addParentPoms> + <copyPom>false</copyPom> + <excludeGroupIds>org.opendaylight,com.brocade.odl,ch.qos.logback,org.bouncycastle</excludeGroupIds> + <includeScope>runtime</includeScope> + </configuration> + </execution> + </executions> + </plugin> + + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>sonar-maven-plugin</artifactId> + <version>3.2</version> + </plugin> + <plugin> + <artifactId>maven-scm-plugin</artifactId> + <version>1.8.1</version> + <configuration> + <tag>${project.artifactId}-${project.version}</tag> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.9</version> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-site-plugin</artifactId> + <version>3.6</version> + <dependencies> + <dependency> + <groupId>org.apache.maven.wagon</groupId> + <artifactId>wagon-webdav-jackrabbit</artifactId> + <version>2.10</version> + </dependency> + </dependencies> + </plugin> + </plugins> + </build> + + + + <distributionManagement> + <repository> + <id>osecomp-nexus-releases</id> + <name>OSECOMP Release Repository</name> + <url>${openecomp.nexus.releases}</url> + </repository> + <snapshotRepository> + <id>osecomp-nexus-snapshots</id> + <name>OSECOMP Snapshot Repository</name> + <url>${openecomp.nexus.snapshots}</url> + </snapshotRepository> + <site> + <id>dcae-javadoc</id> + <url>${site.urlroot}/${project.artifactId}/${project.version}/</url> + </site> + </distributionManagement> + + <reporting> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-javadoc-plugin</artifactId> + <version>2.10.4</version> + <configuration> + <failOnError>false</failOnError> + <doclet>org.umlgraph.doclet.UmlGraphDoc</doclet> + <docletArtifact> + <groupId>org.umlgraph</groupId> + <artifactId>umlgraph</artifactId> + <version>5.6</version> + </docletArtifact> + <additionalparam>-views</additionalparam> + <useStandardDocletOptions>true</useStandardDocletOptions> + </configuration> + </plugin> + </plugins> + </reporting> + + + <dependencies> + <dependency> + <groupId>org.openecomp.dcae.controller</groupId> + <artifactId>dcae-controller-platform-server</artifactId> + <version>${project.version}</version> + <type>zip</type> + <classifier>runtime</classifier> + </dependency> + <dependency> + <groupId>org.openecomp.dcae.controller</groupId> + <artifactId>dcae-controller-service-storage-postgres-model</artifactId> + <version>${project.version}</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.openecomp.dcae.controller</groupId> + <artifactId>dcae-controller-service-standardeventcollector-manager</artifactId> + <version>${project.version}</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.openecomp.dcae.controller</groupId> + <artifactId>dcae-controller-service-common-vm-manager</artifactId> + <version>${project.version}</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.openecomp.dcae.controller</groupId> + <artifactId>dcae-controller-service-common-docker-manager</artifactId> + <version>${project.version}</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.openecomp.dcae.controller</groupId> + <artifactId>dcae-controller-service-dmaap-drsub-manager</artifactId> + <version>${project.version}</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.openecomp.dcae.controller</groupId> + <artifactId>dcae-controller-operation-utils</artifactId> + <version>${project.version}</version> + <type>jar</type> + </dependency> + <dependency> + <groupId>org.openecomp.dcae.controller.analytics</groupId> + <artifactId>dcae-analytics-cdap-common-model</artifactId> + <version>${project.version}</version> + <type>jar</type> + </dependency> + </dependencies> +</project>
\ No newline at end of file diff --git a/dcae-demo-controller/set-versions.sh b/dcae-demo-controller/set-versions.sh new file mode 100644 index 0000000..4f785c4 --- /dev/null +++ b/dcae-demo-controller/set-versions.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +#set -e +#set -v + +## go to location with clone GIT repositories +cd $(dirname $(dirname $(dirname $0))) + +VERSION=$1 + + + +## handle POM files with no parent +for file in $(find dcae-* -name pom.xml); do + if [ "$(grep -c '<parent>' $file)" == "0" ]; then + ( cd $(dirname $file) ; mvn versions:set versions:commit -DnewVersion=$VERSION -DprocessDependencies=false ) + fi +done + +find . -name pom.xml.versionsBackup -delete + +## handle complete build pom +FILE=dcae-org.openecomp.dcae.controller/pom-complete-build.xml +sed -i "sX<version>.*</version><!--VERSION-->X<version>$VERSION</version><!--VERSION-->X" $FILE + diff --git a/dcae-demo-controller/src/assembly/assemble_zip.xml b/dcae-demo-controller/src/assembly/assemble_zip.xml new file mode 100644 index 0000000..298661d --- /dev/null +++ b/dcae-demo-controller/src/assembly/assemble_zip.xml @@ -0,0 +1,62 @@ +<!-- Defines how we build the .zip file which is our distribution. --> + +<assembly + xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd"> + <id>runtime</id> + <formats> + <format>zip</format> + </formats> + + <!-- we want "system" and related files right at the root level as this + file is suppose to be unzip on top of a karaf distro. --> + <includeBaseDirectory>false</includeBaseDirectory> + + <fileSets> + <fileSet> + <directory>target</directory> + <outputDirectory>lib</outputDirectory> + <includes> + <include>dcae-controller-platform-server-${project.version}.jar</include> + </includes> + </fileSet> + <fileSet> + <directory>target/assembly/</directory> + <outputDirectory>.</outputDirectory> + <excludes> + </excludes> + </fileSet> + <fileSet> + <directory>.</directory> + <outputDirectory>lib</outputDirectory> + <includes> + <include>*.jar</include> + </includes> + </fileSet> + <fileSet> + <directory>src/main/server-gen/bin</directory> + <outputDirectory>bin</outputDirectory> + <fileMode>0744</fileMode> + <excludes> + </excludes> + </fileSet> + <fileSet> + <directory>src/main/server/bin</directory> + <outputDirectory>bin</outputDirectory> + <fileMode>0744</fileMode> + <excludes> + </excludes> + </fileSet> + <fileSet> + <directory>src/main/server-gen/scripts</directory> + <outputDirectory>scripts</outputDirectory> + </fileSet> + <fileSet> + <directory>src/main/server/scripts</directory> + <outputDirectory>scripts</outputDirectory> + </fileSet> + + </fileSets> + +</assembly> diff --git a/dcae-demo-controller/src/main/docker-build/.gitignore b/dcae-demo-controller/src/main/docker-build/.gitignore new file mode 100644 index 0000000..f257a25 --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/.gitignore @@ -0,0 +1,3 @@ +/lib/ +/config.tar.gz +/controller.zip diff --git a/dcae-demo-controller/src/main/docker-build/Dockerfile b/dcae-demo-controller/src/main/docker-build/Dockerfile new file mode 100644 index 0000000..24f7a38 --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/Dockerfile @@ -0,0 +1,18 @@ +FROM ubuntu:14.04 + +ENV DEBIAN_FRONTEND noninteractive + +ADD controller-install.sh /tmp/controller-install.sh +ADD controller.zip /tmp/controller.zip +ADD config.tar.gz /opt/app/dcae-controller-platform-server +ADD controller-startup.sh /opt/app/dcae-controller-platform-server/bin/controller-startup.sh +ADD controller-shutdown.sh /opt/app/dcae-controller-platform-server/bin/controller-shutdown.sh +ADD lib /opt/app/dcae-controller-platform-server/lib +ADD config /opt/app/dcae-controller-platform-server/config +ADD controller.makefile /opt/app/dcae-controller-platform-server/Makefile +ADD bash.setup.sh /root/bash.setup.sh + +RUN /bin/bash /tmp/controller-install.sh + +CMD ["/bin/bash", "-c", "/opt/app/dcae-controller-platform-server/bin/controller-startup.sh"] + diff --git a/dcae-demo-controller/src/main/docker-build/bash.setup.sh b/dcae-demo-controller/src/main/docker-build/bash.setup.sh new file mode 100644 index 0000000..b2120d4 --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/bash.setup.sh @@ -0,0 +1,15 @@ +export JAVA_HOME=/opt/app/java/jdk/jdk170 +export GROOVY_HOME=/opt/app/groovy/246 + +PATH=$JAVA_HOME/bin:$GROOVY_HOME/bin:$PATH + +: ${USER:=root} +PS1="${USER}@`hostname` \!:: " +alias ll='ls -lrt' +alias hi='history 100' +alias rm='rm -i' +bind '"\C-p": history-search-backward' '"\C-n": history-search-forward' + +cd /opt/app/*server + +export ZONE=$(grep ZONE /opt/app/dcae-controller/config.yaml | sed s/ZONE:.//) diff --git a/dcae-demo-controller/src/main/docker-build/build.sh b/dcae-demo-controller/src/main/docker-build/build.sh new file mode 100644 index 0000000..df42c9f --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/build.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +set -e +set -x + +## ensure we are in the right directory. +cd $(dirname $(readlink -e $0)) + +ROOT=../../.. + +## setup files + +rm -rf lib/ +mkdir -p lib + +# copy core controller ZIP file + +cp $ROOT/target/assembly/lib/*zip controller.zip +VERSION=$(grep version $ROOT/pom.xml | head -1 | sed 'sX</.*XX' | sed 's/.*>//') + +# copy JAR required by controller +cp $ROOT/target/assembly/lib/*.jar lib/ + +# copy configuration files for controller +( + cd $ROOT/.. + tar cfz - OPENECOMP-DEMO OPENECOMP-DEMO-RACKSPACE +) > config.tar.gz + +if [ "$1" == "nobuild" ]; then exit; fi + +## build Docker + +docker build -t dcae-controller:$VERSION . + diff --git a/dcae-demo-controller/src/main/docker-build/config/server.private b/dcae-demo-controller/src/main/docker-build/config/server.private new file mode 100644 index 0000000..d22abd8 --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/config/server.private @@ -0,0 +1,12 @@ +MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAKvTz/PWFys6+9A0XDVXxWXrwGbb
+xZgLjHRrmTCbHOFN2wRKUMAOuURxJoQ5iYs0mmKCwHqMph2CihQFNQE5oKYXa0LgZTzqLxlkqjso
+J+3hZ5dN2Vai+OUBP6z/ouJz9I+dsUHtjWdhcctXkqOq7eBxLvNVF9m7PrvdNTw3Wc8FAgMBAAEC
+gYAwVA38Vi4EEb37zI5Wzo4N4aYnCA9meXES2aSnoCkaUayVY1Wc/0cqseyUah5+kdgOdxouHdsn
+F61AfkpvQsclGhq9tstZZbX66ogFYJmzDccuKyRzOoJIv2R4wAskCaMirgXkRsPDHQqu/vaCidWP
+rWM3FIA6HV4iiPfP6KofLQJBANOpbMi6zVbxIzTzs0pCHJQRHJ57NlOCuahUTcJb6CC0fwGoRPCh
+k6YQdtVjtLwrId7GQx0UdlMBc3Dk/zyOcWMCQQDP0joQ0WrL+9TgIoaxCbkk3VHkHr/fKz1A7nsi
+K0wy5wJ/OSJdn64cmZcmEfg4EyZNmD+sXR/41tTbxlg4uJ53AkEAj3U+wRIzSKEpjqM6OrNycTzj
+29qA6LsqoJd7GKd4Pmp3xqTJDRtGWoDAOkNY5UyKqVZReK08wWezWaosAFw/JwJATI420aczXj1A
+p+hQEbtxNoFI/23MZJt7DwZK2cV1ZnLu2orje/Wsn+B8a4vHEnELdR4WppoPgw0wkF06dnqb9QJA
+PONjPqdGNsaaZU459UGImdjWXabfiVnbF5kJ1bFxSmleeewagrHL2O9dOJpgkf/izxJh/0K4aV/v
+KtwC4O8dSg==
diff --git a/dcae-demo-controller/src/main/docker-build/config/server.public b/dcae-demo-controller/src/main/docker-build/config/server.public new file mode 100644 index 0000000..b2d3bb3 --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/config/server.public @@ -0,0 +1,3 @@ +MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCr08/z1hcrOvvQNFw1V8Vl68Bm28WYC4x0a5kw
+mxzhTdsESlDADrlEcSaEOYmLNJpigsB6jKYdgooUBTUBOaCmF2tC4GU86i8ZZKo7KCft4WeXTdlW
+ovjlAT+s/6Lic/SPnbFB7Y1nYXHLV5Kjqu3gcS7zVRfZuz673TU8N1nPBQIDAQAB
diff --git a/dcae-demo-controller/src/main/docker-build/controller-install.sh b/dcae-demo-controller/src/main/docker-build/controller-install.sh new file mode 100644 index 0000000..51c4f82 --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/controller-install.sh @@ -0,0 +1,20 @@ + +set -e + +apt-get update ; apt-get install -y maven openjdk-7-jdk curl dnsutils zip telnet + +### GROOVY +(cd /opt/app ; curl -Lo apache-groovy-binary-2.4.6.zip https://dl.bintray.com/groovy/maven/apache-groovy-binary-2.4.6.zip ) +(cd /opt/app ; unzip apache-groovy-binary-2.4.6.zip ) +mkdir -p /opt/app/groovy +ln -s /opt/app/groovy-2.4.6 /opt/app/groovy/246 + +### JAVA +mkdir -p /opt/app/java/jdk +ln -s /usr /opt/app/java/jdk/jdk170 + +mkdir -p /opt/app/dcae-controller-platform-server + +(cd /opt/app/dcae-controller-platform-server ; unzip -o /tmp/controller.zip) + +chmod +x /opt/app/dcae-controller-platform-server/bin/* diff --git a/dcae-demo-controller/src/main/docker-build/controller-shutdown.sh b/dcae-demo-controller/src/main/docker-build/controller-shutdown.sh new file mode 100644 index 0000000..7f8c6b3 --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/controller-shutdown.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +set -v + +export JAVA_HOME=/opt/app/java/jdk/jdk170 +export GROOVY_HOME=/opt/app/groovy/246 +export PATH=$JAVA_HOME/bin:$GROOVY_HOME/bin:/opt/app/git/2.4.1/bin:$PATH + +export ZONE=$(grep ZONE /opt/app/dcae-controller/config.yaml | sed s/ZONE:.//) + +cd /opt/app/dcae-controller-platform-server + +bin/dcae-controller.sh restart + +bin/dcae-controller.sh undeploy-service-instance -i $ZONE -s vm-docker-host-1 +bin/dcae-controller.sh undeploy-service-instance -i $ZONE -s vm-postgresql +bin/dcae-controller.sh undeploy-service-instance -i $ZONE -s vm-cdap-cluster diff --git a/dcae-demo-controller/src/main/docker-build/controller-startup.sh b/dcae-demo-controller/src/main/docker-build/controller-startup.sh new file mode 100644 index 0000000..b64f8cc --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/controller-startup.sh @@ -0,0 +1,70 @@ +#!/bin/bash + +set -v + +apt-get install -y make + +export JAVA_HOME=/opt/app/java/jdk/jdk170 +export GROOVY_HOME=/opt/app/groovy/246 +export PATH=$JAVA_HOME/bin:$GROOVY_HOME/bin:/opt/app/git/2.4.1/bin:$PATH + + +cd /opt/app/dcae-controller-platform-server + +export ZONE=$(grep ZONE /opt/app/dcae-controller/config.yaml | sed s/ZONE:.//) + +OPENSTACK_KEYNAME=$(grep OPENSTACK-KEYNAME /opt/app/dcae-controller/config.yaml | sed s/OPENSTACK-KEYNAME:.//) +NETWORK=$(grep OPENSTACK-PRIVATE-NETWORK /opt/app/dcae-controller/config.yaml | sed s/OPENSTACK-PRIVATE-NETWORK:.//) + +echo nameserver 10.0.0.1 >> /etc/resolv.conf + +make gen-config sync restart + +## need to do 2 syncs to get all references working. +make sync + +cat OPENECOMP-DEMO-$ZONE/hosts >> /etc/hosts + +## Add SSL CAs to Java + +(echo changeit ; echo yes ) | keytool -importcert -keystore /etc/ssl/certs/java/cacerts -alias simpledemo-root-ca -file config/simpledemo-root-ca.crt +(echo changeit ; echo yes ) | keytool -importcert -keystore /etc/ssl/certs/java/cacerts -alias simpledemo-server-ca -file config/simpledemo-server-ca.crt + +bin/dcae-controller.sh undeploy-service-instance -i $ZONE -s vm-docker-host-1 & +bin/dcae-controller.sh undeploy-service-instance -i $ZONE -s vm-postgresql & +bin/dcae-controller.sh undeploy-service-instance -i $ZONE -s vm-cdap-cluster & + +bin/dcae-controller.sh deploy-user -l $ZONE -p OPEN-ECOMP -u $OPENSTACK_KEYNAME + +NETWORKPATH=/openstack/locations/$ZONE/projects/OPEN-ECOMP/networks/$NETWORK + +sleep 1m +bin/dcae-controller.sh wait-for --timeout 300 --frequency 5 --path $NETWORKPATH --exists --verbose +bin/dcae-controller.sh deploy-service-instance -i $ZONE -s vm-docker-host-1 + +sleep 1m +bin/dcae-controller.sh wait-for --timeout 300 --frequency 5 --path $NETWORKPATH --exists --verbose +bin/dcae-controller.sh deploy-service-instance -i $ZONE -s vm-postgresql + +sleep 2m +bin/dcae-controller.sh wait-for --timeout 300 --frequency 5 --path $NETWORKPATH --exists --verbose +bin/dcae-controller.sh deploy-service-instance -i $ZONE -s vm-cdap-cluster + +bin/dcae-controller.sh wait-for --timeout 900 --path /services/vm-docker-host-1/instances/$ZONE --attribute healthTestStatus --match GREEN --verbose +bin/dcae-controller.sh wait-for --timeout 900 --path /services/vm-postgresql/instances/$ZONE --attribute healthTestStatus --match GREEN --verbose + + +bin/dcae-controller.sh deploy-service-instance -i $ZONE -s docker-databus-controller + + + +bin/dcae-controller.sh wait-for --timeout 900 --path /services/vm-cdap-cluster/instances/$ZONE --attribute healthTestStatus --match GREEN --verbose +#bin/dcae-controller.sh wait-for --timeout 900 --path /services/vm-controller/instances/$ZONE --attribute healthTestStatus --match GREEN --verbose + +bin/dcae-controller.sh deploy-service-instance -i $ZONE -s cdap-helloworld +bin/dcae-controller.sh deploy-service-instance -i $ZONE -s cdap-tca-hi-lo +bin/dcae-controller.sh deploy-service-instance -i $ZONE -s docker-common-event + + +while [ 1 ]; do sleep 1d; done + diff --git a/dcae-demo-controller/src/main/docker-build/controller.makefile b/dcae-demo-controller/src/main/docker-build/controller.makefile new file mode 100644 index 0000000..40b570e --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/controller.makefile @@ -0,0 +1,30 @@ + +restart: stop start +gen-config: + bin/dcae-controller.sh rackspace-substitute --from OPENECOMP-DEMO-RACKSPACE --to OPENECOMP-DEMO-$(ZONE) --file /opt/app/dcae-controller/config.yaml + java -cp 'lib/*' org.openecomp.dcae.controller.operation.utils.GenControllerConfiguration $(ZONE) . GITLINK OPENECOMP-DEMO +sync: + bin/dcae-controller.sh sync-configuration --environment OPENECOMP-DEMO-$(ZONE) +sync-careful: + bin/dcae-controller.sh stop + rm -r data/resources/databus* + rm -r data/resources/services/vm-*/instances/*/steps + rm -r data/resources/services/docker-*/instances/* + rm -r data/resources/services/cdap-*/instances/* + bin/dcae-controller.sh sync-configuration --environment OPENECOMP-DEMO-$(ZONE) +start: + bin/dcae-controller.sh start +start-debug: + bin/controller-platform-server-controller start -Djavax.net.debug=all +stop: + bin/dcae-controller.sh stop +console: + bin/dcae-controller.sh console +S=3600 +wait: + @GROOVY_HOME=/opt/app/groovy/246 bin/dcae-controller.sh wait-for --timeout $S --path /services/docker-common-event/instances/$(ZONE) --attribute healthTestStatus --match GREEN + @GROOVY_HOME=/opt/app/groovy/246 bin/dcae-controller.sh wait-for --timeout 300 --path /services/cdap-tca-hi-lo/instances/$(ZONE) --attribute healthTestStatus --match GREEN +status: + @GROOVY_HOME=/opt/app/groovy/246 bin/dcae-controller.sh report -n /reports/dcae/service-instances | cut -d\| -f 2,3,4,5,6 | grep DEP | grep -v cells | cut -c1-120 + @GROOVY_HOME=/opt/app/groovy/246 bin/dcae-controller.sh report -n /reports/dcae/vms | cut -d\| -f 4,8 | grep zldc | grep -v cells + @cat logs/error.log | cut -d\| -f 4,5,13 | sort | uniq -c diff --git a/dcae-demo-controller/src/main/docker-build/push.sh b/dcae-demo-controller/src/main/docker-build/push.sh new file mode 100644 index 0000000..dd43aa9 --- /dev/null +++ b/dcae-demo-controller/src/main/docker-build/push.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -e +set -x + +## ensure we are in the right directory. +cd $(dirname $(readlink -e $0)) + +GITROOT=../../../../.. +VERSION=$(grep version $GITROOT/pom.xml | head -1 | sed 'sX</.*XX' | sed 's/.*>//') +USER=$1 +PASSWORD=$2 +DOCKER_REG=$3 +TAG=$DOCKER_REG/dcae-controller:$VERSION + +docker tag dcae-controller:$VERSION $TAG +docker login -u $USER -p $PASSWORD $DOCKER_REG +docker push $TAG + diff --git a/dcae-demo-controller/src/main/resources/settings.xml b/dcae-demo-controller/src/main/resources/settings.xml new file mode 100644 index 0000000..6432c83 --- /dev/null +++ b/dcae-demo-controller/src/main/resources/settings.xml @@ -0,0 +1,66 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd"> + + <profiles> + <profile> + <id>open-ecomp</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <repositories> + <repository> + <id>osecomp-nexus-releases</id> + <name>OSECOMP Release Repository</name> + <url>https://ecomp-nexus:8443/repository/maven-releases</url> + </repository> + <repository> + <id>osecomp-nexus-snapshots</id> + <name>OSECOMP Snapshot Repository</name> + <url>https://ecomp-nexus:8443/repository/maven-snapshots</url> + </repository> + <repository> + <id>eclipse</id> + <url>https://repo.eclipse.org/content/repositories/releases</url> + <releases> + <enabled>true</enabled> + <updatePolicy>daily</updatePolicy> + </releases> + <snapshots> + <enabled>false</enabled> + </snapshots> + </repository> + </repositories> + </profile> + + </profiles> + + <activeProfiles> + <activeProfile>open-ecomp</activeProfile> + </activeProfiles> + + <servers> + <server> + <id>osecomp-nexus</id> + <username>USER</username> + <password>PASSWORD</password> + </server> + <server> + <username>USER</username> + <password>PASSWORD</password> + <id>osecomp-nexus-releases</id> + </server> + <server> + <username>USER</username> + <password>PASSWORD</password> + <id>osecomp-nexus-snapshots</id> + </server> + <server> + <username>USER</username> + <password>PASSWORD</password> + <id>dcae-javadoc</id> + </server> + </servers> +</settings> |