| #!/usr/bin/env bash |
| |
| # Copyright 2019 Samsung Electronics Co., Ltd. |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # |
| # Gather information on ONAP cluster required by security tests. |
| # Copy results to Robot pod. |
| # |
| |
| |
| TMPDIR='/tmp' |
| TMPTPL='onap_security' |
| CSV2JSON='import csv; import json; import sys; print(json.dumps({i[0]: i[1] for i in csv.reader(sys.stdin)}))' |
| FILTER="$(tr -d [:space:] <<TEMPLATE |
| {{range .items}} |
| {{range.spec.ports}} |
| {{if .nodePort}} |
| {{.nodePort}}{{','}}{{.name}}{{'\n'}} |
| {{end}} |
| {{end}} |
| {{end}} |
| TEMPLATE)" |
| |
| |
| setup () { |
| export NODEPORTS_FILE="$(mktemp -p ${TMPDIR} ${TMPTPL}XXX)" |
| } |
| |
| create_actual_nodeport_json () { |
| kubectl get svc -n $NAMESPACE -o go-template="$FILTER" | python3 -c "$CSV2JSON" > "$NODEPORTS_FILE" |
| } |
| |
| copy_actual_nodeport_json_to_robot () { |
| kubectl cp "$1" "$2/$3:$4" |
| } |
| |
| cleanup () { |
| rm "$NODEPORTS_FILE" |
| } |
| |
| |
| setup |
| create_actual_nodeport_json |
| copy_actual_nodeport_json_to_robot "$NODEPORTS_FILE" "$NAMESPACE" "$POD" "$TMPDIR" |
| cleanup |