)]}'
{".zuul.yaml":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"132f31689c21f22ece8196047a6f3369d51e3dc1","unresolved":true,"context_lines":[{"line_number":72,"context_line":"        c-bak: false"},{"line_number":73,"context_line":"        c-sch: false"},{"line_number":74,"context_line":"        c-vol: false"},{"line_number":75,"context_line":"        cinder: false"},{"line_number":76,"context_line":"      devstack_localrc:"},{"line_number":77,"context_line":"        TEMPEST_PLUGINS: \"/opt/stack/cyborg-tempest-plugin\""},{"line_number":78,"context_line":"      tempest_test_regex: cyborg_tempest_plugin"},{"line_number":79,"context_line":"      tox_envlist: all"},{"line_number":80,"context_line":"    irrelevant-files: *base_irrelevant_files"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"f4fbf9e8_71f4d61d","line":77,"range":{"start_line":75,"start_character":21,"end_line":77,"end_character":59},"updated":"2026-05-21 14:03:56.000000000","message":"```suggestion\n        cinder: false\n      tempest_plugins:\n        - cyborg-tempest-plugin\n```","commit_id":"e96478531c28e9c26e9bccc4cf31d619ca6f81fa"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"e854a57df877a2f7c467ce8e15d0bd251ee90beb","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        c-bak: false"},{"line_number":73,"context_line":"        c-sch: false"},{"line_number":74,"context_line":"        c-vol: false"},{"line_number":75,"context_line":"        cinder: false"},{"line_number":76,"context_line":"      devstack_localrc:"},{"line_number":77,"context_line":"        TEMPEST_PLUGINS: \"/opt/stack/cyborg-tempest-plugin\""},{"line_number":78,"context_line":"      tempest_test_regex: cyborg_tempest_plugin"},{"line_number":79,"context_line":"      tox_envlist: all"},{"line_number":80,"context_line":"    irrelevant-files: *base_irrelevant_files"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"1a021e8a_65fe28db","line":77,"range":{"start_line":75,"start_character":21,"end_line":77,"end_character":59},"in_reply_to":"f4fbf9e8_71f4d61d","updated":"2026-05-26 14:11:33.000000000","message":"Done via reusing `grenade_vars`","commit_id":"e96478531c28e9c26e9bccc4cf31d619ca6f81fa"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"01ee2effcbffc8054c3858b561bdef4850baabd7","unresolved":true,"context_lines":[{"line_number":59,"context_line":"      - openstack/python-cyborgclient"},{"line_number":60,"context_line":"      - openstack/tempest"},{"line_number":61,"context_line":"      - openstack/cyborg-tempest-plugin"},{"line_number":62,"context_line":"    vars: \u0026tempest_vars"},{"line_number":63,"context_line":"      devstack_plugins:"},{"line_number":64,"context_line":"        cyborg: https://opendev.org/openstack/cyborg"},{"line_number":65,"context_line":"      devstack_services:"},{"line_number":66,"context_line":"        tempest: true"},{"line_number":67,"context_line":"        s-account: false"},{"line_number":68,"context_line":"        s-container: false"},{"line_number":69,"context_line":"        s-object: false"},{"line_number":70,"context_line":"        s-proxy: false"},{"line_number":71,"context_line":"        c-api: false"},{"line_number":72,"context_line":"        c-bak: false"},{"line_number":73,"context_line":"        c-sch: false"},{"line_number":74,"context_line":"        c-vol: false"},{"line_number":75,"context_line":"        cinder: false"},{"line_number":76,"context_line":"      devstack_localrc:"},{"line_number":77,"context_line":"        TEMPEST_PLUGINS: \"/opt/stack/cyborg-tempest-plugin\""},{"line_number":78,"context_line":"      tempest_test_regex: cyborg_tempest_plugin"},{"line_number":79,"context_line":"      tox_envlist: all"},{"line_number":80,"context_line":"    irrelevant-files: *base_irrelevant_files"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"- job:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9e4616a5_7681dee9","line":79,"range":{"start_line":62,"start_character":4,"end_line":79,"end_character":22},"updated":"2026-05-15 10:13:46.000000000","message":"We can replace this with `vars: *grenade_vars`.","commit_id":"e96478531c28e9c26e9bccc4cf31d619ca6f81fa"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"e854a57df877a2f7c467ce8e15d0bd251ee90beb","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      - openstack/python-cyborgclient"},{"line_number":60,"context_line":"      - openstack/tempest"},{"line_number":61,"context_line":"      - openstack/cyborg-tempest-plugin"},{"line_number":62,"context_line":"    vars: \u0026tempest_vars"},{"line_number":63,"context_line":"      devstack_plugins:"},{"line_number":64,"context_line":"        cyborg: https://opendev.org/openstack/cyborg"},{"line_number":65,"context_line":"      devstack_services:"},{"line_number":66,"context_line":"        tempest: true"},{"line_number":67,"context_line":"        s-account: false"},{"line_number":68,"context_line":"        s-container: false"},{"line_number":69,"context_line":"        s-object: false"},{"line_number":70,"context_line":"        s-proxy: false"},{"line_number":71,"context_line":"        c-api: false"},{"line_number":72,"context_line":"        c-bak: false"},{"line_number":73,"context_line":"        c-sch: false"},{"line_number":74,"context_line":"        c-vol: false"},{"line_number":75,"context_line":"        cinder: false"},{"line_number":76,"context_line":"      devstack_localrc:"},{"line_number":77,"context_line":"        TEMPEST_PLUGINS: \"/opt/stack/cyborg-tempest-plugin\""},{"line_number":78,"context_line":"      tempest_test_regex: cyborg_tempest_plugin"},{"line_number":79,"context_line":"      tox_envlist: all"},{"line_number":80,"context_line":"    irrelevant-files: *base_irrelevant_files"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"- job:"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"97d50383_4a9d5bf6","line":79,"range":{"start_line":62,"start_character":4,"end_line":79,"end_character":22},"in_reply_to":"9e4616a5_7681dee9","updated":"2026-05-26 14:11:33.000000000","message":"Done","commit_id":"e96478531c28e9c26e9bccc4cf31d619ca6f81fa"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"7b4e4b26ae64b10b9ab3249ef2849bfe4e267f3f","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b9f99322_97ed07e9","line":111,"range":{"start_line":101,"start_character":5,"end_line":111,"end_character":1},"updated":"2026-05-15 10:46:08.000000000","message":"I was thinking one more approach here. Since cyborg-tempest and cyborg-tempest-ipv6-only runs here, python-cyborgclient and cyborg-tempest-plugin. We can move this job to a job template with check and gate job and add it here.\n\nThen add the new job template in python-cyborgclient and cyborg-tempest-plugin. With that, we can easily rename the job and move from there to here.\n\nI am not sure moving jobs to job template will affect watcher-tempest-plugin stable branches job.\n\nin cyborg-tempest-plugin side, we can only keep stable branches job there.","commit_id":"e96478531c28e9c26e9bccc4cf31d619ca6f81fa"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"c2abf40b6103e1a4c3c82dece554e4d09e1458e6","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"f585e4f9_9804c1e4","line":111,"range":{"start_line":101,"start_character":5,"end_line":111,"end_character":1},"in_reply_to":"b9f99322_97ed07e9","updated":"2026-05-15 11:10:52.000000000","message":"that\u0027s an interesting idea, I\u0027ve had not considered it. Note however that the cyborg-tempest job also runs in nova https://zuul.opendev.org/t/openstack/builds?job_name\u003dcyborg-tempest\u0026skip\u003d0. Even with the template if we want to avoid breaking CI and maintain the same job names we\u0027ll still need several patches back and forth here and the tempest plugin to avoid job duplications","commit_id":"e96478531c28e9c26e9bccc4cf31d619ca6f81fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"99b10f04e1606ad018a34cdeffda7ce27190d982","unresolved":true,"context_lines":[{"line_number":8,"context_line":"      - openstack/cyborg"},{"line_number":9,"context_line":"      - openstack/python-cyborgclient"},{"line_number":10,"context_line":"      - openstack/cyborg-tempest-plugin"},{"line_number":11,"context_line":"    vars: \u0026grenade_vars"},{"line_number":12,"context_line":"      devstack_plugins: \u0026cyborg_devstack_plugins"},{"line_number":13,"context_line":"        cyborg: https://opendev.org/openstack/cyborg"},{"line_number":14,"context_line":"      devstack_services: \u0026cyborg_devstack_services"},{"line_number":15,"context_line":"        tempest: true"},{"line_number":16,"context_line":"        s-account: false"},{"line_number":17,"context_line":"        s-container: false"},{"line_number":18,"context_line":"        s-object: false"},{"line_number":19,"context_line":"        s-proxy: false"},{"line_number":20,"context_line":"        c-api: false"},{"line_number":21,"context_line":"        c-bak: false"},{"line_number":22,"context_line":"        c-sch: false"},{"line_number":23,"context_line":"        c-vol: false"},{"line_number":24,"context_line":"        cinder: false"},{"line_number":25,"context_line":"      tempest_plugins:"},{"line_number":26,"context_line":"        - cyborg-tempest-plugin"},{"line_number":27,"context_line":"      tempest_test_regex: cyborg_tempest_plugin"},{"line_number":28,"context_line":"      tox_envlist: all"},{"line_number":29,"context_line":"    irrelevant-files: \u0026base_irrelevant_files"},{"line_number":30,"context_line":"      - ^.*\\.rst$"},{"line_number":31,"context_line":"      - ^doc/.*$"},{"line_number":32,"context_line":"      - ^setup.cfg$"},{"line_number":33,"context_line":"      - ^releasenotes/.*$"},{"line_number":34,"context_line":"      - ^(test-|)requirements.txt$"},{"line_number":35,"context_line":"      - ^.git.*$"},{"line_number":36,"context_line":"      - ^tox.ini$"},{"line_number":37,"context_line":"      - ^cyborg/tests/.*$"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- job:"},{"line_number":40,"context_line":"    name: cyborg-grenade-skip-level-always"},{"line_number":41,"context_line":"    description: |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"89a69345_2ca44bf6","line":38,"range":{"start_line":11,"start_character":4,"end_line":38,"end_character":1},"updated":"2026-05-26 19:14:34.000000000","message":"we might want to do something like this in the fure to decouple the jobs defitions form the grenade job.\n\n```\n- job:\n    name: cyborg-stub\n    absract: true\n    description: |\n      stub job to hold shared yaml ancors.\n    required-projects: \u0026base_required_projects_master\n      - openstack/cyborg\n      - openstack/python-cyborgclient\n      - openstack/cyborg-tempest-plugin\n      - openstack/tempest\n    vars: \u0026grenade_vars\n      devstack_plugins: \u0026cyborg_devstack_plugins\n        cyborg: https://opendev.org/openstack/cyborg\n      devstack_services: \u0026cyborg_devstack_services\n        tempest: true\n        s-account: false\n        s-container: false\n        s-object: false\n        s-proxy: false\n        c-api: false\n        c-bak: false\n        c-sch: false\n        c-vol: false\n        cinder: false\n      tempest_plugins:\n        - cyborg-tempest-plugin\n      tempest_test_regex: cyborg_tempest_plugin\n      tox_envlist: all\n    irrelevant-files: \u0026base_irrelevant_files\n      - ^.*\\.rst$\n      - ^doc/.*$\n      - ^setup.cfg$\n      - ^releasenotes/.*$\n      - ^(test-|)requirements.txt$\n      - ^.git.*$\n      - ^tox.ini$\n      - ^cyborg/tests/.*$\n ```","commit_id":"0a13bcad9890f4b3401ce1207c0b8e92d932b750"},{"author":{"_account_id":34452,"name":"Joan Gilabert","display_name":"jgilaber","email":"jgilaber@redhat.com","username":"jgilaber"},"change_message_id":"834919cdecae5b59a08f64090ee249f57eb7ad98","unresolved":true,"context_lines":[{"line_number":8,"context_line":"      - openstack/cyborg"},{"line_number":9,"context_line":"      - openstack/python-cyborgclient"},{"line_number":10,"context_line":"      - openstack/cyborg-tempest-plugin"},{"line_number":11,"context_line":"    vars: \u0026grenade_vars"},{"line_number":12,"context_line":"      devstack_plugins: \u0026cyborg_devstack_plugins"},{"line_number":13,"context_line":"        cyborg: https://opendev.org/openstack/cyborg"},{"line_number":14,"context_line":"      devstack_services: \u0026cyborg_devstack_services"},{"line_number":15,"context_line":"        tempest: true"},{"line_number":16,"context_line":"        s-account: false"},{"line_number":17,"context_line":"        s-container: false"},{"line_number":18,"context_line":"        s-object: false"},{"line_number":19,"context_line":"        s-proxy: false"},{"line_number":20,"context_line":"        c-api: false"},{"line_number":21,"context_line":"        c-bak: false"},{"line_number":22,"context_line":"        c-sch: false"},{"line_number":23,"context_line":"        c-vol: false"},{"line_number":24,"context_line":"        cinder: false"},{"line_number":25,"context_line":"      tempest_plugins:"},{"line_number":26,"context_line":"        - cyborg-tempest-plugin"},{"line_number":27,"context_line":"      tempest_test_regex: cyborg_tempest_plugin"},{"line_number":28,"context_line":"      tox_envlist: all"},{"line_number":29,"context_line":"    irrelevant-files: \u0026base_irrelevant_files"},{"line_number":30,"context_line":"      - ^.*\\.rst$"},{"line_number":31,"context_line":"      - ^doc/.*$"},{"line_number":32,"context_line":"      - ^setup.cfg$"},{"line_number":33,"context_line":"      - ^releasenotes/.*$"},{"line_number":34,"context_line":"      - ^(test-|)requirements.txt$"},{"line_number":35,"context_line":"      - ^.git.*$"},{"line_number":36,"context_line":"      - ^tox.ini$"},{"line_number":37,"context_line":"      - ^cyborg/tests/.*$"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- job:"},{"line_number":40,"context_line":"    name: cyborg-grenade-skip-level-always"},{"line_number":41,"context_line":"    description: |"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"e5f10b72_08b1871a","line":38,"range":{"start_line":11,"start_character":4,"end_line":38,"end_character":1},"in_reply_to":"89a69345_2ca44bf6","updated":"2026-05-27 14:04:39.000000000","message":"I\u0027ve proposed https://review.opendev.org/c/openstack/cyborg/+/990296 with this suggestion","commit_id":"0a13bcad9890f4b3401ce1207c0b8e92d932b750"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"01ee2effcbffc8054c3858b561bdef4850baabd7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"5305b3f1_a3e55081","updated":"2026-05-15 10:13:46.000000000","message":"Overall looks in good direction.","commit_id":"e96478531c28e9c26e9bccc4cf31d619ca6f81fa"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"99b10f04e1606ad018a34cdeffda7ce27190d982","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"54966f6f_17720e9e","updated":"2026-05-26 19:14:34.000000000","message":"ok lets try this for now\nit does apprea to be workign although im not sure i really like havign the yaml ancors defiend on the grenade job.","commit_id":"0a13bcad9890f4b3401ce1207c0b8e92d932b750"}]}
