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 <mandeep.khinda@amdocs.com>
diff --git a/kubernetes/so/charts/mariadb/templates/NOTES.txt b/kubernetes/so/charts/mariadb/templates/NOTES.txt
index 87565ad..c60c745 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 }}