)]}'
{".zuul.d/rally-tox-functional-py3.yaml":[{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"b9ce1f6059e1c60a9ab9aab049e8396612c955f4","unresolved":false,"context_lines":[{"line_number":1,"context_line":"- job:\r"},{"line_number":2,"context_line":"    name: rally-dsvm-tox-functional-py3\r"},{"line_number":3,"context_line":"    parent: devstack\r"},{"line_number":4,"context_line":"    description:\r"},{"line_number":5,"context_line":"      Run functional test for rally-openstack project.\r"},{"line_number":6,"context_line":"      Uses tox with the ``functional`` environment.\r"},{"line_number":7,"context_line":"    required-projects:\r"},{"line_number":8,"context_line":"      - name: openstack-dev/devstack\r"},{"line_number":9,"context_line":"      - name: openstack-infra/devstack-gate\r"},{"line_number":10,"context_line":"      - name: openstack/rally-openstack\r"},{"line_number":11,"context_line":"      # NOTE(andreykurilin): it is a required project to fetch the latest\r"},{"line_number":12,"context_line":"      #   version and test master of rally-openstack with master of rally\r"},{"line_number":13,"context_line":"      - name: openstack/rally\r"},{"line_number":14,"context_line":"    timeout: 7200\r"},{"line_number":15,"context_line":"    roles:\r"},{"line_number":16,"context_line":"      - zuul: openstack-dev/devstack\r"},{"line_number":17,"context_line":"    vars:\r"},{"line_number":18,"context_line":"      devstack_plugins:\r"},{"line_number":19,"context_line":"        rally-openstack: https://git.openstack.org/openstack/rally-openstack\r"},{"line_number":20,"context_line":"      devstack_localrc:\r"},{"line_number":21,"context_line":"        USE_PYTHON3: true\r"},{"line_number":22,"context_line":"      rally_tox_env: \"functional\"\r"},{"line_number":23,"context_line":"    run: tests/ci/playbooks/run-rally-tox.yaml\r"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7faddb67_0db043f4","line":23,"range":{"start_line":1,"start_character":2,"end_line":23,"end_character":0},"updated":"2019-07-08 13:15:58.000000000","message":"Unknown project openstack-dev/devstack","commit_id":"cb1205abd777fae25c702fc779ef4627c90d9ca3"},{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"8b892dca3879b0576c58c515b5b5209becb5917e","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    vars:\r"},{"line_number":18,"context_line":"      devstack_plugins:\r"},{"line_number":19,"context_line":"        rally-openstack: https://opendev.org/openstack/rally-openstack \r"},{"line_number":20,"context_line":"      devstack_localrc:\r"},{"line_number":21,"context_line":"        USE_PYTHON3: true\r"},{"line_number":22,"context_line":"      rally_tox_env: \"functional\"\r"},{"line_number":23,"context_line":"    run: tests/ci/playbooks/run-rally-tox.yaml\r"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"7faddb67_4dd4d4bd","line":22,"range":{"start_line":20,"start_character":6,"end_line":22,"end_character":33},"updated":"2019-07-10 10:58:26.000000000","message":"This makes only devstack running under Python3 and functional tests are still executed with python2.7[1][2].\n\nAlso, I do not see any reasons for having 2 separate jobs. Since Python 2.7 EOL soon, I prefer to adopt the current functional job to use python3 (update job and tox configurations)\n\n[1] https://github.com/openstack/rally-openstack/blob/1.5.0/tox.ini#L58 (no overrides for base python)\n[2] https://github.com/openstack/rally-openstack/blob/1.5.0/tox.ini#L26","commit_id":"83ee2182e9945e2c56bdc765e7df3c51a37033b8"}],".zuul.d/zuul.yaml":[{"author":{"_account_id":26109,"name":"Aakarsh","email":"aakarsh.g2012@gmail.com","username":"agopi"},"change_message_id":"d0472f0c9e4bca1455b39fe7caabd5a002926345","unresolved":false,"context_lines":[{"line_number":81,"context_line":"        - rally-tox-py37"},{"line_number":82,"context_line":"        - rally-tox-cover"},{"line_number":83,"context_line":"        - rally-dsvm-tox-functional"},{"line_number":84,"context_line":"        - rally-dsvm-tox-functional-py3"},{"line_number":85,"context_line":"            voting: false"},{"line_number":86,"context_line":"        - rally-docker-check"},{"line_number":87,"context_line":"        - rally-task-simple-job"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fdfeff1_78626c40","line":84,"updated":"2019-02-13 16:08:24.000000000","message":"\u0027:\u0027 is missing","commit_id":"e2b1f58bba0cc015e7a10d30359da2e56f7ad260"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"2c962e1cf77174e9f8a34ddbc833e3e070d60502","unresolved":false,"context_lines":[{"line_number":9,"context_line":"      coverage_output_src: \u0027{{ zuul.project.src_dir }}/cover/\u0027"},{"line_number":10,"context_line":"      zuul_executor_dest: \u0027{{ zuul.executor.log_root }}/coverage/\u0027"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- project:"},{"line_number":13,"context_line":"    check:"},{"line_number":14,"context_line":"      jobs:"},{"line_number":15,"context_line":"        - rally-tox-pep8"},{"line_number":16,"context_line":"        - rally-tox-py27"},{"line_number":17,"context_line":"        - rally-tox-py35"},{"line_number":18,"context_line":"        - rally-tox-py36"},{"line_number":19,"context_line":"        - rally-tox-py37"},{"line_number":20,"context_line":"        - rally-tox-cover"},{"line_number":21,"context_line":"        - rally-dsvm-tox-functional"},{"line_number":22,"context_line":"        - rally-dsvm-tox-functional-py3:"},{"line_number":23,"context_line":"            voting: false"},{"line_number":24,"context_line":"        - rally-docker-check"},{"line_number":25,"context_line":"        - rally-task-simple-job"},{"line_number":26,"context_line":"        - rally-task-basic-with-existing-users:"},{"line_number":27,"context_line":"            # use_existing_users key did not trigger proper ansible tasks"},{"line_number":28,"context_line":"            voting: false"},{"line_number":29,"context_line":"        - rally-task-barbican:"},{"line_number":30,"context_line":"            voting: false"},{"line_number":31,"context_line":"        - rally-task-cinder"},{"line_number":32,"context_line":"        # NOTE(andreykurilin): this requires more thing to configure before"},{"line_number":33,"context_line":"        #   launching."},{"line_number":34,"context_line":"        #- rally-task-designate"},{"line_number":35,"context_line":"        - rally-task-heat:"},{"line_number":36,"context_line":"            voting: false"},{"line_number":37,"context_line":"        - rally-task-ironic"},{"line_number":38,"context_line":"        - rally-task-keystone-glance-swift"},{"line_number":39,"context_line":"        - rally-task-load-balancing:"},{"line_number":40,"context_line":"            voting: false"},{"line_number":41,"context_line":"        - rally-task-magnum:"},{"line_number":42,"context_line":"            voting: false"},{"line_number":43,"context_line":"            files:"},{"line_number":44,"context_line":"              - rally-jobs/magnum.yaml"},{"line_number":45,"context_line":"              - rally_openstack/cleanup/resources.py"},{"line_number":46,"context_line":"              - rally_openstack/contexts/magnum"},{"line_number":47,"context_line":"              - rally_openstack/scenarios/magnum"},{"line_number":48,"context_line":"              - rally_openstack/osclients.py"},{"line_number":49,"context_line":"        # NOTE(andreykurilin): manila requires some specific configuration."},{"line_number":50,"context_line":"        #   Calling special hook can help."},{"line_number":51,"context_line":"        # https://github.com/openstack/manila/blob/master/playbooks/legacy/rally-dsvm-manila-multibackend/run.yaml"},{"line_number":52,"context_line":"        #- rally-task-manila"},{"line_number":53,"context_line":"        #- rally-task-manila-no-ss"},{"line_number":54,"context_line":"        - rally-task-mistral"},{"line_number":55,"context_line":"        # it did not work for a long time. try to re-configure it"},{"line_number":56,"context_line":"        #- rally-task-monasca"},{"line_number":57,"context_line":"        - rally-task-murano"},{"line_number":58,"context_line":"        - rally-task-neutron"},{"line_number":59,"context_line":"        - rally-task-neutron-trunk:"},{"line_number":60,"context_line":"            files:"},{"line_number":61,"context_line":"              - rally-jobs/neutron-trunk.yaml"},{"line_number":62,"context_line":"              - rally_openstack/scenarios/neutron/trunk.py"},{"line_number":63,"context_line":"              - rally_openstack/scenarios/neutron/network.py"},{"line_number":64,"context_line":"        - rally-task-neutron-with-extensions:"},{"line_number":65,"context_line":"            voting: false"},{"line_number":66,"context_line":"        - rally-task-nova:"},{"line_number":67,"context_line":"            voting: false"},{"line_number":68,"context_line":"        # it did not work for a long time"},{"line_number":69,"context_line":"        #- rally-task-senlin"},{"line_number":70,"context_line":"        - rally-task-telemetry"},{"line_number":71,"context_line":"        - rally-task-watcher:"},{"line_number":72,"context_line":"            # watcher-api did not start last time"},{"line_number":73,"context_line":"            voting: false"},{"line_number":74,"context_line":"        - rally-task-zaqar"},{"line_number":75,"context_line":"    gate:"},{"line_number":76,"context_line":"      jobs:"},{"line_number":77,"context_line":"        - rally-tox-pep8"},{"line_number":78,"context_line":"        - rally-tox-py27"},{"line_number":79,"context_line":"        - rally-tox-py35"},{"line_number":80,"context_line":"        - rally-tox-py36"},{"line_number":81,"context_line":"        - rally-tox-py37"},{"line_number":82,"context_line":"        - rally-tox-cover"},{"line_number":83,"context_line":"        - rally-dsvm-tox-functional"},{"line_number":84,"context_line":"        - rally-dsvm-tox-functional-py3:"},{"line_number":85,"context_line":"            voting: false"},{"line_number":86,"context_line":"        - rally-docker-check"},{"line_number":87,"context_line":"        - rally-task-simple-job"},{"line_number":88,"context_line":"        - rally-task-cinder"},{"line_number":89,"context_line":"        #- rally-task-heat"},{"line_number":90,"context_line":"        - rally-task-ironic"},{"line_number":91,"context_line":"        - rally-task-keystone-glance-swift"},{"line_number":92,"context_line":"        - rally-task-mistral"},{"line_number":93,"context_line":"        - rally-task-murano"},{"line_number":94,"context_line":"        - rally-task-neutron"},{"line_number":95,"context_line":"        - rally-task-telemetry"},{"line_number":96,"context_line":"        - rally-task-zaqar"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fdfeff1_182240ba","line":96,"range":{"start_line":12,"start_character":2,"end_line":96,"end_character":0},"updated":"2019-02-13 16:16:53.000000000","message":"Job rally-dsvm-tox-functional-py3 not defined","commit_id":"866c7cafe7140d59835c225c35823d520d3152a2"},{"author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"change_message_id":"b9ce1f6059e1c60a9ab9aab049e8396612c955f4","unresolved":false,"context_lines":[{"line_number":9,"context_line":"      coverage_output_src: \u0027{{ zuul.project.src_dir }}/cover/\u0027"},{"line_number":10,"context_line":"      zuul_executor_dest: \u0027{{ zuul.executor.log_root }}/coverage/\u0027"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"- project:"},{"line_number":13,"context_line":"    check:"},{"line_number":14,"context_line":"      jobs:"},{"line_number":15,"context_line":"        - rally-tox-pep8"},{"line_number":16,"context_line":"        - rally-tox-py27"},{"line_number":17,"context_line":"        - rally-tox-py35"},{"line_number":18,"context_line":"        - rally-tox-py36"},{"line_number":19,"context_line":"        - rally-tox-py37"},{"line_number":20,"context_line":"        - rally-tox-cover"},{"line_number":21,"context_line":"        - rally-dsvm-tox-functional"},{"line_number":22,"context_line":"        - rally-dsvm-tox-functional-py3:"},{"line_number":23,"context_line":"            voting: false"},{"line_number":24,"context_line":"        - rally-docker-check"},{"line_number":25,"context_line":"        - rally-task-simple-job"},{"line_number":26,"context_line":"        - rally-task-basic-with-existing-users:"},{"line_number":27,"context_line":"            # use_existing_users key did not trigger proper ansible tasks"},{"line_number":28,"context_line":"            voting: false"},{"line_number":29,"context_line":"        - rally-task-barbican:"},{"line_number":30,"context_line":"            voting: false"},{"line_number":31,"context_line":"        - rally-task-cinder"},{"line_number":32,"context_line":"        # NOTE(andreykurilin): this requires more thing to configure before"},{"line_number":33,"context_line":"        #   launching."},{"line_number":34,"context_line":"        #- rally-task-designate"},{"line_number":35,"context_line":"        - rally-task-heat:"},{"line_number":36,"context_line":"            voting: false"},{"line_number":37,"context_line":"        - rally-task-ironic"},{"line_number":38,"context_line":"        - rally-task-keystone-glance-swift"},{"line_number":39,"context_line":"        - rally-task-octavia"},{"line_number":40,"context_line":"        - rally-task-magnum:"},{"line_number":41,"context_line":"            voting: false"},{"line_number":42,"context_line":"            files:"},{"line_number":43,"context_line":"              - rally-jobs/magnum.yaml"},{"line_number":44,"context_line":"              - rally_openstack/cleanup/resources.py"},{"line_number":45,"context_line":"              - rally_openstack/contexts/magnum"},{"line_number":46,"context_line":"              - rally_openstack/scenarios/magnum"},{"line_number":47,"context_line":"              - rally_openstack/osclients.py"},{"line_number":48,"context_line":"        # NOTE(andreykurilin): manila requires some specific configuration."},{"line_number":49,"context_line":"        #   Calling special hook can help."},{"line_number":50,"context_line":"        # https://github.com/openstack/manila/blob/master/playbooks/legacy/rally-dsvm-manila-multibackend/run.yaml"},{"line_number":51,"context_line":"        #- rally-task-manila"},{"line_number":52,"context_line":"        #- rally-task-manila-no-ss"},{"line_number":53,"context_line":"        - rally-task-mistral"},{"line_number":54,"context_line":"        # it did not work for a long time. try to re-configure it"},{"line_number":55,"context_line":"        #- rally-task-monasca"},{"line_number":56,"context_line":"        - rally-task-murano"},{"line_number":57,"context_line":"        - rally-task-neutron"},{"line_number":58,"context_line":"        - rally-task-neutron-trunk:"},{"line_number":59,"context_line":"            files:"},{"line_number":60,"context_line":"              - rally-jobs/neutron-trunk.yaml"},{"line_number":61,"context_line":"              - rally_openstack/scenarios/neutron/trunk.py"},{"line_number":62,"context_line":"              - rally_openstack/scenarios/neutron/network.py"},{"line_number":63,"context_line":"        - rally-task-neutron-with-extensions:"},{"line_number":64,"context_line":"            voting: false"},{"line_number":65,"context_line":"        - rally-task-nova:"},{"line_number":66,"context_line":"            voting: false"},{"line_number":67,"context_line":"        # it did not work for a long time"},{"line_number":68,"context_line":"        #- rally-task-senlin"},{"line_number":69,"context_line":"        - rally-task-telemetry"},{"line_number":70,"context_line":"        - rally-task-watcher:"},{"line_number":71,"context_line":"            # watcher-api did not start last time"},{"line_number":72,"context_line":"            voting: false"},{"line_number":73,"context_line":"        - rally-task-zaqar"},{"line_number":74,"context_line":"        - rally-verify-tempest"},{"line_number":75,"context_line":"    gate:"},{"line_number":76,"context_line":"      jobs:"},{"line_number":77,"context_line":"        - rally-tox-pep8"},{"line_number":78,"context_line":"        - rally-tox-py27"},{"line_number":79,"context_line":"        - rally-tox-py35"},{"line_number":80,"context_line":"        - rally-tox-py36"},{"line_number":81,"context_line":"        - rally-tox-py37"},{"line_number":82,"context_line":"        - rally-tox-cover"},{"line_number":83,"context_line":"        - rally-dsvm-tox-functional"},{"line_number":84,"context_line":"        - rally-dsvm-tox-functional-py3:"},{"line_number":85,"context_line":"            voting: false"},{"line_number":86,"context_line":"        - rally-docker-check"},{"line_number":87,"context_line":"        - rally-task-simple-job"},{"line_number":88,"context_line":"        - rally-task-cinder"},{"line_number":89,"context_line":"        #- rally-task-heat"},{"line_number":90,"context_line":"        - rally-task-ironic"},{"line_number":91,"context_line":"        - rally-task-keystone-glance-swift"},{"line_number":92,"context_line":"        - rally-task-octavia"},{"line_number":93,"context_line":"        - rally-task-mistral"},{"line_number":94,"context_line":"        - rally-task-murano"},{"line_number":95,"context_line":"        - rally-task-neutron"},{"line_number":96,"context_line":"        - rally-task-telemetry"},{"line_number":97,"context_line":"        - rally-task-zaqar"},{"line_number":98,"context_line":"        - rally-verify-tempest"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"7faddb67_ad948f45","line":98,"range":{"start_line":12,"start_character":2,"end_line":98,"end_character":0},"updated":"2019-07-08 13:15:58.000000000","message":"Job rally-dsvm-tox-functional-py3 not defined","commit_id":"cb1205abd777fae25c702fc779ef4627c90d9ca3"}]}
