Make the PNDA mirror accessible via a NodePort

The allocated port is {{.nodePortPrefixExt}}00 (i.e.: 30400).

Change-Id: If11ab3a799c7225bc1a7227c0866f2eb4173ea13
Issue-ID: DCAEGEN2-779
Signed-off-by: Julien Barbot <julien@barbot.org>
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