fixing clusterIP service type errors 70/70570/5
authorMandeep Khinda <mandeep.khinda@amdocs.com>
Tue, 16 Oct 2018 13:56:34 +0000 (09:56 -0400)
committerBorislav Glozman <Borislav.Glozman@amdocs.com>
Tue, 23 Oct 2018 14:31:50 +0000 (14:31 +0000)
If you try and change the service type from a nodeport
to a cluster IP things break.  We never really exercise
this code path in testing but if you want to experiment
with a totally internal network environment you need to be
able to turn off node ports.

Issue-ID: OOM-1475

Change-Id: I1a0f4b0a4c390f3353e1611b6002b93e54bb5044
Signed-off-by: Mandeep Khinda <mandeep.khinda@amdocs.com>
25 files changed:
kubernetes/aai/charts/aai-champ/values.yaml
kubernetes/aai/charts/aai-gizmo/templates/NOTES.txt
kubernetes/aai/charts/aai-gizmo/values.yaml
kubernetes/aai/templates/service.yaml
kubernetes/appc/templates/NOTES.txt
kubernetes/clamp/charts/mariadb/NOTES.txt
kubernetes/clamp/values.yaml
kubernetes/cli/templates/NOTES.txt
kubernetes/common/dgbuilder/templates/NOTES.txt
kubernetes/dcaegen2/charts/dcae-redis/templates/NOTES.txt
kubernetes/helm/starters/onap-app/templates/NOTES.txt
kubernetes/msb/charts/msb-consul/templates/NOTES.txt
kubernetes/msb/charts/msb-discovery/templates/NOTES.txt
kubernetes/msb/charts/msb-eag/templates/NOTES.txt
kubernetes/msb/charts/msb-iag/templates/NOTES.txt
kubernetes/oof/templates/NOTES.txt
kubernetes/portal/charts/portal-app/templates/NOTES.txt
kubernetes/portal/charts/portal-app/templates/service.yaml
kubernetes/portal/charts/portal-sdk/values.yaml
kubernetes/robot/templates/NOTES.txt
kubernetes/sdc/charts/sdc-be/values.yaml
kubernetes/sdc/charts/sdc-fe/values.yaml
kubernetes/so/charts/so-mariadb/templates/service.yaml
kubernetes/so/charts/so-mariadb/values.yaml
kubernetes/so/values.yaml

index 1cf9452..c247313 100644 (file)
@@ -57,6 +57,7 @@ service:
   type: NodePort
   portName: aai-champ
   internalPort: 9522
+  externalPort: 9522
   nodePort: 78
 
 ingress:
index 1b36fa7..0def4ed 100644 (file)
@@ -27,7 +27,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.fullname" . }} -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 {{ .Release.Namespace }} -l "app={{ template "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 }}
index ff2049b..7220cd5 100644 (file)
@@ -54,6 +54,7 @@ service:
   name: aai-crud-service
   portName: aai-crud-service
   internalPort: 9520
+  externalPort: 9520
   nodePort: 68
 
 ingress:
index 29c13f9..91bdb2e 100644 (file)
@@ -39,7 +39,7 @@ spec:
     name: {{ .Values.service.portName }}
   - port: {{ .Values.service.externalPort2 }}
     targetPort: {{ .Values.service.internalPort2 }}
-    name: {{ .Values.service.portName }}
+    name: {{ .Values.service.portName2 }}
   {{- end}}
   type: {{ .Values.service.type }}
   selector:
index 89c84b7..455b030 100644 (file)
@@ -27,7 +27,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "common.fullname" . }} -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 {{ .Release.Namespace }} -l "app={{ template "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 }}
index 0a4bd8e..1103aff 100644 (file)
@@ -26,7 +26,7 @@
   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 {{ include "common.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 "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 }}
index f9b8466..3d63810 100644 (file)
@@ -93,9 +93,11 @@ service:
   name: clamp
   portName: clamp
   internalPort: 8080
+  externalPort: 8080
   nodePort: 95
   portName2: clamp-ssl
   internalPort2: 8443
+  externalPort2: 8443
   # as of 20180904 port 58 is reserved for clamp from log/logdemonode
   # see https://wiki.onap.org/display/DW/OOM+NodePort+List
   nodePort2: 58
index 21018ae..f3fe9c9 100644 (file)
@@ -27,7 +27,7 @@
   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 {{ include "common.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 "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 }}
