)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"30030b0e3cd481c758036ad95074d56d42bb26d7","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Zuul v3 does not yet offer native grenade base jobs. Workaround it by"},{"line_number":10,"context_line":"creating a legacy grenade-devstack-octavia playbook."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Depends-On: https://review.openstack.org/#/c/551021/"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: Ib81557ee75ff2ea365ca8403dcfe6e6724657f75"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":25,"id":"df7087c5_87a30e00","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":52},"updated":"2018-03-15 23:57:37.000000000","message":"Depends-On should only be used for cross-repo dependencies. Please rebase this patch on top of the devstack plugin patch instead.","commit_id":"ce857057dd7988f93dc0dd4ef4b214b3e9a9a668"}],"devstack/upgrade/resources.sh":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"75590190ceeb5b5d8de9c354bc54d27148f3a5d8","unresolved":false,"context_lines":[{"line_number":98,"context_line":"function destroy {"},{"line_number":99,"context_line":"    sc_rule_id\u003d$(resource_get octavia sc_rule_id)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    # make destroy idempotent for resiliancy in testing"},{"line_number":102,"context_line":"    #openstack loadbalancer member show pool1 member1 \u0026\u0026 openstack loadbalancer member delete pool1 member1"},{"line_number":103,"context_line":"    #openstack loadbalancer member show pool1 member2 \u0026\u0026 openstack loadbalancer member delete pool1 member2"},{"line_number":104,"context_line":"    #openstack loadbalancer healthmonitor show hm1 \u0026\u0026 openstack loadbalancer healthmonitor delete hm1"}],"source_content_type":"text/x-sh","patch_set":22,"id":"df7087c5_1aafd094","line":101,"updated":"2018-03-12 10:33:54.000000000","message":"Should we get rid of these commented out lines if we\u0027re not going to use this? Or did you intend to leave them here so it would be easy for people to change methods for some reason?","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"aea51abf44f5616f903dcb382350a404a08af3fa","unresolved":false,"context_lines":[{"line_number":98,"context_line":"function destroy {"},{"line_number":99,"context_line":"    sc_rule_id\u003d$(resource_get octavia sc_rule_id)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    # make destroy idempotent for resiliancy in testing"},{"line_number":102,"context_line":"    #openstack loadbalancer member show pool1 member1 \u0026\u0026 openstack loadbalancer member delete pool1 member1"},{"line_number":103,"context_line":"    #openstack loadbalancer member show pool1 member2 \u0026\u0026 openstack loadbalancer member delete pool1 member2"},{"line_number":104,"context_line":"    #openstack loadbalancer healthmonitor show hm1 \u0026\u0026 openstack loadbalancer healthmonitor delete hm1"}],"source_content_type":"text/x-sh","patch_set":22,"id":"df7087c5_bad104fe","line":101,"in_reply_to":"df7087c5_1aafd094","updated":"2018-03-12 11:03:57.000000000","message":"I intended to explicitly delete each resource one by one but ran into immutable objects so I switched --cascade on. I\u0027ll remove them.","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"1e9a23b711e88316f501aa9674749882082ceaed","unresolved":false,"context_lines":[{"line_number":98,"context_line":"function destroy {"},{"line_number":99,"context_line":"    sc_rule_id\u003d$(resource_get octavia sc_rule_id)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"    # make destroy idempotent for resiliancy in testing"},{"line_number":102,"context_line":"    #openstack loadbalancer member show pool1 member1 \u0026\u0026 openstack loadbalancer member delete pool1 member1"},{"line_number":103,"context_line":"    #openstack loadbalancer member show pool1 member2 \u0026\u0026 openstack loadbalancer member delete pool1 member2"},{"line_number":104,"context_line":"    #openstack loadbalancer healthmonitor show hm1 \u0026\u0026 openstack loadbalancer healthmonitor delete hm1"}],"source_content_type":"text/x-sh","patch_set":22,"id":"df7087c5_75e7ff41","line":101,"in_reply_to":"df7087c5_bad104fe","updated":"2018-03-12 22:44:59.000000000","message":"Done","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"97d7e6671f2ae8e4ae6b7d742e397b88ee73fbbc","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    # verify data plane"},{"line_number":82,"context_line":"    lb_vip_ip\u003d$(resource_get octavia lb_vip_ip)"},{"line_number":83,"context_line":"    curl -s -I $lb_vip_ip | egrep -q \"^HTTP/1.1 200 OK\""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    echo \"Octavia verify: SUCCESS\""},{"line_number":86,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":32,"id":"5f7c97a3_71bdea66","line":83,"updated":"2018-05-21 22:28:13.000000000","message":"Might want to check out https://superuser.com/questions/272265/getting-curl-to-output-http-status-code -- not sure if you actually need egrep...","commit_id":"62f83ca75f8c06fcadcfdfc80dcfbbb88118cb4e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"e7db32d5740038f3694de9a63dd1845bef82a8b5","unresolved":false,"context_lines":[{"line_number":80,"context_line":""},{"line_number":81,"context_line":"    # verify data plane"},{"line_number":82,"context_line":"    lb_vip_ip\u003d$(resource_get octavia lb_vip_ip)"},{"line_number":83,"context_line":"    curl -s -I $lb_vip_ip | egrep -q \"^HTTP/1.1 200 OK\""},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    echo \"Octavia verify: SUCCESS\""},{"line_number":86,"context_line":"}"}],"source_content_type":"text/x-sh","patch_set":32,"id":"5f7c97a3_340d2090","line":83,"in_reply_to":"5f7c97a3_71bdea66","updated":"2018-05-21 23:50:01.000000000","message":"+1\nOddly, this test is failing in the gate. It would be nice if the output was printed.","commit_id":"62f83ca75f8c06fcadcfdfc80dcfbbb88118cb4e"}],"devstack/upgrade/upgrade.sh":[{"author":{"_account_id":6579,"name":"Nir Magnezi","email":"nmagnezi@redhat.com","username":"nmagnezi"},"change_message_id":"aee3ede099eff3c1b8c2abd92715d3c102d02566","unresolved":false,"context_lines":[{"line_number":40,"context_line":"source $TARGET_DEVSTACK_DIR/stackrc"},{"line_number":41,"context_line":"source $TARGET_DEVSTACK_DIR/lib/apache"},{"line_number":42,"context_line":"source $TARGET_DEVSTACK_DIR/lib/tls"},{"line_number":43,"context_line":"source $(dirname $(dirname $BASH_SOURCE))/settings"},{"line_number":44,"context_line":"source $(dirname $(dirname $BASH_SOURCE))/plugin.sh"},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"# Print the commands being run so that we can see the command that triggers"},{"line_number":47,"context_line":"# an error.  It is also useful for following allowing as the install occurs."}],"source_content_type":"text/x-sh","patch_set":37,"id":"5f7c97a3_78619da8","line":44,"range":{"start_line":43,"start_character":0,"end_line":44,"end_character":51},"updated":"2018-06-14 16:31:14.000000000","message":":-)","commit_id":"13eab152fbf6e3ea2cb5e70d2d5600a6a44a6223"}],"devstack/upgrade/vm_user_data.sh":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"75590190ceeb5b5d8de9c354bc54d27148f3a5d8","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/sh -v"},{"line_number":2,"context_line":"Body\u003d$(hostname)"},{"line_number":3,"context_line":"Response\u003d\"HTTP/1.1 200 OK\\r\\nContent-Length: ${#Body}\\r\\n\\r\\n$Body\""},{"line_number":4,"context_line":"while true ; do echo -e $Response | nc -llp 80; done"}],"source_content_type":"text/x-sh","patch_set":22,"id":"df7087c5_3a8bb41f","line":1,"updated":"2018-03-12 10:33:54.000000000","message":"Could we put our little golang server in here? netcat-loop based scripts have a tendency to false-positive depending on cloud conditions (and I mean both the hypervisor/infrastructure AND the sky/weather kind).","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"aea51abf44f5616f903dcb382350a404a08af3fa","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/sh -v"},{"line_number":2,"context_line":"Body\u003d$(hostname)"},{"line_number":3,"context_line":"Response\u003d\"HTTP/1.1 200 OK\\r\\nContent-Length: ${#Body}\\r\\n\\r\\n$Body\""},{"line_number":4,"context_line":"while true ; do echo -e $Response | nc -llp 80; done"}],"source_content_type":"text/x-sh","patch_set":22,"id":"df7087c5_7564dfe4","line":1,"in_reply_to":"df7087c5_3a8bb41f","updated":"2018-03-12 11:03:57.000000000","message":"Sure, I\u0027ll have a look.","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"1e9a23b711e88316f501aa9674749882082ceaed","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/sh -v"},{"line_number":2,"context_line":"Body\u003d$(hostname)"},{"line_number":3,"context_line":"Response\u003d\"HTTP/1.1 200 OK\\r\\nContent-Length: ${#Body}\\r\\n\\r\\n$Body\""},{"line_number":4,"context_line":"while true ; do echo -e $Response | nc -llp 80; done"}],"source_content_type":"text/x-sh","patch_set":22,"id":"df7087c5_b95a6027","line":1,"in_reply_to":"df7087c5_7564dfe4","updated":"2018-03-12 22:44:59.000000000","message":"keeping with netcat for now. we don\u0027t need concurrency; at most there will be only 3 GETs hitting the load balancer total.","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"394df5833ab3886ef7a5a0fbbd08fc9a167425e9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/sh -v"},{"line_number":2,"context_line":"Body\u003d$(hostname)"},{"line_number":3,"context_line":"Response\u003d\"HTTP/1.1 200 OK\\r\\nContent-Length: ${#Body}\\r\\n\\r\\n$Body\""},{"line_number":4,"context_line":"while true ; do echo -e $Response | nc -llp 80; done"}],"source_content_type":"text/x-sh","patch_set":22,"id":"df7087c5_3dc5c9f1","line":1,"in_reply_to":"df7087c5_b95a6027","updated":"2018-03-15 06:30:00.000000000","message":"sure.","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":10850,"name":"German Eichberger","email":"german.eichberger@gmail.com","username":"german"},"change_message_id":"97d7e6671f2ae8e4ae6b7d742e397b88ee73fbbc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/sh -v"},{"line_number":2,"context_line":"Body\u003d$(hostname)"},{"line_number":3,"context_line":"Response\u003d\"HTTP/1.1 200 OK\\r\\nContent-Length: ${#Body}\\r\\n\\r\\n$Body\""},{"line_number":4,"context_line":"while true ; do echo -e $Response | nc -llp 80; done"}],"source_content_type":"text/x-sh","patch_set":32,"id":"5f7c97a3_316c5207","line":1,"updated":"2018-05-21 22:28:13.000000000","message":"why not our go server?","commit_id":"62f83ca75f8c06fcadcfdfc80dcfbbb88118cb4e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"c74efb79215fa328f899679a9beea8877a86e000","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/sh -v"},{"line_number":2,"context_line":"Body\u003d$(hostname)"},{"line_number":3,"context_line":"Response\u003d\"HTTP/1.1 200 OK\\r\\nContent-Length: ${#Body}\\r\\n\\r\\n$Body\""},{"line_number":4,"context_line":"while true ; do echo -e $Response | nc -llp 80; done"}],"source_content_type":"text/x-sh","patch_set":32,"id":"5f7c97a3_c3737e4d","line":1,"in_reply_to":"5f7c97a3_316c5207","updated":"2018-06-04 15:13:56.000000000","message":"https://review.openstack.org/#/c/549654/22/devstack/upgrade/vm_user_data.sh@1","commit_id":"62f83ca75f8c06fcadcfdfc80dcfbbb88118cb4e"}],"zuul.d/jobs.yaml":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"75590190ceeb5b5d8de9c354bc54d27148f3a5d8","unresolved":false,"context_lines":[{"line_number":86,"context_line":"      - openstack-dev/grenade"},{"line_number":87,"context_line":"      - openstack-infra/devstack-gate"},{"line_number":88,"context_line":"      - openstack/octavia"},{"line_number":89,"context_line":"      - openstack/octavia-dashboard"},{"line_number":90,"context_line":"      - openstack/octavia-tempest-plugin"},{"line_number":91,"context_line":"      - openstack/python-octaviaclient"},{"line_number":92,"context_line":"    timeout: 7800"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"df7087c5_7aadac86","line":89,"updated":"2018-03-12 10:33:54.000000000","message":"We\u0027re pulling in the dashboard too?","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"1e9a23b711e88316f501aa9674749882082ceaed","unresolved":false,"context_lines":[{"line_number":86,"context_line":"      - openstack-dev/grenade"},{"line_number":87,"context_line":"      - openstack-infra/devstack-gate"},{"line_number":88,"context_line":"      - openstack/octavia"},{"line_number":89,"context_line":"      - openstack/octavia-dashboard"},{"line_number":90,"context_line":"      - openstack/octavia-tempest-plugin"},{"line_number":91,"context_line":"      - openstack/python-octaviaclient"},{"line_number":92,"context_line":"    timeout: 7800"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"df7087c5_75c05f7c","line":89,"in_reply_to":"df7087c5_155b232e","updated":"2018-03-12 22:44:59.000000000","message":"Done","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"aea51abf44f5616f903dcb382350a404a08af3fa","unresolved":false,"context_lines":[{"line_number":86,"context_line":"      - openstack-dev/grenade"},{"line_number":87,"context_line":"      - openstack-infra/devstack-gate"},{"line_number":88,"context_line":"      - openstack/octavia"},{"line_number":89,"context_line":"      - openstack/octavia-dashboard"},{"line_number":90,"context_line":"      - openstack/octavia-tempest-plugin"},{"line_number":91,"context_line":"      - openstack/python-octaviaclient"},{"line_number":92,"context_line":"    timeout: 7800"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"df7087c5_155b232e","line":89,"in_reply_to":"df7087c5_7aadac86","updated":"2018-03-12 11:03:57.000000000","message":"TBH I also don\u0027t need we need it. I double-checked how other projects were implementing and those who have a dashboard were also requiring it. I don\u0027t need we need it, I\u0027ll remove it.","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"75590190ceeb5b5d8de9c354bc54d27148f3a5d8","unresolved":false,"context_lines":[{"line_number":89,"context_line":"      - openstack/octavia-dashboard"},{"line_number":90,"context_line":"      - openstack/octavia-tempest-plugin"},{"line_number":91,"context_line":"      - openstack/python-octaviaclient"},{"line_number":92,"context_line":"    timeout: 7800"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"df7087c5_1a9d9058","line":92,"updated":"2018-03-12 10:33:54.000000000","message":"Do we want this timeout? I noticed it was being removed from other jobs, and if we don\u0027t set it explicitly, is the default already the max? (I don\u0027t remember)","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"aea51abf44f5616f903dcb382350a404a08af3fa","unresolved":false,"context_lines":[{"line_number":89,"context_line":"      - openstack/octavia-dashboard"},{"line_number":90,"context_line":"      - openstack/octavia-tempest-plugin"},{"line_number":91,"context_line":"      - openstack/python-octaviaclient"},{"line_number":92,"context_line":"    timeout: 7800"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"df7087c5_ba3fc423","line":92,"in_reply_to":"df7087c5_1a9d9058","updated":"2018-03-12 11:03:57.000000000","message":"You\u0027re right, it inherits from base job anyway. I set it explicitly here when I started this patch as a note to self in case gate would take longer. I\u0027ll remove it.","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"1e9a23b711e88316f501aa9674749882082ceaed","unresolved":false,"context_lines":[{"line_number":89,"context_line":"      - openstack/octavia-dashboard"},{"line_number":90,"context_line":"      - openstack/octavia-tempest-plugin"},{"line_number":91,"context_line":"      - openstack/python-octaviaclient"},{"line_number":92,"context_line":"    timeout: 7800"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"df7087c5_95bbb30c","line":92,"in_reply_to":"df7087c5_ba3fc423","updated":"2018-03-12 22:44:59.000000000","message":"Done","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"}],"zuul.d/projects.yaml":[{"author":{"_account_id":10273,"name":"Adam Harwell","email":"flux.adam@gmail.com","username":"rm_you"},"change_message_id":"75590190ceeb5b5d8de9c354bc54d27148f3a5d8","unresolved":false,"context_lines":[{"line_number":3,"context_line":"- project:"},{"line_number":4,"context_line":"    check:"},{"line_number":5,"context_line":"      jobs:"},{"line_number":6,"context_line":"        #- neutron-lbaasv2-dsvm-api"},{"line_number":7,"context_line":"        #- neutron-lbaasv2-dsvm-py3x-api:"},{"line_number":8,"context_line":"        #    branches: ^(?!stable/ocata).*$"},{"line_number":9,"context_line":"        #- neutron-lbaasv2-dsvm-scenario:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"df7087c5_9aa8c077","line":6,"updated":"2018-03-12 10:33:54.000000000","message":"So much comment. Were you removing these for testing purposes? I assume you meant to put them back now? :P","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"aea51abf44f5616f903dcb382350a404a08af3fa","unresolved":false,"context_lines":[{"line_number":3,"context_line":"- project:"},{"line_number":4,"context_line":"    check:"},{"line_number":5,"context_line":"      jobs:"},{"line_number":6,"context_line":"        #- neutron-lbaasv2-dsvm-api"},{"line_number":7,"context_line":"        #- neutron-lbaasv2-dsvm-py3x-api:"},{"line_number":8,"context_line":"        #    branches: ^(?!stable/ocata).*$"},{"line_number":9,"context_line":"        #- neutron-lbaasv2-dsvm-scenario:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"df7087c5_d53ccbc0","line":6,"in_reply_to":"df7087c5_9aa8c077","updated":"2018-03-12 11:03:57.000000000","message":"Yeah, I just wanted some review attention first before re-enabling them ;)","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":6469,"name":"Carlos Gonçalves","display_name":"Carlos Goncalves","email":"cgoncalves@redhat.com","username":"cgoncalves"},"change_message_id":"1e9a23b711e88316f501aa9674749882082ceaed","unresolved":false,"context_lines":[{"line_number":3,"context_line":"- project:"},{"line_number":4,"context_line":"    check:"},{"line_number":5,"context_line":"      jobs:"},{"line_number":6,"context_line":"        #- neutron-lbaasv2-dsvm-api"},{"line_number":7,"context_line":"        #- neutron-lbaasv2-dsvm-py3x-api:"},{"line_number":8,"context_line":"        #    branches: ^(?!stable/ocata).*$"},{"line_number":9,"context_line":"        #- neutron-lbaasv2-dsvm-scenario:"}],"source_content_type":"text/x-yaml","patch_set":22,"id":"df7087c5_350667d0","line":6,"in_reply_to":"df7087c5_d53ccbc0","updated":"2018-03-12 22:44:59.000000000","message":"Done","commit_id":"32967c9fc26db240b101b2ac4f7baf3ac1b0462e"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"1026fd8c248acf50d4f226b107161247c45280df","unresolved":false,"context_lines":[{"line_number":50,"context_line":"            voting: false"},{"line_number":51,"context_line":"            branches: ^(?!stable/ocata).*$"},{"line_number":52,"context_line":"        - octavia-grenade:"},{"line_number":53,"context_line":"            branches: ^(?!stable/queens).*$"},{"line_number":54,"context_line":"            voting: false"},{"line_number":55,"context_line":"            irrelevant-files:"},{"line_number":56,"context_line":"              - ^.*\\.rst$"}],"source_content_type":"text/x-yaml","patch_set":31,"id":"5f7c97a3_0a3a5de6","line":53,"updated":"2018-05-18 17:50:12.000000000","message":"We probably don\u0027t want to run this on ocata either, not that it wouldn\u0027t work, but no need.","commit_id":"66dbd28264cb22dd91bf31664baebaf3513b5477"}]}
