From 8c3463edb61ff3dae46aab6ae6f4f0b4afe5cefd Mon Sep 17 00:00:00 2001 From: Jack Lucas Date: Fri, 12 Jun 2020 18:36:55 -0400 Subject: [DCAE][DCAEMOD] Deploy R7 container images Deploy new versions of cm-container, k8s-bootstrap-container and healthcheck-container for DCAE. Deploy a healthcheck-container for DCAEMOD. Add readiness checks for aaf-cm for dcae-cloudify-manager, dcae-inventory-api, and dcae-config-binding-service, to avoid crash loops in the init phase. Issue-ID: DCAEGEN2-2099 Issue-ID: DCAEGEN2-1789 Issue-ID: DCAEGEN2-2236 Issue-ID: DCAEGEN2-1864 Signed-off-by: Jack Lucas Change-Id: I473a0cd0e3e00d39e6c33d87781581ec527fbc89 --- kubernetes/dcaemod/Makefile | 5 +- .../components/dcaemod-healthcheck/Chart.yaml | 22 +++++++ .../dcaemod-healthcheck/requirements.yaml | 22 +++++++ .../dcaemod-healthcheck/templates/deployment.yaml | 64 ++++++++++++++++++++ .../dcaemod-healthcheck/templates/service.yaml | 18 ++++++ .../components/dcaemod-healthcheck/values.yaml | 69 ++++++++++++++++++++++ kubernetes/dcaemod/requirements.yaml | 11 +++- .../dcaemod/resources/expected-components.json | 10 ++++ kubernetes/dcaemod/templates/configmap.yaml | 24 ++++++++ kubernetes/dcaemod/values.yaml | 39 ++++++++++++ 10 files changed, 282 insertions(+), 2 deletions(-) create mode 100644 kubernetes/dcaemod/components/dcaemod-healthcheck/Chart.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-healthcheck/requirements.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-healthcheck/templates/deployment.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-healthcheck/templates/service.yaml create mode 100644 kubernetes/dcaemod/components/dcaemod-healthcheck/values.yaml create mode 100644 kubernetes/dcaemod/resources/expected-components.json create mode 100644 kubernetes/dcaemod/templates/configmap.yaml create mode 100644 kubernetes/dcaemod/values.yaml (limited to 'kubernetes/dcaemod') diff --git a/kubernetes/dcaemod/Makefile b/kubernetes/dcaemod/Makefile index b1e5a7355e..b7cf1a6963 100644 --- a/kubernetes/dcaemod/Makefile +++ b/kubernetes/dcaemod/Makefile @@ -11,7 +11,7 @@ # 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. -make-dcaemod: make-dcaemod-distributor-api make-dcaemod-genprocessor make-dcaemod-designtool make-dcaemod-onboarding-api make-dcaemod-runtime-api make-dcaemod-nifi-registry +make-dcaemod: make-dcaemod-distributor-api make-dcaemod-genprocessor make-dcaemod-designtool make-dcaemod-onboarding-api make-dcaemod-runtime-api make-dcaemod-nifi-registry make-dcaemod-healthcheck make-dcaemod-distributor-api: cd components && helm dep up dcaemod-genprocessor && helm lint dcaemod-genprocessor @@ -31,6 +31,9 @@ make-dcaemod-runtime-api: make-dcaemod-nifi-registry: cd components && helm dep up dcaemod-nifi-registry && helm lint dcaemod-nifi-registry +make-dcaemod-healthcheck: + cd components && helm dep up dcaemod-healthcheck && helm lint dcaemod-healthcheck + clean: @find . -type f -name '*.tgz' -delete @find . -type f -name '*.lock' -delete diff --git a/kubernetes/dcaemod/components/dcaemod-healthcheck/Chart.yaml b/kubernetes/dcaemod/components/dcaemod-healthcheck/Chart.yaml new file mode 100644 index 0000000000..00b0117115 --- /dev/null +++ b/kubernetes/dcaemod/components/dcaemod-healthcheck/Chart.yaml @@ -0,0 +1,22 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright © 2018 Amdocs, Bell Canada +# ================================================================================ +# 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========================================================= + +apiVersion: v1 +description: ONAP DCAE MOD Health Check +name: dcaemod-healthcheck +version: 6.0.0 diff --git a/kubernetes/dcaemod/components/dcaemod-healthcheck/requirements.yaml b/kubernetes/dcaemod/components/dcaemod-healthcheck/requirements.yaml new file mode 100644 index 0000000000..6f858bda03 --- /dev/null +++ b/kubernetes/dcaemod/components/dcaemod-healthcheck/requirements.yaml @@ -0,0 +1,22 @@ +#============LICENSE_START======================================================== +#================================================================================= +# Copyright (c) 2018 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright © 2018 Amdocs, Bell Canada +# ================================================================================ +# 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========================================================= + +dependencies: + - name: common + version: ~6.x-0 + repository: '@local' diff --git a/kubernetes/dcaemod/components/dcaemod-healthcheck/templates/deployment.yaml b/kubernetes/dcaemod/components/dcaemod-healthcheck/templates/deployment.yaml new file mode 100644 index 0000000000..64268abb33 --- /dev/null +++ b/kubernetes/dcaemod/components/dcaemod-healthcheck/templates/deployment.yaml @@ -0,0 +1,64 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2020 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========================================================= + +apiVersion: apps/v1 +kind: Deployment +metadata: {{- include "common.resourceMetadata" . | nindent 2 }} +spec: + selector: {{- include "common.selectors" . | nindent 4 }} + replicas: 1 + template: + metadata: {{- include "common.templateMetadata" . | nindent 6 }} + spec: + containers: + - name: {{ include "common.name" . }} + image: "{{ include "common.repository" . }}/{{ .Values.image }}" + imagePullPolicy: {{ .Values.global.pullPolicy | default .Values.pullPolicy }} + resources: +{{ include "common.resources" . | indent 12 }} + ports: {{ include "common.containerPorts" . | nindent 10 }} + # disable liveness probe when breakpoints set in debugger + # so K8s doesn't restart unresponsive container + {{- if eq .Values.liveness.enabled true }} + livenessProbe: + tcpSocket: + port: {{ ( index .Values.service.ports 0).port }} + initialDelaySeconds: {{ .Values.liveness.initialDelaySeconds }} + periodSeconds: {{ .Values.liveness.periodSeconds }} + {{ end -}} + readinessProbe: + tcpSocket: + port: {{ ( index .Values.service.ports 0).port }} + initialDelaySeconds: {{ .Values.readiness.initialDelaySeconds }} + periodSeconds: {{ .Values.readiness.periodSeconds }} + volumeMounts: + - mountPath: /opt/app/expected-components.json + subPath: expected-components.json + name: {{ include "common.fullname" .}}-expected-components + env: + - name: DCAE_NAMESPACE + value: {{ .Values.dcae_ns }} + - name: ONAP_NAMESPACE + value: {{ include "common.namespace" . }} + - name: HELM_RELEASE + value: {{ include "common.release" . }} + volumes: + - name: {{ include "common.fullname" . }}-expected-components + configMap: + name: {{ include "common.release" . }}-dcaemod-expected-components + imagePullSecrets: + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/dcaemod/components/dcaemod-healthcheck/templates/service.yaml b/kubernetes/dcaemod/components/dcaemod-healthcheck/templates/service.yaml new file mode 100644 index 0000000000..30eda2cfe8 --- /dev/null +++ b/kubernetes/dcaemod/components/dcaemod-healthcheck/templates/service.yaml @@ -0,0 +1,18 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2020 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========================================================= + +{{ include "common.service" . }} \ No newline at end of file diff --git a/kubernetes/dcaemod/components/dcaemod-healthcheck/values.yaml b/kubernetes/dcaemod/components/dcaemod-healthcheck/values.yaml new file mode 100644 index 0000000000..fae177ca38 --- /dev/null +++ b/kubernetes/dcaemod/components/dcaemod-healthcheck/values.yaml @@ -0,0 +1,69 @@ +#============LICENSE_START======================================================== +#================================================================================= +# Copyright (c) 2018-2020 AT&T Intellectual Property. All rights reserved. +# Modifications Copyright © 2018 Amdocs, Bell Canada +# ================================================================================ +# 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========================================================= + +################################################################# +# Global configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + readinessRepository: oomk8s + readinessImage: readiness-check:2.0.0 + +service: + name: dcaemod-healthcheck + type: ClusterIP + ports: + - name: http + port: 8080 + +# probe configuration parameters +liveness: + initialDelaySeconds: 10 + periodSeconds: 10 + # necessary to disable liveness probe when setting breakpoints + # in debugger so K8s doesn't restart unresponsive container + enabled: true + +readiness: + initialDelaySeconds: 10 + periodSeconds: 10 +# application image +repository: nexus3.onap.org:10001 +image: onap/org.onap.dcaegen2.deployments.healthcheck-container:2.0.0 + +# Resource Limit flavor -By Default using small +flavor: small +# Segregation for Different environment (Small and Large) +resources: + small: + limits: + cpu: 2 + memory: 2Gi + requests: + cpu: 1 + memory: 1Gi + large: + limits: + cpu: 4 + memory: 4Gi + requests: + cpu: 2 + memory: 2Gi + unlimited: {} + + diff --git a/kubernetes/dcaemod/requirements.yaml b/kubernetes/dcaemod/requirements.yaml index 830eac3b5a..98a563f535 100644 --- a/kubernetes/dcaemod/requirements.yaml +++ b/kubernetes/dcaemod/requirements.yaml @@ -23,15 +23,24 @@ dependencies: - name: dcaemod-distributor-api version: ~6.x-0 repository: 'file://components/dcaemod-distributor-api' + condition: dcaemod-distributor-api.enabled - name: dcaemod-designtool version: ~6.x-0 repository: 'file://components/dcaemod-designtool' + condition: dcaemod-designtool.enabled - name: dcaemod-onboarding-api version: ~6.x-0 repository: 'file://components/dcaemod-onboarding-api' + condition: dcaemod-onboarding-api.enabled - name: dcaemod-runtime-api version: ~6.x-0 repository: 'file://components/dcaemod-runtime-api' + condition: dcaemod-runtime-api.enabled - name: dcaemod-nifi-registry version: ~6.x-0 - repository: 'file://components/dcaemod-nifi-registry' \ No newline at end of file + repository: 'file://components/dcaemod-nifi-registry' + condition: dcaemod-nifi-registry.enabled + - name: dcaemod-healthcheck + version: ~6.x-0 + repository: 'file://components/dcaemod-healthcheck' + condition: dcaemod-healthcheck.enabled \ No newline at end of file diff --git a/kubernetes/dcaemod/resources/expected-components.json b/kubernetes/dcaemod/resources/expected-components.json new file mode 100644 index 0000000000..7fd644c3f8 --- /dev/null +++ b/kubernetes/dcaemod/resources/expected-components.json @@ -0,0 +1,10 @@ +[ +{{- $ctx := . }} +{{- $components := tuple "dcaemod-designtool" "dcaemod-distributor-api" "dcaemod-genprocessor" "dcaemod-nifi-registry" "dcaemod-onboarding-api" "dcaemod-runtime-api" }} +{{- range $i, $v := $components }} +{{- if index $ctx.Values . "enabled" }} +{{- if $i }},{{ end }} +{{ $v | quote | indent 2 }} +{{- end -}} +{{- end }} +] \ No newline at end of file diff --git a/kubernetes/dcaemod/templates/configmap.yaml b/kubernetes/dcaemod/templates/configmap.yaml new file mode 100644 index 0000000000..9748319c9a --- /dev/null +++ b/kubernetes/dcaemod/templates/configmap.yaml @@ -0,0 +1,24 @@ +#============LICENSE_START======================================================== +# ================================================================================ +# Copyright (c) 2020 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========================================================= + +apiVersion: v1 +kind: ConfigMap +metadata: + name: {{ include "common.release" . }}-dcaemod-expected-components + namespace: {{ include "common.namespace" . }} +data: +{{ tpl (.Files.Glob "resources/*").AsConfig . | indent 2 }} \ No newline at end of file diff --git a/kubernetes/dcaemod/values.yaml b/kubernetes/dcaemod/values.yaml new file mode 100644 index 0000000000..6c1dff5b3d --- /dev/null +++ b/kubernetes/dcaemod/values.yaml @@ -0,0 +1,39 @@ +# Copyright (c) 2020 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. + +################################################################# +# Global configuration defaults. +################################################################# +global: + nodePortPrefix: 302 + tlsRepository: nexus3.onap.org:10001 + tlsImage: onap/org.onap.dcaegen2.deployments.tls-init-container:2.1.0 + busyboxRepository: docker.io + busyboxImage: library/busybox:1.30 + +# Enable all DCAE MOD components by default +dcaemod-designtool: + enabled: true +dcaemod-distributor-api: + enabled: true +dcaemod-genprocessor: + enabled: true +dcaemod-healthcheck: + enabled: true +dcaemod-nifi-registry: + enabled: true +dcaemod-onboarding-api: + enabled: true +dcaemod-runtime-api: + enabled: true \ No newline at end of file -- cgit 1.2.3-korg