index a70ad10..27db4f3 100644 (file)
@@ -19,7 +19,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -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 {{ include "common.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 "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 }}
index d333bfc..0a386aa 100644 (file)
@@ -28,7 +28,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -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 {{ include "common.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 "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 }}
index 4ca95aa..649b388 100644 (file)
@@ -19,7 +19,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -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 {{ include "common.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 "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 }}
index 1ebb593..e0cea22 100644 (file)
@@ -26,7 +26,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -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 {{ include "common.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 "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 }}
index 1ebb593..e0cea22 100644 (file)
@@ -26,7 +26,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -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 {{ include "common.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 "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 }}
index 1ebb593..e0cea22 100644 (file)
@@ -26,7 +26,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -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 {{ include "common.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 "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 }}
index 1ebb593..e0cea22 100644 (file)
@@ -26,7 +26,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -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 {{ include "common.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 "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 }}
index 682969a..acb7dd9 100644 (file)
@@ -28,7 +28,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -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 {{ include "common.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 "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 }}
index 1aa4c41..9a67a4c 100644 (file)
@@ -13,7 +13,7 @@
   export SERVICE_IP=$(kubectl get svc --namespace {{ include "common.namespace" . }} {{ include "common.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')\r
   echo http://$SERVICE_IP:{{ .Values.service.externalPort }}\r
 {{- else if contains "ClusterIP" .Values.service.type }}\r
-  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "so.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")\r
+  export POD_NAME=$(kubectl get pods --namespace {{ include "common.namespace" . }} -l "app={{ template "common.name" . }},release={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")\r
   echo "Visit http://127.0.0.1:8080 to use your application"\r
   kubectl port-forward $POD_NAME 8080:{{ .Values.service.internalPort }}\r
 {{- end }}\r
index 9d70732..0813682 100644 (file)
@@ -36,7 +36,7 @@ metadata:
 spec:
   type: {{ .Values.service.type }}
   ports:
-    {{- if or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer") }}
+    {{ if or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer") -}}
     - port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
index 3c4468b..772f191 100644 (file)
@@ -58,6 +58,7 @@ service:
   name: portal-sdk
   portName: portal-sdk
   internalPort: 8080
+  externalPort: 8080
   nodePort: 12
 
 mariadb:
index 07d876d..fe7c931 100644 (file)
@@ -19,7 +19,7 @@
   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 {{ include "common.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 "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 }}
index 2477dc6..de1b773 100644 (file)
@@ -64,8 +64,10 @@ service:
   portName: sdc-be
   nodePort: "04"
   internalPort: 8443
+  externalPort: 8443
   nodePort2: "05"
   internalPort2: 8080
+  externalPort2: 8080
 
 ingress:
   enabled: false
index ae4560b..bf214ca 100644 (file)
@@ -62,8 +62,10 @@ service:
   portName: sdc-fe
   nodePort: "06"
   internalPort: 8181
+  externalPort: 8181
   nodePort2: "07"
   internalPort2: 9443
+  externalPort2: 9443
 
 
 
index c9a3f56..010dc71 100755 (executable)
@@ -25,13 +25,13 @@ spec:
   type: {{ .Values.service.type }}
   ports:
     - name: {{ .Values.service.portName }}
-    {{- if eq .Values.service.type "NodePort" }}
+    {{ if eq .Values.service.type "NodePort" }}
       port: {{ .Values.service.internalPort }}
       nodePort: {{ .Values.global.nodePortPrefix | default "302" }}{{ .Values.service.nodePort }}
-    {{- else -}}
+    {{ else }}
       port: {{ .Values.service.externalPort }}
       targetPort: {{ .Values.service.internalPort }}
-    {{- end}}
+    {{ end }}
   selector:
     app: {{ include "common.name" . }}
     release: {{ .Release.Name }}
\ No newline at end of file
index 9587c4a..fa16a7b 100755 (executable)
@@ -81,6 +81,7 @@ service:
   type: NodePort
   portName: mariadb
   internalPort: 3306
+  externalPort: 3306
   nodePort: 52
 ingress:
   enabled: false
index 223cff1..5a6d167 100755 (executable)
@@ -39,6 +39,7 @@ service:
     type: NodePort
     nodePort: 77
     internalPort: 8080
+    externalPort: 8080
     portName: so-apih-port
 updateStrategy:
     type: RollingUpdate