From a57d8dd090a3d3d747ba40ef58e14215e88adfa2 Mon Sep 17 00:00:00 2001 From: Mandeep Khinda Date: Fri, 9 Mar 2018 14:29:37 +0000 Subject: iterating on new helm structure for SO with this change we can now do the following: can deploy umbrella chart with currently working components: helm install local/onap --name onap --namespace onap-all helm install local/onap --name onap-2 --namespace onap-all-2 \ --set global.nodePortPrefix=303 - umbrella includes setup chart can deploy a-la-carte component by component into a single namespace - Need to deploy a setup chart first. cannot be made a helm dependency as there will be conflicts if each app chart has the same setup dependency. helm install local/setup --name onap-setup --namespace onap-apps helm install local/so --name so1 --namespace onap-apps \ --set global.nodePortPrefix=304 helm list NAME REVISION STATUS CHART NAMESPACE onap 1 DEPLOYED onap-2.0.0 onap-all onap-2 1 DEPLOYED onap-2.0.0 onap-all-2 onap-setup 1 DEPLOYED setup-2.0.0 onap-apps so1 1 DEPLOYED so-2.0.0 onap-apps Unfortunately, the config maps all have fixed names, so installing the same app in the a-la-carte fashion will fail due to a collision. Not worrying about this as I'm not sure we want to support this. -made the common and setup charts standalone to remove relative file paths from requirements.yaml This will help when there are different levels of subcharts that need to include common Issue-ID: OOM-786 Issue-ID: OOM-789 Issue-ID: OOM-788 Change-Id: I20bacae6f0f20e8f3bb1527af1e7e53f187341d5 Signed-off-by: Mandeep Khinda --- kubernetes/so/charts/mariadb/Chart.yaml | 2 +- kubernetes/so/charts/mariadb/templates/NOTES.txt | 8 ++++---- .../charts/mariadb/templates/clusterrolebinding.yaml | 19 ------------------- .../so/charts/mariadb/templates/deployment.yaml | 8 ++++---- kubernetes/so/charts/mariadb/templates/pv.yaml | 2 +- kubernetes/so/charts/mariadb/templates/pvc.yaml | 2 +- kubernetes/so/charts/mariadb/templates/secrets.yaml | 16 +--------------- kubernetes/so/charts/mariadb/templates/service.yaml | 2 +- kubernetes/so/requirements.yaml | 4 ++-- kubernetes/so/templates/NOTES.txt | 8 ++++---- kubernetes/so/templates/clusterrolebinding.yaml | 19 ------------------- kubernetes/so/templates/deployment.yaml | 6 +++--- kubernetes/so/templates/namespace.yaml | 4 ---- kubernetes/so/templates/secrets.yaml | 13 ------------- kubernetes/so/templates/service.yaml | 2 +- kubernetes/so/values.yaml | 2 ++ 16 files changed, 25 insertions(+), 92 deletions(-) delete mode 100644 kubernetes/so/charts/mariadb/templates/clusterrolebinding.yaml delete mode 100644 kubernetes/so/templates/clusterrolebinding.yaml delete mode 100644 kubernetes/so/templates/namespace.yaml delete mode 100644 kubernetes/so/templates/secrets.yaml (limited to 'kubernetes/so') diff --git a/kubernetes/so/charts/mariadb/Chart.yaml b/kubernetes/so/charts/mariadb/Chart.yaml index 1b3b5ffb23..da9cab3175 100644 --- a/kubernetes/so/charts/mariadb/Chart.yaml +++ b/kubernetes/so/charts/mariadb/Chart.yaml @@ -1,4 +1,4 @@ apiVersion: v1 description: MariaDB Service -name: so-mariadb +name: mariadb version: 2.0.0 diff --git a/kubernetes/so/charts/mariadb/templates/NOTES.txt b/kubernetes/so/charts/mariadb/templates/NOTES.txt index 87565ada20..c60c745ca3 100644 --- a/kubernetes/so/charts/mariadb/templates/NOTES.txt +++ b/kubernetes/so/charts/mariadb/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ include "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/so/charts/mariadb/templates/clusterrolebinding.yaml b/kubernetes/so/charts/mariadb/templates/clusterrolebinding.yaml deleted file mode 100644 index df270f55e5..0000000000 --- a/kubernetes/so/charts/mariadb/templates/clusterrolebinding.yaml +++ /dev/null @@ -1,19 +0,0 @@ - -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: {{ include "common.name" . }} - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-admin -subjects: - - kind: ServiceAccount - name: default - namespace: {{ include "common.namespace" . }} \ No newline at end of file diff --git a/kubernetes/so/charts/mariadb/templates/deployment.yaml b/kubernetes/so/charts/mariadb/templates/deployment.yaml index 9c9cf09004..3d0cd81772 100644 --- a/kubernetes/so/charts/mariadb/templates/deployment.yaml +++ b/kubernetes/so/charts/mariadb/templates/deployment.yaml @@ -1,7 +1,7 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: {{ include "common.name" . }} + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} @@ -41,7 +41,7 @@ spec: - name: MYSQL_ROOT_PASSWORD valueFrom: secretKeyRef: - name: {{ template "common.name" . }} + name: {{ template "common.fullname" . }} key: db-root-password volumeMounts: - mountPath: /var/lib/mysql @@ -83,7 +83,7 @@ spec: {{- if .Values.persistence.enabled }} - name: mariadb-data persistentVolumeClaim: - claimName: {{ include "common.name" . }} + claimName: {{ include "common.fullname" . }} {{- else }} emptyDir: {} {{- end }} @@ -115,4 +115,4 @@ spec: hostPath: path: /etc/localtime imagePullSecrets: - - name: "{{ include "common.name" . }}-docker-registry-key" + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/charts/mariadb/templates/pv.yaml b/kubernetes/so/charts/mariadb/templates/pv.yaml index d60e075ca5..27343e3528 100644 --- a/kubernetes/so/charts/mariadb/templates/pv.yaml +++ b/kubernetes/so/charts/mariadb/templates/pv.yaml @@ -2,7 +2,7 @@ kind: PersistentVolume apiVersion: v1 metadata: - name: {{ include "common.name" . }} + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} diff --git a/kubernetes/so/charts/mariadb/templates/pvc.yaml b/kubernetes/so/charts/mariadb/templates/pvc.yaml index 2271d3c37a..faff46ca3e 100644 --- a/kubernetes/so/charts/mariadb/templates/pvc.yaml +++ b/kubernetes/so/charts/mariadb/templates/pvc.yaml @@ -2,7 +2,7 @@ kind: PersistentVolumeClaim apiVersion: v1 metadata: - name: {{ include "common.name" . }} + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} diff --git a/kubernetes/so/charts/mariadb/templates/secrets.yaml b/kubernetes/so/charts/mariadb/templates/secrets.yaml index dc9761091a..b96d720778 100644 --- a/kubernetes/so/charts/mariadb/templates/secrets.yaml +++ b/kubernetes/so/charts/mariadb/templates/secrets.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Secret metadata: - name: {{ include "common.name" . }} + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} @@ -11,17 +11,3 @@ metadata: type: Opaque data: db-root-password: {{ .Values.config.mariadbRootPassword | b64enc | quote }} ---- -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "common.name" . }}-docker-registry-key - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -data: - .dockercfg: {{ .Values.global.repositorySecret | default .Values.repositorySecret }} -type: kubernetes.io/dockercfg \ No newline at end of file diff --git a/kubernetes/so/charts/mariadb/templates/service.yaml b/kubernetes/so/charts/mariadb/templates/service.yaml index 5c133b77d1..0a040bcab5 100644 --- a/kubernetes/so/charts/mariadb/templates/service.yaml +++ b/kubernetes/so/charts/mariadb/templates/service.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "common.name" . }} + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} diff --git a/kubernetes/so/requirements.yaml b/kubernetes/so/requirements.yaml index fb8f1f6eb3..56029ab047 100644 --- a/kubernetes/so/requirements.yaml +++ b/kubernetes/so/requirements.yaml @@ -1,7 +1,7 @@ dependencies: - - name: common-templates + - name: common version: ~2.0.0 # local reference to common chart, as it is # a part of this chart's package and will not # be published independently to a repo (at this point) - repository: file://../common/common-templates \ No newline at end of file + repository: '@local' \ No newline at end of file diff --git a/kubernetes/so/templates/NOTES.txt b/kubernetes/so/templates/NOTES.txt index 0fa17a6a36..91d8ed42f1 100644 --- a/kubernetes/so/templates/NOTES.txt +++ b/kubernetes/so/templates/NOTES.txt @@ -4,16 +4,16 @@ http://{{ . }} {{- end }} {{- else if contains "NodePort" .Values.service.type }} - export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }}) - export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}") + export NODE_PORT=$(kubectl get --namespace {{ include "common.namespace" . }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "common.name" . }}) + export NODE_IP=$(kubectl get nodes --namespace {{ include "common.namespace" . }} -o jsonpath="{.items[0].status.addresses[0].address}") echo http://$NODE_IP:$NODE_PORT {{- else if contains "LoadBalancer" .Values.service.type }} NOTE: It may take a few minutes for the LoadBalancer IP to be available. You can watch the status of by running 'kubectl get svc -w {{ include "common.name" . }}' - export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') + export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.name" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}') echo http://$SERVICE_IP:{{ .Values.service.externalPort }} {{- else if contains "ClusterIP" .Values.service.type }} - export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") + export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}") echo "Visit http://127.0.0.1:8080 to use your application" kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }} {{- end }} diff --git a/kubernetes/so/templates/clusterrolebinding.yaml b/kubernetes/so/templates/clusterrolebinding.yaml deleted file mode 100644 index df270f55e5..0000000000 --- a/kubernetes/so/templates/clusterrolebinding.yaml +++ /dev/null @@ -1,19 +0,0 @@ - -apiVersion: rbac.authorization.k8s.io/v1beta1 -kind: ClusterRoleBinding -metadata: - name: {{ include "common.name" . }} - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: cluster-admin -subjects: - - kind: ServiceAccount - name: default - namespace: {{ include "common.namespace" . }} \ No newline at end of file diff --git a/kubernetes/so/templates/deployment.yaml b/kubernetes/so/templates/deployment.yaml index 2d25a46722..b66de44adc 100644 --- a/kubernetes/so/templates/deployment.yaml +++ b/kubernetes/so/templates/deployment.yaml @@ -1,7 +1,7 @@ apiVersion: extensions/v1beta1 kind: Deployment metadata: - name: {{ include "common.name" . }} + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} @@ -21,7 +21,7 @@ spec: - /root/ready.py args: - --container-name - - so-mariadb + - mariadb env: - name: NAMESPACE valueFrom: @@ -174,4 +174,4 @@ spec: path: start-jboss-server.sh mode: 0755 imagePullSecrets: - - name: "{{ include "common.name" . }}-docker-registry-key" + - name: "{{ include "common.namespace" . }}-docker-registry-key" diff --git a/kubernetes/so/templates/namespace.yaml b/kubernetes/so/templates/namespace.yaml deleted file mode 100644 index 83eb8e7815..0000000000 --- a/kubernetes/so/templates/namespace.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: {{ include "common.namespace" . }} \ No newline at end of file diff --git a/kubernetes/so/templates/secrets.yaml b/kubernetes/so/templates/secrets.yaml deleted file mode 100644 index 269d40649d..0000000000 --- a/kubernetes/so/templates/secrets.yaml +++ /dev/null @@ -1,13 +0,0 @@ -apiVersion: v1 -kind: Secret -metadata: - name: {{ include "common.name" . }}-docker-registry-key - namespace: {{ include "common.namespace" . }} - labels: - app: {{ include "common.name" . }} - chart: {{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }} - release: {{ .Release.Name }} - heritage: {{ .Release.Service }} -data: - .dockercfg: {{ .Values.global.repositorySecret | default .Values.repositorySecret }} -type: kubernetes.io/dockercfg \ No newline at end of file diff --git a/kubernetes/so/templates/service.yaml b/kubernetes/so/templates/service.yaml index f1b5322d9a..e3e4d48018 100644 --- a/kubernetes/so/templates/service.yaml +++ b/kubernetes/so/templates/service.yaml @@ -1,7 +1,7 @@ apiVersion: v1 kind: Service metadata: - name: {{ include "common.name" . }} + name: {{ include "common.fullname" . }} namespace: {{ include "common.namespace" . }} labels: app: {{ include "common.name" . }} diff --git a/kubernetes/so/values.yaml b/kubernetes/so/values.yaml index b929fccb46..4700bb64e5 100644 --- a/kubernetes/so/values.yaml +++ b/kubernetes/so/values.yaml @@ -9,6 +9,8 @@ global: # global defaults loggingRepository: docker.elastic.co loggingImage: beats/filebeat:5.5.0 +subChartsOnly: + enabled: true # application image repository: nexus3.onap.org:10001 -- cgit 1.2.3-korg