)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"15f26d92f97d48f852e4331f3f1c66d4bf5eaecb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Tin Lam \u003ctin@irrational.io\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-09-24 13:48:25 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Create network policy gates"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change adds two gates, one for the compute-kit, and one"},{"line_number":10,"context_line":"for cinder/ceph, to test network policy for each OpenStack"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":34,"id":"3fa7e38b_35439315","line":7,"range":{"start_line":7,"start_character":22,"end_line":7,"end_character":27},"updated":"2019-09-25 15:14:13.000000000","message":"nit: only a gate when voting","commit_id":"3848408b121507bd67c2b41cf6dd65fa2ec269bf"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"17f4440896cba3c4925846f121d72a318502edb8","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Tin Lam \u003ctin@irrational.io\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-09-24 13:48:25 +0000"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Create network policy gates"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"This change adds two gates, one for the compute-kit, and one"},{"line_number":10,"context_line":"for cinder/ceph, to test network policy for each OpenStack"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":34,"id":"3fa7e38b_a9bc0e06","line":7,"range":{"start_line":7,"start_character":22,"end_line":7,"end_character":27},"in_reply_to":"3fa7e38b_35439315","updated":"2019-09-25 18:21:43.000000000","message":"Done","commit_id":"3848408b121507bd67c2b41cf6dd65fa2ec269bf"}],"glance/values.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"15f26d92f97d48f852e4331f3f1c66d4bf5eaecb","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  glance:"},{"line_number":90,"context_line":"    ingress:"},{"line_number":91,"context_line":"      - {}"},{"line_number":92,"context_line":"#NOTE(gagehugo): Test this whitelist when the netpol gate works"},{"line_number":93,"context_line":"#      - from:"},{"line_number":94,"context_line":"#        - podSelector:"},{"line_number":95,"context_line":"#            matchLabels:"},{"line_number":96,"context_line":"#              application: glance"},{"line_number":97,"context_line":"#        - podSelector:"},{"line_number":98,"context_line":"#            matchLabels:"},{"line_number":99,"context_line":"#              application: nova"},{"line_number":100,"context_line":"#        - podSelector:"},{"line_number":101,"context_line":"#            matchLabels:"},{"line_number":102,"context_line":"#              application: horizon"},{"line_number":103,"context_line":"#        - podSelector:"},{"line_number":104,"context_line":"#            matchLabels:"},{"line_number":105,"context_line":"#              application: ingress"},{"line_number":106,"context_line":"#        - podSelector:"},{"line_number":107,"context_line":"#            matchLabels:"},{"line_number":108,"context_line":"#              application: heat"},{"line_number":109,"context_line":"#        - podSelector:"},{"line_number":110,"context_line":"#            matchLabels:"},{"line_number":111,"context_line":"#              application: ironic"},{"line_number":112,"context_line":"#        - podSelector:"},{"line_number":113,"context_line":"#            matchLabels:"},{"line_number":114,"context_line":"#              application: cinder"},{"line_number":115,"context_line":"#        ports:"},{"line_number":116,"context_line":"#        - protocol: TCP"},{"line_number":117,"context_line":"#          port: 80"},{"line_number":118,"context_line":"#        - protocol: TCP"},{"line_number":119,"context_line":"#          port: 9191"},{"line_number":120,"context_line":"#        - protocol: TCP"},{"line_number":121,"context_line":"#          port: 9292"},{"line_number":122,"context_line":"    egress:"},{"line_number":123,"context_line":"      - {}"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":34,"id":"3fa7e38b_f5109b50","line":121,"range":{"start_line":92,"start_character":0,"end_line":121,"end_character":21},"updated":"2019-09-25 15:14:13.000000000","message":"I\u0027d prefer this move to the overrides provided for this service during deployment, even if commented out.","commit_id":"3848408b121507bd67c2b41cf6dd65fa2ec269bf"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"17f4440896cba3c4925846f121d72a318502edb8","unresolved":false,"context_lines":[{"line_number":89,"context_line":"  glance:"},{"line_number":90,"context_line":"    ingress:"},{"line_number":91,"context_line":"      - {}"},{"line_number":92,"context_line":"#NOTE(gagehugo): Test this whitelist when the netpol gate works"},{"line_number":93,"context_line":"#      - from:"},{"line_number":94,"context_line":"#        - podSelector:"},{"line_number":95,"context_line":"#            matchLabels:"},{"line_number":96,"context_line":"#              application: glance"},{"line_number":97,"context_line":"#        - podSelector:"},{"line_number":98,"context_line":"#            matchLabels:"},{"line_number":99,"context_line":"#              application: nova"},{"line_number":100,"context_line":"#        - podSelector:"},{"line_number":101,"context_line":"#            matchLabels:"},{"line_number":102,"context_line":"#              application: horizon"},{"line_number":103,"context_line":"#        - podSelector:"},{"line_number":104,"context_line":"#            matchLabels:"},{"line_number":105,"context_line":"#              application: ingress"},{"line_number":106,"context_line":"#        - podSelector:"},{"line_number":107,"context_line":"#            matchLabels:"},{"line_number":108,"context_line":"#              application: heat"},{"line_number":109,"context_line":"#        - podSelector:"},{"line_number":110,"context_line":"#            matchLabels:"},{"line_number":111,"context_line":"#              application: ironic"},{"line_number":112,"context_line":"#        - podSelector:"},{"line_number":113,"context_line":"#            matchLabels:"},{"line_number":114,"context_line":"#              application: cinder"},{"line_number":115,"context_line":"#        ports:"},{"line_number":116,"context_line":"#        - protocol: TCP"},{"line_number":117,"context_line":"#          port: 80"},{"line_number":118,"context_line":"#        - protocol: TCP"},{"line_number":119,"context_line":"#          port: 9191"},{"line_number":120,"context_line":"#        - protocol: TCP"},{"line_number":121,"context_line":"#          port: 9292"},{"line_number":122,"context_line":"    egress:"},{"line_number":123,"context_line":"      - {}"},{"line_number":124,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":34,"id":"3fa7e38b_6938569f","line":121,"range":{"start_line":92,"start_character":0,"end_line":121,"end_character":21},"in_reply_to":"3fa7e38b_f5109b50","updated":"2019-09-25 18:21:43.000000000","message":"Done","commit_id":"3848408b121507bd67c2b41cf6dd65fa2ec269bf"}],"heat/values.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"15f26d92f97d48f852e4331f3f1c66d4bf5eaecb","unresolved":false,"context_lines":[{"line_number":1253,"context_line":"    egress:"},{"line_number":1254,"context_line":"      - {}"},{"line_number":1255,"context_line":""},{"line_number":1256,"context_line":"#NOTE(gagehugo): Test these once the netpol gate works"},{"line_number":1257,"context_line":"#network_policy:"},{"line_number":1258,"context_line":"#  heat:"},{"line_number":1259,"context_line":"#    ingress:"},{"line_number":1260,"context_line":"#      - from:"},{"line_number":1261,"context_line":"#        - podSelector:"},{"line_number":1262,"context_line":"#            matchLabels:"},{"line_number":1263,"context_line":"#              application: heat"},{"line_number":1264,"context_line":"#        - podSelector:"},{"line_number":1265,"context_line":"#            matchLabels:"},{"line_number":1266,"context_line":"#              application: ingress"},{"line_number":1267,"context_line":"#        - podSelector:"},{"line_number":1268,"context_line":"#            matchLabels:"},{"line_number":1269,"context_line":"#              application: horizon"},{"line_number":1270,"context_line":"#        ports:"},{"line_number":1271,"context_line":"#        - protocol: TCP"},{"line_number":1272,"context_line":"#          port: 80"},{"line_number":1273,"context_line":"#        - protocol: TCP"},{"line_number":1274,"context_line":"#          port: 8000"},{"line_number":1275,"context_line":"#        - protocol: TCP"},{"line_number":1276,"context_line":"#          port: 8003"},{"line_number":1277,"context_line":"#        - protocol: TCP"},{"line_number":1278,"context_line":"#          port: 8004"},{"line_number":1279,"context_line":"#    egress:"},{"line_number":1280,"context_line":"#      - to:"},{"line_number":1281,"context_line":"#        - podSelector:"},{"line_number":1282,"context_line":"#            matchLabels:"},{"line_number":1283,"context_line":"#              application: neutron"},{"line_number":1284,"context_line":"#        - podSelector:"},{"line_number":1285,"context_line":"#            matchLabels:"},{"line_number":1286,"context_line":"#              application: nova"},{"line_number":1287,"context_line":"#        - podSelector:"},{"line_number":1288,"context_line":"#            matchLabels:"},{"line_number":1289,"context_line":"#              application: glance"},{"line_number":1290,"context_line":"#        - podSelector:"},{"line_number":1291,"context_line":"#            matchLabels:"},{"line_number":1292,"context_line":"#              application: cinder"},{"line_number":1293,"context_line":""},{"line_number":1294,"context_line":"manifests:"},{"line_number":1295,"context_line":"  configmap_bin: true"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"3fa7e38b_55296f87","line":1292,"range":{"start_line":1256,"start_character":0,"end_line":1292,"end_character":34},"updated":"2019-09-25 15:14:13.000000000","message":"Same","commit_id":"3848408b121507bd67c2b41cf6dd65fa2ec269bf"}],"keystone/values.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"15f26d92f97d48f852e4331f3f1c66d4bf5eaecb","unresolved":false,"context_lines":[{"line_number":390,"context_line":"     egress:"},{"line_number":391,"context_line":"       - {}"},{"line_number":392,"context_line":""},{"line_number":393,"context_line":"#NOTE(gagehugo): Test the below whitelist after netpol gate works"},{"line_number":394,"context_line":"#network_policy:"},{"line_number":395,"context_line":"#  keystone:"},{"line_number":396,"context_line":"#    ingress:"},{"line_number":397,"context_line":"#      - from:"},{"line_number":398,"context_line":"#        - podSelector:"},{"line_number":399,"context_line":"#            matchLabels:"},{"line_number":400,"context_line":"#              application: ceph"},{"line_number":401,"context_line":"#        - podSelector:"},{"line_number":402,"context_line":"#            matchLabels:"},{"line_number":403,"context_line":"#              application: ingress"},{"line_number":404,"context_line":"#        - podSelector:"},{"line_number":405,"context_line":"#            matchLabels:"},{"line_number":406,"context_line":"#              application: keystone"},{"line_number":407,"context_line":"#        - podSelector:"},{"line_number":408,"context_line":"#            matchLabels:"},{"line_number":409,"context_line":"#              application: heat"},{"line_number":410,"context_line":"#        - podSelector:"},{"line_number":411,"context_line":"#            matchLabels:"},{"line_number":412,"context_line":"#              application: glance"},{"line_number":413,"context_line":"#        - podSelector:"},{"line_number":414,"context_line":"#            matchLabels:"},{"line_number":415,"context_line":"#              application: cinder"},{"line_number":416,"context_line":"#        - podSelector:"},{"line_number":417,"context_line":"#            matchLabels:"},{"line_number":418,"context_line":"#              application: congress"},{"line_number":419,"context_line":"#        - podSelector:"},{"line_number":420,"context_line":"#            matchLabels:"},{"line_number":421,"context_line":"#              application: barbican"},{"line_number":422,"context_line":"#        - podSelector:"},{"line_number":423,"context_line":"#            matchLabels:"},{"line_number":424,"context_line":"#              application: ceilometer"},{"line_number":425,"context_line":"#        - podSelector:"},{"line_number":426,"context_line":"#            matchLabels:"},{"line_number":427,"context_line":"#              application: horizon"},{"line_number":428,"context_line":"#        - podSelector:"},{"line_number":429,"context_line":"#            matchLabels:"},{"line_number":430,"context_line":"#              application: ironic"},{"line_number":431,"context_line":"#        - podSelector:"},{"line_number":432,"context_line":"#            matchLabels:"},{"line_number":433,"context_line":"#              application: magnum"},{"line_number":434,"context_line":"#        - podSelector:"},{"line_number":435,"context_line":"#            matchLabels:"},{"line_number":436,"context_line":"#              application: mistral"},{"line_number":437,"context_line":"#        - podSelector:"},{"line_number":438,"context_line":"#            matchLabels:"},{"line_number":439,"context_line":"#              application: nova"},{"line_number":440,"context_line":"#        - podSelector:"},{"line_number":441,"context_line":"#            matchLabels:"},{"line_number":442,"context_line":"#              application: neutron"},{"line_number":443,"context_line":"#        - podSelector:"},{"line_number":444,"context_line":"#            matchLabels:"},{"line_number":445,"context_line":"#              application: senlin"},{"line_number":446,"context_line":"#        - podSelector:"},{"line_number":447,"context_line":"#            matchLabels:"},{"line_number":448,"context_line":"#              application: placement"},{"line_number":449,"context_line":"#        - podSelector:"},{"line_number":450,"context_line":"#            matchLabels:"},{"line_number":451,"context_line":"#              application: prometheus-openstack-exporter"},{"line_number":452,"context_line":"#        ports:"},{"line_number":453,"context_line":"#        - protocol: TCP"},{"line_number":454,"context_line":"#          port: 80"},{"line_number":455,"context_line":"#        - protocol: TCP"},{"line_number":456,"context_line":"#          port: 443"},{"line_number":457,"context_line":"#        - protocol: TCP"},{"line_number":458,"context_line":"#          port: 5000"},{"line_number":459,"context_line":"#        - protocol: TCP"},{"line_number":460,"context_line":"#          port: 35357"},{"line_number":461,"context_line":"#    egress:"},{"line_number":462,"context_line":"#      - to:"},{"line_number":463,"context_line":"#        - namespaceSelector:"},{"line_number":464,"context_line":"#            matchLabels:"},{"line_number":465,"context_line":"#              name: ceph"},{"line_number":466,"context_line":"#      - to:"},{"line_number":467,"context_line":"#        - podSelector:"},{"line_number":468,"context_line":"#            matchLabels:"},{"line_number":469,"context_line":"#              application: ceph"},{"line_number":470,"context_line":"#      - ports:"},{"line_number":471,"context_line":"#        - port: 53"},{"line_number":472,"context_line":"#          protocol: UDP"},{"line_number":473,"context_line":"#        - port: 53"},{"line_number":474,"context_line":"#          protocol: TCP"},{"line_number":475,"context_line":""},{"line_number":476,"context_line":"conf:"},{"line_number":477,"context_line":"  security: |"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"3fa7e38b_b52f8386","line":474,"range":{"start_line":393,"start_character":0,"end_line":474,"end_character":24},"updated":"2019-09-25 15:14:13.000000000","message":"Same","commit_id":"3848408b121507bd67c2b41cf6dd65fa2ec269bf"}],"tools/deployment/common/openstack-exporter.sh":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"2d0c8e371149bf48352a3861381582f8932cf096","unresolved":false,"context_lines":[{"line_number":24,"context_line":"make -C ${HELM_CHART_ROOT_PATH} prometheus-openstack-exporter"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"#NOTE: Deploy command"},{"line_number":27,"context_line":"tee /tmp/prometheus-openstack-exporter.yaml \u003c\u003c EOF"},{"line_number":28,"context_line":"manifests:"},{"line_number":29,"context_line":"  job_ks_user: false"},{"line_number":30,"context_line":"dependencies:"},{"line_number":31,"context_line":"  static:"},{"line_number":32,"context_line":"    prometheus_openstack_exporter:"},{"line_number":33,"context_line":"      jobs: null"},{"line_number":34,"context_line":"      services: null"},{"line_number":35,"context_line":"EOF"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":": ${OSH_EXTRA_HELM_ARGS:\u003d\"\"}"},{"line_number":38,"context_line":"helm upgrade --install prometheus-openstack-exporter ${HELM_CHART_ROOT_PATH}/prometheus-openstack-exporter \\"}],"source_content_type":"text/x-sh","patch_set":36,"id":"3fa7e38b_cd9cf3c1","line":35,"range":{"start_line":27,"start_character":0,"end_line":35,"end_character":3},"updated":"2019-09-25 21:26:18.000000000","message":"As we\u0027re deploying this in a job that also deploys keystone, we can remove these overrides.  We\u0027ll need a keystone user created for the exporter so we can scrape metrics as part of this job","commit_id":"e73d7fa08fb45697f8aa73c81bcfde7d6ee688d9"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"2d0c8e371149bf48352a3861381582f8932cf096","unresolved":false,"context_lines":[{"line_number":37,"context_line":": ${OSH_EXTRA_HELM_ARGS:\u003d\"\"}"},{"line_number":38,"context_line":"helm upgrade --install prometheus-openstack-exporter ${HELM_CHART_ROOT_PATH}/prometheus-openstack-exporter \\"},{"line_number":39,"context_line":"    --namespace\u003dopenstack \\"},{"line_number":40,"context_line":"    --values\u003d/tmp/prometheus-openstack-exporter.yaml \\"},{"line_number":41,"context_line":"    ${OSH_EXTRA_HELM_ARGS} \\"},{"line_number":42,"context_line":"    ${OSH_EXTRA_HELM_ARGS_OSEXPORTER}"},{"line_number":43,"context_line":""}],"source_content_type":"text/x-sh","patch_set":36,"id":"3fa7e38b_eda1aff9","line":40,"range":{"start_line":40,"start_character":4,"end_line":40,"end_character":54},"updated":"2019-09-25 21:26:18.000000000","message":"Can be removed","commit_id":"e73d7fa08fb45697f8aa73c81bcfde7d6ee688d9"}],"tools/deployment/common/test-netpol-compute-kit.sh":[{"author":{"_account_id":29397,"name":"Kudaka Poorna Rajesh","email":"rajesh.kudaka@imaginea.com","username":"rajesh.kudaka"},"change_message_id":"18d895aa67c061f98465c82794fd467e7d3a74ce","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"source ./test-netpol.sh"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"#NOTE(gagehugo): Re-enable these once proper ingress/egress rules are in place"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-sh","patch_set":29,"id":"3fa7e38b_f80d4735","line":17,"range":{"start_line":17,"start_character":0,"end_line":17,"end_character":23},"updated":"2019-09-20 13:05:21.000000000","message":"Add \"set -ex\", The tests are actually failing in zuul. Please have a look at the logs.\n\nhttps://8ab23fb5267d5a6945aa-8df332a8f6cbb54ee498032ff97f9d17.ssl.cf5.rackcdn.com/681539/29/check/openstack-helm-netpol-compute-kit/df2dd9b/job-output.txt","commit_id":"10eca84af7a5d8b1ac98843976f40b97ff0ad62f"}],"tools/deployment/common/test-netpol.sh":[{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"8c35b08d1ece2a41945c7be35176903f033e530e","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -xe"},{"line_number":18,"context_line":"# test_netpol(namespace, component, target_host, expected_result{fail,success})"},{"line_number":19,"context_line":"function test_netpol {"},{"line_number":20,"context_line":"  NS\u003d$1"},{"line_number":21,"context_line":"  COMPONENT\u003d$2"},{"line_number":22,"context_line":"  HOST\u003d$3"},{"line_number":23,"context_line":"  STATUS\u003d$4"},{"line_number":24,"context_line":"  echo Testing connection from $COMPONENT to host $HOST with namespace $NS"},{"line_number":25,"context_line":"  POD\u003d$(kubectl -n $NS get pod | grep $COMPONENT | grep Running | awk \u0027{print $1}\u0027)"},{"line_number":26,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":27,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":28,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"},{"line_number":29,"context_line":"      echo \"Connection timed out; as expected by policy.\""},{"line_number":30,"context_line":"    else"},{"line_number":31,"context_line":"      exit 1"},{"line_number":32,"context_line":"    fi"},{"line_number":33,"context_line":"  else"},{"line_number":34,"context_line":"    sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST"},{"line_number":35,"context_line":"  fi"},{"line_number":36,"context_line":"}"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"#NOTE(gagehugo): Re-enable these once proper ingress/egress rules are in place"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"5faad753_a3968992","line":36,"range":{"start_line":19,"start_character":0,"end_line":36,"end_character":1},"updated":"2019-09-12 19:13:13.000000000","message":"I would recommend breaking this function out into a common .sh file that test-xyz-netpol.sh can include/source.  That way we don\u0027t have this in every policy test script.","commit_id":"5bfad0a5470c315234aa98e2ad4dbc4d8b40783e"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"9b0cac20086c074cf1d243a403916c28362b1636","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -xe"},{"line_number":18,"context_line":"# test_netpol(namespace, component, target_host, expected_result{fail,success})"},{"line_number":19,"context_line":"function test_netpol {"},{"line_number":20,"context_line":"  NS\u003d$1"},{"line_number":21,"context_line":"  COMPONENT\u003d$2"},{"line_number":22,"context_line":"  HOST\u003d$3"},{"line_number":23,"context_line":"  STATUS\u003d$4"},{"line_number":24,"context_line":"  echo Testing connection from $COMPONENT to host $HOST with namespace $NS"},{"line_number":25,"context_line":"  POD\u003d$(kubectl -n $NS get pod | grep $COMPONENT | grep Running | awk \u0027{print $1}\u0027)"},{"line_number":26,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":27,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":28,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"},{"line_number":29,"context_line":"      echo \"Connection timed out; as expected by policy.\""},{"line_number":30,"context_line":"    else"},{"line_number":31,"context_line":"      exit 1"},{"line_number":32,"context_line":"    fi"},{"line_number":33,"context_line":"  else"},{"line_number":34,"context_line":"    sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST"},{"line_number":35,"context_line":"  fi"},{"line_number":36,"context_line":"}"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"#NOTE(gagehugo): Re-enable these once proper ingress/egress rules are in place"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"5faad753_63c0912b","line":36,"range":{"start_line":19,"start_character":0,"end_line":36,"end_character":1},"in_reply_to":"5faad753_a3968992","updated":"2019-09-12 19:27:58.000000000","message":"Done","commit_id":"5bfad0a5470c315234aa98e2ad4dbc4d8b40783e"},{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"8c35b08d1ece2a41945c7be35176903f033e530e","unresolved":false,"context_lines":[{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -xe"},{"line_number":18,"context_line":"# test_netpol(namespace, component, target_host, expected_result{fail,success})"},{"line_number":19,"context_line":"function test_netpol {"},{"line_number":20,"context_line":"  NS\u003d$1"},{"line_number":21,"context_line":"  COMPONENT\u003d$2"},{"line_number":22,"context_line":"  HOST\u003d$3"},{"line_number":23,"context_line":"  STATUS\u003d$4"},{"line_number":24,"context_line":"  echo Testing connection from $COMPONENT to host $HOST with namespace $NS"},{"line_number":25,"context_line":"  POD\u003d$(kubectl -n $NS get pod | grep $COMPONENT | grep Running | awk \u0027{print $1}\u0027)"},{"line_number":26,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":27,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":28,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"},{"line_number":29,"context_line":"      echo \"Connection timed out; as expected by policy.\""},{"line_number":30,"context_line":"    else"},{"line_number":31,"context_line":"      exit 1"},{"line_number":32,"context_line":"    fi"},{"line_number":33,"context_line":"  else"},{"line_number":34,"context_line":"    sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST"},{"line_number":35,"context_line":"  fi"},{"line_number":36,"context_line":"}"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"#NOTE(gagehugo): Re-enable these once proper ingress/egress rules are in place"},{"line_number":39,"context_line":""}],"source_content_type":"text/x-sh","patch_set":11,"id":"5faad753_83deed6a","line":36,"range":{"start_line":19,"start_character":0,"end_line":36,"end_character":1},"updated":"2019-09-12 19:13:13.000000000","message":"I would recommend breaking this function out into a common .sh file that test-xyz-netpol.sh can include/source. That way we don\u0027t have this in every policy test script.","commit_id":"cb39d3ef282a585c8997544e768df13d1db77d07"},{"author":{"_account_id":24780,"name":"Sangeet Gupta","email":"sg774j@att.com","username":"sgupta"},"change_message_id":"05759f4ac52afd78a5295e2e70eb64bf276d0361","unresolved":false,"context_lines":[{"line_number":22,"context_line":"  HOST\u003d$3"},{"line_number":23,"context_line":"  STATUS\u003d$4"},{"line_number":24,"context_line":"  echo Testing connection from $COMPONENT to host $HOST with namespace $NS"},{"line_number":25,"context_line":"  POD\u003d$(kubectl -n $NS get pod | grep $COMPONENT | grep Running | awk \u0027{print $1}\u0027)"},{"line_number":26,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":27,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":28,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"}],"source_content_type":"text/x-sh","patch_set":21,"id":"5faad753_857fb9de","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":83},"updated":"2019-09-13 21:00:35.000000000","message":"This check needs to be made more robust. 2 changes needs to go in.\n1. When I ran for component ingress in openstack namespace, it picked up mariabd-ingress pods instead of a ingress. This would produce false successes and failures. I think we should check for both component and application. So it should look like\nPOD\u003d$(kubectl -n $NS get pod -l application\u003d$APPLICATION,component\u003d$COMPONENT | grep Running | awk \u0027{print $1}\u0027)\ne.g test_netpol openstack keystone api heat-api.openstack.svc.cluster.local fail\n\n2. Need to change one of the grep\u0027s to \"| grep -m 1 Running\" because if there are a multiple pods matching the grep criterion, there will be a list and the next command (line 26) will fail.","commit_id":"a51f2db5b27f77ae4d8c189eab2df2666df13bb6"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"d9281ce1dda167b9017d2bc11f2b7a23057724b1","unresolved":false,"context_lines":[{"line_number":22,"context_line":"  HOST\u003d$3"},{"line_number":23,"context_line":"  STATUS\u003d$4"},{"line_number":24,"context_line":"  echo Testing connection from $COMPONENT to host $HOST with namespace $NS"},{"line_number":25,"context_line":"  POD\u003d$(kubectl -n $NS get pod | grep $COMPONENT | grep Running | awk \u0027{print $1}\u0027)"},{"line_number":26,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":27,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":28,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"}],"source_content_type":"text/x-sh","patch_set":21,"id":"5faad753_58644822","line":25,"range":{"start_line":25,"start_character":0,"end_line":25,"end_character":83},"in_reply_to":"5faad753_857fb9de","updated":"2019-09-13 22:33:07.000000000","message":"Done","commit_id":"a51f2db5b27f77ae4d8c189eab2df2666df13bb6"},{"author":{"_account_id":24780,"name":"Sangeet Gupta","email":"sg774j@att.com","username":"sgupta"},"change_message_id":"aca2012429a6ed9618f912b7c7f748e8b2748423","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  HOST\u003d$4"},{"line_number":24,"context_line":"  STATUS\u003d$5"},{"line_number":25,"context_line":"  echo Testing connection from $COMPONENT - $APP to host $HOST with namespace $NS"},{"line_number":26,"context_line":"  POD\u003d$(kubectl -n $NS get pod -l application\u003d$APP | grep $COMPONENT | grep -m1 Running | awk \u0027{print $1}\u0027)"},{"line_number":27,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":28,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":29,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"}],"source_content_type":"text/x-sh","patch_set":24,"id":"3fa7e38b_4abbb7e4","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":107},"updated":"2019-09-16 15:54:30.000000000","message":"Is should be as following else we may have issue if  the component name is not part of pod name.\nPOD\u003d$(kubectl -n $NS get pod -l application\u003d$APP,component\u003d$COMPONENT | grep -m1 Running | awk \u0027{print $1}\u0027)","commit_id":"70973d4ece57242e1b6ff920cf87fb971153f1ee"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"3c743517bec7e17c12e36a8199a09530b3222de4","unresolved":false,"context_lines":[{"line_number":23,"context_line":"  HOST\u003d$4"},{"line_number":24,"context_line":"  STATUS\u003d$5"},{"line_number":25,"context_line":"  echo Testing connection from $COMPONENT - $APP to host $HOST with namespace $NS"},{"line_number":26,"context_line":"  POD\u003d$(kubectl -n $NS get pod -l application\u003d$APP | grep $COMPONENT | grep -m1 Running | awk \u0027{print $1}\u0027)"},{"line_number":27,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":28,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":29,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"}],"source_content_type":"text/x-sh","patch_set":24,"id":"3fa7e38b_b8ef21af","line":26,"range":{"start_line":26,"start_character":0,"end_line":26,"end_character":107},"in_reply_to":"3fa7e38b_4abbb7e4","updated":"2019-09-16 17:11:27.000000000","message":"Done","commit_id":"70973d4ece57242e1b6ff920cf87fb971153f1ee"},{"author":{"_account_id":29397,"name":"Kudaka Poorna Rajesh","email":"rajesh.kudaka@imaginea.com","username":"rajesh.kudaka"},"change_message_id":"314ad89ffaf71eca9f1353fe16dcdad336cfc9cc","unresolved":false,"context_lines":[{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"set -xe"},{"line_number":18,"context_line":"# test_netpol(namespace, component, application, target_host, expected_result{fail,success})"},{"line_number":19,"context_line":"function test_netpol {"},{"line_number":20,"context_line":"  NS\u003d$1"},{"line_number":21,"context_line":"  COMPONENT\u003d$2"}],"source_content_type":"text/x-sh","patch_set":29,"id":"3fa7e38b_cd40cf38","line":18,"range":{"start_line":18,"start_character":25,"end_line":18,"end_character":47},"updated":"2019-09-20 12:13:04.000000000","message":"I\u0027d prefer to switch these to align with the tests.\n\nExample:\ntest_netpol openstack keystone(application) api(component) mariadb.openstack.svc.cluster.local:3306 success","commit_id":"10eca84af7a5d8b1ac98843976f40b97ff0ad62f"},{"author":{"_account_id":29397,"name":"Kudaka Poorna Rajesh","email":"rajesh.kudaka@imaginea.com","username":"rajesh.kudaka"},"change_message_id":"314ad89ffaf71eca9f1353fe16dcdad336cfc9cc","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# test_netpol(namespace, component, application, target_host, expected_result{fail,success})"},{"line_number":19,"context_line":"function test_netpol {"},{"line_number":20,"context_line":"  NS\u003d$1"},{"line_number":21,"context_line":"  COMPONENT\u003d$2"},{"line_number":22,"context_line":"  APP\u003d$3"},{"line_number":23,"context_line":"  HOST\u003d$4"},{"line_number":24,"context_line":"  STATUS\u003d$5"},{"line_number":25,"context_line":"  echo Testing connection from $COMPONENT - $APP to host $HOST with namespace $NS"}],"source_content_type":"text/x-sh","patch_set":29,"id":"3fa7e38b_0d7027a5","line":22,"range":{"start_line":21,"start_character":0,"end_line":22,"end_character":8},"updated":"2019-09-20 12:13:04.000000000","message":"Should also be switched.","commit_id":"10eca84af7a5d8b1ac98843976f40b97ff0ad62f"},{"author":{"_account_id":29397,"name":"Kudaka Poorna Rajesh","email":"rajesh.kudaka@imaginea.com","username":"rajesh.kudaka"},"change_message_id":"1e627fd7c4171bafc2585d68ee04c593a1ea70bf","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  STATUS\u003d$5"},{"line_number":25,"context_line":"  echo Testing connection from $COMPONENT - $APP to host $HOST with namespace $NS"},{"line_number":26,"context_line":"  POD\u003d$(kubectl -n $NS get pod -l application\u003d$APP,component\u003d$COMPONENT | grep -m1 Running | awk \u0027{print $1}\u0027)"},{"line_number":27,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":28,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":29,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"},{"line_number":30,"context_line":"      echo \"Connection timed out; as expected by policy.\""}],"source_content_type":"text/x-sh","patch_set":29,"id":"3fa7e38b_3203fe75","line":27,"range":{"start_line":27,"start_character":2,"end_line":27,"end_character":169},"updated":"2019-09-20 11:48:54.000000000","message":"This fails when multiple pods are fetched in the above statement. Can we avoid that or cover the test for all the pods that are fetched?","commit_id":"10eca84af7a5d8b1ac98843976f40b97ff0ad62f"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"10fdd561421661fdc545aaea08844a90df66ff3c","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  STATUS\u003d$5"},{"line_number":25,"context_line":"  echo Testing connection from $COMPONENT - $APP to host $HOST with namespace $NS"},{"line_number":26,"context_line":"  POD\u003d$(kubectl -n $NS get pod -l application\u003d$APP,component\u003d$COMPONENT | grep -m1 Running | awk \u0027{print $1}\u0027)"},{"line_number":27,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":28,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":29,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"},{"line_number":30,"context_line":"      echo \"Connection timed out; as expected by policy.\""}],"source_content_type":"text/x-sh","patch_set":29,"id":"3fa7e38b_f08314cb","line":27,"range":{"start_line":27,"start_character":2,"end_line":27,"end_character":169},"in_reply_to":"3fa7e38b_102cb045","updated":"2019-09-20 18:18:33.000000000","message":"Done","commit_id":"10eca84af7a5d8b1ac98843976f40b97ff0ad62f"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"9bdfa7cedbcdcd7f8002a1fb07b5e88c53f2bc3e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"  STATUS\u003d$5"},{"line_number":25,"context_line":"  echo Testing connection from $COMPONENT - $APP to host $HOST with namespace $NS"},{"line_number":26,"context_line":"  POD\u003d$(kubectl -n $NS get pod -l application\u003d$APP,component\u003d$COMPONENT | grep -m1 Running | awk \u0027{print $1}\u0027)"},{"line_number":27,"context_line":"  PID\u003d$(sudo docker inspect --format \u0027{{ .State.Pid }}\u0027 $(kubectl get pods --namespace $NS $POD -o jsonpath\u003d\u0027{.status.containerStatuses[0].containerID}\u0027 | cut -c 10-21))"},{"line_number":28,"context_line":"  if [ \"x${STATUS}\" \u003d\u003d \"xfail\" ]; then"},{"line_number":29,"context_line":"    if ! sudo nsenter -t $PID -n wget --spider --timeout\u003d5 --tries\u003d1 $HOST ; then"},{"line_number":30,"context_line":"      echo \"Connection timed out; as expected by policy.\""}],"source_content_type":"text/x-sh","patch_set":29,"id":"3fa7e38b_102cb045","line":27,"range":{"start_line":27,"start_character":2,"end_line":27,"end_character":169},"in_reply_to":"3fa7e38b_3203fe75","updated":"2019-09-20 18:07:34.000000000","message":"This should be handled in the same manner as in openstack-helm-infra:\nhttps://github.com/openstack/openstack-helm-infra/blob/master/tools/deployment/network-policy/901-test-networkpolicy.sh#L27","commit_id":"10eca84af7a5d8b1ac98843976f40b97ff0ad62f"}],"tools/deployment/common/test-networkpolicy.sh":[{"author":{"_account_id":22636,"name":"Cliff Parsons","email":"cliffhparsons@aol.com","username":"cliffparsons"},"change_message_id":"a998f63025e8662b023b81ec4aae8f1427b2634c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"test_netpol openstack keystone api mariadb.openstack.svc.cluster.local:3306 success"},{"line_number":48,"context_line":"test_netpol openstack keystone api rabbitmq.openstack.svc.cluster.local:5672 success"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"if kubectl -n openstack get pod -l application\u003dcinder | grep Running ; then"},{"line_number":51,"context_line":"# Negative Cinder Tests"},{"line_number":52,"context_line":"  #test_netpol openstack keystone api cinder-api.openstack.svc.cluster.local fail"},{"line_number":53,"context_line":"# Positive Cinder Tests"}],"source_content_type":"text/x-sh","patch_set":31,"id":"3fa7e38b_f3579e01","line":50,"range":{"start_line":50,"start_character":0,"end_line":50,"end_character":75},"updated":"2019-09-20 18:34:05.000000000","message":"I am not sure how robust we want this to be, but the test_netpol will only run successfully if the sending pod is running on the node...in a multinode environment environment the pods we want to test (the sending pods) may not be running on the same node.  If we ever want to test it in a multinode environment, we have to make some improvements on this function.","commit_id":"cbe61f851262af2ff4ff2a593685c76c2cd3afa3"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"dbc6f678f7b5b905c20112e70ccbf224db039e4b","unresolved":false,"context_lines":[{"line_number":47,"context_line":"test_netpol openstack keystone api mariadb.openstack.svc.cluster.local:3306 success"},{"line_number":48,"context_line":"test_netpol openstack keystone api rabbitmq.openstack.svc.cluster.local:5672 success"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"if kubectl -n openstack get pod -l application\u003dcinder | grep Running ; then"},{"line_number":51,"context_line":"# Negative Cinder Tests"},{"line_number":52,"context_line":"  #test_netpol openstack keystone api cinder-api.openstack.svc.cluster.local fail"},{"line_number":53,"context_line":"# Positive Cinder Tests"}],"source_content_type":"text/x-sh","patch_set":31,"id":"3fa7e38b_53679226","line":50,"range":{"start_line":50,"start_character":0,"end_line":50,"end_character":75},"in_reply_to":"3fa7e38b_f3579e01","updated":"2019-09-20 19:08:47.000000000","message":"For multinode I imagine an separate test script could be made.","commit_id":"cbe61f851262af2ff4ff2a593685c76c2cd3afa3"}],"tools/deployment/netpol/040-nfs-provisioner.sh":[{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"85368224fdb187fb098a0c702ebe06fef9a38b10","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5faad753_53e22231","updated":"2019-09-11 20:37:49.000000000","message":"do we need nfs-provisioner and ceph for this?","commit_id":"3f3b99709636ccb52b7b73f1b22f12c4aa7586ba"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"ff213ff0baad4fb22095be035699ba598b11c9f4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"5faad753_f32eae41","in_reply_to":"5faad753_53e22231","updated":"2019-09-11 20:41:28.000000000","message":"yes, compute kit runs nfs, ceph to run cinder","commit_id":"3f3b99709636ccb52b7b73f1b22f12c4aa7586ba"}],"tools/deployment/netpol/050-mariadb.sh":[{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"85368224fdb187fb098a0c702ebe06fef9a38b10","unresolved":false,"context_lines":[{"line_number":39,"context_line":"helm upgrade --install mariadb ${HELM_CHART_ROOT_PATH}/mariadb \\"},{"line_number":40,"context_line":"    --namespace\u003dopenstack \\"},{"line_number":41,"context_line":"    --values\u003d/tmp/mariadb.yaml \\"},{"line_number":42,"context_line":"    --set pod.replicas.server\u003d1 \\"},{"line_number":43,"context_line":"    ${OSH_EXTRA_HELM_ARGS} \\"},{"line_number":44,"context_line":"    ${OSH_EXTRA_HELM_ARGS_MARIADB}"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-sh","patch_set":7,"id":"5faad753_f360eea7","line":42,"range":{"start_line":42,"start_character":1,"end_line":42,"end_character":32},"updated":"2019-09-11 20:37:49.000000000","message":"we might need to up this to 2 so it clusters.","commit_id":"3f3b99709636ccb52b7b73f1b22f12c4aa7586ba"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"3938df1c39f0c06b291e2f2402bc4a30a74e831e","unresolved":false,"context_lines":[{"line_number":39,"context_line":"helm upgrade --install mariadb ${HELM_CHART_ROOT_PATH}/mariadb \\"},{"line_number":40,"context_line":"    --namespace\u003dopenstack \\"},{"line_number":41,"context_line":"    --values\u003d/tmp/mariadb.yaml \\"},{"line_number":42,"context_line":"    --set pod.replicas.server\u003d1 \\"},{"line_number":43,"context_line":"    ${OSH_EXTRA_HELM_ARGS} \\"},{"line_number":44,"context_line":"    ${OSH_EXTRA_HELM_ARGS_MARIADB}"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-sh","patch_set":7,"id":"5faad753_33ad2688","line":42,"range":{"start_line":42,"start_character":1,"end_line":42,"end_character":32},"in_reply_to":"5faad753_f360eea7","updated":"2019-09-11 20:46:52.000000000","message":"Done","commit_id":"3f3b99709636ccb52b7b73f1b22f12c4aa7586ba"},{"author":{"_account_id":23928,"name":"Pete Birley","email":"petebirley@gmail.com","username":"portdirect"},"change_message_id":"49ac2584944f80dae5c1599943cb97dace09a3df","unresolved":false,"context_lines":[{"line_number":24,"context_line":"make -C ${HELM_CHART_ROOT_PATH} mariadb"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"tee /tmp/mariadb.yaml \u003c\u003cEOF"},{"line_number":27,"context_line":"manifests:"},{"line_number":28,"context_line":"  network_policy: true"},{"line_number":29,"context_line":"network_policy:"},{"line_number":30,"context_line":"  mariadb:"},{"line_number":31,"context_line":"    ingress:"},{"line_number":32,"context_line":"      - {}"},{"line_number":33,"context_line":"    egress:"},{"line_number":34,"context_line":"      - {}"},{"line_number":35,"context_line":"EOF"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"#NOTE: Deploy command"}],"source_content_type":"text/x-sh","patch_set":8,"id":"5faad753_ed11d005","line":34,"range":{"start_line":27,"start_character":0,"end_line":34,"end_character":10},"updated":"2019-09-12 17:49:44.000000000","message":"please do via feature gates.","commit_id":"f9d2d4b189737cd5493c4e04c186056cc2697892"}],"tools/deployment/netpol/060-rabbitmq.sh":[{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"85368224fdb187fb098a0c702ebe06fef9a38b10","unresolved":false,"context_lines":[{"line_number":39,"context_line":"helm upgrade --install rabbitmq ${HELM_CHART_ROOT_PATH}/rabbitmq \\"},{"line_number":40,"context_line":"    --namespace\u003dopenstack \\"},{"line_number":41,"context_line":"    --values\u003d/tmp/rabbitmq.yaml \\"},{"line_number":42,"context_line":"    --set pod.replicas.server\u003d1 \\"},{"line_number":43,"context_line":"    ${OSH_EXTRA_HELM_ARGS} \\"},{"line_number":44,"context_line":"    ${OSH_EXTRA_HELM_ARGS_RABBITMQ}"},{"line_number":45,"context_line":""}],"source_content_type":"text/x-sh","patch_set":7,"id":"5faad753_93465a21","line":42,"range":{"start_line":42,"start_character":0,"end_line":42,"end_character":33},"updated":"2019-09-11 20:37:49.000000000","message":"can we up the relica count to 2 so it clusters?","commit_id":"3f3b99709636ccb52b7b73f1b22f12c4aa7586ba"}],"tools/deployment/netpol/110-ceph-radosgateway.sh":[{"author":{"_account_id":24780,"name":"Sangeet Gupta","email":"sg774j@att.com","username":"sgupta"},"change_message_id":"65ad334550fa23c202d3ea818375653aa303b374","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    rgw: 1"},{"line_number":49,"context_line":"network_policy:"},{"line_number":50,"context_line":"  ceph:"},{"line_number":51,"context_line":"    ingress:"},{"line_number":52,"context_line":"      - from:"},{"line_number":53,"context_line":"        - podSelector:"},{"line_number":54,"context_line":"            matchLabels:"},{"line_number":55,"context_line":"              application: glance"},{"line_number":56,"context_line":"        - podSelector:"},{"line_number":57,"context_line":"            matchLabels:"},{"line_number":58,"context_line":"              application: cinder"},{"line_number":59,"context_line":"        - podSelector:"},{"line_number":60,"context_line":"            matchLabels:"},{"line_number":61,"context_line":"              application: libvirt"},{"line_number":62,"context_line":"        - podSelector:"},{"line_number":63,"context_line":"            matchLabels:"},{"line_number":64,"context_line":"              application: nova"},{"line_number":65,"context_line":"        - podSelector:"},{"line_number":66,"context_line":"            matchLabels:"},{"line_number":67,"context_line":"              application: ceph"},{"line_number":68,"context_line":"        - podSelector:"},{"line_number":69,"context_line":"            matchLabels:"},{"line_number":70,"context_line":"              application: ingress"},{"line_number":71,"context_line":"        ports:"},{"line_number":72,"context_line":"        - protocol: TCP"},{"line_number":73,"context_line":"          port: 8088"},{"line_number":74,"context_line":"    egress:"},{"line_number":75,"context_line":"      - {}"},{"line_number":76,"context_line":"manifests:"}],"source_content_type":"text/x-sh","patch_set":7,"id":"5faad753_b32276a3","line":73,"range":{"start_line":51,"start_character":0,"end_line":73,"end_character":20},"updated":"2019-09-11 20:27:43.000000000","message":"Why did you not open the ingress completely here?","commit_id":"3f3b99709636ccb52b7b73f1b22f12c4aa7586ba"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"106b3cdc151e57ee00dab6907e4eb97854bcd3a1","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    rgw: 1"},{"line_number":49,"context_line":"network_policy:"},{"line_number":50,"context_line":"  ceph:"},{"line_number":51,"context_line":"    ingress:"},{"line_number":52,"context_line":"      - from:"},{"line_number":53,"context_line":"        - podSelector:"},{"line_number":54,"context_line":"            matchLabels:"},{"line_number":55,"context_line":"              application: glance"},{"line_number":56,"context_line":"        - podSelector:"},{"line_number":57,"context_line":"            matchLabels:"},{"line_number":58,"context_line":"              application: cinder"},{"line_number":59,"context_line":"        - podSelector:"},{"line_number":60,"context_line":"            matchLabels:"},{"line_number":61,"context_line":"              application: libvirt"},{"line_number":62,"context_line":"        - podSelector:"},{"line_number":63,"context_line":"            matchLabels:"},{"line_number":64,"context_line":"              application: nova"},{"line_number":65,"context_line":"        - podSelector:"},{"line_number":66,"context_line":"            matchLabels:"},{"line_number":67,"context_line":"              application: ceph"},{"line_number":68,"context_line":"        - podSelector:"},{"line_number":69,"context_line":"            matchLabels:"},{"line_number":70,"context_line":"              application: ingress"},{"line_number":71,"context_line":"        ports:"},{"line_number":72,"context_line":"        - protocol: TCP"},{"line_number":73,"context_line":"          port: 8088"},{"line_number":74,"context_line":"    egress:"},{"line_number":75,"context_line":"      - {}"},{"line_number":76,"context_line":"manifests:"}],"source_content_type":"text/x-sh","patch_set":7,"id":"5faad753_d3a852dc","line":73,"range":{"start_line":51,"start_character":0,"end_line":73,"end_character":20},"in_reply_to":"5faad753_b32276a3","updated":"2019-09-11 20:33:52.000000000","message":"This was already defined here and seemed to work so I left it.","commit_id":"3f3b99709636ccb52b7b73f1b22f12c4aa7586ba"}],"tools/deployment/netpol/120-glance.sh":[{"author":{"_account_id":20466,"name":"Tin Lam","email":"tin@lam.wtf","username":"tinlam"},"change_message_id":"85368224fdb187fb098a0c702ebe06fef9a38b10","unresolved":false,"context_lines":[{"line_number":41,"context_line":"helm upgrade --install glance ./glance \\"},{"line_number":42,"context_line":"  --namespace\u003dopenstack \\"},{"line_number":43,"context_line":"  --values\u003d/tmp/glance.yaml \\"},{"line_number":44,"context_line":"  --set manifests.network_policy\u003dtrue \\"},{"line_number":45,"context_line":"  ${OSH_EXTRA_HELM_ARGS} \\"},{"line_number":46,"context_line":"  ${OSH_EXTRA_HELM_ARGS_GLANCE}"},{"line_number":47,"context_line":""}],"source_content_type":"text/x-sh","patch_set":7,"id":"5faad753_53bb020d","line":44,"range":{"start_line":44,"start_character":0,"end_line":44,"end_character":39},"updated":"2019-09-11 20:37:49.000000000","message":"dup","commit_id":"3f3b99709636ccb52b7b73f1b22f12c4aa7586ba"}],"zuul.d/jobs-openstack-helm.yaml":[{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"15f26d92f97d48f852e4331f3f1c66d4bf5eaecb","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        - ./tools/deployment/common/deploy-k8s.sh"},{"line_number":283,"context_line":"        - ./tools/deployment/common/setup-client.sh"},{"line_number":284,"context_line":"        - ./tools/deployment/component/common/ingress.sh"},{"line_number":285,"context_line":"        - ./tools/deployment/common/lockdown-netpol.sh"},{"line_number":286,"context_line":"        - ./tools/deployment/component/common/mariadb.sh"},{"line_number":287,"context_line":"        - ./tools/deployment/component/common/memcached.sh"},{"line_number":288,"context_line":"        - ./tools/deployment/component/common/rabbitmq.sh"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"3fa7e38b_f5dadb75","line":285,"range":{"start_line":285,"start_character":8,"end_line":285,"end_character":54},"updated":"2019-09-25 15:14:13.000000000","message":"Since we\u0027re defining potential ingress policy rules for the prometheus-openstack-exporter, we really should be deploying it as part of this job.","commit_id":"3848408b121507bd67c2b41cf6dd65fa2ec269bf"},{"author":{"_account_id":21420,"name":"Gage Hugo","email":"gagehugo@gmail.com","username":"ghugo"},"change_message_id":"17f4440896cba3c4925846f121d72a318502edb8","unresolved":false,"context_lines":[{"line_number":282,"context_line":"        - ./tools/deployment/common/deploy-k8s.sh"},{"line_number":283,"context_line":"        - ./tools/deployment/common/setup-client.sh"},{"line_number":284,"context_line":"        - ./tools/deployment/component/common/ingress.sh"},{"line_number":285,"context_line":"        - ./tools/deployment/common/lockdown-netpol.sh"},{"line_number":286,"context_line":"        - ./tools/deployment/component/common/mariadb.sh"},{"line_number":287,"context_line":"        - ./tools/deployment/component/common/memcached.sh"},{"line_number":288,"context_line":"        - ./tools/deployment/component/common/rabbitmq.sh"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"3fa7e38b_293ede8a","line":285,"range":{"start_line":285,"start_character":8,"end_line":285,"end_character":54},"in_reply_to":"3fa7e38b_f5dadb75","updated":"2019-09-25 18:21:43.000000000","message":"Done","commit_id":"3848408b121507bd67c2b41cf6dd65fa2ec269bf"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"15f26d92f97d48f852e4331f3f1c66d4bf5eaecb","unresolved":false,"context_lines":[{"line_number":314,"context_line":"        - ./tools/deployment/common/setup-client.sh"},{"line_number":315,"context_line":"        - ./tools/deployment/component/ceph/ceph.sh"},{"line_number":316,"context_line":"        - ./tools/deployment/component/ceph/ceph-ns-activate.sh"},{"line_number":317,"context_line":"        - ./tools/deployment/common/lockdown-netpol.sh"},{"line_number":318,"context_line":"        - ./tools/deployment/component/common/ingress.sh"},{"line_number":319,"context_line":"        - ./tools/deployment/component/common/mariadb.sh"},{"line_number":320,"context_line":"        - ./tools/deployment/component/common/memcached.sh"}],"source_content_type":"text/x-yaml","patch_set":34,"id":"3fa7e38b_75d82b7a","line":317,"range":{"start_line":317,"start_character":10,"end_line":317,"end_character":54},"updated":"2019-09-25 15:14:13.000000000","message":"same","commit_id":"3848408b121507bd67c2b41cf6dd65fa2ec269bf"}],"zuul.d/project.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"869ffcb433e19bbc4cd7bfd4ed48982d811d34c3","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# and jobs are defined."},{"line_number":19,"context_line":"# NOTE(evrardjp): Some jobs and playbooks haven\u0027t been"},{"line_number":20,"context_line":"# migrated to openstack-helm-infra yet."},{"line_number":21,"context_line":"- project:"},{"line_number":22,"context_line":"    templates:"},{"line_number":23,"context_line":"      - publish-openstack-docs-pti"},{"line_number":24,"context_line":"    check:"},{"line_number":25,"context_line":"      jobs:"},{"line_number":26,"context_line":"        - openstack-helm-lint"},{"line_number":27,"context_line":"        - openstack-helm-bandit"},{"line_number":28,"context_line":"        - openstack-helm-cinder"},{"line_number":29,"context_line":"        - openstack-helm-cinder-pike-ubuntu_xenial:"},{"line_number":30,"context_line":"            voting: false"},{"line_number":31,"context_line":"        - openstack-helm-cinder-queens-ubuntu_xenial:"},{"line_number":32,"context_line":"            voting: false"},{"line_number":33,"context_line":"        - openstack-helm-cinder-rocky-ubuntu_xenial:"},{"line_number":34,"context_line":"            voting: false"},{"line_number":35,"context_line":"        - openstack-helm-cinder-rocky-ubuntu_bionic:"},{"line_number":36,"context_line":"            voting: false"},{"line_number":37,"context_line":"        - openstack-helm-cinder-rocky-opensuse_15:"},{"line_number":38,"context_line":"            voting: false"},{"line_number":39,"context_line":"        - openstack-helm-cinder-stein-ubuntu_bionic:"},{"line_number":40,"context_line":"            voting: false"},{"line_number":41,"context_line":"        - openstack-helm-compute-kit"},{"line_number":42,"context_line":"        - openstack-helm-compute-kit-pike-ubuntu_xenial:"},{"line_number":43,"context_line":"            voting: false"},{"line_number":44,"context_line":"        - openstack-helm-compute-kit-queens-ubuntu_xenial:"},{"line_number":45,"context_line":"            voting: false"},{"line_number":46,"context_line":"        - openstack-helm-compute-kit-rocky-ubuntu_xenial:"},{"line_number":47,"context_line":"            voting: false"},{"line_number":48,"context_line":"        - openstack-helm-compute-kit-rocky-ubuntu_bionic:"},{"line_number":49,"context_line":"            voting: false"},{"line_number":50,"context_line":"        - openstack-helm-compute-kit-rocky-opensuse_15:"},{"line_number":51,"context_line":"            voting: false"},{"line_number":52,"context_line":"        - openstack-helm-compute-kit-stein-ubuntu_bionic:"},{"line_number":53,"context_line":"            voting: false"},{"line_number":54,"context_line":"        - openstack-helm-horizon"},{"line_number":55,"context_line":"        - openstack-helm-apparmor:"},{"line_number":56,"context_line":"            voting: false"},{"line_number":57,"context_line":"        - openstack-helm-netpol-compute-kit"},{"line_number":58,"context_line":"        - openstack-helm-netpol-cinder"},{"line_number":59,"context_line":"    gate:"},{"line_number":60,"context_line":"      jobs:"},{"line_number":61,"context_line":"        - openstack-helm-lint"},{"line_number":62,"context_line":"        - openstack-helm-cinder"},{"line_number":63,"context_line":"        - openstack-helm-compute-kit"},{"line_number":64,"context_line":"    periodic:"},{"line_number":65,"context_line":"      jobs:"},{"line_number":66,"context_line":"        # Keystone job that exersizes feature gate"},{"line_number":67,"context_line":"        - openstack-helm-keystone-ldap"},{"line_number":68,"context_line":"        # Unique periodic jobs"},{"line_number":69,"context_line":"        - openstack-helm-multinode-temp-ubuntu"},{"line_number":70,"context_line":"        - openstack-helm-ironic-ubuntu"},{"line_number":71,"context_line":"        - openstack-helm-armada-deploy"},{"line_number":72,"context_line":"        - openstack-helm-armada-update-uuid"},{"line_number":73,"context_line":"        - openstack-helm-armada-update-passwords"},{"line_number":74,"context_line":"    experimental:"},{"line_number":75,"context_line":"      jobs:"},{"line_number":76,"context_line":"        # - openstack-helm-multinode-temp-centos"},{"line_number":77,"context_line":"        # # NOTE(lamt): Make fedora job experimental until issues with gates are resolved."},{"line_number":78,"context_line":"        # - openstack-helm-multinode-temp-fedora"},{"line_number":79,"context_line":"        # - openstack-helm-multinode-temp-tempest"},{"line_number":80,"context_line":"        - openstack-helm-armada-deploy"},{"line_number":81,"context_line":"        - openstack-helm-armada-update-uuid"},{"line_number":82,"context_line":"        - openstack-helm-armada-update-passwords"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"5faad753_9f7742d5","line":82,"range":{"start_line":21,"start_character":2,"end_line":82,"end_character":0},"updated":"2019-09-11 17:10:24.000000000","message":"Job openstack-helm-netpol-cinder not defined","commit_id":"6a8d7ff78b1dbe2f15df0f2c15722cb1878bcb9e"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"32af2812382d49c4f57ad5e0607f1161f02917a6","unresolved":false,"context_lines":[{"line_number":54,"context_line":"        - openstack-helm-horizon"},{"line_number":55,"context_line":"        - openstack-helm-apparmor:"},{"line_number":56,"context_line":"            voting: false"},{"line_number":57,"context_line":"        - openstack-helm-netpol-compute-kit"},{"line_number":58,"context_line":"        - openstack-helm-netpol-cinder"},{"line_number":59,"context_line":"    gate:"},{"line_number":60,"context_line":"      jobs:"},{"line_number":61,"context_line":"        - openstack-helm-lint"}],"source_content_type":"text/x-yaml","patch_set":28,"id":"3fa7e38b_fb71d30d","line":58,"range":{"start_line":57,"start_character":0,"end_line":58,"end_character":38},"updated":"2019-09-19 16:23:07.000000000","message":"I would very much prefer for these to be nonvoting jobs, similar to the ash-infra job that exercises the same.  I\u0027d much prefer to go through a promotion period with these jobs","commit_id":"60547210a527fabff8becaa09bc7d5ac0e558440"}]}
