)]}'
{".zuul.d/jobs.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"be36a773935b9c4a8fe3d064b10fdc1e7d2fd057","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    vars:"},{"line_number":57,"context_line":"      tox_envlist: bindep"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- job:"},{"line_number":60,"context_line":"    name: requirements-integration"},{"line_number":61,"context_line":"    parent: devstack"},{"line_number":62,"context_line":"    timeout: 7800"},{"line_number":63,"context_line":"    required-projects:"},{"line_number":64,"context_line":"      - openstack/devstack"},{"line_number":65,"context_line":"      - openstack/grenade"},{"line_number":66,"context_line":"      - openstack/pbr"},{"line_number":67,"context_line":"      - openstack/devstack-gate"},{"line_number":68,"context_line":"      - openstack/tripleo-ci"},{"line_number":69,"context_line":"      - openstack/aodh"},{"line_number":70,"context_line":"      - openstack/automaton"},{"line_number":71,"context_line":"      - openstack/ceilometer"},{"line_number":72,"context_line":"      - openstack/ceilometermiddleware"},{"line_number":73,"context_line":"      - openstack/cinder"},{"line_number":74,"context_line":"      - openstack/cliff"},{"line_number":75,"context_line":"      - openstack/debtcollector"},{"line_number":76,"context_line":"      - openstack/dib-utils"},{"line_number":77,"context_line":"      - openstack/diskimage-builder"},{"line_number":78,"context_line":"      - openstack/django_openstack_auth"},{"line_number":79,"context_line":"      - openstack/futurist"},{"line_number":80,"context_line":"      - openstack/glance"},{"line_number":81,"context_line":"      - openstack/glance_store"},{"line_number":82,"context_line":"      - openstack/heat"},{"line_number":83,"context_line":"      - openstack/heat-cfntools"},{"line_number":84,"context_line":"      - openstack/heat-templates"},{"line_number":85,"context_line":"      - openstack/horizon"},{"line_number":86,"context_line":"      - openstack/ironic"},{"line_number":87,"context_line":"      - openstack/ironic-lib"},{"line_number":88,"context_line":"      - openstack/ironic-python-agent"},{"line_number":89,"context_line":"      - openstack/keystone"},{"line_number":90,"context_line":"      - openstack/keystoneauth"},{"line_number":91,"context_line":"      - openstack/keystonemiddleware"},{"line_number":92,"context_line":"      - openstack/manila"},{"line_number":93,"context_line":"      - openstack/manila-ui"},{"line_number":94,"context_line":"      - openstack/neutron"},{"line_number":95,"context_line":"      - openstack/neutron-fwaas"},{"line_number":96,"context_line":"      - openstack/neutron-lbaas"},{"line_number":97,"context_line":"      - openstack/neutron-vpnaas"},{"line_number":98,"context_line":"      - openstack/nova"},{"line_number":99,"context_line":"      - openstack/octavia"},{"line_number":100,"context_line":"      - openstack/os-apply-config"},{"line_number":101,"context_line":"      - openstack/os-brick"},{"line_number":102,"context_line":"      - openstack/os-client-config"},{"line_number":103,"context_line":"      - openstack/os-collect-config"},{"line_number":104,"context_line":"      - openstack/os-net-config"},{"line_number":105,"context_line":"      - openstack/os-refresh-config"},{"line_number":106,"context_line":"      - openstack/osc-lib"},{"line_number":107,"context_line":"      - openstack/oslo.cache"},{"line_number":108,"context_line":"      - openstack/oslo.concurrency"},{"line_number":109,"context_line":"      - openstack/oslo.config"},{"line_number":110,"context_line":"      - openstack/oslo.context"},{"line_number":111,"context_line":"      - openstack/oslo.db"},{"line_number":112,"context_line":"      - openstack/oslo.i18n"},{"line_number":113,"context_line":"      - openstack/oslo.log"},{"line_number":114,"context_line":"      - openstack/oslo.messaging"},{"line_number":115,"context_line":"      - openstack/oslo.middleware"},{"line_number":116,"context_line":"      - openstack/oslo.policy"},{"line_number":117,"context_line":"      - openstack/oslo.reports"},{"line_number":118,"context_line":"      - openstack/oslo.rootwrap"},{"line_number":119,"context_line":"      - openstack/oslo.serialization"},{"line_number":120,"context_line":"      - openstack/oslo.service"},{"line_number":121,"context_line":"      - openstack/oslo.utils"},{"line_number":122,"context_line":"      - openstack/oslo.versionedobjects"},{"line_number":123,"context_line":"      - openstack/oslo.vmware"},{"line_number":124,"context_line":"      - openstack/pycadf"},{"line_number":125,"context_line":"      - openstack/python-cinderclient"},{"line_number":126,"context_line":"      - openstack/python-glanceclient"},{"line_number":127,"context_line":"      - openstack/python-heatclient"},{"line_number":128,"context_line":"      - openstack/python-ironicclient"},{"line_number":129,"context_line":"      - openstack/python-keystoneclient"},{"line_number":130,"context_line":"      - openstack/python-manilaclient"},{"line_number":131,"context_line":"      - openstack/python-neutronclient"},{"line_number":132,"context_line":"      - openstack/python-novaclient"},{"line_number":133,"context_line":"      - openstack/python-openstackclient"},{"line_number":134,"context_line":"      - openstack/python-saharaclient"},{"line_number":135,"context_line":"      - openstack/python-swiftclient"},{"line_number":136,"context_line":"      - openstack/python-troveclient"},{"line_number":137,"context_line":"      - openstack/python-zaqarclient"},{"line_number":138,"context_line":"      - openstack/requirements"},{"line_number":139,"context_line":"      - openstack/sahara"},{"line_number":140,"context_line":"      - openstack/sahara-dashboard"},{"line_number":141,"context_line":"      - openstack/stevedore"},{"line_number":142,"context_line":"      - openstack/swift"},{"line_number":143,"context_line":"      - openstack/taskflow"},{"line_number":144,"context_line":"      - openstack/tempest"},{"line_number":145,"context_line":"      - openstack/tooz"},{"line_number":146,"context_line":"      - openstack/tripleo-heat-templates"},{"line_number":147,"context_line":"      - openstack/tripleo-image-elements"},{"line_number":148,"context_line":"      - openstack/trove"},{"line_number":149,"context_line":"      - openstack/trove-dashboard"},{"line_number":150,"context_line":"      - openstack/zaqar"},{"line_number":151,"context_line":"    vars:"},{"line_number":152,"context_line":"      PROJECTS: \u003e"},{"line_number":153,"context_line":"        { PROJECTS }"},{"line_number":154,"context_line":"        openstack/devstack-gate"},{"line_number":155,"context_line":"        openstack/devstack"},{"line_number":156,"context_line":"        openstack/grenade"},{"line_number":157,"context_line":"        openstack/pbr"},{"line_number":158,"context_line":"        openstack/tripleo-ci"},{"line_number":159,"context_line":"        openstack/aodh"},{"line_number":160,"context_line":"        openstack/automaton"},{"line_number":161,"context_line":"        openstack/ceilometer"},{"line_number":162,"context_line":"        openstack/ceilometermiddleware"},{"line_number":163,"context_line":"        openstack/cinder"},{"line_number":164,"context_line":"        openstack/cliff"},{"line_number":165,"context_line":"        openstack/debtcollector"},{"line_number":166,"context_line":"        openstack/dib-utils"},{"line_number":167,"context_line":"        openstack/diskimage-builder"},{"line_number":168,"context_line":"        openstack/django_openstack_auth"},{"line_number":169,"context_line":"        openstack/futurist"},{"line_number":170,"context_line":"        openstack/glance"},{"line_number":171,"context_line":"        openstack/glance_store"},{"line_number":172,"context_line":"        openstack/heat"},{"line_number":173,"context_line":"        openstack/heat-cfntools"},{"line_number":174,"context_line":"        openstack/heat-templates"},{"line_number":175,"context_line":"        openstack/horizon"},{"line_number":176,"context_line":"        openstack/ironic"},{"line_number":177,"context_line":"        openstack/ironic-lib"},{"line_number":178,"context_line":"        openstack/ironic-python-agent"},{"line_number":179,"context_line":"        openstack/keystone"},{"line_number":180,"context_line":"        openstack/keystoneauth"},{"line_number":181,"context_line":"        openstack/keystonemiddleware"},{"line_number":182,"context_line":"        openstack/manila"},{"line_number":183,"context_line":"        openstack/manila-ui"},{"line_number":184,"context_line":"        openstack/zaqar"},{"line_number":185,"context_line":"        openstack/neutron"},{"line_number":186,"context_line":"        openstack/neutron-fwaas"},{"line_number":187,"context_line":"        openstack/neutron-lbaas"},{"line_number":188,"context_line":"        openstack/octavia"},{"line_number":189,"context_line":"        openstack/neutron-vpnaas"},{"line_number":190,"context_line":"        openstack/nova"},{"line_number":191,"context_line":"        openstack/os-apply-config"},{"line_number":192,"context_line":"        openstack/os-brick"},{"line_number":193,"context_line":"        openstack/os-client-config"},{"line_number":194,"context_line":"        openstack/os-collect-config"},{"line_number":195,"context_line":"        openstack/os-net-config"},{"line_number":196,"context_line":"        openstack/os-refresh-config"},{"line_number":197,"context_line":"        openstack/osc-lib"},{"line_number":198,"context_line":"        openstack/oslo.cache"},{"line_number":199,"context_line":"        openstack/oslo.concurrency"},{"line_number":200,"context_line":"        openstack/oslo.config"},{"line_number":201,"context_line":"        openstack/oslo.context"},{"line_number":202,"context_line":"        openstack/oslo.db"},{"line_number":203,"context_line":"        openstack/oslo.i18n"},{"line_number":204,"context_line":"        openstack/oslo.log"},{"line_number":205,"context_line":"        openstack/oslo.messaging"},{"line_number":206,"context_line":"        openstack/oslo.middleware"},{"line_number":207,"context_line":"        openstack/oslo.policy"},{"line_number":208,"context_line":"        openstack/oslo.reports"},{"line_number":209,"context_line":"        openstack/oslo.rootwrap"},{"line_number":210,"context_line":"        openstack/oslo.utils"},{"line_number":211,"context_line":"        openstack/oslo.serialization"},{"line_number":212,"context_line":"        openstack/oslo.service"},{"line_number":213,"context_line":"        openstack/oslo.versionedobjects"},{"line_number":214,"context_line":"        openstack/oslo.vmware"},{"line_number":215,"context_line":"        openstack/pycadf"},{"line_number":216,"context_line":"        openstack/python-cinderclient"},{"line_number":217,"context_line":"        openstack/python-glanceclient"},{"line_number":218,"context_line":"        openstack/python-heatclient"},{"line_number":219,"context_line":"        openstack/python-ironicclient"},{"line_number":220,"context_line":"        openstack/python-keystoneclient"},{"line_number":221,"context_line":"        openstack/python-manilaclient"},{"line_number":222,"context_line":"        openstack/python-zaqarclient"},{"line_number":223,"context_line":"        openstack/python-neutronclient"},{"line_number":224,"context_line":"        openstack/python-novaclient"},{"line_number":225,"context_line":"        openstack/python-openstackclient"},{"line_number":226,"context_line":"        openstack/python-saharaclient"},{"line_number":227,"context_line":"        openstack/python-swiftclient"},{"line_number":228,"context_line":"        openstack/python-troveclient"},{"line_number":229,"context_line":"        openstack/requirements"},{"line_number":230,"context_line":"        openstack/sahara"},{"line_number":231,"context_line":"        openstack/sahara-dashboard"},{"line_number":232,"context_line":"        openstack/stevedore"},{"line_number":233,"context_line":"        openstack/swift"},{"line_number":234,"context_line":"        openstack/taskflow"},{"line_number":235,"context_line":"        openstack/tempest"},{"line_number":236,"context_line":"        openstack/tooz"},{"line_number":237,"context_line":"        openstack/tripleo-heat-templates"},{"line_number":238,"context_line":"        openstack/tripleo-image-elements"},{"line_number":239,"context_line":"        openstack/trove"},{"line_number":240,"context_line":"        openstack/trove-dashboard"},{"line_number":241,"context_line":"    shell:"},{"line_number":242,"context_line":"          function gate_hook {"},{"line_number":243,"context_line":"              set -x"},{"line_number":244,"context_line":"              bash $BASE/new/devstack-gate/devstack-vm-gate.sh \u0026\u0026 \\"},{"line_number":245,"context_line":"              bash -xe $BASE/new/requirements/tools/integration.sh $(cat $BASE/new/requirements/projects.txt)"},{"line_number":246,"context_line":"          }"},{"line_number":247,"context_line":"          export -f gate_hook"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"dfbec78f_5ce8e1e0","line":247,"range":{"start_line":59,"start_character":2,"end_line":247,"end_character":0},"updated":"2019-05-10 15:18:06.000000000","message":"extra keys not allowed @ data[\u0027shell\u0027]","commit_id":"6c218ce30beddd786a9ef90e0124dd7d2a1d6520"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"65ee6ef2d15399549c376675cde45f6a7f10cbf6","unresolved":false,"context_lines":[{"line_number":184,"context_line":"        openstack/zaqar"},{"line_number":185,"context_line":"        openstack/neutron"},{"line_number":186,"context_line":"        openstack/neutron-fwaas"},{"line_number":187,"context_line":"        openstack/neutron-lbaas"},{"line_number":188,"context_line":"        openstack/octavia"},{"line_number":189,"context_line":"        openstack/neutron-vpnaas"},{"line_number":190,"context_line":"        openstack/nova"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dfbec78f_9b6badb5","line":187,"updated":"2019-05-12 13:56:38.000000000","message":"see https://review.opendev.org/658491 - let\u0027S remove lbaas","commit_id":"4a30ba36da50f067a666db8097e03df733e77b3e"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"65ee6ef2d15399549c376675cde45f6a7f10cbf6","unresolved":false,"context_lines":[{"line_number":238,"context_line":"        openstack/tripleo-image-elements"},{"line_number":239,"context_line":"        openstack/trove"},{"line_number":240,"context_line":"        openstack/trove-dashboard"},{"line_number":241,"context_line":"    shell: |"},{"line_number":242,"context_line":"          function gate_hook {"},{"line_number":243,"context_line":"              set -x"},{"line_number":244,"context_line":"              bash $BASE/new/devstack-gate/devstack-vm-gate.sh \u0026\u0026 \\"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dfbec78f_7b5ef912","line":241,"updated":"2019-05-12 13:56:38.000000000","message":"shell is an ansible command and needs \"cmd:\" for the command you give it.\n\ngate_hook is not used by devstack AFAIK, so this whole snippet will not work even after fixing the syntax","commit_id":"4a30ba36da50f067a666db8097e03df733e77b3e"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"65ee6ef2d15399549c376675cde45f6a7f10cbf6","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    shell: |"},{"line_number":242,"context_line":"          function gate_hook {"},{"line_number":243,"context_line":"              set -x"},{"line_number":244,"context_line":"              bash $BASE/new/devstack-gate/devstack-vm-gate.sh \u0026\u0026 \\"},{"line_number":245,"context_line":"              bash -xe $BASE/new/requirements/tools/integration.sh $(cat $BASE/new/requirements/projects.txt)"},{"line_number":246,"context_line":"          }"},{"line_number":247,"context_line":"          export -f gate_hook"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dfbec78f_dba285fc","line":244,"updated":"2019-05-12 13:56:38.000000000","message":"devstack-gate is legacy devstack-gate based job, parent of the job is devstack not the legacy devstack-gate.\n\nSo, the above line will always fail.","commit_id":"4a30ba36da50f067a666db8097e03df733e77b3e"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"902725919542dc2ad14eaad56ce6f3268a694d01","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    vars:"},{"line_number":57,"context_line":"      tox_envlist: bindep"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- job:"},{"line_number":60,"context_line":"    name: requirements-integration"},{"line_number":61,"context_line":"    parent: devstack"},{"line_number":62,"context_line":"    timeout: 7800"},{"line_number":63,"context_line":"    required-projects:"},{"line_number":64,"context_line":"      - openstack/devstack"},{"line_number":65,"context_line":"      - openstack/grenade"},{"line_number":66,"context_line":"      - openstack/pbr"},{"line_number":67,"context_line":"      - openstack/devstack-gate"},{"line_number":68,"context_line":"      - openstack/tripleo-ci"},{"line_number":69,"context_line":"      - openstack/aodh"},{"line_number":70,"context_line":"      - openstack/automaton"},{"line_number":71,"context_line":"      - openstack/ceilometer"},{"line_number":72,"context_line":"      - openstack/ceilometermiddleware"},{"line_number":73,"context_line":"      - openstack/cinder"},{"line_number":74,"context_line":"      - openstack/cliff"},{"line_number":75,"context_line":"      - openstack/debtcollector"},{"line_number":76,"context_line":"      - openstack/dib-utils"},{"line_number":77,"context_line":"      - openstack/diskimage-builder"},{"line_number":78,"context_line":"      - openstack/django_openstack_auth"},{"line_number":79,"context_line":"      - openstack/futurist"},{"line_number":80,"context_line":"      - openstack/glance"},{"line_number":81,"context_line":"      - openstack/glance_store"},{"line_number":82,"context_line":"      - openstack/heat"},{"line_number":83,"context_line":"      - openstack/heat-cfntools"},{"line_number":84,"context_line":"      - openstack/heat-templates"},{"line_number":85,"context_line":"      - openstack/horizon"},{"line_number":86,"context_line":"      - openstack/ironic"},{"line_number":87,"context_line":"      - openstack/ironic-lib"},{"line_number":88,"context_line":"      - openstack/ironic-python-agent"},{"line_number":89,"context_line":"      - openstack/keystone"},{"line_number":90,"context_line":"      - openstack/keystoneauth"},{"line_number":91,"context_line":"      - openstack/keystonemiddleware"},{"line_number":92,"context_line":"      - openstack/manila"},{"line_number":93,"context_line":"      - openstack/manila-ui"},{"line_number":94,"context_line":"      - openstack/neutron"},{"line_number":95,"context_line":"      - openstack/neutron-fwaas"},{"line_number":96,"context_line":"      - openstack/neutron-lbaas"},{"line_number":97,"context_line":"      - openstack/neutron-vpnaas"},{"line_number":98,"context_line":"      - openstack/nova"},{"line_number":99,"context_line":"      - openstack/octavia"},{"line_number":100,"context_line":"      - openstack/os-apply-config"},{"line_number":101,"context_line":"      - openstack/os-brick"},{"line_number":102,"context_line":"      - openstack/os-client-config"},{"line_number":103,"context_line":"      - openstack/os-collect-config"},{"line_number":104,"context_line":"      - openstack/os-net-config"},{"line_number":105,"context_line":"      - openstack/os-refresh-config"},{"line_number":106,"context_line":"      - openstack/osc-lib"},{"line_number":107,"context_line":"      - openstack/oslo.cache"},{"line_number":108,"context_line":"      - openstack/oslo.concurrency"},{"line_number":109,"context_line":"      - openstack/oslo.config"},{"line_number":110,"context_line":"      - openstack/oslo.context"},{"line_number":111,"context_line":"      - openstack/oslo.db"},{"line_number":112,"context_line":"      - openstack/oslo.i18n"},{"line_number":113,"context_line":"      - openstack/oslo.log"},{"line_number":114,"context_line":"      - openstack/oslo.messaging"},{"line_number":115,"context_line":"      - openstack/oslo.middleware"},{"line_number":116,"context_line":"      - openstack/oslo.policy"},{"line_number":117,"context_line":"      - openstack/oslo.reports"},{"line_number":118,"context_line":"      - openstack/oslo.rootwrap"},{"line_number":119,"context_line":"      - openstack/oslo.serialization"},{"line_number":120,"context_line":"      - openstack/oslo.service"},{"line_number":121,"context_line":"      - openstack/oslo.utils"},{"line_number":122,"context_line":"      - openstack/oslo.versionedobjects"},{"line_number":123,"context_line":"      - openstack/oslo.vmware"},{"line_number":124,"context_line":"      - openstack/pycadf"},{"line_number":125,"context_line":"      - openstack/python-cinderclient"},{"line_number":126,"context_line":"      - openstack/python-glanceclient"},{"line_number":127,"context_line":"      - openstack/python-heatclient"},{"line_number":128,"context_line":"      - openstack/python-ironicclient"},{"line_number":129,"context_line":"      - openstack/python-keystoneclient"},{"line_number":130,"context_line":"      - openstack/python-manilaclient"},{"line_number":131,"context_line":"      - openstack/python-neutronclient"},{"line_number":132,"context_line":"      - openstack/python-novaclient"},{"line_number":133,"context_line":"      - openstack/python-openstackclient"},{"line_number":134,"context_line":"      - openstack/python-saharaclient"},{"line_number":135,"context_line":"      - openstack/python-swiftclient"},{"line_number":136,"context_line":"      - openstack/python-troveclient"},{"line_number":137,"context_line":"      - openstack/python-zaqarclient"},{"line_number":138,"context_line":"      - openstack/requirements"},{"line_number":139,"context_line":"      - openstack/sahara"},{"line_number":140,"context_line":"      - openstack/sahara-dashboard"},{"line_number":141,"context_line":"      - openstack/stevedore"},{"line_number":142,"context_line":"      - openstack/swift"},{"line_number":143,"context_line":"      - openstack/taskflow"},{"line_number":144,"context_line":"      - openstack/tempest"},{"line_number":145,"context_line":"      - openstack/tooz"},{"line_number":146,"context_line":"      - openstack/tripleo-heat-templates"},{"line_number":147,"context_line":"      - openstack/tripleo-image-elements"},{"line_number":148,"context_line":"      - openstack/trove"},{"line_number":149,"context_line":"      - openstack/trove-dashboard"},{"line_number":150,"context_line":"      - openstack/zaqar"},{"line_number":151,"context_line":"    vars:"},{"line_number":152,"context_line":"      PROJECTS: \u003e"},{"line_number":153,"context_line":"        { PROJECTS }"},{"line_number":154,"context_line":"        openstack/devstack-gate"},{"line_number":155,"context_line":"        openstack/devstack"},{"line_number":156,"context_line":"        openstack/grenade"},{"line_number":157,"context_line":"        openstack/pbr"},{"line_number":158,"context_line":"        openstack/tripleo-ci"},{"line_number":159,"context_line":"        openstack/aodh"},{"line_number":160,"context_line":"        openstack/automaton"},{"line_number":161,"context_line":"        openstack/ceilometer"},{"line_number":162,"context_line":"        openstack/ceilometermiddleware"},{"line_number":163,"context_line":"        openstack/cinder"},{"line_number":164,"context_line":"        openstack/cliff"},{"line_number":165,"context_line":"        openstack/debtcollector"},{"line_number":166,"context_line":"        openstack/dib-utils"},{"line_number":167,"context_line":"        openstack/diskimage-builder"},{"line_number":168,"context_line":"        openstack/django_openstack_auth"},{"line_number":169,"context_line":"        openstack/futurist"},{"line_number":170,"context_line":"        openstack/glance"},{"line_number":171,"context_line":"        openstack/glance_store"},{"line_number":172,"context_line":"        openstack/heat"},{"line_number":173,"context_line":"        openstack/heat-cfntools"},{"line_number":174,"context_line":"        openstack/heat-templates"},{"line_number":175,"context_line":"        openstack/horizon"},{"line_number":176,"context_line":"        openstack/ironic"},{"line_number":177,"context_line":"        openstack/ironic-lib"},{"line_number":178,"context_line":"        openstack/ironic-python-agent"},{"line_number":179,"context_line":"        openstack/keystone"},{"line_number":180,"context_line":"        openstack/keystoneauth"},{"line_number":181,"context_line":"        openstack/keystonemiddleware"},{"line_number":182,"context_line":"        openstack/manila"},{"line_number":183,"context_line":"        openstack/manila-ui"},{"line_number":184,"context_line":"        openstack/zaqar"},{"line_number":185,"context_line":"        openstack/neutron"},{"line_number":186,"context_line":"        openstack/neutron-fwaas"},{"line_number":187,"context_line":"        openstack/neutron-lbaas"},{"line_number":188,"context_line":"        openstack/octavia"},{"line_number":189,"context_line":"        openstack/neutron-vpnaas"},{"line_number":190,"context_line":"        openstack/nova"},{"line_number":191,"context_line":"        openstack/os-apply-config"},{"line_number":192,"context_line":"        openstack/os-brick"},{"line_number":193,"context_line":"        openstack/os-client-config"},{"line_number":194,"context_line":"        openstack/os-collect-config"},{"line_number":195,"context_line":"        openstack/os-net-config"},{"line_number":196,"context_line":"        openstack/os-refresh-config"},{"line_number":197,"context_line":"        openstack/osc-lib"},{"line_number":198,"context_line":"        openstack/oslo.cache"},{"line_number":199,"context_line":"        openstack/oslo.concurrency"},{"line_number":200,"context_line":"        openstack/oslo.config"},{"line_number":201,"context_line":"        openstack/oslo.context"},{"line_number":202,"context_line":"        openstack/oslo.db"},{"line_number":203,"context_line":"        openstack/oslo.i18n"},{"line_number":204,"context_line":"        openstack/oslo.log"},{"line_number":205,"context_line":"        openstack/oslo.messaging"},{"line_number":206,"context_line":"        openstack/oslo.middleware"},{"line_number":207,"context_line":"        openstack/oslo.policy"},{"line_number":208,"context_line":"        openstack/oslo.reports"},{"line_number":209,"context_line":"        openstack/oslo.rootwrap"},{"line_number":210,"context_line":"        openstack/oslo.utils"},{"line_number":211,"context_line":"        openstack/oslo.serialization"},{"line_number":212,"context_line":"        openstack/oslo.service"},{"line_number":213,"context_line":"        openstack/oslo.versionedobjects"},{"line_number":214,"context_line":"        openstack/oslo.vmware"},{"line_number":215,"context_line":"        openstack/pycadf"},{"line_number":216,"context_line":"        openstack/python-cinderclient"},{"line_number":217,"context_line":"        openstack/python-glanceclient"},{"line_number":218,"context_line":"        openstack/python-heatclient"},{"line_number":219,"context_line":"        openstack/python-ironicclient"},{"line_number":220,"context_line":"        openstack/python-keystoneclient"},{"line_number":221,"context_line":"        openstack/python-manilaclient"},{"line_number":222,"context_line":"        openstack/python-zaqarclient"},{"line_number":223,"context_line":"        openstack/python-neutronclient"},{"line_number":224,"context_line":"        openstack/python-novaclient"},{"line_number":225,"context_line":"        openstack/python-openstackclient"},{"line_number":226,"context_line":"        openstack/python-saharaclient"},{"line_number":227,"context_line":"        openstack/python-swiftclient"},{"line_number":228,"context_line":"        openstack/python-troveclient"},{"line_number":229,"context_line":"        openstack/requirements"},{"line_number":230,"context_line":"        openstack/sahara"},{"line_number":231,"context_line":"        openstack/sahara-dashboard"},{"line_number":232,"context_line":"        openstack/stevedore"},{"line_number":233,"context_line":"        openstack/swift"},{"line_number":234,"context_line":"        openstack/taskflow"},{"line_number":235,"context_line":"        openstack/tempest"},{"line_number":236,"context_line":"        openstack/tooz"},{"line_number":237,"context_line":"        openstack/tripleo-heat-templates"},{"line_number":238,"context_line":"        openstack/tripleo-image-elements"},{"line_number":239,"context_line":"        openstack/trove"},{"line_number":240,"context_line":"        openstack/trove-dashboard"},{"line_number":241,"context_line":"    shell: |"},{"line_number":242,"context_line":"          function gate_hook {"},{"line_number":243,"context_line":"              set -x"},{"line_number":244,"context_line":"              bash $BASE/new/devstack-gate/devstack-vm-gate.sh \u0026\u0026 \\"},{"line_number":245,"context_line":"              bash -xe $BASE/new/requirements/tools/integration.sh $(cat $BASE/new/requirements/projects.txt)"},{"line_number":246,"context_line":"          }"},{"line_number":247,"context_line":"          export -f gate_hook"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dfbec78f_6a4625c3","line":247,"range":{"start_line":59,"start_character":2,"end_line":247,"end_character":0},"updated":"2019-05-12 02:33:16.000000000","message":"extra keys not allowed @ data[\u0027shell\u0027]","commit_id":"4a30ba36da50f067a666db8097e03df733e77b3e"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"2d7494896105f886deae5b6bbaa31fde78a79102","unresolved":false,"context_lines":[{"line_number":56,"context_line":"    vars:"},{"line_number":57,"context_line":"      tox_envlist: bindep"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"- job:"},{"line_number":60,"context_line":"    name: requirements-integration"},{"line_number":61,"context_line":"    parent: devstack"},{"line_number":62,"context_line":"    timeout: 7800"},{"line_number":63,"context_line":"    required-projects:"},{"line_number":64,"context_line":"      - openstack/devstack"},{"line_number":65,"context_line":"      - openstack/grenade"},{"line_number":66,"context_line":"      - openstack/pbr"},{"line_number":67,"context_line":"      - openstack/devstack-gate"},{"line_number":68,"context_line":"      - openstack/tripleo-ci"},{"line_number":69,"context_line":"      - openstack/aodh"},{"line_number":70,"context_line":"      - openstack/automaton"},{"line_number":71,"context_line":"      - openstack/ceilometer"},{"line_number":72,"context_line":"      - openstack/ceilometermiddleware"},{"line_number":73,"context_line":"      - openstack/cinder"},{"line_number":74,"context_line":"      - openstack/cliff"},{"line_number":75,"context_line":"      - openstack/debtcollector"},{"line_number":76,"context_line":"      - openstack/dib-utils"},{"line_number":77,"context_line":"      - openstack/diskimage-builder"},{"line_number":78,"context_line":"      - openstack/django_openstack_auth"},{"line_number":79,"context_line":"      - openstack/futurist"},{"line_number":80,"context_line":"      - openstack/glance"},{"line_number":81,"context_line":"      - openstack/glance_store"},{"line_number":82,"context_line":"      - openstack/heat"},{"line_number":83,"context_line":"      - openstack/heat-cfntools"},{"line_number":84,"context_line":"      - openstack/heat-templates"},{"line_number":85,"context_line":"      - openstack/horizon"},{"line_number":86,"context_line":"      - openstack/ironic"},{"line_number":87,"context_line":"      - openstack/ironic-lib"},{"line_number":88,"context_line":"      - openstack/ironic-python-agent"},{"line_number":89,"context_line":"      - openstack/keystone"},{"line_number":90,"context_line":"      - openstack/keystoneauth"},{"line_number":91,"context_line":"      - openstack/keystonemiddleware"},{"line_number":92,"context_line":"      - openstack/manila"},{"line_number":93,"context_line":"      - openstack/manila-ui"},{"line_number":94,"context_line":"      - openstack/neutron"},{"line_number":95,"context_line":"      - openstack/neutron-fwaas"},{"line_number":96,"context_line":"      - openstack/neutron-lbaas"},{"line_number":97,"context_line":"      - openstack/neutron-vpnaas"},{"line_number":98,"context_line":"      - openstack/nova"},{"line_number":99,"context_line":"      - openstack/octavia"},{"line_number":100,"context_line":"      - openstack/os-apply-config"},{"line_number":101,"context_line":"      - openstack/os-brick"},{"line_number":102,"context_line":"      - openstack/os-client-config"},{"line_number":103,"context_line":"      - openstack/os-collect-config"},{"line_number":104,"context_line":"      - openstack/os-net-config"},{"line_number":105,"context_line":"      - openstack/os-refresh-config"},{"line_number":106,"context_line":"      - openstack/osc-lib"},{"line_number":107,"context_line":"      - openstack/oslo.cache"},{"line_number":108,"context_line":"      - openstack/oslo.concurrency"},{"line_number":109,"context_line":"      - openstack/oslo.config"},{"line_number":110,"context_line":"      - openstack/oslo.context"},{"line_number":111,"context_line":"      - openstack/oslo.db"},{"line_number":112,"context_line":"      - openstack/oslo.i18n"},{"line_number":113,"context_line":"      - openstack/oslo.log"},{"line_number":114,"context_line":"      - openstack/oslo.messaging"},{"line_number":115,"context_line":"      - openstack/oslo.middleware"},{"line_number":116,"context_line":"      - openstack/oslo.policy"},{"line_number":117,"context_line":"      - openstack/oslo.reports"},{"line_number":118,"context_line":"      - openstack/oslo.rootwrap"},{"line_number":119,"context_line":"      - openstack/oslo.serialization"},{"line_number":120,"context_line":"      - openstack/oslo.service"},{"line_number":121,"context_line":"      - openstack/oslo.utils"},{"line_number":122,"context_line":"      - openstack/oslo.versionedobjects"},{"line_number":123,"context_line":"      - openstack/oslo.vmware"},{"line_number":124,"context_line":"      - openstack/pycadf"},{"line_number":125,"context_line":"      - openstack/python-cinderclient"},{"line_number":126,"context_line":"      - openstack/python-glanceclient"},{"line_number":127,"context_line":"      - openstack/python-heatclient"},{"line_number":128,"context_line":"      - openstack/python-ironicclient"},{"line_number":129,"context_line":"      - openstack/python-keystoneclient"},{"line_number":130,"context_line":"      - openstack/python-manilaclient"},{"line_number":131,"context_line":"      - openstack/python-neutronclient"},{"line_number":132,"context_line":"      - openstack/python-novaclient"},{"line_number":133,"context_line":"      - openstack/python-openstackclient"},{"line_number":134,"context_line":"      - openstack/python-saharaclient"},{"line_number":135,"context_line":"      - openstack/python-swiftclient"},{"line_number":136,"context_line":"      - openstack/python-troveclient"},{"line_number":137,"context_line":"      - openstack/python-zaqarclient"},{"line_number":138,"context_line":"      - openstack/requirements"},{"line_number":139,"context_line":"      - openstack/sahara"},{"line_number":140,"context_line":"      - openstack/sahara-dashboard"},{"line_number":141,"context_line":"      - openstack/stevedore"},{"line_number":142,"context_line":"      - openstack/swift"},{"line_number":143,"context_line":"      - openstack/taskflow"},{"line_number":144,"context_line":"      - openstack/tempest"},{"line_number":145,"context_line":"      - openstack/tooz"},{"line_number":146,"context_line":"      - openstack/tripleo-heat-templates"},{"line_number":147,"context_line":"      - openstack/tripleo-image-elements"},{"line_number":148,"context_line":"      - openstack/trove"},{"line_number":149,"context_line":"      - openstack/trove-dashboard"},{"line_number":150,"context_line":"      - openstack/zaqar"},{"line_number":151,"context_line":"    vars:"},{"line_number":152,"context_line":"      PROJECTS: \u003e"},{"line_number":153,"context_line":"        { PROJECTS }"},{"line_number":154,"context_line":"        openstack/devstack-gate"},{"line_number":155,"context_line":"        openstack/devstack"},{"line_number":156,"context_line":"        openstack/grenade"},{"line_number":157,"context_line":"        openstack/pbr"},{"line_number":158,"context_line":"        openstack/tripleo-ci"},{"line_number":159,"context_line":"        openstack/aodh"},{"line_number":160,"context_line":"        openstack/automaton"},{"line_number":161,"context_line":"        openstack/ceilometer"},{"line_number":162,"context_line":"        openstack/ceilometermiddleware"},{"line_number":163,"context_line":"        openstack/cinder"},{"line_number":164,"context_line":"        openstack/cliff"},{"line_number":165,"context_line":"        openstack/debtcollector"},{"line_number":166,"context_line":"        openstack/dib-utils"},{"line_number":167,"context_line":"        openstack/diskimage-builder"},{"line_number":168,"context_line":"        openstack/django_openstack_auth"},{"line_number":169,"context_line":"        openstack/futurist"},{"line_number":170,"context_line":"        openstack/glance"},{"line_number":171,"context_line":"        openstack/glance_store"},{"line_number":172,"context_line":"        openstack/heat"},{"line_number":173,"context_line":"        openstack/heat-cfntools"},{"line_number":174,"context_line":"        openstack/heat-templates"},{"line_number":175,"context_line":"        openstack/horizon"},{"line_number":176,"context_line":"        openstack/ironic"},{"line_number":177,"context_line":"        openstack/ironic-lib"},{"line_number":178,"context_line":"        openstack/ironic-python-agent"},{"line_number":179,"context_line":"        openstack/keystone"},{"line_number":180,"context_line":"        openstack/keystoneauth"},{"line_number":181,"context_line":"        openstack/keystonemiddleware"},{"line_number":182,"context_line":"        openstack/manila"},{"line_number":183,"context_line":"        openstack/manila-ui"},{"line_number":184,"context_line":"        openstack/zaqar"},{"line_number":185,"context_line":"        openstack/neutron"},{"line_number":186,"context_line":"        openstack/neutron-fwaas"},{"line_number":187,"context_line":"        openstack/neutron-lbaas"},{"line_number":188,"context_line":"        openstack/octavia"},{"line_number":189,"context_line":"        openstack/neutron-vpnaas"},{"line_number":190,"context_line":"        openstack/nova"},{"line_number":191,"context_line":"        openstack/os-apply-config"},{"line_number":192,"context_line":"        openstack/os-brick"},{"line_number":193,"context_line":"        openstack/os-client-config"},{"line_number":194,"context_line":"        openstack/os-collect-config"},{"line_number":195,"context_line":"        openstack/os-net-config"},{"line_number":196,"context_line":"        openstack/os-refresh-config"},{"line_number":197,"context_line":"        openstack/osc-lib"},{"line_number":198,"context_line":"        openstack/oslo.cache"},{"line_number":199,"context_line":"        openstack/oslo.concurrency"},{"line_number":200,"context_line":"        openstack/oslo.config"},{"line_number":201,"context_line":"        openstack/oslo.context"},{"line_number":202,"context_line":"        openstack/oslo.db"},{"line_number":203,"context_line":"        openstack/oslo.i18n"},{"line_number":204,"context_line":"        openstack/oslo.log"},{"line_number":205,"context_line":"        openstack/oslo.messaging"},{"line_number":206,"context_line":"        openstack/oslo.middleware"},{"line_number":207,"context_line":"        openstack/oslo.policy"},{"line_number":208,"context_line":"        openstack/oslo.reports"},{"line_number":209,"context_line":"        openstack/oslo.rootwrap"},{"line_number":210,"context_line":"        openstack/oslo.utils"},{"line_number":211,"context_line":"        openstack/oslo.serialization"},{"line_number":212,"context_line":"        openstack/oslo.service"},{"line_number":213,"context_line":"        openstack/oslo.versionedobjects"},{"line_number":214,"context_line":"        openstack/oslo.vmware"},{"line_number":215,"context_line":"        openstack/pycadf"},{"line_number":216,"context_line":"        openstack/python-cinderclient"},{"line_number":217,"context_line":"        openstack/python-glanceclient"},{"line_number":218,"context_line":"        openstack/python-heatclient"},{"line_number":219,"context_line":"        openstack/python-ironicclient"},{"line_number":220,"context_line":"        openstack/python-keystoneclient"},{"line_number":221,"context_line":"        openstack/python-manilaclient"},{"line_number":222,"context_line":"        openstack/python-zaqarclient"},{"line_number":223,"context_line":"        openstack/python-neutronclient"},{"line_number":224,"context_line":"        openstack/python-novaclient"},{"line_number":225,"context_line":"        openstack/python-openstackclient"},{"line_number":226,"context_line":"        openstack/python-saharaclient"},{"line_number":227,"context_line":"        openstack/python-swiftclient"},{"line_number":228,"context_line":"        openstack/python-troveclient"},{"line_number":229,"context_line":"        openstack/requirements"},{"line_number":230,"context_line":"        openstack/sahara"},{"line_number":231,"context_line":"        openstack/sahara-dashboard"},{"line_number":232,"context_line":"        openstack/stevedore"},{"line_number":233,"context_line":"        openstack/swift"},{"line_number":234,"context_line":"        openstack/taskflow"},{"line_number":235,"context_line":"        openstack/tempest"},{"line_number":236,"context_line":"        openstack/tooz"},{"line_number":237,"context_line":"        openstack/tripleo-heat-templates"},{"line_number":238,"context_line":"        openstack/tripleo-image-elements"},{"line_number":239,"context_line":"        openstack/trove"},{"line_number":240,"context_line":"        openstack/trove-dashboard"},{"line_number":241,"context_line":"    shell: |"},{"line_number":242,"context_line":"          function gate_hook {"},{"line_number":243,"context_line":"              set -x"},{"line_number":244,"context_line":"              bash $BASE/new/devstack-gate/devstack-vm-gate.sh \u0026\u0026 \\"},{"line_number":245,"context_line":"              bash -xe $BASE/new/requirements/tools/integration.sh $(cat $BASE/new/requirements/projects.txt)"},{"line_number":246,"context_line":"          }"},{"line_number":247,"context_line":"          export -f gate_hook"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"dfbec78f_7cce0583","line":247,"range":{"start_line":59,"start_character":2,"end_line":247,"end_character":0},"updated":"2019-05-10 15:20:21.000000000","message":"extra keys not allowed @ data[\u0027shell\u0027]","commit_id":"4a30ba36da50f067a666db8097e03df733e77b3e"}]}
