)]}'
{".zuul.yaml":[{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"1936b60d670a9ec0d0b96252f84e4d8efaf37dd8","unresolved":false,"context_lines":[{"line_number":107,"context_line":"    pre-run:"},{"line_number":108,"context_line":"      - tools/gate/playbooks/generate-certs.yaml"},{"line_number":109,"context_line":"    vars:"},{"line_number":110,"context_line":"      site: aiab"},{"line_number":111,"context_line":"    irrelevant-files:"},{"line_number":112,"context_line":"      - ^.*\\.rst$"},{"line_number":113,"context_line":"      - ^doc/.*$"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_132ed391","side":"PARENT","line":110,"updated":"2019-07-30 17:51:08.000000000","message":"Instead of changing the treasuremap-aiab-site-lint job to use the aiab-tf site, can we leave it alone and add a second job (treasuremap-aiab-tf-site-lint)?","commit_id":"8a94b9bf58fbccf879776dbed21e8028301d46b1"}],"/COMMIT_MSG":[{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"8db20e03b1a9ff21abd19f05441a881a1c288c20","unresolved":false,"context_lines":[{"line_number":1,"context_line":"Parent:     d59c51ef (Add tools dir for gerrit trigger)"},{"line_number":2,"context_line":"Author:     OlegBravo \u003coleg.bravo.ru@gmail.com\u003e"},{"line_number":3,"context_line":"AuthorDate: 2019-07-08 22:21:43 +0300"},{"line_number":4,"context_line":"Commit:     OlegBravo \u003coleg.bravo.ru@gmail.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-07-31 19:07:01 +0300"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7faddb67_ab5082d6","line":2,"range":{"start_line":2,"start_character":12,"end_line":2,"end_character":21},"updated":"2019-08-01 13:35:25.000000000","message":"Space missing?","commit_id":"4ba0252f18ca33588d84b0380b87e7d445193c47"},{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"8db20e03b1a9ff21abd19f05441a881a1c288c20","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adds compatibility with Tungsten Fabric SDN (inplace of Open vSwitch)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Code depends on changes in Openstack Helm , which are being reviewed here :"},{"line_number":10,"context_line":"https://review.opendev.org/#/c/663390/ ."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I9d408518001ce34e9f3da666a64546dc82811150"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"7faddb67_0b48b62a","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":39},"updated":"2019-08-01 13:35:25.000000000","message":"Add \u0027Depends-On: I73f2ced2b09dbb93146334b59fe4571fa13dbfb0\u0027 footer, remove this line.","commit_id":"4ba0252f18ca33588d84b0380b87e7d445193c47"},{"author":{"_account_id":17591,"name":"Steve Wilkerson","email":"wilkers.steve@gmail.com","username":"srwilkers"},"change_message_id":"5cec45e614646acb8c378a018129ef6f85448eb7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Code depends on changes in Openstack Helm , which are being reviewed here :"},{"line_number":10,"context_line":"https://review.opendev.org/#/c/663390/ ."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I73f2ced2b09dbb93146334b59fe4571fa13dbfb0"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I9d408518001ce34e9f3da666a64546dc82811150"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":18,"id":"7faddb67_3c62e2ae","line":12,"range":{"start_line":12,"start_character":12,"end_line":12,"end_character":53},"updated":"2019-08-13 14:55:33.000000000","message":"The correct Depends-On reference should be the gerrit change link, not the change ID","commit_id":"cf14ec22e0fd06ebbbcf744179d6fa231caeaca3"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"9aa0d9a831af40d8af5cba1e747222450ec24740","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Adds compatibility with Tungsten Fabric SDN (inplace of Open vSwitch)"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Code depends on changes in Openstack Helm , which are being reviewed here :"},{"line_number":10,"context_line":"https://review.opendev.org/#/c/663390/ ."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: I73f2ced2b09dbb93146334b59fe4571fa13dbfb0"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":20,"id":"7faddb67_97609da6","line":10,"range":{"start_line":9,"start_character":0,"end_line":10,"end_character":40},"updated":"2019-08-28 05:02:47.000000000","message":"probably not needed when you have a depends-on as gerrit will DTRT and make a clicky-link","commit_id":"0e0110b15a94ea327759d1f1077154c484f31c6a"}],"global/software/config/versions.yaml":[{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"1936b60d670a9ec0d0b96252f84e4d8efaf37dd8","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        subpath: helm-toolkit"},{"line_number":206,"context_line":"        type: git"},{"line_number":207,"context_line":"      neutron:"},{"line_number":208,"context_line":"        location: https://github.com/OlegBravo/openstack-helm"},{"line_number":209,"context_line":"        reference: master"},{"line_number":210,"context_line":"        subpath: neutron"},{"line_number":211,"context_line":"        type: git"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_3332eff3","line":208,"updated":"2019-07-30 17:51:08.000000000","message":"Instead of changing the global versions.yaml (which changes the values for all sites), can we add a versions.yaml at the aiab-tf site level, which inherits from the parent versions.yaml and changes just the necessary configurations?","commit_id":"803f58e41d8622937cb70fa78920354fa95f32db"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"9aa0d9a831af40d8af5cba1e747222450ec24740","unresolved":false,"context_lines":[{"line_number":205,"context_line":"        subpath: helm-toolkit"},{"line_number":206,"context_line":"        type: git"},{"line_number":207,"context_line":"      neutron:"},{"line_number":208,"context_line":"        location: https://github.com/OlegBravo/openstack-helm"},{"line_number":209,"context_line":"        reference: master"},{"line_number":210,"context_line":"        subpath: neutron"},{"line_number":211,"context_line":"        type: git"},{"line_number":212,"context_line":"      neutron-htk:"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"7faddb67_17902d96","line":209,"range":{"start_line":208,"start_character":8,"end_line":209,"end_character":25},"updated":"2019-08-28 05:02:47.000000000","message":"is that really what is wanted here?\n\nsurely it would be better to get what\u0027s needed into the canonical opendev.org/openstack/openstack-helm/ repo?","commit_id":"0e0110b15a94ea327759d1f1077154c484f31c6a"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"9aa0d9a831af40d8af5cba1e747222450ec24740","unresolved":false,"context_lines":[{"line_number":678,"context_line":"      tiller: {}"},{"line_number":679,"context_line":"    tungstenfabric:"},{"line_number":680,"context_line":"      controller:"},{"line_number":681,"context_line":"        contrail_control: docker.io/opencontrailnightly/contrail-controller-control-control:ocata-master-latest"},{"line_number":682,"context_line":"        control_dns: docker.io/opencontrailnightly/contrail-controller-control-dns:ocata-master-latest"},{"line_number":683,"context_line":"        control_named: docker.io/opencontrailnightly/contrail-controller-control-named:ocata-master-latest"},{"line_number":684,"context_line":"        config_api: docker.io/opencontrailnightly/contrail-controller-config-api:ocata-master-latest"}],"source_content_type":"text/x-yaml","patch_set":20,"id":"7faddb67_d789356f","line":681,"range":{"start_line":681,"start_character":104,"end_line":681,"end_character":111},"updated":"2019-08-28 05:02:47.000000000","message":"i don\u0027t what the the airship policy is, but elsewhere using \u0027master is discouraged","commit_id":"0e0110b15a94ea327759d1f1077154c484f31c6a"}],"site/aiab/manifests/bootstrap.yaml":[{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"1936b60d670a9ec0d0b96252f84e4d8efaf37dd8","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    - kubernetes-proxy"},{"line_number":20,"context_line":"#    - kubernetes-container-networking"},{"line_number":21,"context_line":"    - tungstenfabric-controller"},{"line_number":22,"context_line":"    - tungstenfabric-compute-kit"},{"line_number":23,"context_line":"    - kubernetes-dns"},{"line_number":24,"context_line":"    - kubernetes-etcd"},{"line_number":25,"context_line":"    - kubernetes-haproxy"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_d3583b32","line":22,"updated":"2019-07-30 17:51:08.000000000","message":"Although the aiab-tf site should be deploying the tungstenfabric chart groups, the vanilla aiab site should not. We want to leave that one as neutron/ovs.","commit_id":"803f58e41d8622937cb70fa78920354fa95f32db"}],"site/aiab/software/full-site.yaml":[{"author":{"_account_id":22477,"name":"Matt McEuen","email":"matt.mceuen@att.com","username":"mattmceuen"},"change_message_id":"1936b60d670a9ec0d0b96252f84e4d8efaf37dd8","unresolved":false,"context_lines":[{"line_number":18,"context_line":"    - podsecuritypolicy"},{"line_number":19,"context_line":"    - kubernetes-proxy"},{"line_number":20,"context_line":"#    - kubernetes-container-networking"},{"line_number":21,"context_line":"    - tungstenfabric-controller"},{"line_number":22,"context_line":"    - tungstenfabric-compute-kit"},{"line_number":23,"context_line":"    - kubernetes-dns"},{"line_number":24,"context_line":"    - kubernetes-etcd"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"7faddb67_f37697a4","line":21,"updated":"2019-07-30 17:51:08.000000000","message":"ditto previous comment -- we should leave the aiab site alone in general, and modify only the aiab-tf site for tf.","commit_id":"803f58e41d8622937cb70fa78920354fa95f32db"}],"tools/deployment/aiab/airship-in-a-bottle.sh":[{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"9aa0d9a831af40d8af5cba1e747222450ec24740","unresolved":false,"context_lines":[{"line_number":87,"context_line":"apt-get install -y python-setuptools"},{"line_number":88,"context_line":"easy_install pip"},{"line_number":89,"context_line":"pip install ipaddress"},{"line_number":90,"context_line":"export NODE_NET_IFACE\u003d$(ip route get 1 | grep -o \"dev.*\" | awk \u0027{print $2}\u0027)"},{"line_number":91,"context_line":"export NODE_NET_IFACE_GATEWAY_IP\u003d\"$(ip route get 1 | awk \u0027/1.0.0.0/{print $3}\u0027)\""},{"line_number":92,"context_line":"if_cidr\u003d`ip addr | grep -A 3 $NODE_NET_IFACE | awk \u0027/inet /{print $2}\u0027`"},{"line_number":93,"context_line":"export NODE_SUBNETS\u003d`python -c \"import ipaddress; print str(ipaddress.ip_network(u\u0027$if_cidr\u0027, strict\u003dFalse))\"`"}],"source_content_type":"text/x-sh","patch_set":20,"id":"7faddb67_97e97d1a","line":90,"range":{"start_line":90,"start_character":24,"end_line":90,"end_character":38},"updated":"2019-08-28 05:02:47.000000000","message":"that seems fragile","commit_id":"0e0110b15a94ea327759d1f1077154c484f31c6a"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"9aa0d9a831af40d8af5cba1e747222450ec24740","unresolved":false,"context_lines":[{"line_number":88,"context_line":"easy_install pip"},{"line_number":89,"context_line":"pip install ipaddress"},{"line_number":90,"context_line":"export NODE_NET_IFACE\u003d$(ip route get 1 | grep -o \"dev.*\" | awk \u0027{print $2}\u0027)"},{"line_number":91,"context_line":"export NODE_NET_IFACE_GATEWAY_IP\u003d\"$(ip route get 1 | awk \u0027/1.0.0.0/{print $3}\u0027)\""},{"line_number":92,"context_line":"if_cidr\u003d`ip addr | grep -A 3 $NODE_NET_IFACE | awk \u0027/inet /{print $2}\u0027`"},{"line_number":93,"context_line":"export NODE_SUBNETS\u003d`python -c \"import ipaddress; print str(ipaddress.ip_network(u\u0027$if_cidr\u0027, strict\u003dFalse))\"`"},{"line_number":94,"context_line":""}],"source_content_type":"text/x-sh","patch_set":20,"id":"7faddb67_17d58d47","line":91,"range":{"start_line":91,"start_character":36,"end_line":91,"end_character":78},"updated":"2019-08-28 05:02:47.000000000","message":"also feels fragile\n\nyou can probably do \"ip route list default\" and work from that\n\nsomething like\n\nip route list default | cut -d\u0027 \u0027 -f3\n\nmight work?\n\nalso similar above where i said fragile","commit_id":"0e0110b15a94ea327759d1f1077154c484f31c6a"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"9aa0d9a831af40d8af5cba1e747222450ec24740","unresolved":false,"context_lines":[{"line_number":90,"context_line":"export NODE_NET_IFACE\u003d$(ip route get 1 | grep -o \"dev.*\" | awk \u0027{print $2}\u0027)"},{"line_number":91,"context_line":"export NODE_NET_IFACE_GATEWAY_IP\u003d\"$(ip route get 1 | awk \u0027/1.0.0.0/{print $3}\u0027)\""},{"line_number":92,"context_line":"if_cidr\u003d`ip addr | grep -A 3 $NODE_NET_IFACE | awk \u0027/inet /{print $2}\u0027`"},{"line_number":93,"context_line":"export NODE_SUBNETS\u003d`python -c \"import ipaddress; print str(ipaddress.ip_network(u\u0027$if_cidr\u0027, strict\u003dFalse))\"`"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"replace_charts() {"}],"source_content_type":"text/x-sh","patch_set":20,"id":"7faddb67_17beedff","line":93,"range":{"start_line":93,"start_character":0,"end_line":93,"end_character":110},"updated":"2019-08-28 05:02:47.000000000","message":"ip -json ... | jq ...\n\nwould probably be the most robust approach here perhaps?","commit_id":"0e0110b15a94ea327759d1f1077154c484f31c6a"},{"author":{"_account_id":8898,"name":"Chris Wedgwood","email":"cw@f00f.org","username":"anticw"},"change_message_id":"9aa0d9a831af40d8af5cba1e747222450ec24740","unresolved":false,"context_lines":[{"line_number":107,"context_line":"cp -r ${AIAB_DIR}/tf_charts/openstack-compute-kit ${AIAB_DIR}/../../../site/${TARGET_SITE}/software/charts/osh/"},{"line_number":108,"context_line":"cp -r  ${AIAB_DIR}/tf_charts/openstack-keystone ${AIAB_DIR}/../../../site/${TARGET_SITE}/software/charts/osh/"},{"line_number":109,"context_line":"cp -r  ${AIAB_DIR}/tf_charts/tf ${AIAB_DIR}/../../../site/${TARGET_SITE}/software/charts/"},{"line_number":110,"context_line":"echo \"Charts where  replaced \""},{"line_number":111,"context_line":"}"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"# IP and Hostname setup"}],"source_content_type":"text/x-sh","patch_set":20,"id":"7faddb67_773401ad","line":110,"range":{"start_line":110,"start_character":18,"end_line":110,"end_character":20},"updated":"2019-08-28 05:02:47.000000000","message":"\"  \" -\u003e \" \"","commit_id":"0e0110b15a94ea327759d1f1077154c484f31c6a"}],"tools/deployment/aiab/common/deploy-airship.sh":[{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"8db20e03b1a9ff21abd19f05441a881a1c288c20","unresolved":false,"context_lines":[{"line_number":213,"context_line":"function run_genesis() {"},{"line_number":214,"context_line":"  # do not override /etc/hosts"},{"line_number":215,"context_line":"  cp /etc/hosts /etc/hosts.save"},{"line_number":216,"context_line":"  sed -i -e \u0027s|# Disable swap|cp /etc/hosts.save /etc/hosts|g\u0027 ${WORKSPACE}/genesis/genesis.sh"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"  # Runs the genesis script that was generated"},{"line_number":219,"context_line":"  ${WORKSPACE}/genesis/genesis.sh"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7faddb67_6ba12aa9","line":216,"range":{"start_line":216,"start_character":2,"end_line":216,"end_character":94},"updated":"2019-08-01 13:35:25.000000000","message":"Why is this needed, and it looks really strange.","commit_id":"4ba0252f18ca33588d84b0380b87e7d445193c47"}],"tools/deployment/aiab/common/test_create_heat_stack.sh":[{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"8db20e03b1a9ff21abd19f05441a881a1c288c20","unresolved":false,"context_lines":[{"line_number":33,"context_line":"chmod 600 id_rsa"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"printf \"Downloading heat-public-net-deployment.yaml\\n\""},{"line_number":36,"context_line":"for ((i\u003d0; i\u003c5; i++)) ; do"},{"line_number":37,"context_line":"  if curl -LO https://raw.githubusercontent.com/openstack/openstack-helm/master/tools/gate/files/heat-public-net-deployment.yaml ; then"},{"line_number":38,"context_line":"    break"},{"line_number":39,"context_line":"  fi"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7faddb67_4bb78ef6","line":36,"range":{"start_line":36,"start_character":0,"end_line":36,"end_character":26},"updated":"2019-08-01 13:35:25.000000000","message":"`--retry 5` option for curl.","commit_id":"4ba0252f18ca33588d84b0380b87e7d445193c47"},{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"8db20e03b1a9ff21abd19f05441a881a1c288c20","unresolved":false,"context_lines":[{"line_number":72,"context_line":"#sudo iptables -t nat -A POSTROUTING -o ${DEFAULT_ROUTE_DEV} -s ${OSH_EXT_SUBNET} -j MASQUERADE"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# get link local IP in case if Tungstenfabric"},{"line_number":75,"context_line":"iip\u003d`env -i ./run_openstack_cli.sh server show 6f224577-2768-41e0-8ac8-8da7c2464001 | awk \u0027/addresses/{print $4}\u0027 | cut -d \u0027\u003d\u0027 -f 2 | cut -d \u0027,\u0027 -f 1`"},{"line_number":76,"context_line":"if_name\u003d`vif --list | grep -B 1 \"10.11.11.2\" | head -1 | awk \u0027{print $3}\u0027`"},{"line_number":77,"context_line":"FLOATING_IP\u003d`curl -s http://127.0.0.1:8085/Snh_ItfReq?name\u003d$if_name | sed \u0027s/^.*\u003cmdata_ip_addr.*\u003e\\([0-9\\.]*\\)\u003c.mdata_ip_addr\u003e.*$/\\1/\u0027`"},{"line_number":78,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"7faddb67_8bc10657","line":75,"range":{"start_line":75,"start_character":4,"end_line":75,"end_character":5},"updated":"2019-08-01 13:35:25.000000000","message":"Use $() instead of `` everywhere, please. Thanks!","commit_id":"4ba0252f18ca33588d84b0380b87e7d445193c47"},{"author":{"_account_id":28208,"name":"Roman Gorshunov","email":"roman.gorshunov@att.com","username":"gorshunovr"},"change_message_id":"8db20e03b1a9ff21abd19f05441a881a1c288c20","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# get link local IP in case if Tungstenfabric"},{"line_number":75,"context_line":"iip\u003d`env -i ./run_openstack_cli.sh server show 6f224577-2768-41e0-8ac8-8da7c2464001 | awk \u0027/addresses/{print $4}\u0027 | cut -d \u0027\u003d\u0027 -f 2 | cut -d \u0027,\u0027 -f 1`"},{"line_number":76,"context_line":"if_name\u003d`vif --list | grep -B 1 \"10.11.11.2\" | head -1 | awk \u0027{print $3}\u0027`"},{"line_number":77,"context_line":"FLOATING_IP\u003d`curl -s http://127.0.0.1:8085/Snh_ItfReq?name\u003d$if_name | sed \u0027s/^.*\u003cmdata_ip_addr.*\u003e\\([0-9\\.]*\\)\u003c.mdata_ip_addr\u003e.*$/\\1/\u0027`"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"function wait_for_ssh_port {"}],"source_content_type":"text/x-sh","patch_set":4,"id":"7faddb67_abec02f4","line":76,"range":{"start_line":76,"start_character":47,"end_line":76,"end_character":73},"updated":"2019-08-01 13:35:25.000000000","message":"awk \u0027{print $3; exit}\u0027","commit_id":"4ba0252f18ca33588d84b0380b87e7d445193c47"}]}
