)]}'
{"jenkins/jobs/projects.yaml":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"fbaa2af704927496c09a1a377bcd1a40b56ca637","unresolved":false,"context_lines":[{"line_number":8423,"context_line":"          envlist:"},{"line_number":8424,"context_line":"            - functional-py35"},{"line_number":8425,"context_line":"          node:"},{"line_number":8426,"context_line":"            - ubuntu-trusty"},{"line_number":8427,"context_line":"            - ubuntu-xenial"},{"line_number":8428,"context_line":"      - periodic-python-jobs-with-oslo-master"},{"line_number":8429,"context_line":"      - api-guide-jobs:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_aa68cebb","line":8426,"range":{"start_line":8426,"start_character":8,"end_line":8426,"end_character":27},"updated":"2016-12-13 11:40:11.000000000","message":"py35 is xenial only, remove trusty","commit_id":"ef275c6871bfbffa3d74ea29e7310c039f3cf5c8"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"732bc7d1cef74ae62ca7b7ac5bde95be00411ec2","unresolved":false,"context_lines":[{"line_number":8423,"context_line":"          envlist:"},{"line_number":8424,"context_line":"            - functional-py35"},{"line_number":8425,"context_line":"          node:"},{"line_number":8426,"context_line":"            - ubuntu-trusty"},{"line_number":8427,"context_line":"            - ubuntu-xenial"},{"line_number":8428,"context_line":"      - periodic-python-jobs-with-oslo-master"},{"line_number":8429,"context_line":"      - api-guide-jobs:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_6cab3175","line":8426,"range":{"start_line":8426,"start_character":8,"end_line":8426,"end_character":27},"in_reply_to":"1a6eadb0_aa68cebb","updated":"2016-12-13 12:57:19.000000000","message":"Done","commit_id":"ef275c6871bfbffa3d74ea29e7310c039f3cf5c8"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4fd62d8e24ba7add6bb349375a3a84bdec09abf7","unresolved":false,"context_lines":[{"line_number":8420,"context_line":"            - ubuntu-trusty"},{"line_number":8421,"context_line":"            - ubuntu-xenial"},{"line_number":8422,"context_line":"      - gate-{name}-tox-db-{envlist}-{node}-nv:"},{"line_number":8423,"context_line":"          envlist:"},{"line_number":8424,"context_line":"            - functional-py35"},{"line_number":8425,"context_line":"          node:"},{"line_number":8426,"context_line":"            - ubuntu-xenial"},{"line_number":8427,"context_line":"      - periodic-python-jobs-with-oslo-master"},{"line_number":8428,"context_line":"      - api-guide-jobs:"},{"line_number":8429,"context_line":"          service: compute"}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba5201f7_6f9dad09","line":8426,"range":{"start_line":8423,"start_character":10,"end_line":8426,"end_character":27},"updated":"2017-01-04 20:19:30.000000000","message":"don\u0027t use a list, use just\n\n\"node: ubuntu-xenial\"","commit_id":"3fef197446901337cb5afb7211dea23792d3a994"}],"jenkins/jobs/python-jobs.yaml":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"fbaa2af704927496c09a1a377bcd1a40b56ca637","unresolved":false,"context_lines":[{"line_number":624,"context_line":"      - console-log"},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"- job-template:"},{"line_number":627,"context_line":"    name: \u0027gate-{name}-tox-db-{envlist}-{node}-nv\u0027"},{"line_number":628,"context_line":"    description: \u0027Same job as gate-{name}-tox-db-{envlist}-nv but on node {node}\u0027"},{"line_number":629,"context_line":"    node: \u0027{node}\u0027"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    wrappers:"},{"line_number":632,"context_line":"      - build-timeout:"},{"line_number":633,"context_line":"          timeout: 40"},{"line_number":634,"context_line":"      - timestamps"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"    builders:"},{"line_number":637,"context_line":"      - print-template-name:"},{"line_number":638,"context_line":"          template-name: \"{template-name}\""},{"line_number":639,"context_line":"      - zuul-git-prep-upper-constraints"},{"line_number":640,"context_line":"      - install-distro-packages"},{"line_number":641,"context_line":"      - mysql-prep"},{"line_number":642,"context_line":"      - pgsql-prep"},{"line_number":643,"context_line":"      - mysql-db:"},{"line_number":644,"context_line":"          db_name: openstack_citest"},{"line_number":645,"context_line":"      - pgsql-db:"},{"line_number":646,"context_line":"          db_name: openstack_citest"},{"line_number":647,"context_line":"      - revoke-sudo"},{"line_number":648,"context_line":"      - run-tox:"},{"line_number":649,"context_line":"          envlist: \u0027{envlist}\u0027"},{"line_number":650,"context_line":"      - assert-no-extra-files"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    publishers:"},{"line_number":653,"context_line":"      - test-results"},{"line_number":654,"context_line":"      - console-log"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"- job-template:"},{"line_number":657,"context_line":"    name: \u0027{name}-tarball\u0027"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_8aaa32d3","line":654,"range":{"start_line":627,"start_character":0,"end_line":654,"end_character":19},"updated":"2016-12-13 11:40:11.000000000","message":"why do you need this one at all? Just for -nv?\n\nLet\u0027s not duplicate further...","commit_id":"ef275c6871bfbffa3d74ea29e7310c039f3cf5c8"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"732bc7d1cef74ae62ca7b7ac5bde95be00411ec2","unresolved":false,"context_lines":[{"line_number":624,"context_line":"      - console-log"},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"- job-template:"},{"line_number":627,"context_line":"    name: \u0027gate-{name}-tox-db-{envlist}-{node}-nv\u0027"},{"line_number":628,"context_line":"    description: \u0027Same job as gate-{name}-tox-db-{envlist}-nv but on node {node}\u0027"},{"line_number":629,"context_line":"    node: \u0027{node}\u0027"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    wrappers:"},{"line_number":632,"context_line":"      - build-timeout:"},{"line_number":633,"context_line":"          timeout: 40"},{"line_number":634,"context_line":"      - timestamps"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"    builders:"},{"line_number":637,"context_line":"      - print-template-name:"},{"line_number":638,"context_line":"          template-name: \"{template-name}\""},{"line_number":639,"context_line":"      - zuul-git-prep-upper-constraints"},{"line_number":640,"context_line":"      - install-distro-packages"},{"line_number":641,"context_line":"      - mysql-prep"},{"line_number":642,"context_line":"      - pgsql-prep"},{"line_number":643,"context_line":"      - mysql-db:"},{"line_number":644,"context_line":"          db_name: openstack_citest"},{"line_number":645,"context_line":"      - pgsql-db:"},{"line_number":646,"context_line":"          db_name: openstack_citest"},{"line_number":647,"context_line":"      - revoke-sudo"},{"line_number":648,"context_line":"      - run-tox:"},{"line_number":649,"context_line":"          envlist: \u0027{envlist}\u0027"},{"line_number":650,"context_line":"      - assert-no-extra-files"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    publishers:"},{"line_number":653,"context_line":"      - test-results"},{"line_number":654,"context_line":"      - console-log"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"- job-template:"},{"line_number":657,"context_line":"    name: \u0027{name}-tarball\u0027"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_ac30e957","line":654,"range":{"start_line":627,"start_character":0,"end_line":654,"end_character":19},"in_reply_to":"1a6eadb0_8aaa32d3","updated":"2016-12-13 12:57:19.000000000","message":"yes, just for -nv","commit_id":"ef275c6871bfbffa3d74ea29e7310c039f3cf5c8"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"4fd62d8e24ba7add6bb349375a3a84bdec09abf7","unresolved":false,"context_lines":[{"line_number":624,"context_line":"      - console-log"},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"- job-template:"},{"line_number":627,"context_line":"    name: \u0027gate-{name}-tox-db-{envlist}-{node}-nv\u0027"},{"line_number":628,"context_line":"    description: \u0027Same job as gate-{name}-tox-db-{envlist}-nv but on node {node}\u0027"},{"line_number":629,"context_line":"    node: \u0027{node}\u0027"},{"line_number":630,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"ba5201f7_ef919df2","line":627,"range":{"start_line":627,"start_character":7,"end_line":627,"end_character":50},"updated":"2017-01-04 20:19:30.000000000","message":"let\u0027s use the non-nv job instead and make that non-voting","commit_id":"3fef197446901337cb5afb7211dea23792d3a994"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"20e59fba689f7d88455d1304e156d42e23945a74","unresolved":false,"context_lines":[{"line_number":624,"context_line":"      - console-log"},{"line_number":625,"context_line":""},{"line_number":626,"context_line":"- job-template:"},{"line_number":627,"context_line":"    name: \u0027gate-{name}-tox-db-{envlist}-{node}-nv\u0027"},{"line_number":628,"context_line":"    description: \u0027Same job as gate-{name}-tox-db-{envlist}-nv but on node {node}\u0027"},{"line_number":629,"context_line":"    node: \u0027{node}\u0027"},{"line_number":630,"context_line":""},{"line_number":631,"context_line":"    wrappers:"},{"line_number":632,"context_line":"      - build-timeout:"},{"line_number":633,"context_line":"          timeout: 40"},{"line_number":634,"context_line":"      - timestamps"},{"line_number":635,"context_line":""},{"line_number":636,"context_line":"    builders:"},{"line_number":637,"context_line":"      - print-template-name:"},{"line_number":638,"context_line":"          template-name: \"{template-name}\""},{"line_number":639,"context_line":"      - zuul-git-prep-upper-constraints"},{"line_number":640,"context_line":"      - install-distro-packages"},{"line_number":641,"context_line":"      - mysql-prep"},{"line_number":642,"context_line":"      - pgsql-prep"},{"line_number":643,"context_line":"      - mysql-db:"},{"line_number":644,"context_line":"          db_name: openstack_citest"},{"line_number":645,"context_line":"      - pgsql-db:"},{"line_number":646,"context_line":"          db_name: openstack_citest"},{"line_number":647,"context_line":"      - revoke-sudo"},{"line_number":648,"context_line":"      - run-tox:"},{"line_number":649,"context_line":"          envlist: \u0027{envlist}\u0027"},{"line_number":650,"context_line":"      - assert-no-extra-files"},{"line_number":651,"context_line":""},{"line_number":652,"context_line":"    publishers:"},{"line_number":653,"context_line":"      - test-results"},{"line_number":654,"context_line":"      - console-log"},{"line_number":655,"context_line":""},{"line_number":656,"context_line":"- job-template:"},{"line_number":657,"context_line":"    name: \u0027{name}-tarball\u0027"},{"line_number":658,"context_line":"    node: ubuntu-xenial"},{"line_number":659,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"1a6eadb0_ecd661c4","line":656,"range":{"start_line":627,"start_character":0,"end_line":656,"end_character":15},"updated":"2016-12-13 12:59:18.000000000","message":"need remove duplicated code .....","commit_id":"3fef197446901337cb5afb7211dea23792d3a994"}],"zuul/layout.yaml":[{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"fbaa2af704927496c09a1a377bcd1a40b56ca637","unresolved":false,"context_lines":[{"line_number":12550,"context_line":"    gate:"},{"line_number":12551,"context_line":"      - gate-nova-tox-db-functional-ubuntu-trusty"},{"line_number":12552,"context_line":"      - gate-nova-tox-db-functional-ubuntu-xenial"},{"line_number":12553,"context_line":"      - gate-nova-tox-db-functional-py35-ubuntu-trusty-nv"},{"line_number":12554,"context_line":"      - gate-nova-tox-db-functional-py35-ubuntu-xenial-nv"},{"line_number":12555,"context_line":"      - gate-grenade-dsvm-neutron-multinode-ubuntu-trusty"},{"line_number":12556,"context_line":"      - gate-tempest-dsvm-cells-ubuntu-trusty"},{"line_number":12557,"context_line":"      - gate-tempest-dsvm-cells-ubuntu-xenial"},{"line_number":12558,"context_line":"      - gate-tempest-dsvm-full-devstack-plugin-ceph-ubuntu-trusty"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_0ab7023a","line":12555,"range":{"start_line":12553,"start_character":8,"end_line":12555,"end_character":7},"updated":"2016-12-13 11:40:11.000000000","message":"don\u0027t run non-voting jobs in the gate.","commit_id":"ef275c6871bfbffa3d74ea29e7310c039f3cf5c8"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"732bc7d1cef74ae62ca7b7ac5bde95be00411ec2","unresolved":false,"context_lines":[{"line_number":12550,"context_line":"    gate:"},{"line_number":12551,"context_line":"      - gate-nova-tox-db-functional-ubuntu-trusty"},{"line_number":12552,"context_line":"      - gate-nova-tox-db-functional-ubuntu-xenial"},{"line_number":12553,"context_line":"      - gate-nova-tox-db-functional-py35-ubuntu-trusty-nv"},{"line_number":12554,"context_line":"      - gate-nova-tox-db-functional-py35-ubuntu-xenial-nv"},{"line_number":12555,"context_line":"      - gate-grenade-dsvm-neutron-multinode-ubuntu-trusty"},{"line_number":12556,"context_line":"      - gate-tempest-dsvm-cells-ubuntu-trusty"},{"line_number":12557,"context_line":"      - gate-tempest-dsvm-cells-ubuntu-xenial"},{"line_number":12558,"context_line":"      - gate-tempest-dsvm-full-devstack-plugin-ceph-ubuntu-trusty"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a6eadb0_8c124db3","line":12555,"range":{"start_line":12553,"start_character":8,"end_line":12555,"end_character":7},"in_reply_to":"1a6eadb0_0ab7023a","updated":"2016-12-13 12:57:19.000000000","message":"Done","commit_id":"ef275c6871bfbffa3d74ea29e7310c039f3cf5c8"},{"author":{"_account_id":6547,"name":"Andreas Jaeger","email":"jaegerandi@gmail.com","username":"jaegerandi"},"change_message_id":"6c2175a7c52f6513f2472eae450615df32f4b17c","unresolved":false,"context_lines":[{"line_number":3310,"context_line":"  - name: ^gate-nova-lxd-(docs|pep8|python27)-ubuntu-xenial"},{"line_number":3311,"context_line":"    branch: ^(stable/(mitaka|newton)|master)$"},{"line_number":3312,"context_line":""},{"line_number":3313,"context_line":"  # Don\u0027t run nova-tox-db-functional-py35-ubuntu tests on trusty."},{"line_number":3314,"context_line":"  - name: ^gate-nova-tox-db-functional-py35-ubuntu-xenial"},{"line_number":3315,"context_line":"    branch: ^(stable/(mitaka|newton))$"},{"line_number":3316,"context_line":"    voting: false"},{"line_number":3317,"context_line":""},{"line_number":3318,"context_line":"  - name: ^gate-swift3-tox-s3tests_"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"ba5201f7_095753ca","line":3315,"range":{"start_line":3313,"start_character":2,"end_line":3315,"end_character":38},"updated":"2017-01-08 09:51:24.000000000","message":"You want to run this only on master - or on future stable branches.\n\nso, use \"branch: master\" or\n\"branch: ^(?!stable/(mitaka|newton)).*$\"\n\nWith your current change, you only run it on stable and newton.\n\nAlso, update the comment,it\u0027s confusing","commit_id":"8cce3a385b6436266146d9893ec53747108e5d07"},{"author":{"_account_id":9796,"name":"ChangBo Guo","email":"glongwave@gmail.com","username":"gcb"},"change_message_id":"e43cbc79517b06af19b13764966b5396b7f5da52","unresolved":false,"context_lines":[{"line_number":3310,"context_line":"  - name: ^gate-nova-lxd-(docs|pep8|python27)-ubuntu-xenial"},{"line_number":3311,"context_line":"    branch: ^(stable/(mitaka|newton)|master)$"},{"line_number":3312,"context_line":""},{"line_number":3313,"context_line":"  # Don\u0027t run nova-tox-db-functional-py35-ubuntu tests on trusty."},{"line_number":3314,"context_line":"  - name: ^gate-nova-tox-db-functional-py35-ubuntu-xenial"},{"line_number":3315,"context_line":"    branch: ^(stable/(mitaka|newton))$"},{"line_number":3316,"context_line":"    voting: false"},{"line_number":3317,"context_line":""},{"line_number":3318,"context_line":"  - name: ^gate-swift3-tox-s3tests_"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"ba5201f7_0da11846","line":3315,"range":{"start_line":3313,"start_character":2,"end_line":3315,"end_character":38},"in_reply_to":"ba5201f7_095753ca","updated":"2017-01-09 02:53:42.000000000","message":"I want to run only on master branch now, will run future stable branches when it\u0027s voting","commit_id":"8cce3a385b6436266146d9893ec53747108e5d07"}]}
