summaryrefslogtreecommitdiffstats
path: root/kubernetes/dcaegen2
diff options
context:
space:
mode:
authorAlexis de Talhouët <adetalhouet89@gmail.com>2017-12-14 11:52:12 -0500
committerAlexis de Talhouët <adetalhouet89@gmail.com>2018-01-16 16:06:08 -0500
commit9df729a94661a298020ee2778f92dea0f539f3b5 (patch)
tree54d367c6c7b31c426862d4b4c70dc80aec2b7122 /kubernetes/dcaegen2
parentcb02aa241edd97acb6c5ca744de84313f53e8a5a (diff)
Add support for DCAE in Amsterdam
- add nginx container to reverse proxy hostname coming from DCAE world to OOM world. - create DNS zone in Designate for simpledemo.onap.org. to point to the K8S hosts where dcaegen2 service is running. - add heat stack to deploy DCAE - update SDC configuration file to dynamically inject the UEB servers as those are in reality the k8s nodes ip addresses, as the dmaap service port is exposed by the dcaegen2 service. This is done because the service-change-handler container deployed by DCAE is getting the UEB servers IP list from SDC itself, hence to enable resolution in the DCAE VM, the IP has to be reachable. (Hence this config assume DCAE VMs can route to K8S hosts). Previous config was using dmaap.onap-message-router for UEB servers host, but this is not resolvable by any DNS. - add knob to deploy DCAE or not - add DCAE related parameters in onap-parameters.yaml (initial config) - fix DCAE healthcheck - add support to keystone v2.0 and v3 - fix vm_properties robot file Change-Id: I64ec6faf7b45b293bf7110e9e23e31798bf9b841 Signed-off-by: Alexis de Talhouët <adetalhouet89@gmail.com> Issue-ID: OOM-508
Diffstat (limited to 'kubernetes/dcaegen2')
-rw-r--r--kubernetes/dcaegen2/dcae-parameters-sample.yaml41
-rw-r--r--kubernetes/dcaegen2/templates/heat-bootstrap-dep.yaml46
-rw-r--r--kubernetes/dcaegen2/templates/nginx-dep.yaml53
-rw-r--r--kubernetes/dcaegen2/templates/nginx-service.yaml35
-rw-r--r--kubernetes/dcaegen2/templates/pod.yaml30
-rw-r--r--kubernetes/dcaegen2/values.yaml13
6 files changed, 142 insertions, 76 deletions
diff --git a/kubernetes/dcaegen2/dcae-parameters-sample.yaml b/kubernetes/dcaegen2/dcae-parameters-sample.yaml
deleted file mode 100644
index 1d6c63d8bb..0000000000
--- a/kubernetes/dcaegen2/dcae-parameters-sample.yaml
+++ /dev/null
@@ -1,41 +0,0 @@
-# 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/heat-bootstrap-dep.yaml b/kubernetes/dcaegen2/templates/heat-bootstrap-dep.yaml
new file mode 100644
index 0000000000..194d9c47e5
--- /dev/null
+++ b/kubernetes/dcaegen2/templates/heat-bootstrap-dep.yaml
@@ -0,0 +1,46 @@
+#{{ if not .Values.disableDcae }}
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: heat-bootstrap
+ namespace: "{{ .Values.nsPrefix }}-dcaegen2"
+spec:
+ selector:
+ matchLabels:
+ app: heat-bootstrap
+ template:
+ metadata:
+ labels:
+ app: heat-bootstrap
+ name: heat-bootstrap
+ spec:
+ hostname: heat-bootstrap
+ containers:
+ - command:
+ - /bin/bash
+ - ./opt/heat/entrypoint.sh
+ args: ["{{ .Values.nsPrefix }}"]
+ image: "{{ .Values.heat_bootstrap.repository }}:{{ .Values.heat_bootstrap.tag }}"
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: "heat-bootstrap"
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /opt/heat
+ name: heat-bootstrap-config
+ - mountPath: /opt/robot
+ name: robot-config
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: heat-bootstrap-config
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcaegen2/heat/
+ - name: robot-config
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/robot/eteshare/config/
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
+#{{ end }}
diff --git a/kubernetes/dcaegen2/templates/nginx-dep.yaml b/kubernetes/dcaegen2/templates/nginx-dep.yaml
new file mode 100644
index 0000000000..7d8832cbc3
--- /dev/null
+++ b/kubernetes/dcaegen2/templates/nginx-dep.yaml
@@ -0,0 +1,53 @@
+#{{ if not .Values.disableDcae }}
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: nginx
+ namespace: "{{ .Values.nsPrefix }}-dcaegen2"
+spec:
+ selector:
+ matchLabels:
+ app: nginx
+ template:
+ metadata:
+ labels:
+ app: nginx
+ name: nginx
+ spec:
+ hostname: nginx
+ containers:
+ - image: "{{ .Values.nginx.repository }}:{{ .Values.nginx.tag }}"
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: "nginx"
+ ports:
+ - containerPort: 8443
+ name: aai-service
+ - containerPort: 3904
+ name: dmaap
+ - containerPort: 8443
+ name: sdc-be
+ - containerPort: 8081
+ name: pdp
+ - containerPort: 80
+ name: msbapigw
+ volumeMounts:
+ - mountPath: /etc/localtime
+ name: localtime
+ readOnly: true
+ - mountPath: /etc/nginx/conf.d/
+ name: nginx-config
+ - mountPath: /etc/certs/
+ name: nginx-certs
+ volumes:
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: nginx-config
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcaegen2/nginx/config
+ - name: nginx-certs
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/dcaegen2/nginx/certs
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
+#{{ end }}
diff --git a/kubernetes/dcaegen2/templates/nginx-service.yaml b/kubernetes/dcaegen2/templates/nginx-service.yaml
new file mode 100644
index 0000000000..68fe058f89
--- /dev/null
+++ b/kubernetes/dcaegen2/templates/nginx-service.yaml
@@ -0,0 +1,35 @@
+#{{ if not .Values.disableDcae }}
+apiVersion: v1
+kind: Service
+metadata:
+ name: {{ .Chart.Name }}
+ namespace: "{{ .Values.nsPrefix }}-dcaegen2"
+ labels:
+ app: nginx
+spec:
+ ports:
+ - name: aai-service
+ port: 8443
+ targetPort: 8443
+ nodePort: 30600
+ - name: dmaap
+ port: 3904
+ targetPort: 3904
+ nodePort: 30601
+ - name: sdc-be
+ port: 8443
+ targetPort: 8443
+ nodePort: 30602
+ - name: pdp
+ port: 8081
+ targetPort: 8081
+ nodePort: 30603
+ - name: msbapigw
+ port: 80
+ targetPort: 80
+ nodePort: 30604
+ selector:
+ app: nginx
+ type: LoadBalancer
+ externalTrafficPolicy: Local
+#{{ end }} \ No newline at end of file
diff --git a/kubernetes/dcaegen2/templates/pod.yaml b/kubernetes/dcaegen2/templates/pod.yaml
deleted file mode 100644
index ffb3716ecf..0000000000
--- a/kubernetes/dcaegen2/templates/pod.yaml
+++ /dev/null
@@ -1,30 +0,0 @@
-#{{ if not .Values.disableDcaegen2 }}
-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
-#{{ end }} \ No newline at end of file
diff --git a/kubernetes/dcaegen2/values.yaml b/kubernetes/dcaegen2/values.yaml
index c892f69e68..d446c6be9f 100644
--- a/kubernetes/dcaegen2/values.yaml
+++ b/kubernetes/dcaegen2/values.yaml
@@ -1,6 +1,9 @@
nsPrefix: onap
-location: dg2
-image:
- repository: nexus3.onap.org:10001/onap/org.onap.dcaegen2.deployments.bootstrap
- tag: v1.1.0
- pullPolicy: Always \ No newline at end of file
+pullPolicy: Always
+disableDcae: false
+nginx:
+ repository: nginx
+ tag: stable
+heat_bootstrap:
+ repository: ubuntu
+ tag: xenial \ No newline at end of file