From de8d47e2497260fbe0530faf43eb51a074beef78 Mon Sep 17 00:00:00 2001 From: Mandeep Khinda Date: Thu, 21 Sep 2017 18:22:10 +0000 Subject: dcaegen2 bootstrap container in K8s launching the dcaegen2 bootstrap container in OOM K8s. -based on dcaegen2/deployments/bootstrap/README-docker.md -requires an openstack private key pair file locally -requires mining and updating a yaml configuration file as per the comments in the sample file given. -unfortunately, my attempts to bundle the secret and configmap in the helm package didn't work out as they are external files so I create them using the createAll.bash script. Issue-ID: OOM-107 Change-Id: I221f60af66ea0f7e97ddd8b92819dce9aa6b5a81 Signed-off-by: Mandeep Khinda --- kubernetes/dcaegen2/.helmignore | 22 +++++++++++++ kubernetes/dcaegen2/Chart.yaml | 4 +++ kubernetes/dcaegen2/dcae-parameters-sample.yaml | 41 +++++++++++++++++++++++++ kubernetes/dcaegen2/templates/pod.yaml | 28 +++++++++++++++++ kubernetes/dcaegen2/values.yaml | 6 ++++ 5 files changed, 101 insertions(+) create mode 100644 kubernetes/dcaegen2/.helmignore create mode 100644 kubernetes/dcaegen2/Chart.yaml create mode 100644 kubernetes/dcaegen2/dcae-parameters-sample.yaml create mode 100644 kubernetes/dcaegen2/templates/pod.yaml create mode 100644 kubernetes/dcaegen2/values.yaml (limited to 'kubernetes/dcaegen2') diff --git a/kubernetes/dcaegen2/.helmignore b/kubernetes/dcaegen2/.helmignore new file mode 100644 index 0000000000..a7adb75030 --- /dev/null +++ b/kubernetes/dcaegen2/.helmignore @@ -0,0 +1,22 @@ +# Patterns to ignore when building packages. +# This supports shell glob matching, relative path matching, and +# negation (prefixed with !). Only one pattern per line. +.DS_Store +# Common VCS dirs +.git/ +.gitignore +.bzr/ +.bzrignore +.hg/ +.hgignore +.svn/ +# Common backup files +*.swp +*.bak +*.tmp +*~ +# Various IDEs +.project +.idea/ +*.tmproj +dcae-parameters-sample.yaml \ No newline at end of file diff --git a/kubernetes/dcaegen2/Chart.yaml b/kubernetes/dcaegen2/Chart.yaml new file mode 100644 index 0000000000..4ab4f859c7 --- /dev/null +++ b/kubernetes/dcaegen2/Chart.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +description: DCAE Generation 2 bootstrap container +name: dcaegen2 +version: 1.1.0 diff --git a/kubernetes/dcaegen2/dcae-parameters-sample.yaml b/kubernetes/dcaegen2/dcae-parameters-sample.yaml new file mode 100644 index 0000000000..b2cffae46b --- /dev/null +++ b/kubernetes/dcaegen2/dcae-parameters-sample.yaml @@ -0,0 +1,41 @@ +# UUID of the OpenStack"s CentOS 7 cloud VM image +# If your Openstack does not have a CentOS 7 cloud image, you will have to add one. +centos7image_id: "52d4ea09-cc69-4a9a-9961-938a3282d209" +# UUID of the OpenStack"s Ubuntu 16.04 VM image +# If your Openstack does not have a buntu 16.04 cloud image, you will have to add one. +ubuntu1604image_id: "97bbe637-5d42-419a-a2c7-beff33ffa23c" +# ID of the OpenStack"s VM flavor to be used by DCAEGEN2 VMs (m1.medium/m1.large) +flavor_id: "4" +# UUID of the OpenStack"s security group to be used for DCAEGEN2 VMs +security_group: "abc0687d-34ab-4d37-8fe8-4b544d94ba71" +# The name of the OpenStack network where public IP addresses and floating IPs are allocated from +# This must use the name and not the UUID. The name must be unique otherwise the installer fails +public_net: "public" +# The name of the OpenStack network where private IP addresses are allocated from +private_net: "onap_oam" +# Group header for OpenStack Keystone parameters +openstack: + # User name + username: "dev" + # Password + password: "dev" + # Name of the OpenStack tenant/project where DCAEGEN2 VMs are deployed + tenant_name: "dev" + # Openstack authentication API URL, for example "https://horizon.playground.onap.org:5000/v2.0" + auth_url: "http://1.2.3.4:5000/v2.0" + # Name of the OpenStack region where DCAEGEN2 VMs are deployed, for example "RegionOne" + region: "RegionOne" +# Name of the public key uploaded to OpenStack in the Prepration step +keypair: "dcae-g2" +# Path to the private key within the conatiner (!! Do not change!!) +key_filename: "/opt/dcae/key" +# Prefix (location code) of all DCAEGEN2 VMs +location_prefix: "onapr1" +# Domain name of the OpenStack tenant "onapr1.playground.onap.org" +location_domain: "onap-dcaegen2" +# Location of the raw artifact repo hosting additional boot scripts called by DCAEGEN2 VMs" cloud-init, for example: "https://nexus.onap.org/service/local/repositories/raw/content" +codesource_url: "https://nexus.onap.org/content/sites/raw" +# Path to the boot scripts within the raw artifact repo, for example: "org.onap.dcaegen2.deployments.scripts/releases/" +codesource_version: "org.onap.dcaegen2.deployments/releases/scripts/" + + diff --git a/kubernetes/dcaegen2/templates/pod.yaml b/kubernetes/dcaegen2/templates/pod.yaml new file mode 100644 index 0000000000..e275ff671d --- /dev/null +++ b/kubernetes/dcaegen2/templates/pod.yaml @@ -0,0 +1,28 @@ +apiVersion: v1 +kind: Pod +metadata: + name: {{ .Chart.Name }} + namespace: "{{ .Values.nsPrefix }}-dcaegen2" +spec: + containers: + - name: {{ .Chart.Name }} + image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" + imagePullPolicy: {{ .Values.image.pullPolicy }} + volumeMounts: + - name: installer-config-mount + mountPath: /opt/app/installer/config + readOnly: true + env: + - name: LOCATION + value: "{{ .Values.location }}" + volumes: + - name: installer-config-mount + projected: + sources: + - secret: + name: "{{ .Chart.Name }}-openstack-ssh-private-key" + - configMap: + name: "{{ .Chart.Name }}-config-inputs" + imagePullSecrets: + - name: "{{ .Values.nsPrefix }}-docker-registry-key" + restartPolicy: Never \ No newline at end of file diff --git a/kubernetes/dcaegen2/values.yaml b/kubernetes/dcaegen2/values.yaml new file mode 100644 index 0000000000..5d446c8c41 --- /dev/null +++ b/kubernetes/dcaegen2/values.yaml @@ -0,0 +1,6 @@ +nsPrefix: onap +location: dg2 +image: + repository: nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.bootstrap + tag: 1.1-latest + pullPolicy: Always \ No newline at end of file -- cgit 1.2.3-korg