Merge "Make the PNDA mirror accessible via a NodePort"
diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/scripts/bootstrap.sh b/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/scripts/bootstrap.sh
index 1c2608a..e9b6f34 100644
--- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/scripts/bootstrap.sh
+++ b/kubernetes/pnda/charts/dcae-pnda-bootstrap/resources/scripts/bootstrap.sh
@@ -49,17 +49,21 @@
 
 for i in 1 2 3 4 5 6 7 8 9
 do
-  MIRROR_IP=$(curl -s $KUBE_API/namespaces/{{ include "common.namespace" . }}/services/dcae-pnda-mirror \
-                 --header "Authorization: Bearer $KUBE_TOKEN" \
-                 --insecure | jq -r '.status.loadBalancer.ingress[0].ip')
+  MIRROR_IP=$(curl -s $KUBE_API/namespaces/{{ include "common.namespace" . }}/pods \
+            --header "Authorization: Bearer $KUBE_TOKEN" \
+            --insecure | jq -r '.items[].status | select(.containerStatuses != null) | select(.containerStatuses[].ready and .containerStatuses[].name=="dcae-pnda-mirror") | .hostIP')
+  MIRROR_PORT=$(curl -s $KUBE_API/namespaces/{{ include "common.namespace" . }}/services/dcae-pnda-mirror \
+              --header "Authorization: Bearer $KUBE_TOKEN" \
+              --insecure | jq -r '.spec.ports[] | select(.name=="dcae-pnda-mirror") | .nodePort')
 
-  if [ "$MIRROR_IP" != "null" ]; then
+  if [ "x${MIRROR_IP}" != "xnull" -a "x${MIRROR_PORT}" != "xnull" ]; then
+    PNDA_MIRROR="http://$MIRROR_IP:$MIRROR_PORT"
     break
   fi
   sleep 5
 done
 
-PNDA_MIRROR="http://$MIRROR_IP:80"
+[ -z "${PNDA_MIRROR}" ] && { echo "Unable to get PNDA mirror IP:PORT"; exit 1; }
 
 sed -i -e 's?CLIENT_IP/32?CLIENT_IP?' bootstrap-scripts/package-install.sh
 
diff --git a/kubernetes/pnda/charts/dcae-pnda-bootstrap/values.yaml b/kubernetes/pnda/charts/dcae-pnda-bootstrap/values.yaml
index 43f35b6..e22b8d2 100644
--- a/kubernetes/pnda/charts/dcae-pnda-bootstrap/values.yaml
+++ b/kubernetes/pnda/charts/dcae-pnda-bootstrap/values.yaml
@@ -18,7 +18,7 @@
 # Global configuration defaults.
 #################################################################
 global:
-  nodePortPrefix: 302
+  nodePortPrefixExt: 304
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
diff --git a/kubernetes/pnda/charts/dcae-pnda-mirror/templates/service.yaml b/kubernetes/pnda/charts/dcae-pnda-mirror/templates/service.yaml
index b233a17..fd376d1 100644
--- a/kubernetes/pnda/charts/dcae-pnda-mirror/templates/service.yaml
+++ b/kubernetes/pnda/charts/dcae-pnda-mirror/templates/service.yaml
@@ -30,7 +30,7 @@
   ports:
     {{if eq .Values.service.type "NodePort" -}}
     - port: {{ .Values.service.externalPort }}
-      nodePort: {{ .Values.global.nodePortPrefix | default .Values.nodePortPrefix }}{{ .Values.service.nodePort }}
+      nodePort: {{ .Values.global.nodePortPrefixExt | default .Values.nodePortPrefixExt }}{{ .Values.service.nodePort }}
       name: {{ .Values.service.portName }}
     {{- else -}}
     - port: {{ .Values.service.externalPort }}
diff --git a/kubernetes/pnda/charts/dcae-pnda-mirror/values.yaml b/kubernetes/pnda/charts/dcae-pnda-mirror/values.yaml
index 6f346b8..34de52a 100644
--- a/kubernetes/pnda/charts/dcae-pnda-mirror/values.yaml
+++ b/kubernetes/pnda/charts/dcae-pnda-mirror/values.yaml
@@ -18,7 +18,7 @@
 # Global configuration defaults.
 #################################################################
 global:
-  nodePortPrefix: 302
+  nodePortPrefixExt: 304
   readinessRepository: oomk8s
   readinessImage: readiness-check:2.0.0
   loggingRepository: docker.elastic.co
@@ -59,9 +59,9 @@
   periodSeconds: 10
 
 service:
-  type: LoadBalancer
-  name: dcae-pnda-mirror
-  portName: client
+  type: NodePort
+  portName: dcae-pnda-mirror
+  nodePort: "00"
   externalPort: 80
   internalPort: 80