diff options
author | Alexis de Talhouët <adetalhouet89@gmail.com> | 2017-12-14 11:52:12 -0500 |
---|---|---|
committer | Alexis de Talhouët <adetalhouet89@gmail.com> | 2018-01-16 16:06:08 -0500 |
commit | 9df729a94661a298020ee2778f92dea0f539f3b5 (patch) | |
tree | 54d367c6c7b31c426862d4b4c70dc80aec2b7122 /kubernetes/dcaegen2 | |
parent | cb02aa241edd97acb6c5ca744de84313f53e8a5a (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.yaml | 41 | ||||
-rw-r--r-- | kubernetes/dcaegen2/templates/heat-bootstrap-dep.yaml | 46 | ||||
-rw-r--r-- | kubernetes/dcaegen2/templates/nginx-dep.yaml | 53 | ||||
-rw-r--r-- | kubernetes/dcaegen2/templates/nginx-service.yaml | 35 | ||||
-rw-r--r-- | kubernetes/dcaegen2/templates/pod.yaml | 30 | ||||
-rw-r--r-- | kubernetes/dcaegen2/values.yaml | 13 |
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 |