From 586f03b6e2249f2da8b1e35b5290b8cc334c204e Mon Sep 17 00:00:00 2001 From: Mike Elliott Date: Fri, 8 Sep 2017 12:46:15 -0400 Subject: [PATCH] Add helm-configured DCAE Gen 1 This is the initial seed of the dcae gen 1 deployment specifications using onap 1.1 component containers. All containers come up, however, there are issues with some of the containers that will be flushed out during integration. Change-Id: I6b74262168ae54bb7859d81de1ade6b59d1c42b1 Issue-Id: OOM-176 Signed-off-by: Mike Elliott --- kubernetes/dcae/Chart.yaml | 4 + kubernetes/dcae/README | 18 + kubernetes/dcae/cdap/docker/00-provisioning.sh | 257 ++++++++++++ kubernetes/dcae/cdap/docker/01-entrypoint.sh | 8 + kubernetes/dcae/cdap/docker/Dockerfile | 57 +++ kubernetes/dcae/cdap/docker/docker-compose.yaml | 44 +++ kubernetes/dcae/cdap/docker/fs/Dockerfile | 4 + kubernetes/dcae/pgaas/Dockerfile | 45 +++ kubernetes/dcae/pgaas/setup.sh | 437 +++++++++++++++++++++ kubernetes/dcae/templates/all-services.yaml | 117 ++++++ kubernetes/dcae/templates/cdap0-dep.yaml | 84 ++++ kubernetes/dcae/templates/cdap1-dep.yaml | 84 ++++ kubernetes/dcae/templates/cdap2-dep.yaml | 84 ++++ .../templates/dcae-collector-common-event.yaml | 38 ++ .../dcae/templates/dcae-collector-dmaapbc.yaml | 37 ++ kubernetes/dcae/templates/dcae-controller.yaml | 61 +++ kubernetes/dcae/templates/dcae-dmaap.yaml | 75 ++++ kubernetes/dcae/templates/dcae-kafka.yaml | 83 ++++ kubernetes/dcae/templates/dcae-zookeeper.yaml | 31 ++ kubernetes/dcae/templates/pgaas.yaml | 47 +++ kubernetes/dcae/values.yaml | 14 + kubernetes/oneclick/dcae.sh | 18 +- kubernetes/oneclick/setenv.bash | 2 +- 23 files changed, 1647 insertions(+), 2 deletions(-) create mode 100644 kubernetes/dcae/Chart.yaml create mode 100644 kubernetes/dcae/README create mode 100755 kubernetes/dcae/cdap/docker/00-provisioning.sh create mode 100755 kubernetes/dcae/cdap/docker/01-entrypoint.sh create mode 100644 kubernetes/dcae/cdap/docker/Dockerfile create mode 100644 kubernetes/dcae/cdap/docker/docker-compose.yaml create mode 100644 kubernetes/dcae/cdap/docker/fs/Dockerfile create mode 100755 kubernetes/dcae/pgaas/Dockerfile create mode 100755 kubernetes/dcae/pgaas/setup.sh create mode 100644 kubernetes/dcae/templates/all-services.yaml create mode 100644 kubernetes/dcae/templates/cdap0-dep.yaml create mode 100644 kubernetes/dcae/templates/cdap1-dep.yaml create mode 100644 kubernetes/dcae/templates/cdap2-dep.yaml create mode 100644 kubernetes/dcae/templates/dcae-collector-common-event.yaml create mode 100644 kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml create mode 100644 kubernetes/dcae/templates/dcae-controller.yaml create mode 100644 kubernetes/dcae/templates/dcae-dmaap.yaml create mode 100644 kubernetes/dcae/templates/dcae-kafka.yaml create mode 100644 kubernetes/dcae/templates/dcae-zookeeper.yaml create mode 100644 kubernetes/dcae/templates/pgaas.yaml create mode 100644 kubernetes/dcae/values.yaml diff --git a/kubernetes/dcae/Chart.yaml b/kubernetes/dcae/Chart.yaml new file mode 100644 index 0000000000..168a2148f0 --- /dev/null +++ b/kubernetes/dcae/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: DCAE Gen 1 +name: DCAE +version: 1.1.0 diff --git a/kubernetes/dcae/README b/kubernetes/dcae/README new file mode 100644 index 0000000000..c733355682 --- /dev/null +++ b/kubernetes/dcae/README @@ -0,0 +1,18 @@ +DCAE Port mapping +----------------------------------------------------------------------------------------- +Container name | Connector name | Node port | Target port | +----------------------------------------------------------------------------------------- +dcae-collector-common-event | dcae-ce1 | 30236 | 8080 | +----------------------------------------------------------------------------------------- + | dcae-ce2 | 30237 | 8443 | +----------------------------------------------------------------------------------------- + | dcae-ce3 | 30238 | 9999 | +----------------------------------------------------------------------------------------- +dcae-collector-dmaapbc | dcae-bc1 | 30239 | 8080 | +----------------------------------------------------------------------------------------- + | dcae-bc2 | 30240 | 8443 | +----------------------------------------------------------------------------------------- +dcae-ves-collector | dcae-ves1 | 30241 | 8080 | +----------------------------------------------------------------------------------------- + | dcae-ves2 | 30242 | 9999 | +----------------------------------------------------------------------------------------- diff --git a/kubernetes/dcae/cdap/docker/00-provisioning.sh b/kubernetes/dcae/cdap/docker/00-provisioning.sh new file mode 100755 index 0000000000..98b67c4476 --- /dev/null +++ b/kubernetes/dcae/cdap/docker/00-provisioning.sh @@ -0,0 +1,257 @@ +#!/bin/bash +set -x + +export DEBIAN_FRONTEND=noninteractive + +############################################################## +################### File provisioning ######################## +############################################################## + +cd /tmp + + +## Adding configuration file: mount_config +cat > /tmp/dcae-mount.conf << EOF_CONFIG +osType: ubuntu +volumes: + ephemeral: + uuid: ephemeral + size: 80 + filesystems: + /opt/tools: + size: 80 + type: ext4 + mount_opts: '' + data: + uuid: cinder + size: 75 + filesystems: + /opt/data: + size: 75 + type: ext4 + mount_opts: '' +EOF_CONFIG + + +## Adding configuration file: ecomp-nexus +cat > /tmp/ecomp-nexus.crt << EOF_CONFIG +-----BEGIN CERTIFICATE----- +MIIFRTCCBC2gAwIBAgIQM/5eM8D0jY3yHTSyN5iO9zANBgkqhkiG9w0BAQsFADCB +kDELMAkGA1UEBhMCR0IxGzAZBgNVBAgTEkdyZWF0ZXIgTWFuY2hlc3RlcjEQMA4G +A1UEBxMHU2FsZm9yZDEaMBgGA1UEChMRQ09NT0RPIENBIExpbWl0ZWQxNjA0BgNV +BAMTLUNPTU9ETyBSU0EgRG9tYWluIFZhbGlkYXRpb24gU2VjdXJlIFNlcnZlciBD +QTAeFw0xNzAzMjgwMDAwMDBaFw0xODAzMjgyMzU5NTlaMFcxITAfBgNVBAsTGERv +bWFpbiBDb250cm9sIFZhbGlkYXRlZDEdMBsGA1UECxMUUG9zaXRpdmVTU0wgV2ls +ZGNhcmQxEzARBgNVBAMMCioub25hcC5vcmcwggEiMA0GCSqGSIb3DQEBAQUAA4IB +DwAwggEKAoIBAQDIVo+kmG2sGaeIJy5pqP6mzlIwqYUXcFOG2fodsCPg9CEdlsBO +IECuoPYmCqrJ/MHLfs+F+SjEoBfpJlqyrpLhVj8O/9xCp4Tda/YJ18n59uDJ7Rpq +omqZlFCj/B4+H6+dkWCFy1FxYBBAIO52iscd4F6YHD1p3xUjJRd9Yf6qnktmSooI +hbIKzPIpSTsYiN3ArWbrGeucoQUdKX+intRHFLkKay88R7yqoqguPFIEtkXwDoJj +aV+rC103eZ1RLwtBcS/4UcDXRDfkyQANAYvKGeHiyGuRQqEUyGEmKz2i11m1oyEP +uD1AK+zPd33wBdOe8iZMr0CxcOGhgcKOWJ7vAgMBAAGjggHRMIIBzTAfBgNVHSME +GDAWgBSQr2o6lFoL2JDqElZz30O0Oija5zAdBgNVHQ4EFgQUMVkz3DD9qwhzY5WT +/P1mCVpsauQwDgYDVR0PAQH/BAQDAgWgMAwGA1UdEwEB/wQCMAAwHQYDVR0lBBYw +FAYIKwYBBQUHAwEGCCsGAQUFBwMCME8GA1UdIARIMEYwOgYLKwYBBAGyMQECAgcw +KzApBggrBgEFBQcCARYdaHR0cHM6Ly9zZWN1cmUuY29tb2RvLmNvbS9DUFMwCAYG +Z4EMAQIBMFQGA1UdHwRNMEswSaBHoEWGQ2h0dHA6Ly9jcmwuY29tb2RvY2EuY29t +L0NPTU9ET1JTQURvbWFpblZhbGlkYXRpb25TZWN1cmVTZXJ2ZXJDQS5jcmwwgYUG +CCsGAQUFBwEBBHkwdzBPBggrBgEFBQcwAoZDaHR0cDovL2NydC5jb21vZG9jYS5j +b20vQ09NT0RPUlNBRG9tYWluVmFsaWRhdGlvblNlY3VyZVNlcnZlckNBLmNydDAk +BggrBgEFBQcwAYYYaHR0cDovL29jc3AuY29tb2RvY2EuY29tMB8GA1UdEQQYMBaC +Cioub25hcC5vcmeCCG9uYXAub3JnMA0GCSqGSIb3DQEBCwUAA4IBAQAd5mu22sts +at/bdRlIOz3dbqGwIFOo8XajlAs6ApMpyx/xetcgIKipzvGp9Wc1X8lDZl4boCH6 +KQ1//4tpksYj8RsZSZeac8vQLKggWO107sBa33yFg6Y1Dk2DdgOKZ+lNbvB1iMwK +hSGtV3HYx1jLyQRoeYby4R7+kTI1lHAiOgT+vn5C9Z3TxqfgWuBf24CFp/95gki6 +vRysJh9Jf7A8JrrMGykC94Tpo6OiUehtQ+f65xtetvwsfNHVp3hsLzR5KwIMDARI +IgXKyROodILsOXfR9qdA9klcXUSi6qvKF8wAopNuot4Ltyz8chiFKISjxqVrKnY2 +M7En/HyX0s1I +-----END CERTIFICATE----- +EOF_CONFIG + + +## Adding configuration file: vm-cdap-cluster-cdap.properties +cat > /tmp/vm-cdap-cluster-cdap.properties << EOF_CONFIG +cluster.endpoint= foobar +cluster.user= foobar +cluster.password= foobar +EOF_CONFIG + + +## Adding configuration file: vm-cdap-cluster-console.properties +cat > /tmp/vm-cdap-cluster-console.properties << EOF_CONFIG +localhost.endpoint=http://localhost:1999 +localhost.user=console +localhost.password=NTJhYWU1NzAwMzc3OTk1 +EOF_CONFIG + + +## Adding configuration file: vm-cdap-cluster-gui.properties +cat > /tmp/vm-cdap-cluster-gui.properties << EOF_CONFIG +EOF_CONFIG + + +## Adding configuration file: vm-cdap-cluster-log4j.properties +cat > /tmp/vm-cdap-cluster-log4j.properties << EOF_CONFIG +#log4j.debug=0 +log4j.rootLogger=warn, file +log4j.logger.org.openecomp.ncomp=info, file +log4j.additivity.org.openecomp.ncomp=false + +#log4j.logger.org.apache.http.headers=debug, file +#log4j.logger.org.apache.http.wire=debug, file +## uploaded logger +log4j.logger.org.openecomp.ncomp.sirius.manager.uploaded=info, uploaded +log4j.additivity.org.openecomp.ncomp.sirius.manager.uploaded=false +## request logging +log4j.logger.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=info, requests +log4j.additivity.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=false +## openstack polling +log4j.logger.org.openecomp.ncomp.openstack.OpenStackUtil.polling=info, polling +log4j.additivity.org.openecomp.ncomp.openstack.OpenStackUtil.polling=false +log4j.appender.file=org.apache.log4j.RollingFileAppender +log4j.appender.file.File=logs/manager.log +log4j.appender.file.layout=org.apache.log4j.PatternLayout +log4j.appender.file.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n +log4j.appender.file.MaxFileSize=50MB +log4j.appender.file.MaxBackupIndex=5 + +log4j.appender.uploaded=org.apache.log4j.RollingFileAppender +log4j.appender.uploaded.File=logs/manager-uploaded.log +log4j.appender.uploaded.layout=org.apache.log4j.PatternLayout +log4j.appender.uploaded.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n +log4j.appender.uploaded.MaxFileSize=50MB +log4j.appender.uploaded.MaxBackupIndex=5 + +log4j.appender.requests=org.apache.log4j.RollingFileAppender +log4j.appender.requests.File=logs/manager-requests.log +log4j.appender.requests.layout=org.apache.log4j.PatternLayout +log4j.appender.requests.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n +log4j.appender.requests.MaxFileSize=50MB +log4j.appender.requests.MaxBackupIndex=5 +log4j.appender.polling=org.apache.log4j.RollingFileAppender +log4j.appender.polling.File=logs/manager-polling.log +log4j.appender.polling.layout=org.apache.log4j.PatternLayout +log4j.appender.polling.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n +log4j.appender.polling.MaxFileSize=50MB +log4j.appender.polling.MaxBackupIndex=5 + +### ECOMP Logging +log4j.logger.org.openecomp.audit=info, audit +log4j.additivity.org.openecomp.audit=false +log4j.logger.org.openecomp.metrics=info, metrics +log4j.additivity.org.openecomp.metrics=false +log4j.logger.org.openecomp.error=info, error +log4j.additivity.org.openecomp.error=false +log4j.logger.com.att.eelf.debug=info, debug +log4j.additivity.org.openecomp.debug=false +log4j.appender.audit=org.apache.log4j.RollingFileAppender +log4j.appender.audit.File=logs/audit.log +log4j.appender.audit.layout=org.apache.log4j.PatternLayout +log4j.appender.audit.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%5p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n +log4j.appender.audit.MaxFileSize=50MB +log4j.appender.audit.MaxBackupIndex=5 +log4j.appender.metrics=org.apache.log4j.RollingFileAppender +log4j.appender.metrics.File=logs/metrics.log +log4j.appender.metrics.layout=org.apache.log4j.PatternLayout +log4j.appender.metrics.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n +log4j.appender.metrics.MaxFileSize=50MB +log4j.appender.metrics.MaxBackupIndex=5 +log4j.appender.error=org.apache.log4j.RollingFileAppender +log4j.appender.error.File=logs/error.log +log4j.appender.error.layout=org.apache.log4j.PatternLayout +log4j.appender.error.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n +log4j.appender.error.MaxFileSize=50MB +log4j.appender.error.MaxBackupIndex=5 +log4j.appender.debug=org.apache.log4j.RollingFileAppender +log4j.appender.debug.File=logs/debug.log +log4j.appender.debug.layout=org.apache.log4j.PatternLayout +log4j.appender.debug.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n +log4j.appender.debug.MaxFileSize=50MB +log4j.appender.debug.MaxBackupIndex=5 +EOF_CONFIG + + +## Adding configuration file: vm-cdap-cluster-manager.properties +cat > /tmp/vm-cdap-cluster-manager.properties << EOF_CONFIG +server.dir = data/resources +metrics.dir = data/metrics +properties.dir = data/properties +server.port = 1999 +server.user.console = NTJhYWU1NzAwMzc3OTk1 +server.user.gui = MDlhZWVjZWEwMmFiOTJi +server.user.client = YmE2OGE1N2U5NzRmMDg1 +EOF_CONFIG + + +## Adding configuration file: vm-cdap-cluster-runtime.properties +cat > /tmp/vm-cdap-cluster-runtime.properties << EOF_CONFIG +factory.vm=org.openecomp.dcae.controller.service.servers.vm.DcaeVmFactory + +## Adding configuration file: monitoring-agent-gui.properties +cat > /tmp/monitoring-agent-gui.properties << EOF_CONFIG +EOF_CONFIG + + +cat > /tmp/certificate.pkcs12.b64code << EOF_CERT +EOF_CERT + + +############################################################## +################## Config Provisioning ####################### +############################################################## + +mkdir -p ~/.ssh +touch ~/.ssh/authorized_keys +echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBn8Ctt5hJGkTQaffuSeINeABV4viBIM4TcP14kaLiWR1LkyNY+TaUnjxODobtZa4YW1lxFtoMCfZt2A5W9ZZPM+shZr4BOj+wU+xIrzn7ezN/CQjH7c4Wh0mWteuPnJrtdpyGQ/qBI2T+xo5G/Tl++SPUvvN2D4H8vl0miEgVPR47/P7Ba6kl7Bmrf9m0VDPdS69Qr2AhgBq5Qi/fTeGZA4sfKDHHRJxkQIXYmS8R5FISRpBD7ta2NTHapRz9dC6Cw8UttEFiWFUBjN6lwF9LUOkj9MiqiTQaElKKQzMIHr0AhlgIkwBLKAJoDrGQD9GKPwKCdW3OmnODMPxJjXc3 > ~/.ssh/authorized_keys + +cp /tmp/ecomp-nexus.crt /usr/local/share/ca-certificates/ ; update-ca-certificates + +wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-core-utils/1.1.0/dcae-controller-core-utils-1.1.0-runtime.zip -P /opt/app/dcae-controller-core-utils + +cd /opt/app/dcae-controller-core-utils +unzip -o dcae-controller-core-utils*.zip + +chown -R dcae:dcae /opt/app/dcae-controller-core-utils + +/opt/app/dcae-controller-core-utils/bin/fs-init.py + +wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-cdap-cluster-manager/1.1.0/dcae-controller-service-cdap-cluster-manager-1.1.0-runtime.zip -P /opt/app/dcae-controller-service-cdap-cluster-manager + +cd /opt/app/dcae-controller-service-cdap-cluster-manager +unzip -o dcae-controller-service-cdap-cluster-manager*.zip + +chown -R dcae:dcae /opt/app/dcae-controller-service-cdap-cluster-manager + +wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-dmaap-drsub/1.1.0/dcae-controller-service-dmaap-drsub-1.1.0.pom -P /opt/app/dcae-controller-service-dmaap-drsub + +chown -R dcae:dcae /opt/app/dcae-controller-service-dmaap-drsub + +curl -s -k -f -o /tmp/dcae-apod-cdap-small-hadoop_1.1.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.apod.cdap/deb-releases/dcae-apod-cdap-small-hadoop_1.1.0.deb + +curl -s -k -f -o /tmp/dcae-apod-analytics-tca_1.1.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.apod.analytics/deb-releases/dcae-apod-analytics-tca_1.1.0.deb + +curl -s -k -f -o /tmp/HelloWorld-3.5.1.jar http://repo1.maven.org/maven2/co/cask/cdap/HelloWorld/3.5.1/HelloWorld-3.5.1.jar +mkdir -p /opt/app/cask-hello-world/lib +mv /tmp/HelloWorld-3.5.1.jar /opt/app/cask-hello-world/lib + +find /opt -type f -exec sed -i 's/sudo//g' {} \; + +apt-key adv --keyserver-options --keyserver keyserver.ubuntu.com --recv 07513CAD +wget -qO - http://repository.cask.co/ubuntu/precise/amd64/cdap/3.5/pubkey.gpg | apt-key add - + +wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-dmaap-drsub-manager/1.1.0/dcae-controller-service-dmaap-drsub-manager-1.1.0-runtime.zip -P /opt/app/dcae-controller-service-dmaap-drsub-manager + +cd /opt/app/dcae-controller-service-dmaap-drsub-manager +unzip -o dcae-controller-service-dmaap-drsub-manager-1.1.0-runtime.zip + +chown -R dcae:dcae /opt/app/dcae-controller-service-dmaap-drsub-manager + +mkdir /home/dcae/.ssh +chmod og-rwx /home/dcae/.ssh +chown -R dcae:dcae /home/dcae/.ssh +touch /home/dcae/.ssh/authorized_keys +chmod og-rwx /home/dcae/.ssh/authorized_keys +chown -R dcae:dcae /home/dcae/.ssh/authorized_keys +echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDBn8Ctt5hJGkTQaffuSeINeABV4viBIM4TcP14kaLiWR1LkyNY+TaUnjxODobtZa4YW1lxFtoMCfZt2A5W9ZZPM+shZr4BOj+wU+xIrzn7ezN/CQjH7c4Wh0mWteuPnJrtdpyGQ/qBI2T+xo5G/Tl++SPUvvN2D4H8vl0miEgVPR47/P7Ba6kl7Bmrf9m0VDPdS69Qr2AhgBq5Qi/fTeGZA4sfKDHHRJxkQIXYmS8R5FISRpBD7ta2NTHapRz9dC6Cw8UttEFiWFUBjN6lwF9LUOkj9MiqiTQaElKKQzMIHr0AhlgIkwBLKAJoDrGQD9GKPwKCdW3OmnODMPxJjXc3 >> /home/dcae/.ssh/authorized_keys + +#bash /opt/app/dcae-cdap-small-hadoop/install.sh diff --git a/kubernetes/dcae/cdap/docker/01-entrypoint.sh b/kubernetes/dcae/cdap/docker/01-entrypoint.sh new file mode 100755 index 0000000000..952d1d4cc6 --- /dev/null +++ b/kubernetes/dcae/cdap/docker/01-entrypoint.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +dpkg --install /tmp/dcae-apod-cdap-small-hadoop_1.1.0.deb +dpkg --install /tmp/dcae-apod-analytics-tca_1.1.0.deb + +bash /opt/app/dcae-cdap-small-hadoop/install.sh +su dcae -c "/opt/app/dcae-controller-service-cdap-cluster-manager/bin/manager.sh config" +su dcae -c "/opt/app/dcae-controller-service-cdap-cluster-manager/bin/manager.sh restart" \ No newline at end of file diff --git a/kubernetes/dcae/cdap/docker/Dockerfile b/kubernetes/dcae/cdap/docker/Dockerfile new file mode 100644 index 0000000000..5b8583ee51 --- /dev/null +++ b/kubernetes/dcae/cdap/docker/Dockerfile @@ -0,0 +1,57 @@ +FROM ubuntu:16.04 + +# Setup apt.conf proxy settings +#RUN echo 'Acquire::http::proxy "http://some.proxy:8084/";' >> /etc/apt/apt.conf + +# Setup Corporate proxy +#ENV no_proxy "localhost,127.0.0.1,localaddress,.localdomain.com,192.168.141.0/24" +#ENV https_proxy http://some.proxy:8084/ +#ENV http_proxy http://fsome.proxy:8084/ +#ENV HTTP_PROXY http://some.proxy:8084/ +#ENV HTTPS_PROXY http://some.proxy:8084/ +#ENV FTP_PROXY http://some.proxy:8084/ +#ENV NO_PROXY "localhost,127.0.0.1,localaddress,.localdomain.com,192.168.141.0/24" + +# Additional packages +RUN apt-get update -y +RUN apt-get install -y git wget unzip curl dnsutils sudo +RUN apt-get install -y maven unzip + +# Install python and pip +RUN apt-get install -y python +RUN wget https://bootstrap.pypa.io/get-pip.py +RUN python get-pip.py +RUN rm get-pip.py +RUN pip install pyyaml + +# Install Groovy +RUN mkdir -p /opt/app +RUN (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 ) +RUN (cd /opt/app ; unzip apache-groovy-binary-2.4.6.zip ) +RUN mkdir -p /opt/app/java/jdk +RUN ln -s /usr /opt/app/java/jdk/jdk170 +RUN mkdir -p /opt/app/groovy +RUN ln -s /opt/app/groovy-2.4.6 /opt/app/groovy/246 +ENV JAVA_HOME /opt/app/java/jdk/jdk170 + +# Create user dcae +RUN if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +# Hadoop +EXPOSE 8020 8025 50070 50075 50010 50020 + +# Zookeeper +EXPOSE 3888 2888 2181 + +VOLUME /opt/tools +VOLUME /opt/data + +# Provisioning +COPY 00-provisioning.sh /usr/local/bin/00-provisioning.sh +RUN chmod a+x /usr/local/bin/00-provisioning.sh +RUN /usr/local/bin/00-provisioning.sh + +# define the entrypoint +COPY 01-entrypoint.sh /usr/local/bin/01-entrypoint.sh +RUN chmod a+x /usr/local/bin/01-entrypoint.sh +ENTRYPOINT ["/usr/local/bin/01-entrypoint.sh"] diff --git a/kubernetes/dcae/cdap/docker/docker-compose.yaml b/kubernetes/dcae/cdap/docker/docker-compose.yaml new file mode 100644 index 0000000000..8800c10e81 --- /dev/null +++ b/kubernetes/dcae/cdap/docker/docker-compose.yaml @@ -0,0 +1,44 @@ +version: '2' +services: + cdap00: + build: . + hostname: zldcprivatecloudtruecdap00 + image: cdap + ports: + - 8020 + - 50070 + - 50075 + - 50010 + - 50020 + - 3888 + - 2888 + - 2181 + - 8025 + cdap01: + build: . + hostname: zldcprivatecloudtruecdap01 + image: cdap + ports: + - 8020 + - 50070 + - 50075 + - 50010 + - 50020 + - 3888 + - 2888 + - 2181 + - 8025 + cdap02: + build: . + hostname: zldcprivatecloudtruecdap02 + image: cdap + ports: + - 8020 + - 50070 + - 50075 + - 50010 + - 50020 + - 3888 + - 2888 + - 2181 + - 8025 \ No newline at end of file diff --git a/kubernetes/dcae/cdap/docker/fs/Dockerfile b/kubernetes/dcae/cdap/docker/fs/Dockerfile new file mode 100644 index 0000000000..4e458dcd1e --- /dev/null +++ b/kubernetes/dcae/cdap/docker/fs/Dockerfile @@ -0,0 +1,4 @@ +FROM ubuntu:16.04 + +RUN mkdir -p /cdap +VOLUME /cdap \ No newline at end of file diff --git a/kubernetes/dcae/pgaas/Dockerfile b/kubernetes/dcae/pgaas/Dockerfile new file mode 100755 index 0000000000..e1d147dfa9 --- /dev/null +++ b/kubernetes/dcae/pgaas/Dockerfile @@ -0,0 +1,45 @@ +FROM ubuntu:16.04 + +# Install additional packages +RUN apt-get update && apt-get -y install maven openjdk-8-jdk unzip python-pip curl dnsutils vim gawk wget openssh-client-ssh1 +RUN pip install pyyaml + +RUN apt-get update && apt-get install -y postgresql libpq5 repmgr python-psycopg2 python3-psycopg2 libgetopt-java +RUN rm -f /usr/sbin/policy-rc.d + +# Install Groovy +RUN mkdir -p /opt/app +RUN (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 ) +RUN (cd /opt/app ; unzip apache-groovy-binary-2.4.6.zip ) +RUN mkdir -p /opt/app/java/jdk +RUN ln -s /usr /opt/app/java/jdk/jdk170 +RUN mkdir -p /opt/app/groovy +RUN ln -s /opt/app/groovy-2.4.6 /opt/app/groovy/246 + +# Create user dcae +RUN if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +# Download required packages +RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-cdf_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-cdf_1.0.0.deb +RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-postgresql-prep_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-prep_1.0.0.deb +RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-postgresql-config_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-config_1.0.0.deb +RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-pgaas_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas_1.0.0.deb +RUN curl -s -k -f -o /tmp/org.openecomp.dcae.storage.pgaas-pgaas-post_1.0.0.deb https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas-post_1.0.0.deb + +RUN apt-get update && apt-get install -y sudo && rm -rf /var/lib/apt/lists/* + +RUN mkdir -p /opt/tools +RUN mkdir -p /dbroot/pgdata +RUN mkdir -p /dbroot/pglogs + +EXPOSE 5432 + +VOLUME /opt/tools +VOLUME /dbroot/pgdata +VOLUME /dbroot/pglogs + +# Setup the entrypoint +COPY setup.sh /usr/local/bin/entrypoint.sh +RUN chmod a+x /usr/local/bin/entrypoint.sh + +ENTRYPOINT ["usr/local/bin/entrypoint.sh"] diff --git a/kubernetes/dcae/pgaas/setup.sh b/kubernetes/dcae/pgaas/setup.sh new file mode 100755 index 0000000000..a843995003 --- /dev/null +++ b/kubernetes/dcae/pgaas/setup.sh @@ -0,0 +1,437 @@ +#!/bin/bash +cat > /tmp/dcae_install.sh << EOF_DCAE_INSTALL +#!/bin/bash +set -x +cd /tmp + +export DEBIAN_FRONTEND=noninteractive + +#### Using special configuration resource: instances/vm-postgresql/iad4.yaml +## Adding configuration file: main +cat | cat > /tmp/postgres.conf << EOF_CONFIG +master: zldciad4vipstg00 +secondmaster: notused +DRTR_NODE_KSTOREFILE: /opt/app/dcae-certificate/keystore.jks +DRTR_NODE_KSTOREPASS: "No Certificate" +DRTR_NODE_PVTKEYPASS: "No Certificate" +PG_NODES : zldciad4vipstg00 +PG_JAVA_HOME : /opt/app/java/jdk/jdk170 +PG_CLUSTER : site +EOF_CONFIG + +## Adding configuration file: mount_config +cat | cat > /tmp/dcae-mount.conf << EOF_CONFIG +osType: ubuntu +volumes: + opt: + uuid: ephemeral + size: 80 + filesystems: + /opt/tools: + size: 80 + type: ext4 + mount_opts: '' + dbroot: + uuid: cinder + size: 75 + filesystems: + /dbroot/pgdata: + size: 50 + type: ext4 + mount_opts: '' + /dbroot/pglogs: + size: 25 + type: ext4 + mount_opts: '' + +EOF_CONFIG + +## Adding configuration file: ecomp-nexus +cat > /tmp/ecomp-nexus.crt << EOF_CONFIG +-----BEGIN CERTIFICATE----- +MIIDtzCCAp+gAwIBAgIEet16RjANBgkqhkiG9w0BAQsFADB2MQswCQYDVQQGEwJVUzEUMBIGA1UE +CBMLVW5zcGVjaWZpZWQxFDASBgNVBAcTC1Vuc3BlY2lmaWVkMREwDwYDVQQKEwhTb25hdHlwZTEQ +MA4GA1UECxMHRXhhbXBsZTEWMBQGA1UEAwwNKi5lY29tcC1uZXh1czAeFw0xNjExMTQxMDE5NDJa +Fw0zMDA3MjQxMDE5NDJaMHYxCzAJBgNVBAYTAlVTMRQwEgYDVQQIEwtVbnNwZWNpZmllZDEUMBIG +A1UEBxMLVW5zcGVjaWZpZWQxETAPBgNVBAoTCFNvbmF0eXBlMRAwDgYDVQQLEwdFeGFtcGxlMRYw +FAYDVQQDDA0qLmVjb21wLW5leHVzMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqkDu +vC91cZxOaRMYGHSyDeuw4hyXjqyD5Etl5L5TNN7+uFKEtvXsRYOxtD62TqWHKozffLE5o6zoRZL4 +8qNTQyAx0LaEfWfR2w0jat+UqtqEtW0xpOD0/O0qRq5Y/XG3Yr8SQ/y84Pr1FIflM7pM4PZTt3kc +UfqzbaONW5K8t+UG+5jgNXdRk3hln8WMunVZeci0J6TV+tWs9tOeAKBdpI7K7LV+FJBaF8vBAw2x +8AhlNPXKQUhK+M3DD73c1aLWrZ3mIwJXt2oQUDwgtXGCPR1/Z9f2tTAoDxpzvkwtP/BtH3qvgtpY +QfDNmWbJVHh6ll39Hapt7V0v4aCRSN21ZQIDAQABo00wSzAMBgNVHRMEBTADAQH/MBwGA1UdEQQV +MBOCC2Vjb21wLW5leHVzhwQK0MVLMB0GA1UdDgQWBBQxcUlk/lkKkwSz0GuewbXptJxl+zANBgkq +hkiG9w0BAQsFAAOCAQEAPnNbtdreMZaUSjv+1eqpriLKquwnZhnwWENn1u3sw4hTAWQc+ehhogGg +eIqPN81Dt3jhr0bYZW+r3gGq7tgrLxdSXso8bTtqHsFLszirgWcQXDlBQGnw9wqp/KBzeDJInJep +d6aGu3yBXV6459S/mClxZTSvsR+Vz3rRWxx01R3/ft5/myqrRMDnEncqPopTbEamBuUJL3eJDpFO +xlVqYR3y6AXwwguMaTiHMfFBmDOVaz4K8Qy6AaHH9eoch9fxOJ/7ASvqSwkC9GYTJSnF2vE37rmH +kPp//Vm4WSnQ2NrBGkH9rUUdYdDdgWJYnTeZ+YFd8J6z9xNiEn9QKQNNcA== +-----END CERTIFICATE----- + +EOF_CONFIG +## Adding configuration file: vm-postgresql-console.properties +cat > /tmp/vm-postgresql-console.properties << EOF_CONFIG +localhost.endpoint=http://localhost:9999 +localhost.user=console +localhost.password=MDBmMzE0NTgyMDU1NmVj +EOF_CONFIG + +## Adding configuration file: vm-postgresql-gui.properties +cat > /tmp/vm-postgresql-gui.properties << EOF_CONFIG +EOF_CONFIG + +## Adding configuration file: vm-postgresql-log4j.properties +cat > /tmp/vm-postgresql-log4j.properties << EOF_CONFIG +#log4j.debug=0 +log4j.rootLogger=warn, file +log4j.logger.org.openecomp.ncomp=info, file +log4j.additivity.org.openecomp.ncomp=false + +#log4j.logger.org.apache.http.headers=debug, file +#log4j.logger.org.apache.http.wire=debug, file +## uploaded logger +log4j.logger.org.openecomp.ncomp.sirius.manager.uploaded=info, uploaded +log4j.additivity.org.openecomp.ncomp.sirius.manager.uploaded=false +## request logging +log4j.logger.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=info, requests +log4j.additivity.org.openecomp.ncomp.sirius.manager.ManagementServer.requests=false +## openstack polling +log4j.logger.org.openecomp.ncomp.openstack.OpenStackUtil.polling=info, polling +log4j.additivity.org.openecomp.ncomp.openstack.OpenStackUtil.polling=false +log4j.appender.file=org.apache.log4j.RollingFileAppender +log4j.appender.file.File=logs/manager.log +log4j.appender.file.layout=org.apache.log4j.PatternLayout +log4j.appender.file.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n +log4j.appender.file.MaxFileSize=50MB +log4j.appender.file.MaxBackupIndex=5 + +log4j.appender.uploaded=org.apache.log4j.RollingFileAppender +log4j.appender.uploaded.File=logs/manager-uploaded.log +log4j.appender.uploaded.layout=org.apache.log4j.PatternLayout +log4j.appender.uploaded.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n +log4j.appender.uploaded.MaxFileSize=50MB +log4j.appender.uploaded.MaxBackupIndex=5 + +log4j.appender.requests=org.apache.log4j.RollingFileAppender +log4j.appender.requests.File=logs/manager-requests.log +log4j.appender.requests.layout=org.apache.log4j.PatternLayout +log4j.appender.requests.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n +log4j.appender.requests.MaxFileSize=50MB +log4j.appender.requests.MaxBackupIndex=5 +log4j.appender.polling=org.apache.log4j.RollingFileAppender +log4j.appender.polling.File=logs/manager-polling.log +log4j.appender.polling.layout=org.apache.log4j.PatternLayout +log4j.appender.polling.layout.ConversionPattern=%d %5p [%t] %m %C:%L%n +log4j.appender.polling.MaxFileSize=50MB +log4j.appender.polling.MaxBackupIndex=5 + +### ECOMP Logging +log4j.logger.org.openecomp.audit=info, audit +log4j.additivity.org.openecomp.audit=false +log4j.logger.org.openecomp.metrics=info, metrics +log4j.additivity.org.openecomp.metrics=false +log4j.logger.org.openecomp.error=info, error +log4j.additivity.org.openecomp.error=false +log4j.logger.com.att.eelf.debug=info, debug +log4j.additivity.org.openecomp.debug=false +log4j.appender.audit=org.apache.log4j.RollingFileAppender +log4j.appender.audit.File=logs/audit.log +log4j.appender.audit.layout=org.apache.log4j.PatternLayout +log4j.appender.audit.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%5p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n +log4j.appender.audit.MaxFileSize=50MB +log4j.appender.audit.MaxBackupIndex=5 +log4j.appender.metrics=org.apache.log4j.RollingFileAppender +log4j.appender.metrics.File=logs/metrics.log +log4j.appender.metrics.layout=org.apache.log4j.PatternLayout +log4j.appender.metrics.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n +log4j.appender.metrics.MaxFileSize=50MB +log4j.appender.metrics.MaxBackupIndex=5 +log4j.appender.error=org.apache.log4j.RollingFileAppender +log4j.appender.error.File=logs/error.log +log4j.appender.error.layout=org.apache.log4j.PatternLayout +log4j.appender.error.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n +log4j.appender.error.MaxFileSize=50MB +log4j.appender.error.MaxBackupIndex=5 +log4j.appender.debug=org.apache.log4j.RollingFileAppender +log4j.appender.debug.File=logs/debug.log +log4j.appender.debug.layout=org.apache.log4j.PatternLayout +log4j.appender.debug.layout.ConversionPattern=%d{MM/dd-HH:mm:ss.SSS}|%X{RequestId}|%X{ServiceInstanceId}|%t|%X{ServiceName}|%X{InstanceUUID}|%p|%X{AlertSeverity}|%X{ServerIPAddress}|%X{ServerFQDN}|%X{RemoteHost}|%X{Timer}|%m%n +log4j.appender.debug.MaxFileSize=50MB +log4j.appender.debug.MaxBackupIndex=5 +EOF_CONFIG + +## Adding configuration file: vm-postgresql-manager.properties +cat > /tmp/vm-postgresql-manager.properties << EOF_CONFIG +server.dir = data/resources +metrics.dir = data/metrics +properties.dir = data/properties +server.port = 9999 +server.user.console = MDBmMzE0NTgyMDU1NmVj +server.user.gui = M2NiOTg1YzNiYTI2NTJh +server.user.client = OTNmMmFkYzkxMzYzNTk0 +EOF_CONFIG + +## Adding configuration file: vm-postgresql-runtime.properties +cat > /tmp/vm-postgresql-runtime.properties << EOF_CONFIG +factory.vm=org.openecomp.dcae.controller.service.servers.vm.DcaeVmFactory +factory.postgres=org.openecomp.dcae.controller.service.storage.postgres.service.impl.ServicePackageImpl +EOF_CONFIG + +## Adding configuration file: vm-postgresql-hosts +cat > /tmp/vm-postgresql-hosts << EOF_CONFIG +EOF_CONFIG + +## Adding configuration file: monitoring-agent-gui.properties +cat > /tmp/monitoring-agent-gui.properties << EOF_CONFIG +EOF_CONFIG + +cat >> /etc/hosts << HOSTS_EOF +HOSTS_EOF + +cat > /tmp/certificate.pkcs12.b64code << EOF_CERT +EOF_CERT + +############################################################## +##################### CLOUDINIT ############################## +############################################################## + +## need to fix cloudinit in Centos. + +CLOUDHOSTCFG=/etc/cloud/cloud.cfg.d/99_hostname.cfg +if [ -f /etc/redhat-release ]; then + # CentOS/RHEL + ( echo "hostname: \$(hostname)"; echo "fqdn: \$(hostname -f)" ) > \$CLOUDHOSTCFG +fi + +mkdir -p ~/.ssh +touch ~/.ssh/authorized_keys + +echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCYz++VKcW3Sw0Sh7fFyTIjXED6NUUNYbje7awcnvaHHAC0rUxs7boX6hmWDViXoGZA5xw4Xhk5kIEs+zxMCDlF1q/9rbyq5ndonlBz3aPx7+SBqVR5sPalbSr8dJhGPwpj/0Df+FzqjGVL2p2d4VV7SeT/kKrNcSY6SmYHln6osoGFAHsOZC0d+fiba4zfCI9EI6zHdyCujwayjQ5W5UgA50XQ0KXpI5WtF6MOwO6jPL3SNNDlWobG/nsCAMxTQ04dALpYSoamM12Ps72MfxEwaKkoAcsH6WsFbuvoUSXwNcosmyxYrxNynsUz4C2Tz+PZqelGvm8Y8MtNuhN7oqAD root@ecomp-jumpbox >> /home/ubuntu/.ssh/authorized_keys + +######### step-1 + +cp /tmp/ecomp-nexus.crt /usr/local/share/ca-certificates/ ; update-ca-certificates + +######### step-2 + +echo 162.242.254.138 ecomp-nexus >> /etc/hosts + +######### step-3 + +if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +case runtime in + %*) + A1=org.openecomp.dcae.controller:dcae-controller-core-utils:1.0.0:zip + ;; + *) + A1=org.openecomp.dcae.controller:dcae-controller-core-utils:1.0.0:zip:runtime + ;; +esac + +wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-core-utils/1.0.0/dcae-controller-core-utils-1.0.0-runtime.zip -P /opt/app/dcae-controller-core-utils + +case zip in + jar) + mkdir /opt/app/dcae-controller-core-utils/lib + mv /opt/app/dcae-controller-core-utils/*.jar /opt/app/dcae-controller-core-utils/lib + ;; + zip) + ( cd /opt/app/dcae-controller-core-utils ; unzip -o dcae-controller-core-utils*.zip ) + ;; +esac + +chown -R dcae:dcae /opt/app/dcae-controller-core-utils + +######### step-4 + +/opt/app/dcae-controller-core-utils/bin/fs-init.py + +######### step-5 + +if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +case runtime in + %*) + A1=org.openecomp.dcae.controller:dcae-controller-service-common-vm-manager:1.0.0:zip + ;; + *) + A1=org.openecomp.dcae.controller:dcae-controller-service-common-vm-manager:1.0.0:zip:runtime + ;; +esac + +wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-common-vm-manager/1.0.0/dcae-controller-service-common-vm-manager-1.0.0-runtime.zip -P /opt/app/dcae-controller-service-common-vm-manager + +case zip in + jar) + mkdir /opt/app/dcae-controller-service-common-vm-manager/lib + mv /opt/app/dcae-controller-service-common-vm-manager/*.jar /opt/app/dcae-controller-service-common-vm-manager/lib + ;; + zip) + ( cd /opt/app/dcae-controller-service-common-vm-manager ; unzip -o dcae-controller-service-common-vm-manager*.zip ) + ;; +esac + +chown -R dcae:dcae /opt/app/dcae-controller-service-common-vm-manager + +######### step-6 + +if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +case %{assemblyId} in + %*) + A1=org.openecomp.dcae.controller:dcae-controller-service-storage-postgres-model:1.0.0:jar + ;; + *) + A1=org.openecomp.dcae.controller:dcae-controller-service-storage-postgres-model:1.0.0:jar:%{assemblyId} + ;; +esac + +wget https://nexus.onap.org/content/repositories/staging/org/openecomp/dcae/controller/dcae-controller-service-storage-postgres-model/1.0.0/dcae-controller-service-storage-postgres-model-1.0.0.jar -P /opt/app/dcae-controller-service-storage-postgres-model + +case jar in + jar) + mkdir /opt/app/dcae-controller-service-storage-postgres-model/lib + mv /opt/app/dcae-controller-service-storage-postgres-model/*.jar /opt/app/dcae-controller-service-storage-postgres-model/lib + ;; + zip) + ( cd /opt/app/dcae-controller-service-storage-postgres-model ; unzip -o dcae-controller-service-storage-postgres-model*.zip ) + ;; +esac + +chown -R dcae:dcae /opt/app/dcae-controller-service-storage-postgres-model + +######### step-7 + +if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-cdf_1.0.0.deb` + +case deb in + deb) + dpkg --install \$OUT + ;; + jar) + mkdir -p /opt/app/%{artifactId}/lib + mv \$OUT /opt/app/%{artifactId}/lib + chown -R dcae:dcae /opt/app/%{artifactId} + ;; + zip) + mkdir -p /opt/app/%{artifactId}/lib + ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT ) + chown -R dcae:dcae /opt/app/%{artifactId} + ;; +esac + +######### step-8 + +if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-prep_1.0.0.deb` + +case deb in + deb) + dpkg --install \$OUT + ;; + jar) + mkdir -p /opt/app/%{artifactId}/lib + mv \$OUT /opt/app/%{artifactId}/lib + chown -R dcae:dcae /opt/app/%{artifactId} + ;; + zip) + mkdir -p /opt/app/%{artifactId}/lib + ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT ) + chown -R dcae:dcae /opt/app/%{artifactId} + ;; +esac + +######### step-9 + +if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-postgresql-config_1.0.0.deb` + +case deb in + deb) + dpkg --install \$OUT + ;; + jar) + mkdir -p /opt/app/%{artifactId}/lib + mv \$OUT /opt/app/%{artifactId}/lib + chown -R dcae:dcae /opt/app/%{artifactId} + ;; + zip) + mkdir -p /opt/app/%{artifactId}/lib + ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT ) + chown -R dcae:dcae /opt/app/%{artifactId} + ;; +esac + +######### step-10 + +if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas_1.0.0.deb` + +case deb in + deb) + dpkg --install \$OUT + ;; + jar) + mkdir -p /opt/app/%{artifactId}/lib + mv \$OUT /opt/app/%{artifactId}/lib + chown -R dcae:dcae /opt/app/%{artifactId} + ;; + zip) + mkdir -p /opt/app/%{artifactId}/lib + ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT ) + chown -R dcae:dcae /opt/app/%{artifactId} + ;; +esac + +touch /etc/sudoers.d/dcae-postgres +echo "dcae ALL=(postgres) NOPASSWD: ALL" > /etc/sudoers.d/dcae-postgres + +/opt/app/postgresql-prep/bin/iDNS-responder.py & + +/etc/init.d/cron restart + +######### step-11 + +if [ ! -e /home/dcae ]; then useradd -m -s /bin/bash dcae; fi + +OUT=/tmp/`basename https://nexus.onap.org/content/sites/raw/org.openecomp.dcae.pgaas/deb-releases/org.openecomp.dcae.storage.pgaas-pgaas-post_1.0.0.deb` +case deb in + deb) + dpkg --install \$OUT + ;; + jar) + mkdir -p /opt/app/%{artifactId}/lib + mv \$OUT /opt/app/%{artifactId}/lib + chown -R dcae:dcae /opt/app/%{artifactId} + ;; + zip) + mkdir -p /opt/app/%{artifactId}/lib + ( cd /opt/app/%{artifactId} ; cp -p \$OUT . ; unzip -o \$OUT ) + chown -R dcae:dcae /opt/app/%{artifactId} + ;; +esac + +######### step-12 + +find /opt -type f -exec sed -i 's/sudo//g' {} \; +su dcae -c "/opt/app/dcae-controller-service-common-vm-manager/bin/manager.sh config" +su dcae -c "/opt/app/dcae-controller-service-common-vm-manager/bin/manager.sh restart" + +mkdir /home/dcae/.ssh +chmod og-rwx /home/dcae/.ssh +chown -R dcae:dcae /home/dcae/.ssh +touch /home/dcae/.ssh/authorized_keys +chmod og-rwx /home/dcae/.ssh/authorized_keys +chown -R dcae:dcae /home/dcae/.ssh/authorized_keys +echo ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCYz++VKcW3Sw0Sh7fFyTIjXED6NUUNYbje7awcnvaHHAC0rUxs7boX6hmWDViXoGZA5xw4Xhk5kIEs+zxMCDlF1q/9rbyq5ndonlBz3aPx7+SBqVR5sPalbSr8dJhGPwpj/0Df+FzqjGVL2p2d4VV7SeT/kKrNcSY6SmYHln6osoGFAHsOZC0d+fiba4zfCI9EI6zHdyCujwayjQ5W5UgA50XQ0KXpI5WtF6MOwO6jPL3SNNDlWobG/nsCAMxTQ04dALpYSoamM12Ps72MfxEwaKkoAcsH6WsFbuvoUSXwNcosmyxYrxNynsUz4C2Tz+PZqelGvm8Y8MtNuhN7oqAD root@ecomp-jumpbox >> /home/dcae/.ssh/authorized_keys +#no final script: vm-postgresql.userdata +EOF_DCAE_INSTALL +echo null > /tmp/.password +chmod u+x /tmp/dcae_install.sh +/tmp/dcae_install.sh 2>&1 | tee /tmp/dcae_install.log diff --git a/kubernetes/dcae/templates/all-services.yaml b/kubernetes/dcae/templates/all-services.yaml new file mode 100644 index 0000000000..45d22dba21 --- /dev/null +++ b/kubernetes/dcae/templates/all-services.yaml @@ -0,0 +1,117 @@ +apiVersion: v1 +kind: Service +metadata: + name: zookeeper + namespace: "{{ .Values.nsPrefix }}-dcae" + labels: + app: zookeeper +spec: + ports: + - name: zookeeper1 + port: 2181 + selector: + app: zookeeper + clusterIP: None +--- +apiVersion: v1 +kind: Service +metadata: + name: kafka + namespace: "{{ .Values.nsPrefix }}-dcae" + labels: + app: kafka +spec: + ports: + - name: kafka1 + port: 9092 + selector: + app: kafka + clusterIP: None +--- +apiVersion: v1 +kind: Service +metadata: + name: dmaap + namespace: "{{ .Values.nsPrefix }}-dcae" + labels: + app: dmaap + version: 1.1.0 +spec: + ports: + - name: mr1 + port: 3904 + #nodePort: {{ .Values.nodePortPrefix }}27 + - name: mr2 + port: 3905 + #nodePort: {{ .Values.nodePortPrefix }}26 + selector: + app: dmaap + #type: NodePort + clusterIP: None +--- +apiVersion: v1 +kind: Service +metadata: + name: zldciad4vipstg00 + namespace: "{{ .Values.nsPrefix }}-dcae" + labels: + app: dcae-pgaas +spec: + selector: + app: dcae-pgaas + ports: + - port: 5432 + protocol: TCP + targetPort: 5432 + nodePort: {{ .Values.nodePortPrefix }}45 + type: NodePort +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: dcae-collector-common-event + version: latest + name: dcae-collector-common-event + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + ports: + - name: dcae-ce1 + port: 8080 + protocol: TCP + nodePort: {{ .Values.nodePortPrefix }}36 + - name: dcae-ce2 + port: 8443 + protocol: TCP + nodePort: {{ .Values.nodePortPrefix }}37 + - name: dcae-ce3 + port: 9999 + protocol: TCP + nodePort: {{ .Values.nodePortPrefix }}38 + selector: + app: dcae-collector-common-event + type: NodePort +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: dcae-collector-dmaapbc + version: latest + name: dcae-collector-dmaapbc + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + ports: + - name: dcae-bc1 + port: 8080 + protocol: TCP + targetPort: 8080 + nodePort: {{ .Values.nodePortPrefix }}39 + - name: dcae-bc2 + port: 8443 + protocol: TCP + targetPort: 8443 + nodePort: {{ .Values.nodePortPrefix }}40 + selector: + app: dcae-collector-dmaapbc + type: NodePort diff --git a/kubernetes/dcae/templates/cdap0-dep.yaml b/kubernetes/dcae/templates/cdap0-dep.yaml new file mode 100644 index 0000000000..d438ab9477 --- /dev/null +++ b/kubernetes/dcae/templates/cdap0-dep.yaml @@ -0,0 +1,84 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + annotations: + deployment.kubernetes.io/revision: "1" + labels: + app: cdap0 + name: cdap0 + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + selector: + matchLabels: + app: cdap0 + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: cdap0 + name: cdap0 + annotations: + pod.beta.kubernetes.io/init-containers: '[ + { + "name": "create-fs", + "image": "{{ .Values.image.cdapfs }}", + "imagePullPolicy": "{{ .Values.pullPolicy }}", + "command": ["/bin/bash", "-c", "mkdir -p /cdap/{cdap0-opt-tools,cdap0-opt-data,pod-ip}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3]; do sleep 1; done"], + "volumeMounts": [ + { + "mountPath": "/cdap", + "name": "cdap-root" + } + ] + } + ]' + spec: + hostname: zldcprivatecloudtruecdap00 + containers: + - image: {{ .Values.image.cdap }} + imagePullPolicy: {{ .Values.pullPolicy }} + command: ["/bin/bash"] + args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"] + name: cdap0 + ports: + - containerPort: 8020 + protocol: TCP + - containerPort: 8025 + protocol: TCP + - containerPort: 50070 + protocol: TCP + - containerPort: 50075 + protocol: TCP + - containerPort: 50010 + protocol: TCP + - containerPort: 50020 + protocol: TCP + - containerPort: 3888 + protocol: TCP + - containerPort: 2888 + protocol: TCP + - containerPort: 2181 + protocol: TCP + volumeMounts: + - mountPath: /cdap + name: cdap-root + - mountPath: /opt/tools + name: dcae-cdap0-opt-tools + - mountPath: /opt/data + name: dcae-cdap0-opt-data + volumes: + - name: cdap-root + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap + - name: dcae-cdap0-opt-tools + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap0-opt-tools + - name: dcae-cdap0-opt-data + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap0-opt-data + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/templates/cdap1-dep.yaml b/kubernetes/dcae/templates/cdap1-dep.yaml new file mode 100644 index 0000000000..efc64da203 --- /dev/null +++ b/kubernetes/dcae/templates/cdap1-dep.yaml @@ -0,0 +1,84 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + annotations: + deployment.kubernetes.io/revision: "1" + labels: + app: cdap1 + name: cdap1 + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + selector: + matchLabels: + app: cdap1 + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: cdap1 + name: cdap1 + annotations: + pod.beta.kubernetes.io/init-containers: '[ + { + "name": "create-fs", + "image": "{{ .Values.image.cdapfs }}", + "imagePullPolicy": "{{ .Values.pullPolicy }}", + "command": ["/bin/bash", "-c", "mkdir -p /cdap/{cdap1-opt-tools,cdap1-opt-data}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3]; do sleep 1; done"], + "volumeMounts": [ + { + "mountPath": "/cdap", + "name": "cdap-root" + } + ] + } + ]' + spec: + hostname: zldcprivatecloudtruecdap01 + containers: + - image: {{ .Values.image.cdap }} + imagePullPolicy: {{ .Values.pullPolicy }} + command: ["/bin/bash"] + args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"] + name: cdap1 + ports: + - containerPort: 8020 + protocol: TCP + - containerPort: 8025 + protocol: TCP + - containerPort: 50070 + protocol: TCP + - containerPort: 50075 + protocol: TCP + - containerPort: 50010 + protocol: TCP + - containerPort: 50020 + protocol: TCP + - containerPort: 3888 + protocol: TCP + - containerPort: 2888 + protocol: TCP + - containerPort: 2181 + protocol: TCP + volumeMounts: + - mountPath: /cdap + name: cdap-root + - mountPath: /opt/tools + name: dcae-cdap1-opt-tools + - mountPath: /opt/data + name: dcae-cdap1-opt-data + volumes: + - name: cdap-root + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap + - name: dcae-cdap1-opt-tools + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap1-opt-tools + - name: dcae-cdap1-opt-data + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap1-opt-data + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/templates/cdap2-dep.yaml b/kubernetes/dcae/templates/cdap2-dep.yaml new file mode 100644 index 0000000000..64f8e300b7 --- /dev/null +++ b/kubernetes/dcae/templates/cdap2-dep.yaml @@ -0,0 +1,84 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + annotations: + deployment.kubernetes.io/revision: "1" + labels: + app: cdap2 + name: cdap2 + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + selector: + matchLabels: + app: cdap2 + strategy: + rollingUpdate: + maxSurge: 1 + maxUnavailable: 1 + type: RollingUpdate + template: + metadata: + labels: + app: cdap2 + name: cdap2 + annotations: + pod.beta.kubernetes.io/init-containers: '[ + { + "name": "create-fs", + "image": "{{ .Values.image.cdapfs }}", + "imagePullPolicy": "{{ .Values.pullPolicy }}", + "command": ["/bin/bash", "-c", "mkdir -p /cdap/{cdap2-opt-tools,cdap2-opt-data}; grep `hostname` /etc/hosts > /cdap/pod-ip/`hostname`_ip.txt; while [`ls /cdap/pod-ip | wc -l` < 3]; do sleep 1; done"], + "volumeMounts": [ + { + "mountPath": "/cdap", + "name": "cdap-root" + } + ] + } + ]' + spec: + hostname: zldcprivatecloudtruecdap02 + containers: + - image: {{ .Values.image.cdap }} + imagePullPolicy: {{ .Values.pullPolicy }} + command: ["/bin/bash"] + args: ["-c", "cat /cdap/pod-ip/* >> /etc/hosts; /usr/local/bin/01-entrypoint.sh; sleep infinity;"] + name: cdap2 + ports: + - containerPort: 8020 + protocol: TCP + - containerPort: 8025 + protocol: TCP + - containerPort: 50070 + protocol: TCP + - containerPort: 50075 + protocol: TCP + - containerPort: 50010 + protocol: TCP + - containerPort: 50020 + protocol: TCP + - containerPort: 3888 + protocol: TCP + - containerPort: 2888 + protocol: TCP + - containerPort: 2181 + protocol: TCP + volumeMounts: + - mountPath: /cdap + name: cdap-root + - mountPath: /opt/tools + name: dcae-cdap2-opt-tools + - mountPath: /opt/data + name: dcae-cdap2-opt-data + volumes: + - name: cdap-root + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap + - name: dcae-cdap2-opt-tools + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap2-opt-tools + - name: dcae-cdap2-opt-data + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/cdap/cdap2-opt-data + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/templates/dcae-collector-common-event.yaml b/kubernetes/dcae/templates/dcae-collector-common-event.yaml new file mode 100644 index 0000000000..c77e5a4d96 --- /dev/null +++ b/kubernetes/dcae/templates/dcae-collector-common-event.yaml @@ -0,0 +1,38 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: dcae-collector-common-event + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + selector: + matchLabels: + app: dcae-collector-common-event + template: + metadata: + labels: + app: dcae-collector-common-event + name: dcae-collector-common-event + spec: + containers: + - image: {{ .Values.image.commonevent }} + imagePullPolicy: {{ .Values.pullPolicy }} + name: dcae-collector-common-event + ports: + - containerPort: 8080 + - containerPort: 8443 + - containerPort: 9999 + env: +# - name: KAFKA_ZOOKEEPER_CONNECT +# value: "zookeeper:2181" +# command: +# - start-kafka.sh + volumeMounts: + - mountPath: /opt/app/manager/config + name: dcae-collector-common-event-config + restartPolicy: Always + volumes: + - name: dcae-collector-common-event-config + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/common-event/config + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml b/kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml new file mode 100644 index 0000000000..a36d5061f2 --- /dev/null +++ b/kubernetes/dcae/templates/dcae-collector-dmaapbc.yaml @@ -0,0 +1,37 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: dcae-collector-dmaapbc + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + selector: + matchLabels: + app: dcae-collector-dmaapbc + template: + metadata: + labels: + app: dcae-collector-dmaapbc + name: dcae-collector-dmaapbc + spec: + containers: + - image: {{ .Values.image.dmaapbc }} + imagePullPolicy: {{ .Values.pullPolicy }} + name: dcae-collector-dmaapbc + ports: + - containerPort: 18080 + - containerPort: 18443 + env: +# - name: KAFKA_ZOOKEEPER_CONNECT +# value: "zookeeper:2181" +# command: +# - start-kafka.sh + volumeMounts: + - mountPath: /opt/app/config + name: dcae-collector-dmaapbc-config + restartPolicy: Always + volumes: + - name: dcae-collector-dmaapbc-config + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/dmaapbc/config + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/templates/dcae-controller.yaml b/kubernetes/dcae/templates/dcae-controller.yaml new file mode 100644 index 0000000000..459e81e8b3 --- /dev/null +++ b/kubernetes/dcae/templates/dcae-controller.yaml @@ -0,0 +1,61 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app: dcae-controller + version: latest + name: dcae-controller + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + ports: + - name: dcae-con1 + port: 8000 + protocol: TCP + targetPort: 8000 + nodePort: {{ .Values.nodePortPrefix }}34 + - name: dcae-con2 + port: 9998 + protocol: TCP + targetPort: 9998 + nodePort: {{ .Values.nodePortPrefix }}35 + selector: + app: dcae-controller + type: NodePort +--- +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: dcae-controller + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + selector: + matchLabels: + app: dcae-controller + template: + metadata: + labels: + app: dcae-controller + name: dcae-controller + spec: + containers: + - image: {{ .Values.image.controller }} + imagePullPolicy: {{ .Values.pullPolicy }} + name: dcae-controller + ports: + - containerPort: 8000 + - containerPort: 9998 + env: +# - name: KAFKA_ZOOKEEPER_CONNECT +# value: "zookeeper:2181" +# command: +# - start-kafka.sh + volumeMounts: + - mountPath: /opt/app/config + name: dcae-controller-config + restartPolicy: Always + volumes: + - name: dcae-controller-config + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/dcae-controller/config + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/templates/dcae-dmaap.yaml b/kubernetes/dcae/templates/dcae-dmaap.yaml new file mode 100644 index 0000000000..e1f61e5135 --- /dev/null +++ b/kubernetes/dcae/templates/dcae-dmaap.yaml @@ -0,0 +1,75 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: dmaap + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + selector: + matchLabels: + app: dmaap + template: + metadata: + labels: + app: dmaap + name: dmaap + annotations: + pod.beta.kubernetes.io/init-containers: '[ + { + "args": [ + "--container-name", + "kafka", + "--container-name", + "zookeeper" + ], + "command": [ + "/root/ready.py" + ], + "env": [ + { + "name": "NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + } + ], + "image": "{{ .Values.image.readiness }}", + "imagePullPolicy": "{{ .Values.pullPolicy }}", + "name": "dmaap-readiness" + } + ]' + spec: + containers: + - image: {{ .Values.image.dmaap }} + imagePullPolicy: {{ .Values.pullPolicy }} + name: dmaap + ports: + - containerPort: 3904 + - containerPort: 3905 + readinessProbe: + tcpSocket: + port: 3904 + initialDelaySeconds: 5 + periodSeconds: 10 + volumeMounts: + - mountPath: /appl/dmaapMR1/bundleconfig/etc/appprops/MsgRtrApi.properties + name: appprops + - mountPath: /appl/dmaapMR1/etc/cadi.properties + name: cadi + - mountPath: /appl/dmaapMR1/etc/keyfile + name: mykey + restartPolicy: Always + volumes: + - name: appprops + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dmaap/MsgRtrApi.properties + - name: cadi + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dmaap/cadi.properties + - name: mykey + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dmaap/mykey + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/templates/dcae-kafka.yaml b/kubernetes/dcae/templates/dcae-kafka.yaml new file mode 100644 index 0000000000..9a092264f9 --- /dev/null +++ b/kubernetes/dcae/templates/dcae-kafka.yaml @@ -0,0 +1,83 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: kafka + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + selector: + matchLabels: + app: kafka + template: + metadata: + labels: + app: kafka + name: kafka + annotations: + pod.beta.kubernetes.io/init-containers: '[ + { + "args": [ + "--container-name", + "zookeeper" + ], + "command": [ + "/root/ready.py" + ], + "env": [ + { + "name": "NAMESPACE", + "valueFrom": { + "fieldRef": { + "apiVersion": "v1", + "fieldPath": "metadata.namespace" + } + } + } + ], + "image": "{{ .Values.image.readiness }}", + "imagePullPolicy": "{{ .Values.pullPolicy }}", + "name": "kafka-readiness" + } + ]' + spec: + containers: + - image: {{ .Values.image.kafka }} + imagePullPolicy: {{ .Values.pullPolicy }} + name: kafka + ports: + - containerPort: 9092 + readinessProbe: + tcpSocket: + port: 9092 + initialDelaySeconds: 5 + periodSeconds: 10 + env: + - name: KAFKA_ZOOKEEPER_CONNECT + value: "zookeeper.{{ .Values.nsPrefix }}-dcae:2181" + - name: KAFKA_ADVERTISED_HOST_NAME + value: "kafka" + - name: KAFKA_BROKER_ID + value: "1" + - name: KAFKA_ADVERTISED_PORT + value: "9092" + - name: KAFKA_PORT + value: "9092" + volumeMounts: + - mountPath: /var/run/docker.sock + name: docker-socket + - mountPath: /kafka + name: kafka-data + - mountPath: /start-kafka.sh + name: start-kafka + restartPolicy: Always + volumes: + - name: docker-socket + hostPath: + path: /var/run/docker.sock + - name: kafka-data + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/data-kafka/ + - name: start-kafka + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/start-kafka.sh + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/templates/dcae-zookeeper.yaml b/kubernetes/dcae/templates/dcae-zookeeper.yaml new file mode 100644 index 0000000000..8d03c9d985 --- /dev/null +++ b/kubernetes/dcae/templates/dcae-zookeeper.yaml @@ -0,0 +1,31 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + name: zookeeper + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + selector: + matchLabels: + app: zookeeper + template: + metadata: + labels: + app: zookeeper + name: zookeeper + spec: + containers: + - image: {{ .Values.image.zookeeper }} + imagePullPolicy: {{ .Values.pullPolicy }} + name: zookeeper + ports: + - containerPort: 2181 + volumeMounts: + - mountPath: /opt/zookeeper-3.4.9/data + name: zookeeper-data + restartPolicy: Always + volumes: + - name: zookeeper-data + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/message-router/dcae-startup-vm-message-router/docker_files/data-zookeeper + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/templates/pgaas.yaml b/kubernetes/dcae/templates/pgaas.yaml new file mode 100644 index 0000000000..de62be501a --- /dev/null +++ b/kubernetes/dcae/templates/pgaas.yaml @@ -0,0 +1,47 @@ +apiVersion: extensions/v1beta1 +kind: Deployment +metadata: + annotations: + deployment.kubernetes.io/revision: "1" + labels: + app: dcae-pgaas + name: dcae-pgaas + namespace: "{{ .Values.nsPrefix }}-dcae" +spec: + replicas: 1 + selector: + matchLabels: + app: dcae-pgaas + template: + metadata: + labels: + app: dcae-pgaas + spec: + hostname: zldciad4vipstg00 + containers: + - image: {{ .Values.image.pgaas }} + imagePullPolicy: {{ .Values.pullPolicy }} + command: ["/bin/bash"] + args: ["-c", "/usr/local/bin/entrypoint.sh; sleep infinity;"] + name: dcae-pgaas + ports: + - containerPort: 5432 + volumeMounts: + - mountPath: /dbroot/pgdata + name: dcae-pgaas-pgdata + - mountPath: /dbroot/pglogs + name: dcae-pgaas-pglogs + - mountPath: /opt/tools + name: dcae-pgaas-tools + volumes: + - name: dcae-pgaas-pgdata + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/pgaas/pgdata + - name: dcae-pgaas-pglogs + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/pgaas/pglogs + - name: dcae-pgaas-tools + hostPath: + path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcae/pgaas/tools + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" diff --git a/kubernetes/dcae/values.yaml b/kubernetes/dcae/values.yaml new file mode 100644 index 0000000000..ae41f83248 --- /dev/null +++ b/kubernetes/dcae/values.yaml @@ -0,0 +1,14 @@ +nsPrefix: onap +pullPolicy: Always +nodePortPrefix: 302 +image: + readiness: oomk8s/readiness-check:1.0.0 + pgaas: oomk8s/pgaas:1 + cdapfs: oomk8s/cdap-fs:1.0.0 + cdap: oomk8s/cdap:1.0.7 + dmaap: attos/dmaap:latest + kafka: wurstmeister/kafka:latest + zookeeper: wurstmeister/zookeeper:latest + dmaapbc: nexus3.onap.org:10001/openecomp/dcae-dmaapbc:1.1-STAGING-latest + commonevent: nexus3.onap.org:10001/openecomp/dcae-collector-common-event:1.1-STAGING-latest + controller: nexus3.onap.org:10001/openecomp/dcae-controller:1.1-STAGING-latest diff --git a/kubernetes/oneclick/dcae.sh b/kubernetes/oneclick/dcae.sh index 8a95e0bfff..5dd1a2f071 100755 --- a/kubernetes/oneclick/dcae.sh +++ b/kubernetes/oneclick/dcae.sh @@ -1,2 +1,18 @@ #!/bin/bash -echo "DCAE under construction" +# manual deployment order is mentioned - but we need to specify dependencies in the service +KUBECTL_CMD="kubectl --namespace $1-$2 $3 -f ../$2" + +printf "dcae....\n" +$KUBECTL_CMD/message-router/dcae-zookeeper.yaml +$KUBECTL_CMD/message-router/dcae-kafka.yaml +$KUBECTL_CMD/message-router/dcae-dmaap.yaml + +$KUBECTL_CMD/pgaas/pgaas.yaml + +$KUBECTL_CMD/dcae-collector-common-event.yaml +$KUBECTL_CMD/dcae-collector-dmaapbc.yaml +$KUBECTL_CMD/dcae-collector-pvs.yaml + +$KUBECTL_CMD/cdap/cdap0-dep.yaml +$KUBECTL_CMD/cdap/cdap1-dep.yaml +$KUBECTL_CMD/cdap/cdap2-dep.yaml diff --git a/kubernetes/oneclick/setenv.bash b/kubernetes/oneclick/setenv.bash index 8fd8cd4d3c..4b0d9403ca 100644 --- a/kubernetes/oneclick/setenv.bash +++ b/kubernetes/oneclick/setenv.bash @@ -1,6 +1,6 @@ #!/bin/bash -HELM_APPS=('mso' 'message-router' 'sdnc' 'vid' 'robot' 'portal' 'policy' 'appc' 'aai' 'sdc') +HELM_APPS=('mso' 'message-router' 'sdnc' 'vid' 'robot' 'portal' 'policy' 'appc' 'aai' 'sdc' 'dcae') ONAP_DOCKER_REGISTRY=${ONAP_DOCKER_REGISTRY:-nexus3.onap.org:10001} ONAP_DOCKER_USER=${ONAP_DOCKER_USER:-docker} ONAP_DOCKER_PASS=${ONAP_DOCKER_PASS:-docker} -- 2.16.6