)]}'
{".zuul.yaml":[{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fce45197a3671eb19a6074c39d24580f216bd0c8","unresolved":false,"context_lines":[{"line_number":180,"context_line":"    voting: false"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"- job:"},{"line_number":183,"context_line":"    name: nova-next"},{"line_number":184,"context_line":"    parent: nova-dsvm-base"},{"line_number":185,"context_line":"    description: |"},{"line_number":186,"context_line":"      This job was added in Newton when placement and cellsv2"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_3f41903a","line":183,"updated":"2019-07-09 14:30:52.000000000","message":"Did you mean to put those changes under this job?","commit_id":"2f694308c086de99a140a835587ee9a372679db0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"d1831e9cf0171df4afcca290d7f1dd2114a4e6de","unresolved":false,"context_lines":[{"line_number":180,"context_line":"    voting: false"},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"- job:"},{"line_number":183,"context_line":"    name: nova-next"},{"line_number":184,"context_line":"    parent: nova-dsvm-base"},{"line_number":185,"context_line":"    description: |"},{"line_number":186,"context_line":"      This job was added in Newton when placement and cellsv2"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_5faa4cd2","line":183,"in_reply_to":"7faddb67_3f41903a","updated":"2019-07-09 14:32:44.000000000","message":"Unfortunately we haven\u0027t converted this to zuul v3 yet so your changes below won\u0027t work the same way. You should, however, be able to hack the plugin and services and local.conf changes into playbooks/legacy/nova-next/run.yaml using DEVSTACK_GATE_* variables.\n\nI have thought recently about converting the nova-next job to zuul v3 native but just haven\u0027t spent the time on it.","commit_id":"2f694308c086de99a140a835587ee9a372679db0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"fce45197a3671eb19a6074c39d24580f216bd0c8","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    post-run: playbooks/legacy/nova-next/post.yaml"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"- job:"},{"line_number":201,"context_line":"    name: nova-tempest-v2-api"},{"line_number":202,"context_line":"    parent: devstack-tempest"},{"line_number":203,"context_line":"    branches:"},{"line_number":204,"context_line":"      - master"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"7faddb67_5f3c8cbe","line":201,"range":{"start_line":201,"start_character":10,"end_line":201,"end_character":29},"updated":"2019-07-09 14:30:52.000000000","message":"This is the wrong job isn\u0027t it?","commit_id":"2f694308c086de99a140a835587ee9a372679db0"}],"gate/post_test_hook.sh":[{"author":{"_account_id":14070,"name":"Eric Fried","email":"openstack@fried.cc","username":"efried"},"change_message_id":"0aac4897fbbf68c7b2ef486661096b42667588e9","unresolved":false,"context_lines":[{"line_number":106,"context_line":"openstack port create port-normal-qos \\"},{"line_number":107,"context_line":"--network net0 \\"},{"line_number":108,"context_line":"--vnic-type normal \\"},{"line_number":109,"context_line":"--qos-policy qp0 \\"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"image_id\u003d$(openstack image list -f value -c ID | awk \u0027NR\u003d\u003d1{print $1}\u0027)"},{"line_number":112,"context_line":"flavor_id\u003d$(openstack flavor list -f value -c ID | awk \u0027NR\u003d\u003d1{print $1}\u0027)"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_763aa0cc","line":109,"updated":"2019-07-11 20:26:01.000000000","message":"Let\u0027s make the binding:profile for this port contain some (non-allocation-y) stuffs and then later assert that those stuffs are still there after the heal. Cf. https://review.opendev.org/#/c/637955/35/nova/cmd/manage.py@1896","commit_id":"2f694308c086de99a140a835587ee9a372679db0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"351cd35bd99a2a1b593a0ee5459791ecc2b33094","unresolved":false,"context_lines":[{"line_number":106,"context_line":"openstack port create port-normal-qos \\"},{"line_number":107,"context_line":"--network net0 \\"},{"line_number":108,"context_line":"--vnic-type normal \\"},{"line_number":109,"context_line":"--qos-policy qp0 \\"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"image_id\u003d$(openstack image list -f value -c ID | awk \u0027NR\u003d\u003d1{print $1}\u0027)"},{"line_number":112,"context_line":"flavor_id\u003d$(openstack flavor list -f value -c ID | awk \u0027NR\u003d\u003d1{print $1}\u0027)"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_01cb32a5","line":109,"in_reply_to":"7faddb67_763aa0cc","updated":"2019-07-24 13:13:53.000000000","message":"I\u0027m going to rebase this on https://review.opendev.org/#/c/670196/ and I\u0027ll add a TODO.","commit_id":"2f694308c086de99a140a835587ee9a372679db0"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"9a8519361697db08ba2e37e71b1064969a8f65d9","unresolved":false,"context_lines":[{"line_number":83,"context_line":"# its allocations in placement, and then running heal_allocations and assert"},{"line_number":84,"context_line":"# the allocations were healed as expected."},{"line_number":85,"context_line":"echo \"Creating port with bandwidth request for heal_allocations testing\""},{"line_number":86,"context_line":"openstack network create net0 \\"},{"line_number":87,"context_line":"--provider-network-type vlan \\"},{"line_number":88,"context_line":"--provider-physical-network public \\"},{"line_number":89,"context_line":"--provider-segment 100 \\"}],"source_content_type":"text/x-sh","patch_set":3,"id":"7faddb67_b5905550","line":86,"updated":"2019-07-24 18:54:29.000000000","message":"This fails:\n\nhttp://logs.openstack.org/79/669879/3/check/nova-next/9f2264e/ara-report/result/f550b7b5-8ae9-45b7-a95a-d382ceaa4eaf/\n\n+ /opt/stack/nova/gate/post_test_hook.sh:main:85 :   echo \u0027Creating port with bandwidth request for heal_allocations testing\u0027\nCreating port with bandwidth request for heal_allocations testing\n+ /opt/stack/nova/gate/post_test_hook.sh:main:86 :   openstack network create net0 --provider-network-type vlan --provider-physical-network public --provider-segment 100\nUnable to establish connection to https://10.209.128.97:9696/v2.0/networks: HTTPSConnectionPool(host\u003d\u002710.209.128.97\u0027, port\u003d9696): Max retries exceeded with url: /v2.0/networks (Caused by NewConnectionError(\u0027\u003curllib3.connection.VerifiedHTTPSConnection object at 0x7ff981635da0\u003e: Failed to establish a new connection: [Errno 111] Connection refused\u0027,))","commit_id":"3f7ecb1d6558e70177e03bf26790b2211f11b8d9"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"d7169cf2989a689aa2df5840bb9b5910c357a19c","unresolved":false,"context_lines":[{"line_number":83,"context_line":"# its allocations in placement, and then running heal_allocations and assert"},{"line_number":84,"context_line":"# the allocations were healed as expected."},{"line_number":85,"context_line":"echo \"Creating port with bandwidth request for heal_allocations testing\""},{"line_number":86,"context_line":"openstack network create net0 \\"},{"line_number":87,"context_line":"--provider-network-type vlan \\"},{"line_number":88,"context_line":"--provider-physical-network public \\"},{"line_number":89,"context_line":"--provider-segment 100 \\"}],"source_content_type":"text/x-sh","patch_set":3,"id":"7faddb67_0967f7ec","line":86,"in_reply_to":"7faddb67_b5905550","updated":"2019-08-08 07:22:30.000000000","message":"I guess there is a failure earlier in https://logs.opendev.org/79/669879/3/check/nova-next/65edc69/job-output.txt.gz#_2019-08-07_18_04_06_059976","commit_id":"3f7ecb1d6558e70177e03bf26790b2211f11b8d9"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c4260831220fdbd02fe273fa50614aa91f792d7","unresolved":false,"context_lines":[{"line_number":87,"context_line":"{"},{"line_number":88,"context_line":"    # Returns the value of the key in the binding profile if exsits or return"},{"line_number":89,"context_line":"    # empty."},{"line_number":90,"context_line":"    # This is necessary due as the python-openstackclient returns the value of"},{"line_number":91,"context_line":"    # the binding profile as a non json string even with the -f json flag."},{"line_number":92,"context_line":"    # This will be fixed by https://review.opendev.org/#/c/657907/"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"7faddb67_ccbbc672","line":90,"range":{"start_line":90,"start_character":24,"end_line":90,"end_character":27},"updated":"2019-08-29 19:45:28.000000000","message":"nix","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23c29a0c77c483e879d6b92d933d50bf755861fa","unresolved":false,"context_lines":[{"line_number":87,"context_line":"{"},{"line_number":88,"context_line":"    # Returns the value of the key in the binding profile if exsits or return"},{"line_number":89,"context_line":"    # empty."},{"line_number":90,"context_line":"    # This is necessary due as the python-openstackclient returns the value of"},{"line_number":91,"context_line":"    # the binding profile as a non json string even with the -f json flag."},{"line_number":92,"context_line":"    # This will be fixed by https://review.opendev.org/#/c/657907/"},{"line_number":93,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"3fa7e38b_fc033f0e","line":90,"range":{"start_line":90,"start_character":24,"end_line":90,"end_character":27},"in_reply_to":"7faddb67_ccbbc672","updated":"2019-09-17 13:03:04.000000000","message":"Done","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23c29a0c77c483e879d6b92d933d50bf755861fa","unresolved":false,"context_lines":[{"line_number":88,"context_line":"    # Returns the value of the key in the binding profile if exsits or return"},{"line_number":89,"context_line":"    # empty."},{"line_number":90,"context_line":"    # This is necessary due as the python-openstackclient returns the value of"},{"line_number":91,"context_line":"    # the binding profile as a non json string even with the -f json flag."},{"line_number":92,"context_line":"    # This will be fixed by https://review.opendev.org/#/c/657907/"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    openstack port show port-normal-qos -f value -c binding_profile \\"},{"line_number":95,"context_line":"    | tr \u0027,\u0027 \u0027\\n\u0027 \\"}],"source_content_type":"text/x-sh","patch_set":9,"id":"3fa7e38b_5f5b6586","line":92,"range":{"start_line":91,"start_character":0,"end_line":92,"end_character":66},"updated":"2019-09-17 13:03:04.000000000","message":"This has been fixed in python-openstackclient 4.0.0","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c4260831220fdbd02fe273fa50614aa91f792d7","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    # the binding profile as a non json string even with the -f json flag."},{"line_number":92,"context_line":"    # This will be fixed by https://review.opendev.org/#/c/657907/"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    openstack port show port-normal-qos -f value -c binding_profile \\"},{"line_number":95,"context_line":"    | tr \u0027,\u0027 \u0027\\n\u0027 \\"},{"line_number":96,"context_line":"    | grep ${1} \\"},{"line_number":97,"context_line":"    | sed \"s/${1}\u003d//\" \\"}],"source_content_type":"text/x-sh","patch_set":9,"id":"7faddb67_8c438e6c","line":94,"range":{"start_line":94,"start_character":24,"end_line":94,"end_character":39},"updated":"2019-08-29 19:45:28.000000000","message":"nit: hard-coding this is a bit gross; would be more future proof to pass in the port name/id to the function and use that","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23c29a0c77c483e879d6b92d933d50bf755861fa","unresolved":false,"context_lines":[{"line_number":91,"context_line":"    # the binding profile as a non json string even with the -f json flag."},{"line_number":92,"context_line":"    # This will be fixed by https://review.opendev.org/#/c/657907/"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    openstack port show port-normal-qos -f value -c binding_profile \\"},{"line_number":95,"context_line":"    | tr \u0027,\u0027 \u0027\\n\u0027 \\"},{"line_number":96,"context_line":"    | grep ${1} \\"},{"line_number":97,"context_line":"    | sed \"s/${1}\u003d//\" \\"}],"source_content_type":"text/x-sh","patch_set":9,"id":"3fa7e38b_df4e75c0","line":94,"range":{"start_line":94,"start_character":24,"end_line":94,"end_character":39},"in_reply_to":"7faddb67_8c438e6c","updated":"2019-09-17 13:03:04.000000000","message":"Done","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c4260831220fdbd02fe273fa50614aa91f792d7","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    openstack port show port-normal-qos -f value -c binding_profile \\"},{"line_number":95,"context_line":"    | tr \u0027,\u0027 \u0027\\n\u0027 \\"},{"line_number":96,"context_line":"    | grep ${1} \\"},{"line_number":97,"context_line":"    | sed \"s/${1}\u003d//\" \\"},{"line_number":98,"context_line":"    | tr -d \"\u0027\""},{"line_number":99,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":9,"id":"7faddb67_2c529a36","line":96,"range":{"start_line":96,"start_character":11,"end_line":96,"end_character":15},"updated":"2019-08-29 19:45:28.000000000","message":"nit: might be a bit more readable if you stored this in a local variable and used that:\n\nlocal key\u003d${1}\n...\n| grep ${key} \\","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23c29a0c77c483e879d6b92d933d50bf755861fa","unresolved":false,"context_lines":[{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    openstack port show port-normal-qos -f value -c binding_profile \\"},{"line_number":95,"context_line":"    | tr \u0027,\u0027 \u0027\\n\u0027 \\"},{"line_number":96,"context_line":"    | grep ${1} \\"},{"line_number":97,"context_line":"    | sed \"s/${1}\u003d//\" \\"},{"line_number":98,"context_line":"    | tr -d \"\u0027\""},{"line_number":99,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":9,"id":"3fa7e38b_3f522969","line":96,"range":{"start_line":96,"start_character":11,"end_line":96,"end_character":15},"in_reply_to":"7faddb67_2c529a36","updated":"2019-09-17 13:03:04.000000000","message":"Done","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c4260831220fdbd02fe273fa50614aa91f792d7","unresolved":false,"context_lines":[{"line_number":102,"context_line":"openstack network create net0 \\"},{"line_number":103,"context_line":"--provider-network-type vlan \\"},{"line_number":104,"context_line":"--provider-physical-network public \\"},{"line_number":105,"context_line":"--provider-segment 100 \\"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"openstack subnet create subnet0 \\"},{"line_number":108,"context_line":"--network net0 \\"}],"source_content_type":"text/x-sh","patch_set":9,"id":"7faddb67_0ca9de22","line":105,"range":{"start_line":105,"start_character":22,"end_line":105,"end_character":24},"updated":"2019-08-29 19:45:28.000000000","message":"nit: don\u0027t need this slash","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23c29a0c77c483e879d6b92d933d50bf755861fa","unresolved":false,"context_lines":[{"line_number":102,"context_line":"openstack network create net0 \\"},{"line_number":103,"context_line":"--provider-network-type vlan \\"},{"line_number":104,"context_line":"--provider-physical-network public \\"},{"line_number":105,"context_line":"--provider-segment 100 \\"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"openstack subnet create subnet0 \\"},{"line_number":108,"context_line":"--network net0 \\"}],"source_content_type":"text/x-sh","patch_set":9,"id":"3fa7e38b_9fc6bd16","line":105,"range":{"start_line":105,"start_character":22,"end_line":105,"end_character":24},"in_reply_to":"7faddb67_0ca9de22","updated":"2019-09-17 13:03:04.000000000","message":"Done","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c4260831220fdbd02fe273fa50614aa91f792d7","unresolved":false,"context_lines":[{"line_number":104,"context_line":"--provider-physical-network public \\"},{"line_number":105,"context_line":"--provider-segment 100 \\"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"openstack subnet create subnet0 \\"},{"line_number":108,"context_line":"--network net0 \\"},{"line_number":109,"context_line":"--subnet-range 10.0.4.0/24 \\"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"7faddb67_cc60a610","line":107,"updated":"2019-08-29 19:45:28.000000000","message":"nit: could probably put this all on a single line but looks like you\u0027re going for option-per-line style consistency.","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23c29a0c77c483e879d6b92d933d50bf755861fa","unresolved":false,"context_lines":[{"line_number":104,"context_line":"--provider-physical-network public \\"},{"line_number":105,"context_line":"--provider-segment 100 \\"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"openstack subnet create subnet0 \\"},{"line_number":108,"context_line":"--network net0 \\"},{"line_number":109,"context_line":"--subnet-range 10.0.4.0/24 \\"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"3fa7e38b_5fd045ca","line":107,"in_reply_to":"7faddb67_cc60a610","updated":"2019-09-17 13:03:04.000000000","message":"yep","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c4260831220fdbd02fe273fa50614aa91f792d7","unresolved":false,"context_lines":[{"line_number":160,"context_line":"# Make sure our extra key in the binding:profile is still there"},{"line_number":161,"context_line":"my_key\u003d$(get_binding_profile_value \"my_key\")"},{"line_number":162,"context_line":"if [[ \"$my_key\" \u003d\u003d \"\" ]]; then"},{"line_number":163,"context_line":"    echo \"During port binding the binding:profile is overwritten.\""},{"line_number":164,"context_line":"    exit 2"},{"line_number":165,"context_line":"fi"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"7faddb67_2c27fac9","line":163,"range":{"start_line":163,"start_character":50,"end_line":163,"end_character":52},"updated":"2019-08-29 19:45:28.000000000","message":"nit: was","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23c29a0c77c483e879d6b92d933d50bf755861fa","unresolved":false,"context_lines":[{"line_number":160,"context_line":"# Make sure our extra key in the binding:profile is still there"},{"line_number":161,"context_line":"my_key\u003d$(get_binding_profile_value \"my_key\")"},{"line_number":162,"context_line":"if [[ \"$my_key\" \u003d\u003d \"\" ]]; then"},{"line_number":163,"context_line":"    echo \"During port binding the binding:profile is overwritten.\""},{"line_number":164,"context_line":"    exit 2"},{"line_number":165,"context_line":"fi"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"3fa7e38b_3fd789c2","line":163,"range":{"start_line":163,"start_character":50,"end_line":163,"end_character":52},"in_reply_to":"7faddb67_2c27fac9","updated":"2019-09-17 13:03:04.000000000","message":"Done","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c4260831220fdbd02fe273fa50614aa91f792d7","unresolved":false,"context_lines":[{"line_number":188,"context_line":"# Make sure our extra key in the binding:profile is still there"},{"line_number":189,"context_line":"my_key\u003d$(get_binding_profile_value \"my_key\")"},{"line_number":190,"context_line":"if [[ \"$my_key\" \u003d\u003d \"\" ]]; then"},{"line_number":191,"context_line":"    echo \"During deletion of allocation key our extra key also deleted from the binding:profile.\""},{"line_number":192,"context_line":"    exit 2"},{"line_number":193,"context_line":"fi"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"7faddb67_36142841","line":191,"range":{"start_line":191,"start_character":58,"end_line":191,"end_character":62},"updated":"2019-08-29 19:45:28.000000000","message":"was also","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23c29a0c77c483e879d6b92d933d50bf755861fa","unresolved":false,"context_lines":[{"line_number":188,"context_line":"# Make sure our extra key in the binding:profile is still there"},{"line_number":189,"context_line":"my_key\u003d$(get_binding_profile_value \"my_key\")"},{"line_number":190,"context_line":"if [[ \"$my_key\" \u003d\u003d \"\" ]]; then"},{"line_number":191,"context_line":"    echo \"During deletion of allocation key our extra key also deleted from the binding:profile.\""},{"line_number":192,"context_line":"    exit 2"},{"line_number":193,"context_line":"fi"},{"line_number":194,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"3fa7e38b_9fef9d86","line":191,"range":{"start_line":191,"start_character":58,"end_line":191,"end_character":62},"in_reply_to":"7faddb67_36142841","updated":"2019-09-17 13:03:04.000000000","message":"Done","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c4260831220fdbd02fe273fa50614aa91f792d7","unresolved":false,"context_lines":[{"line_number":225,"context_line":"healed_rp_uuid\u003d$(get_binding_profile_value \"allocation\")"},{"line_number":226,"context_line":"if [[ \"$rp_uuid\" !\u003d \"$healed_rp_uuid\" ]]; then"},{"line_number":227,"context_line":"    echo \"The value of the allocation key of the bandwidth aware port does not match.\""},{"line_number":228,"context_line":"    echo \"expected: $rp_uuid actual: $healed_rp_uuid.\""},{"line_number":229,"context_line":"    exit 2"},{"line_number":230,"context_line":"fi"},{"line_number":231,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"7faddb67_96515c10","line":228,"range":{"start_line":228,"start_character":28,"end_line":228,"end_character":29},"updated":"2019-08-29 19:45:28.000000000","message":"nit: \"; actual:\"","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"23c29a0c77c483e879d6b92d933d50bf755861fa","unresolved":false,"context_lines":[{"line_number":225,"context_line":"healed_rp_uuid\u003d$(get_binding_profile_value \"allocation\")"},{"line_number":226,"context_line":"if [[ \"$rp_uuid\" !\u003d \"$healed_rp_uuid\" ]]; then"},{"line_number":227,"context_line":"    echo \"The value of the allocation key of the bandwidth aware port does not match.\""},{"line_number":228,"context_line":"    echo \"expected: $rp_uuid actual: $healed_rp_uuid.\""},{"line_number":229,"context_line":"    exit 2"},{"line_number":230,"context_line":"fi"},{"line_number":231,"context_line":""}],"source_content_type":"text/x-sh","patch_set":9,"id":"3fa7e38b_7fee6189","line":228,"range":{"start_line":228,"start_character":28,"end_line":228,"end_character":29},"in_reply_to":"7faddb67_96515c10","updated":"2019-09-17 13:03:04.000000000","message":"Done","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":6873,"name":"Matt Riedemann","email":"mriedem.os@gmail.com","username":"mriedem"},"change_message_id":"7c4260831220fdbd02fe273fa50614aa91f792d7","unresolved":false,"context_lines":[{"line_number":232,"context_line":"# Make sure our extra key in the binding:profile is still there"},{"line_number":233,"context_line":"my_key\u003d$(get_binding_profile_value \"allocation\")"},{"line_number":234,"context_line":"if [[ \"$my_key\" \u003d\u003d \"\" ]]; then"},{"line_number":235,"context_line":"    echo \"During heal port allocation our extra key in the binding:profile is deleted.\""},{"line_number":236,"context_line":"    exit 2"},{"line_number":237,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":9,"id":"7faddb67_763ce0be","line":235,"range":{"start_line":235,"start_character":75,"end_line":235,"end_character":77},"updated":"2019-08-29 19:45:28.000000000","message":"was","commit_id":"36f1dbf5b2ffa768077047c7d0dcb327a9f137e6"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4b64ad3cdc8337a9def72e49e8dfb3bc20d4a5d3","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    local key\u003d${2}"},{"line_number":111,"context_line":"    local print_value\u003d\u0027import sys, json; print(json.load(sys.stdin).get(\"binding_profile\", {}).get(\"\u0027${key}\u0027\", \"\"))\u0027"},{"line_number":112,"context_line":"    openstack port show ${port} -f json -c binding_profile \\"},{"line_number":113,"context_line":"    | /usr/bin/env python3 -c \"${print_value}\""},{"line_number":114,"context_line":"}"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"echo \"Creating port with bandwidth request for heal_allocations testing\""}],"source_content_type":"text/x-sh","patch_set":11,"id":"3fa7e38b_d72331bc","line":113,"range":{"start_line":113,"start_character":6,"end_line":113,"end_character":46},"updated":"2019-09-25 08:35:24.000000000","message":"Do we have \u0027jq\u0027 in this environment? This could simply be:\n\n  | jq \".binding_profile.${key}\"\n\n...I think\n\nLater: we do - we use it in placement (e.g. placement/gate/perfload-runner.sh)","commit_id":"87711ec4913438ea0b4f9c54088dc260c827b719"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fce968c940fa707d35c0b1a2ac97c27b9be76fc6","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    local key\u003d${2}"},{"line_number":111,"context_line":"    local print_value\u003d\u0027import sys, json; print(json.load(sys.stdin).get(\"binding_profile\", {}).get(\"\u0027${key}\u0027\", \"\"))\u0027"},{"line_number":112,"context_line":"    openstack port show ${port} -f json -c binding_profile \\"},{"line_number":113,"context_line":"    | /usr/bin/env python3 -c \"${print_value}\""},{"line_number":114,"context_line":"}"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"echo \"Creating port with bandwidth request for heal_allocations testing\""}],"source_content_type":"text/x-sh","patch_set":11,"id":"3fa7e38b_5c26136b","line":113,"range":{"start_line":113,"start_character":6,"end_line":113,"end_character":46},"in_reply_to":"3fa7e38b_399329a6","updated":"2019-10-02 10:01:55.000000000","message":"Ah, so you did. Thanks for the update","commit_id":"87711ec4913438ea0b4f9c54088dc260c827b719"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"623d6d5a514429d1da619cafb7ec277b2c9f8c61","unresolved":false,"context_lines":[{"line_number":110,"context_line":"    local key\u003d${2}"},{"line_number":111,"context_line":"    local print_value\u003d\u0027import sys, json; print(json.load(sys.stdin).get(\"binding_profile\", {}).get(\"\u0027${key}\u0027\", \"\"))\u0027"},{"line_number":112,"context_line":"    openstack port show ${port} -f json -c binding_profile \\"},{"line_number":113,"context_line":"    | /usr/bin/env python3 -c \"${print_value}\""},{"line_number":114,"context_line":"}"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"echo \"Creating port with bandwidth request for heal_allocations testing\""}],"source_content_type":"text/x-sh","patch_set":11,"id":"3fa7e38b_399329a6","line":113,"range":{"start_line":113,"start_character":6,"end_line":113,"end_character":46},"in_reply_to":"3fa7e38b_d72331bc","updated":"2019-10-02 09:18:08.000000000","message":"I\u0027ve tried that in PS1, we don\u0027t have jq in the environment.","commit_id":"87711ec4913438ea0b4f9c54088dc260c827b719"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4b64ad3cdc8337a9def72e49e8dfb3bc20d4a5d3","unresolved":false,"context_lines":[{"line_number":117,"context_line":"openstack network create net0 \\"},{"line_number":118,"context_line":"--provider-network-type vlan \\"},{"line_number":119,"context_line":"--provider-physical-network public \\"},{"line_number":120,"context_line":"--provider-segment 100"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"openstack subnet create subnet0 \\"},{"line_number":123,"context_line":"--network net0 \\"}],"source_content_type":"text/x-sh","patch_set":11,"id":"3fa7e38b_9729399c","line":120,"updated":"2019-09-25 08:35:24.000000000","message":"style nit: any chance we could get these indented?","commit_id":"87711ec4913438ea0b4f9c54088dc260c827b719"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4b64ad3cdc8337a9def72e49e8dfb3bc20d4a5d3","unresolved":false,"context_lines":[{"line_number":140,"context_line":"--qos-policy qp0"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"# Let\u0027s make the binding:profile for this port contain some"},{"line_number":143,"context_line":"# (non-allocation-y) stuffs and then later assert that those stuffs are still"},{"line_number":144,"context_line":"# there after the heal."},{"line_number":145,"context_line":"# Cf. https://review.opendev.org/#/c/637955/35/nova/cmd/manage.py@1896"},{"line_number":146,"context_line":"openstack port set port-normal-qos --binding-profile my_key\u003dmy_value"}],"source_content_type":"text/x-sh","patch_set":11,"id":"3fa7e38b_f7118d5e","line":143,"range":{"start_line":143,"start_character":21,"end_line":143,"end_character":27},"updated":"2019-09-25 08:35:24.000000000","message":"stuff","commit_id":"87711ec4913438ea0b4f9c54088dc260c827b719"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"4b64ad3cdc8337a9def72e49e8dfb3bc20d4a5d3","unresolved":false,"context_lines":[{"line_number":140,"context_line":"--qos-policy qp0"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"# Let\u0027s make the binding:profile for this port contain some"},{"line_number":143,"context_line":"# (non-allocation-y) stuffs and then later assert that those stuffs are still"},{"line_number":144,"context_line":"# there after the heal."},{"line_number":145,"context_line":"# Cf. https://review.opendev.org/#/c/637955/35/nova/cmd/manage.py@1896"},{"line_number":146,"context_line":"openstack port set port-normal-qos --binding-profile my_key\u003dmy_value"}],"source_content_type":"text/x-sh","patch_set":11,"id":"3fa7e38b_17178953","line":143,"range":{"start_line":143,"start_character":55,"end_line":143,"end_character":71},"updated":"2019-09-25 08:35:24.000000000","message":"this stuff is","commit_id":"87711ec4913438ea0b4f9c54088dc260c827b719"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"623d6d5a514429d1da619cafb7ec277b2c9f8c61","unresolved":false,"context_lines":[{"line_number":140,"context_line":"--qos-policy qp0"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"# Let\u0027s make the binding:profile for this port contain some"},{"line_number":143,"context_line":"# (non-allocation-y) stuffs and then later assert that those stuffs are still"},{"line_number":144,"context_line":"# there after the heal."},{"line_number":145,"context_line":"# Cf. https://review.opendev.org/#/c/637955/35/nova/cmd/manage.py@1896"},{"line_number":146,"context_line":"openstack port set port-normal-qos --binding-profile my_key\u003dmy_value"}],"source_content_type":"text/x-sh","patch_set":11,"id":"3fa7e38b_59caa5a1","line":143,"range":{"start_line":143,"start_character":55,"end_line":143,"end_character":71},"in_reply_to":"3fa7e38b_17178953","updated":"2019-10-02 09:18:08.000000000","message":"Done","commit_id":"87711ec4913438ea0b4f9c54088dc260c827b719"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"623d6d5a514429d1da619cafb7ec277b2c9f8c61","unresolved":false,"context_lines":[{"line_number":140,"context_line":"--qos-policy qp0"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"# Let\u0027s make the binding:profile for this port contain some"},{"line_number":143,"context_line":"# (non-allocation-y) stuffs and then later assert that those stuffs are still"},{"line_number":144,"context_line":"# there after the heal."},{"line_number":145,"context_line":"# Cf. https://review.opendev.org/#/c/637955/35/nova/cmd/manage.py@1896"},{"line_number":146,"context_line":"openstack port set port-normal-qos --binding-profile my_key\u003dmy_value"}],"source_content_type":"text/x-sh","patch_set":11,"id":"3fa7e38b_79cf61b0","line":143,"range":{"start_line":143,"start_character":21,"end_line":143,"end_character":27},"in_reply_to":"3fa7e38b_f7118d5e","updated":"2019-10-02 09:18:08.000000000","message":"Done","commit_id":"87711ec4913438ea0b4f9c54088dc260c827b719"}]}
