)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":18,"context_line":"These tests are intended to ensure parity with existing functionality"},{"line_number":19,"context_line":"and provide coverage for the integrated implementation now within Ironic."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"ticket: https://bugs.launchpad.net/ironic/+bug/2105478"},{"line_number":22,"context_line":"Change-Id: I3f6de02acee8d8c3764d3b1465b92292be3b690c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"6226f243_627f4254","line":21,"updated":"2025-06-04 13:25:45.000000000","message":"The form of label is:\n\nCloses-Bug or Related-Bug and you then just include the bug number.\n\nSo:\n\nRelated-Bug: 2105478","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":18,"context_line":"These tests are intended to ensure parity with existing functionality"},{"line_number":19,"context_line":"and provide coverage for the integrated implementation now within Ironic."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"ticket: https://bugs.launchpad.net/ironic/+bug/2105478"},{"line_number":22,"context_line":"Change-Id: I3f6de02acee8d8c3764d3b1465b92292be3b690c"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5e1b5601_fb38177c","line":21,"in_reply_to":"6226f243_627f4254","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"0cc2105c_32f10ce7","updated":"2025-06-04 13:25:45.000000000","message":"Greetings, a good start. Some items inline in the chnage. Happy to chat with you about them.","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f4bdce607f518139af7e4dde5cc4bf35a30f35f7","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"6172bfd9_8b729b13","updated":"2025-06-23 13:12:36.000000000","message":"At a relatively quick glance, it is looking good to me. That being said abongale has asked me to not merge the change as they intend to add more tests to it. One item to revise which is the zuul.d/project.yaml config.","commit_id":"33d93fc0aa394a57106a601ce6f4747672763710"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"85c6ecb961fd3a088e87cd3edb8252929c1b45ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":26,"id":"4c91146b_bf5bda7f","updated":"2025-06-19 17:02:51.000000000","message":"Unless we\u0027ll need functional tests, this is LookingGTM. \n\nThanks Abongale. for picking this up.","commit_id":"33d93fc0aa394a57106a601ce6f4747672763710"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"37ee0c3c491da693e513c36e127f532311e8c9c3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"0a11919b_c3fc0c4b","updated":"2025-07-02 16:06:24.000000000","message":"recheck","commit_id":"ae7a77df9c0849d1c9f32c096657a650ccc721ee"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"82213e55259917533ff0d57fdbc1303aff3dbb9e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":32,"id":"01868296_7a853a55","updated":"2025-07-02 12:29:12.000000000","message":"recheck - post job failure","commit_id":"ae7a77df9c0849d1c9f32c096657a650ccc721ee"},{"author":{"_account_id":24245,"name":"Harald Jensås","email":"hjensas@redhat.com","username":"harald.jensas"},"change_message_id":"ad8571a7ca3593c5374a04126d2b40c53937d0f5","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"f8782ff9_2eca045e","updated":"2025-07-04 12:18:46.000000000","message":"Looks good to me.","commit_id":"7fa87559b59df31aa351c40156eaabc67e14e062"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"d6f6d2b0039e67bec2ddfdc48a68a58ef5fea163","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"e9d879ff_25ffc247","updated":"2025-07-07 14:02:12.000000000","message":"This part of the commit message may be a little misleading. The tests here really only cover CRUD, which is already a good first patch, but the commit message needs to echo that as well.\n\n`\"... and ensure they are correctly applied during node introspection.\n...\nThese tests are intended to ensure parity with existing functionality\nand provide coverage ....\"`","commit_id":"7fa87559b59df31aa351c40156eaabc67e14e062"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"54e1f19c1dcf2577ff12dc12b1da6b51e812fd31","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"9ba4c502_7c40b1b5","updated":"2025-07-04 09:19:05.000000000","message":"recheck","commit_id":"7fa87559b59df31aa351c40156eaabc67e14e062"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"4ed9a4676b5bb3d4281be6387f4a9fab27b3838e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":33,"id":"c8c1883c_7e8228de","in_reply_to":"e9d879ff_25ffc247","updated":"2025-07-07 16:08:22.000000000","message":"++","commit_id":"7fa87559b59df31aa351c40156eaabc67e14e062"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"707c80909015f1918dbabd0c8fe4ff03b7fc4e38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"22727a71_e338992a","updated":"2025-07-08 13:02:43.000000000","message":"There are two sides to inspection rules, the CRUD and the application. CRUD testing done and dusted.\n\nThanks, Abongale!","commit_id":"fa630483afe3b469c2eddeb9aba57ddf3c807d66"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"4ec272aeb63c462268fbda8dd0033017113af479","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"291983a6_76cd13d6","updated":"2025-07-08 13:02:53.000000000","message":"recheck - Download of image cirros-0.6.1-x86_64-disk.img failed: Unable to write image to /tmp/cirros-0.6.1-x86_64-disk.img. Error: [Errno 28] No space left on device","commit_id":"fa630483afe3b469c2eddeb9aba57ddf3c807d66"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"a87db4ec889a99d0c8e8b410ba96fd82ebda060d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"9beb5d06_cb9a0bc8","updated":"2025-07-10 14:28:32.000000000","message":"recheck - Download of image cirros-0.6.1-x86_64-disk.img failed: Unable to write image to /tmp/cirros-0.6.1-x86_64-disk.img. Error: [Errno 28] No space left on device","commit_id":"fa630483afe3b469c2eddeb9aba57ddf3c807d66"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"ad3c6c5e50d67dc95e12e141ae0e4be92292c379","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"3ad68e5d_039b5bec","updated":"2025-07-07 19:02:57.000000000","message":"recheck - post failure","commit_id":"fa630483afe3b469c2eddeb9aba57ddf3c807d66"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"707c80909015f1918dbabd0c8fe4ff03b7fc4e38","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"2aac6be7_c7a683f9","updated":"2025-07-08 13:02:43.000000000","message":"tks Abongale.","commit_id":"fa630483afe3b469c2eddeb9aba57ddf3c807d66"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"57395047fe90f446b239822c47e2f43299a8f11c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":34,"id":"8e5baf2c_1584aa33","in_reply_to":"22727a71_e338992a","updated":"2025-07-08 14:11:07.000000000","message":"if we need the application test I can work on it. Again it will be great learning experience for me. Please let me know.","commit_id":"fa630483afe3b469c2eddeb9aba57ddf3c807d66"}],"ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":326,"context_line":"        :param description: The description of the chassis."},{"line_number":327,"context_line":"            Default: test-chassis"},{"line_number":328,"context_line":"        :return: A tuple with the server response and the created chassis."},{"line_number":329,"context_line":"inspection_rules"},{"line_number":330,"context_line":"        \"\"\""},{"line_number":331,"context_line":"        chassis \u003d {\u0027description\u0027: kwargs.get(\u0027description\u0027, \u0027test-chassis\u0027)}"},{"line_number":332,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"8c7a3c6c_2021fae5","line":329,"updated":"2025-06-04 13:25:45.000000000","message":"???","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":326,"context_line":"        :param description: The description of the chassis."},{"line_number":327,"context_line":"            Default: test-chassis"},{"line_number":328,"context_line":"        :return: A tuple with the server response and the created chassis."},{"line_number":329,"context_line":"inspection_rules"},{"line_number":330,"context_line":"        \"\"\""},{"line_number":331,"context_line":"        chassis \u003d {\u0027description\u0027: kwargs.get(\u0027description\u0027, \u0027test-chassis\u0027)}"},{"line_number":332,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"bc77c3d6_ba450abb","line":329,"in_reply_to":"8c7a3c6c_2021fae5","updated":"2025-06-18 21:57:15.000000000","message":"Acknowledged","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":1081,"context_line":"        return self._show_request(\u0027inspection_rules\u0027, uuid)"},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"    @base.handle_errors"},{"line_number":1084,"context_line":"    def delete_inspection_rule(self, rule_uuid):"},{"line_number":1085,"context_line":"        \"\"\"Delete Inspection Rules."},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"        param rule_uuid: uuid of the inspection rule."}],"source_content_type":"text/x-python","patch_set":1,"id":"b88b39e4_54e75e8f","line":1084,"updated":"2025-06-04 13:25:45.000000000","message":"note the method name here, comment regarding this in another file.","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":1081,"context_line":"        return self._show_request(\u0027inspection_rules\u0027, uuid)"},{"line_number":1082,"context_line":""},{"line_number":1083,"context_line":"    @base.handle_errors"},{"line_number":1084,"context_line":"    def delete_inspection_rule(self, rule_uuid):"},{"line_number":1085,"context_line":"        \"\"\"Delete Inspection Rules."},{"line_number":1086,"context_line":""},{"line_number":1087,"context_line":"        param rule_uuid: uuid of the inspection rule."}],"source_content_type":"text/x-python","patch_set":1,"id":"d4da2968_3071d209","line":1084,"in_reply_to":"b88b39e4_54e75e8f","updated":"2025-06-18 21:57:15.000000000","message":"Acknowledged","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8d4943b7ddb18e23f677b9c7ec37ba4ffb60880b","unresolved":true,"context_lines":[{"line_number":1065,"context_line":"            conditions: checks to run actions"},{"line_number":1066,"context_line":"            actions: if conditions check is true it runs"},{"line_number":1067,"context_line":"        \"\"\""},{"line_number":1068,"context_line":"        return self._create_request(\u0027inspection_rule\u0027, payload)"},{"line_number":1069,"context_line":""},{"line_number":1070,"context_line":"    @base.handle_errors"},{"line_number":1071,"context_line":"    def show_inspection_rule(self, rule_uuid):"}],"source_content_type":"text/x-python","patch_set":7,"id":"3f2f7199_ab7444d2","line":1068,"updated":"2025-06-05 21:42:58.000000000","message":"Hmmmm, so this seems to be working as we sort of expect\n\nPosting payload from the test:\n\n{\u0027Content-Type\u0027: \u0027application/json\u0027, \u0027Accept\u0027: \u0027application/json\u0027, \u0027X-OpenStack-Ironic-API-Version\u0027: \u00271.96\u0027, \u0027X-Auth-Token\u0027: \u0027\u003comitted\u003e\u0027}\nBody: {\"description\": \"log the message\", \"conditions\": {\"op\": \"!is-empty\", \"args\": {\"value\": \"{inventory[bmc_address]}\"}}, \"actions\": {\"op\": \"log\", \"arg\": {\"msg\": \"Simple LOG Message\"}}, \"sensitive\": true, \"phase\": \"main\", \"priority\": 100, \"uuid\": \"dab9b49c-a7da-4fc3-9899-ed66661e24f0\"}\n\n\nResponse - Headers: \n\n{\u0027date\u0027: \u0027Thu, 05 Jun 2025 21:09:47 GMT\u0027, \u0027server\u0027: \u0027Apache/2.4.58 (Ubuntu)\u0027, \u0027content-type\u0027: \u0027application/json\u0027, \u0027content-length\u0027: \u002785\u0027, \u0027connection\u0027: \u0027close\u0027, \u0027status\u0027: \u0027404\u0027, \u0027content-location\u0027: \u0027https://200.225.47.30/baremetal/v1/inspection_rule\u0027}\n\nBody: b\u0027{\"error_message\": \"{\\\"code\\\": 404, \\\"title\\\": \\\"Not Found\\\", \\\"description\\\": \\\"\\\"}\"}\u0027\n}}}\n\n\nWell, I think you might have officially found an issue with the feature.\n\n1) It shouldn\u0027t be returning a 404 on a post\n2) it looks like something is up with schema validation. 😭","commit_id":"1fc75bdb6c22da2ff874ffb6c94cdb82820cb37b"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":1065,"context_line":"            conditions: checks to run actions"},{"line_number":1066,"context_line":"            actions: if conditions check is true it runs"},{"line_number":1067,"context_line":"        \"\"\""},{"line_number":1068,"context_line":"        return self._create_request(\u0027inspection_rule\u0027, payload)"},{"line_number":1069,"context_line":""},{"line_number":1070,"context_line":"    @base.handle_errors"},{"line_number":1071,"context_line":"    def show_inspection_rule(self, rule_uuid):"}],"source_content_type":"text/x-python","patch_set":7,"id":"eefc701e_b525bfd7","line":1068,"in_reply_to":"3f2f7199_ab7444d2","updated":"2025-06-18 21:57:15.000000000","message":"Acknowledged","commit_id":"1fc75bdb6c22da2ff874ffb6c94cdb82820cb37b"}],"ironic_tempest_plugin/tests/api/admin/test_inspection_rules.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":28,"context_line":"        _, self.node \u003d self.create_node(None)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        self.useFixture("},{"line_number":31,"context_line":"            api_microversion_fixture.APIMicroversionFixture(\u00271.96\u0027))"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def _create_rule_body(self, **kwargs):"},{"line_number":34,"context_line":"        \"\"\"Helper function\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"9b17dc2f_31e3a1ec","line":31,"updated":"2025-06-04 13:25:45.000000000","message":"Note, we might need to articulate a min_microversion. I think the thing to do would be to get this running and see what explodes. 😊","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":28,"context_line":"        _, self.node \u003d self.create_node(None)"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"        self.useFixture("},{"line_number":31,"context_line":"            api_microversion_fixture.APIMicroversionFixture(\u00271.96\u0027))"},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"    def _create_rule_body(self, **kwargs):"},{"line_number":34,"context_line":"        \"\"\"Helper function\"\"\""}],"source_content_type":"text/x-python","patch_set":1,"id":"a072e44b_c2584cbf","line":31,"in_reply_to":"9b17dc2f_31e3a1ec","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def test_create_rule_sensitive_true(self):"},{"line_number":56,"context_line":"        \"\"\"Test creating rule with sensitive\u003dTrue.\"\"\""},{"line_number":57,"context_line":"        client_uuid \u003d data_utils.rand_uuid()"},{"line_number":58,"context_line":"        _, rule_body_args \u003d self._create_rule_body(sensitive\u003dTrue)"},{"line_number":59,"context_line":"        self.create_inspection_rule(client_uuid, **rule_body_args)"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"21755687_13d329ec","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":44},"updated":"2025-06-04 13:25:45.000000000","message":"huh?","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":54,"context_line":""},{"line_number":55,"context_line":"    def test_create_rule_sensitive_true(self):"},{"line_number":56,"context_line":"        \"\"\"Test creating rule with sensitive\u003dTrue.\"\"\""},{"line_number":57,"context_line":"        client_uuid \u003d data_utils.rand_uuid()"},{"line_number":58,"context_line":"        _, rule_body_args \u003d self._create_rule_body(sensitive\u003dTrue)"},{"line_number":59,"context_line":"        self.create_inspection_rule(client_uuid, **rule_body_args)"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"58809ac5_462fea90","line":57,"range":{"start_line":57,"start_character":0,"end_line":57,"end_character":44},"in_reply_to":"21755687_13d329ec","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":56,"context_line":"        \"\"\"Test creating rule with sensitive\u003dTrue.\"\"\""},{"line_number":57,"context_line":"        client_uuid \u003d data_utils.rand_uuid()"},{"line_number":58,"context_line":"        _, rule_body_args \u003d self._create_rule_body(sensitive\u003dTrue)"},{"line_number":59,"context_line":"        self.create_inspection_rule(client_uuid, **rule_body_args)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        # Now, fetch the rule and verify masking"},{"line_number":62,"context_line":"        _, fetched_rule \u003d self.client.show_inspection_rule(client_uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"8bc57e4b_06a2e2ab","line":59,"updated":"2025-06-04 13:25:45.000000000","message":"so, client_uuid is not an explicit field. You\u0027ll need to send a kwarg across. Ideally since you\u0027ve built a helper, you\u0027d supply the preferred UUID into the method which then is in the body with the data to post to the API.","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":56,"context_line":"        \"\"\"Test creating rule with sensitive\u003dTrue.\"\"\""},{"line_number":57,"context_line":"        client_uuid \u003d data_utils.rand_uuid()"},{"line_number":58,"context_line":"        _, rule_body_args \u003d self._create_rule_body(sensitive\u003dTrue)"},{"line_number":59,"context_line":"        self.create_inspection_rule(client_uuid, **rule_body_args)"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":"        # Now, fetch the rule and verify masking"},{"line_number":62,"context_line":"        _, fetched_rule \u003d self.client.show_inspection_rule(client_uuid)"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f5d7d3b_c9350493","line":59,"in_reply_to":"8bc57e4b_06a2e2ab","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":62,"context_line":"        _, fetched_rule \u003d self.client.show_inspection_rule(client_uuid)"},{"line_number":63,"context_line":"        self.assertTrue(fetched_rule.get(\u0027sensitive\u0027))"},{"line_number":64,"context_line":"        self.assertIsNone(fetched_rule.get(\u0027conditions\u0027),"},{"line_number":65,"context_line":"                          \"Conditions not masked for sensitive rule on GET\")"},{"line_number":66,"context_line":"        self.assertIsNone(fetched_rule.get(\u0027actions\u0027),"},{"line_number":67,"context_line":"                          \"Actions not masked for sensitive rule on GET\")"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"880d99e1_7eee3b0d","line":65,"range":{"start_line":65,"start_character":27,"end_line":65,"end_character":75},"updated":"2025-06-04 13:25:45.000000000","message":"Is this what the API returns, or what you expect the API to return. It just seems a little odd.","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":62,"context_line":"        _, fetched_rule \u003d self.client.show_inspection_rule(client_uuid)"},{"line_number":63,"context_line":"        self.assertTrue(fetched_rule.get(\u0027sensitive\u0027))"},{"line_number":64,"context_line":"        self.assertIsNone(fetched_rule.get(\u0027conditions\u0027),"},{"line_number":65,"context_line":"                          \"Conditions not masked for sensitive rule on GET\")"},{"line_number":66,"context_line":"        self.assertIsNone(fetched_rule.get(\u0027actions\u0027),"},{"line_number":67,"context_line":"                          \"Actions not masked for sensitive rule on GET\")"},{"line_number":68,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"41dab50b_055e6ffc","line":65,"range":{"start_line":65,"start_character":27,"end_line":65,"end_character":75},"in_reply_to":"880d99e1_7eee3b0d","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":67,"context_line":"                          \"Actions not masked for sensitive rule on GET\")"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def test_create_valid_phase(self):"},{"line_number":70,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"2892e0b6_ac76400d","line":70,"updated":"2025-06-04 13:25:45.000000000","message":"Obviously, you will have more tests to add :)","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":67,"context_line":"                          \"Actions not masked for sensitive rule on GET\")"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"    def test_create_valid_phase(self):"},{"line_number":70,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":1,"id":"64e15865_993f750b","line":70,"in_reply_to":"2892e0b6_ac76400d","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"8d4943b7ddb18e23f677b9c7ec37ba4ffb60880b","unresolved":true,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        # Now, fetch the rule and verify masking"},{"line_number":72,"context_line":"        _, fetched_rule \u003d self.client.show_inspection_rule(rule_uuid)"},{"line_number":73,"context_line":"        print(fetched_rule)  # will be removed"},{"line_number":74,"context_line":"        self.assertTrue(fetched_rule.get(\u0027sensitive\u0027))"},{"line_number":75,"context_line":"        self.assertIsNone(fetched_rule.get(\u0027conditions\u0027),"},{"line_number":76,"context_line":"                          \"Conditions not masked for sensitive rule on GET\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"bfdb492c_d7cbe097","line":73,"updated":"2025-06-05 21:42:58.000000000","message":"your not going to be able to get this, but that being said the test reports it in the test output.\n\ntest_create_rule_sensitive_true\nfail\n[x]\n        \nft1.1: ironic_tempest_plugin.tests.api.admin.test_inspection_rules.TestInspectionRules.test_create_rule_sensitive_truetesttools.testresult.real._StringException: pythonlogging:\u0027\u0027: {{{\n2025-06-05 21:09:47,233 72654 INFO     [tempest.lib.common.rest_client] Request (TestInspectionRules:setUp): 201 POST https://200.225.47.30/baremetal/v1/nodes 0.196s\n2025-06-05 21:09:47,234 72654 DEBUG    [tempest.lib.common.rest_client] Request - Headers: {\u0027Content-Type\u0027: \u0027application/json\u0027, \u0027Accept\u0027: \u0027application/json\u0027, \u0027X-OpenStack-Ironic-API-Version\u0027: \u00271.96\u0027, \u0027X-Auth-Token\u0027: \u0027\u003comitted\u003e\u0027}\n        Body: {\"chassis_uuid\": null, \"properties\": {\"cpu_arch\": \"x86_64\", \"cpus\": 8, \"local_gb\": 10, \"memory_mb\": 4096}, \"driver\": \"fake-hardware\"}\n    Response - Headers: {\u0027date\u0027: \u0027Thu, 05 Jun 2025 21:09:47 GMT\u0027, \u0027server\u0027: \u0027Apache/2.4.58 (Ubuntu)\u0027, \u0027x-openstack-ironic-api-minimum-version\u0027: \u00271.1\u0027, \u0027x-openstack-ironic-api-maximum-version\u0027: \u00271.96\u0027, \u0027x-openstack-ironic-api-version\u0027: \u00271.96\u0027, \u0027location\u0027: \u0027https://200.225.47.30/baremetal/v1/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c\u0027, \u0027content-length\u0027: \u00272766\u0027, \u0027content-type\u0027: \u0027application/json\u0027, \u0027openstack-request-id\u0027: \u0027req-a10587c1-fbf2-492f-ac01-74f2816b8c55\u0027, \u0027connection\u0027: \u0027close\u0027, \u0027status\u0027: \u0027201\u0027, \u0027content-location\u0027: \u0027https://200.225.47.30/baremetal/v1/nodes\u0027}\n        Body: b\u0027{\"uuid\": \"7fabadef-a022-4287-81a1-bec99d57cc8c\", \"created_at\": \"2025-06-05T21:09:47+00:00\", \"updated_at\": null, \"automated_clean\": null, \"bios_interface\": \"fake\", \"boot_interface\": \"fake\", \"boot_mode\": null, \"clean_step\": {}, \"conductor_group\": \"\", \"console_enabled\": false, \"console_interface\": \"fake\", \"disable_power_off\": false, \"deploy_interface\": \"fake\", \"deploy_step\": {}, \"description\": null, \"driver\": \"fake-hardware\", \"driver_info\": {}, \"driver_internal_info\": {}, \"extra\": {}, \"fault\": null, \"firmware_interface\": \"no-firmware\", \"inspection_finished_at\": null, \"inspection_started_at\": null, \"inspect_interface\": \"fake\", \"instance_info\": {}, \"instance_uuid\": null, \"last_error\": null, \"lessee\": null, \"maintenance\": false, \"maintenance_reason\": null, \"management_interface\": \"fake\", \"name\": null, \"network_data\": {}, \"network_interface\": \"noop\", \"owner\": null, \"parent_node\": null, \"power_interface\": \"fake\", \"power_state\": null, \"properties\": {\"cpu_arch\": \"x86_64\", \"cpus\": 8, \"local_gb\": 10, \"memory_mb\": 4096}, \"protected\": false, \"protected_reason\": null, \"provision_state\": \"enroll\", \"provision_updated_at\": null, \"raid_config\": {}, \"raid_interface\": \"fake\", \"rescue_interface\": \"fake\", \"reservation\": null, \"resource_class\": null, \"retired\": false, \"retired_reason\": null, \"secure_boot\": null, \"service_step\": {}, \"shard\": null, \"storage_interface\": \"noop\", \"target_power_state\": null, \"target_provision_state\": null, \"target_raid_config\": {}, \"traits\": [], \"vendor_interface\": \"fake\", \"links\": [{\"href\": \"https://200.225.47.30/baremetal/v1/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c\", \"rel\": \"self\"}, {\"href\": \"https://200.225.47.30/baremetal/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c\", \"rel\": \"bookmark\"}], \"conductor\": \"np0041036869\", \"allocation_uuid\": null, \"chassis_uuid\": null, \"ports\": [{\"href\": \"https://200.225.47.30/baremetal/v1/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c/ports\", \"rel\": \"self\"}, {\"href\": \"https://200.225.47.30/baremetal/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c/ports\", \"rel\": \"bookmark\"}], \"states\": [{\"href\": \"https://200.225.47.30/baremetal/v1/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c/states\", \"rel\": \"self\"}, {\"href\": \"https://200.225.47.30/baremetal/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c/states\", \"rel\": \"bookmark\"}], \"portgroups\": [{\"href\": \"https://200.225.47.30/baremetal/v1/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c/portgroups\", \"rel\": \"self\"}, {\"href\": \"https://200.225.47.30/baremetal/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c/portgroups\", \"rel\": \"bookmark\"}], \"volume\": [{\"href\": \"https://200.225.47.30/baremetal/v1/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c/volume\", \"rel\": \"self\"}, {\"href\": \"https://200.225.47.30/baremetal/nodes/7fabadef-a022-4287-81a1-bec99d57cc8c/volume\", \"rel\": \"bookmark\"}]}\u0027\n2025-06-05 21:09:47,243 72654 INFO     [tempest.lib.common.rest_client] Request (TestInspectionRules:test_create_rule_sensitive_true): 404 POST https://200.225.47.30/baremetal/v1/inspection_rule 0.009s\n2025-06-05 21:09:47,243 72654 DEBUG    [tempest.lib.common.rest_client] Request - Headers: {\u0027Content-Type\u0027: \u0027application/json\u0027, \u0027Accept\u0027: \u0027application/json\u0027, \u0027X-OpenStack-Ironic-API-Version\u0027: \u00271.96\u0027, \u0027X-Auth-Token\u0027: \u0027\u003comitted\u003e\u0027}\n        Body: {\"description\": \"log the message\", \"conditions\": {\"op\": \"!is-empty\", \"args\": {\"value\": \"{inventory[bmc_address]}\"}}, \"actions\": {\"op\": \"log\", \"arg\": {\"msg\": \"Simple LOG Message\"}}, \"sensitive\": true, \"phase\": \"main\", \"priority\": 100, \"uuid\": \"dab9b49c-a7da-4fc3-9899-ed66661e24f0\"}\n    Response - Headers: {\u0027date\u0027: \u0027Thu, 05 Jun 2025 21:09:47 GMT\u0027, \u0027server\u0027: \u0027Apache/2.4.58 (Ubuntu)\u0027, \u0027content-type\u0027: \u0027application/json\u0027, \u0027content-length\u0027: \u002785\u0027, \u0027connection\u0027: \u0027close\u0027, \u0027status\u0027: \u0027404\u0027, \u0027content-location\u0027: \u0027https://200.225.47.30/baremetal/v1/inspection_rule\u0027}\n        Body: b\u0027{\"error_message\": \"{\\\\\"code\\\\\": 404, \\\\\"title\\\\\": \\\\\"Not Found\\\\\", \\\\\"description\\\\\": \\\\\"\\\\\"}\"}\u0027\n}}}\n\nTraceback (most recent call last):\n  File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/ironic_tempest_plugin/tests/api/admin/test_inspection_rules.py\", line 69, in test_create_rule_sensitive_true\n    self.create_inspection_rule(rule_uuid, inspection_rule_payload)\n  File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/ironic_tempest_plugin/tests/api/base.py\", line 51, in wrapper\n    resp, body \u003d f(cls, *args, **kwargs)\n                 ^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/ironic_tempest_plugin/tests/api/base.py\", line 534, in create_inspection_rule\n    resp, body \u003d cls.client.create_inspection_rule(payload)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/ironic_tempest_plugin/services/baremetal/base.py\", line 54, in wrapper\n    return f(*args, **kwargs)\n           ^^^^^^^^^^^^^^^^^^\n  File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/ironic_tempest_plugin/services/baremetal/v1/json/baremetal_client.py\", line 1068, in create_inspection_rule\n    return self._create_request(\u0027inspection_rule\u0027, payload)\n           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/ironic_tempest_plugin/services/baremetal/base.py\", line 228, in _create_request\n    resp, body \u003d self.post(uri, body\u003dbody)\n                 ^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/opt/stack/tempest/tempest/lib/common/rest_client.py\", line 314, in post\n    resp_header, resp_body \u003d self.request(\n                             ^^^^^^^^^^^^^\n  File \"/opt/stack/tempest/.tox/tempest/lib/python3.12/site-packages/ironic_tempest_plugin/services/baremetal/base.py\", line 99, in request\n    resp, resp_body \u003d super(BaremetalClient, self).request(*args, **kwargs)\n                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n  File \"/opt/stack/tempest/tempest/lib/common/rest_client.py\", line 762, in request\n    self._error_checker(resp, resp_body)\n  File \"/opt/stack/tempest/tempest/lib/common/rest_client.py\", line 872, in _error_checker\n    raise exceptions.NotFound(resp_body, resp\u003dresp)\ntempest.lib.exceptions.NotFound: Object not found\nDetails: {\u0027error_message\u0027: \u0027{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}\u0027}","commit_id":"1fc75bdb6c22da2ff874ffb6c94cdb82820cb37b"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"        # Now, fetch the rule and verify masking"},{"line_number":72,"context_line":"        _, fetched_rule \u003d self.client.show_inspection_rule(rule_uuid)"},{"line_number":73,"context_line":"        print(fetched_rule)  # will be removed"},{"line_number":74,"context_line":"        self.assertTrue(fetched_rule.get(\u0027sensitive\u0027))"},{"line_number":75,"context_line":"        self.assertIsNone(fetched_rule.get(\u0027conditions\u0027),"},{"line_number":76,"context_line":"                          \"Conditions not masked for sensitive rule on GET\")"}],"source_content_type":"text/x-python","patch_set":7,"id":"e67cdb54_c197446f","line":73,"in_reply_to":"bfdb492c_d7cbe097","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"1fc75bdb6c22da2ff874ffb6c94cdb82820cb37b"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"075abe2a781061e4b62723870be042a906ab4d14","unresolved":true,"context_lines":[{"line_number":79,"context_line":"                    \"{item}\""},{"line_number":80,"context_line":"                ],"},{"line_number":81,"context_line":"                \"loop\": ["},{"line_number":82,"context_line":"                    \"HPE ProLiant DL380 Gen10\","},{"line_number":83,"context_line":"                    \"PowerEdge R640\","},{"line_number":84,"context_line":"                    \"Cisco UCS\""},{"line_number":85,"context_line":"                ],"},{"line_number":86,"context_line":"                \"multiple\": \"any\""},{"line_number":87,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":32,"id":"a225f03b_86cd990c","line":84,"range":{"start_line":82,"start_character":0,"end_line":84,"end_character":31},"updated":"2025-07-03 12:31:00.000000000","message":"Please avoid putting vendors into the tests and example strings. This can be problematic and misinterpreted. For example, use \"Contoso GenFo 11\"\n\nThe reason I\u0027m raising this is because there has actually been issues in the past of vendors misinterpreting example values, then freaking out, and ultimately getting lawyers involved.","commit_id":"ae7a77df9c0849d1c9f32c096657a650ccc721ee"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"cc2b790c5746e70c17bafcbcdef0fcfa6189b914","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                    \"{item}\""},{"line_number":80,"context_line":"                ],"},{"line_number":81,"context_line":"                \"loop\": ["},{"line_number":82,"context_line":"                    \"HPE ProLiant DL380 Gen10\","},{"line_number":83,"context_line":"                    \"PowerEdge R640\","},{"line_number":84,"context_line":"                    \"Cisco UCS\""},{"line_number":85,"context_line":"                ],"},{"line_number":86,"context_line":"                \"multiple\": \"any\""},{"line_number":87,"context_line":"            }"}],"source_content_type":"text/x-python","patch_set":32,"id":"7527db8f_0d52636d","line":84,"range":{"start_line":82,"start_character":0,"end_line":84,"end_character":31},"in_reply_to":"a225f03b_86cd990c","updated":"2025-07-03 12:45:46.000000000","message":"Acknowledged","commit_id":"ae7a77df9c0849d1c9f32c096657a650ccc721ee"}],"ironic_tempest_plugin/tests/api/base.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":"            for resource in RESOURCE_TYPES:"},{"line_number":161,"context_line":"                uuids \u003d cls.created_objects[resource]"},{"line_number":162,"context_line":"                delete_method \u003d getattr(cls.client, \u0027delete_%s\u0027 % resource)"},{"line_number":163,"context_line":"                for u in uuids:"},{"line_number":164,"context_line":"                    delete_method(u, ignore_errors\u003dlib_exc.NotFound)"},{"line_number":165,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"1441a4be_b76a78eb","line":162,"range":{"start_line":162,"start_character":52,"end_line":162,"end_character":63},"updated":"2025-06-04 13:25:45.000000000","message":"Okay, in the client file, you have delete_introspection_rule as a method.\n\nExcept, you decorate the record as \"introspection_rules\". You should make it consistent and then the resource type should auto-delete at the end of the test in case any records are orphaned.","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":159,"context_line":""},{"line_number":160,"context_line":"            for resource in RESOURCE_TYPES:"},{"line_number":161,"context_line":"                uuids \u003d cls.created_objects[resource]"},{"line_number":162,"context_line":"                delete_method \u003d getattr(cls.client, \u0027delete_%s\u0027 % resource)"},{"line_number":163,"context_line":"                for u in uuids:"},{"line_number":164,"context_line":"                    delete_method(u, ignore_errors\u003dlib_exc.NotFound)"},{"line_number":165,"context_line":"        finally:"}],"source_content_type":"text/x-python","patch_set":1,"id":"63a6d6b1_0422ca91","line":162,"range":{"start_line":162,"start_character":52,"end_line":162,"end_character":63},"in_reply_to":"1441a4be_b76a78eb","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":521,"context_line":"        return resp, body"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    @classmethod"},{"line_number":524,"context_line":"    @creates(\u0027inspection_rules\u0027)"},{"line_number":525,"context_line":"    def create_inspection_rule(cls, uuid, **kwargs):"},{"line_number":526,"context_line":"        \"\"\"Wrapper a inspection rules having the UUID."},{"line_number":527,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"536f3699_8aed4289","line":524,"updated":"2025-06-04 13:25:45.000000000","message":"Note, this for the comment above in resource_cleanup.","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":521,"context_line":"        return resp, body"},{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    @classmethod"},{"line_number":524,"context_line":"    @creates(\u0027inspection_rules\u0027)"},{"line_number":525,"context_line":"    def create_inspection_rule(cls, uuid, **kwargs):"},{"line_number":526,"context_line":"        \"\"\"Wrapper a inspection rules having the UUID."},{"line_number":527,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"f6cc8820_fbe80954","line":524,"in_reply_to":"536f3699_8aed4289","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"042ac4e43c00d5a62c015fbcd0dc565004d25756","unresolved":true,"context_lines":[{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    @classmethod"},{"line_number":524,"context_line":"    @creates(\u0027inspection_rules\u0027)"},{"line_number":525,"context_line":"    def create_inspection_rule(cls, uuid, **kwargs):"},{"line_number":526,"context_line":"        \"\"\"Wrapper a inspection rules having the UUID."},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"        :param uuid: UUID of the inspection rule."}],"source_content_type":"text/x-python","patch_set":1,"id":"04158b9c_4c83f4ef","line":525,"range":{"start_line":525,"start_character":36,"end_line":525,"end_character":40},"updated":"2025-06-04 14:20:39.000000000","message":"uuid should be be in the kwargs as it is optional and API assigned","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":522,"context_line":""},{"line_number":523,"context_line":"    @classmethod"},{"line_number":524,"context_line":"    @creates(\u0027inspection_rules\u0027)"},{"line_number":525,"context_line":"    def create_inspection_rule(cls, uuid, **kwargs):"},{"line_number":526,"context_line":"        \"\"\"Wrapper a inspection rules having the UUID."},{"line_number":527,"context_line":""},{"line_number":528,"context_line":"        :param uuid: UUID of the inspection rule."}],"source_content_type":"text/x-python","patch_set":1,"id":"fdf15e83_da010f4a","line":525,"range":{"start_line":525,"start_character":36,"end_line":525,"end_character":40},"in_reply_to":"04158b9c_4c83f4ef","updated":"2025-06-18 21:57:15.000000000","message":"Acknowledged","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":537,"context_line":"        :param rule_uuid: UUID of the inspection rule."},{"line_number":538,"context_line":"        \"\"\""},{"line_number":539,"context_line":"        resp, body \u003d cls.client.delete_inpsection_rule(uuid)"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        if uuid in cls.created_objects[\u0027inspection_rules\u0027]:"},{"line_number":542,"context_line":"            cls.created_objects[\u0027inspection_rules\u0027].remove(uuid)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"        return resp"},{"line_number":545,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dcf0837d_916242f0","line":542,"range":{"start_line":540,"start_character":0,"end_line":542,"end_character":64},"updated":"2025-06-04 13:25:45.000000000","message":"So, I guess you could do this. I\u0027m not sure we\u0027ve done it anywhere else. I\u0027d honestly pass on this step and let the resource_cleanup logic just go ahead and attempt regardless of the entry in created objects, if any.","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":537,"context_line":"        :param rule_uuid: UUID of the inspection rule."},{"line_number":538,"context_line":"        \"\"\""},{"line_number":539,"context_line":"        resp, body \u003d cls.client.delete_inpsection_rule(uuid)"},{"line_number":540,"context_line":""},{"line_number":541,"context_line":"        if uuid in cls.created_objects[\u0027inspection_rules\u0027]:"},{"line_number":542,"context_line":"            cls.created_objects[\u0027inspection_rules\u0027].remove(uuid)"},{"line_number":543,"context_line":""},{"line_number":544,"context_line":"        return resp"},{"line_number":545,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"8301fc26_325142c3","line":542,"range":{"start_line":540,"start_character":0,"end_line":542,"end_character":64},"in_reply_to":"dcf0837d_916242f0","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"}],"zuul.d/project.yaml":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"811ec9ec4fd425c05a9be74965314424786a1178","unresolved":true,"context_lines":[{"line_number":4,"context_line":"      - publish-openstack-docs-pti"},{"line_number":5,"context_line":"      - tempest-plugin-jobs"},{"line_number":6,"context_line":"    check:"},{"line_number":7,"context_line":"      jobs:"},{"line_number":8,"context_line":"#         # NOTE(dtantsur): keep N-3 and older non-voting for these jobs."},{"line_number":9,"context_line":"#         - ironic-tempest-functional-python3"},{"line_number":10,"context_line":"#         - ironic-tempest-functional-python3-2025.1"},{"line_number":11,"context_line":"#         - ironic-tempest-functional-python3-2024.2"},{"line_number":12,"context_line":"#         - ironic-standalone-anaconda"},{"line_number":13,"context_line":"#         - ironic-standalone-anaconda-2025.1"},{"line_number":14,"context_line":"#         - ironic-standalone-anaconda-2024.2"},{"line_number":15,"context_line":"#         - ironic-standalone-redfish"},{"line_number":16,"context_line":"#         - ironic-standalone-redfish-2025.1"},{"line_number":17,"context_line":"#         - ironic-standalone-redfish-2024.2"},{"line_number":18,"context_line":"#         # NOTE(dtantsur): inspector is deprecated and rarely sees any changes,"},{"line_number":19,"context_line":"#         # no point in running many jobs"},{"line_number":20,"context_line":"#         - ironic-inspector-tempest"},{"line_number":21,"context_line":"#         # NOTE(dtantsur): these jobs cover rarely changed tests and are quite"},{"line_number":22,"context_line":"#         # unstable, so keep them non-voting."},{"line_number":23,"context_line":"#         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode:"},{"line_number":24,"context_line":"#             voting: false"},{"line_number":25,"context_line":"#         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2025.1:"},{"line_number":26,"context_line":"#             voting: false"},{"line_number":27,"context_line":"#         - ironic-inspector-tempest-discovery:"},{"line_number":28,"context_line":"#             voting: false"},{"line_number":29,"context_line":"    gate:"},{"line_number":30,"context_line":"      jobs:"},{"line_number":31,"context_line":"#         - ironic-tempest-functional-python3"},{"line_number":32,"context_line":"#         - ironic-tempest-functional-python3-2025.1"},{"line_number":33,"context_line":"#         - ironic-tempest-functional-python3-2024.2"},{"line_number":34,"context_line":"#         - ironic-standalone-anaconda"},{"line_number":35,"context_line":"#         - ironic-standalone-anaconda-2025.1"},{"line_number":36,"context_line":"#         - ironic-standalone-anaconda-2024.2"},{"line_number":37,"context_line":"#         - ironic-standalone-redfish"},{"line_number":38,"context_line":"#         - ironic-standalone-redfish-2025.1"},{"line_number":39,"context_line":"#         - ironic-standalone-redfish-2024.2"},{"line_number":40,"context_line":"#         - ironic-inspector-tempest"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"a320dc90_6b7df8e3","line":40,"range":{"start_line":7,"start_character":11,"end_line":40,"end_character":36},"updated":"2025-06-04 13:25:45.000000000","message":"So, Ideally you do actually want CI to run, so I\u0027d undo this.\n\ngit checkout HEAD~1 zuul.d/project.yaml and just let CI run against the state of your change.","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":4,"context_line":"      - publish-openstack-docs-pti"},{"line_number":5,"context_line":"      - tempest-plugin-jobs"},{"line_number":6,"context_line":"    check:"},{"line_number":7,"context_line":"      jobs:"},{"line_number":8,"context_line":"#         # NOTE(dtantsur): keep N-3 and older non-voting for these jobs."},{"line_number":9,"context_line":"#         - ironic-tempest-functional-python3"},{"line_number":10,"context_line":"#         - ironic-tempest-functional-python3-2025.1"},{"line_number":11,"context_line":"#         - ironic-tempest-functional-python3-2024.2"},{"line_number":12,"context_line":"#         - ironic-standalone-anaconda"},{"line_number":13,"context_line":"#         - ironic-standalone-anaconda-2025.1"},{"line_number":14,"context_line":"#         - ironic-standalone-anaconda-2024.2"},{"line_number":15,"context_line":"#         - ironic-standalone-redfish"},{"line_number":16,"context_line":"#         - ironic-standalone-redfish-2025.1"},{"line_number":17,"context_line":"#         - ironic-standalone-redfish-2024.2"},{"line_number":18,"context_line":"#         # NOTE(dtantsur): inspector is deprecated and rarely sees any changes,"},{"line_number":19,"context_line":"#         # no point in running many jobs"},{"line_number":20,"context_line":"#         - ironic-inspector-tempest"},{"line_number":21,"context_line":"#         # NOTE(dtantsur): these jobs cover rarely changed tests and are quite"},{"line_number":22,"context_line":"#         # unstable, so keep them non-voting."},{"line_number":23,"context_line":"#         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode:"},{"line_number":24,"context_line":"#             voting: false"},{"line_number":25,"context_line":"#         - ironic-tempest-ipa-wholedisk-direct-tinyipa-multinode-2025.1:"},{"line_number":26,"context_line":"#             voting: false"},{"line_number":27,"context_line":"#         - ironic-inspector-tempest-discovery:"},{"line_number":28,"context_line":"#             voting: false"},{"line_number":29,"context_line":"    gate:"},{"line_number":30,"context_line":"      jobs:"},{"line_number":31,"context_line":"#         - ironic-tempest-functional-python3"},{"line_number":32,"context_line":"#         - ironic-tempest-functional-python3-2025.1"},{"line_number":33,"context_line":"#         - ironic-tempest-functional-python3-2024.2"},{"line_number":34,"context_line":"#         - ironic-standalone-anaconda"},{"line_number":35,"context_line":"#         - ironic-standalone-anaconda-2025.1"},{"line_number":36,"context_line":"#         - ironic-standalone-anaconda-2024.2"},{"line_number":37,"context_line":"#         - ironic-standalone-redfish"},{"line_number":38,"context_line":"#         - ironic-standalone-redfish-2025.1"},{"line_number":39,"context_line":"#         - ironic-standalone-redfish-2024.2"},{"line_number":40,"context_line":"#         - ironic-inspector-tempest"}],"source_content_type":"text/x-yaml","patch_set":1,"id":"919fb665_c64900c5","line":40,"range":{"start_line":7,"start_character":11,"end_line":40,"end_character":36},"in_reply_to":"a320dc90_6b7df8e3","updated":"2025-06-18 21:57:15.000000000","message":"Done","commit_id":"4d9a4d3a21ce0db1edad17c727bfe5c3f9e56e1d"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"5054d2c76d97e076bd2960b75a3b88184f26013f","unresolved":true,"context_lines":[{"line_number":6,"context_line":"    check:"},{"line_number":7,"context_line":"      jobs:"},{"line_number":8,"context_line":"         # NOTE(dtantsur): keep N-3 and older non-voting for these jobs."},{"line_number":9,"context_line":"#         - ironic-tempest-functional-python3"},{"line_number":10,"context_line":"         - ironic-tempest-functional-python3-2025.1"},{"line_number":11,"context_line":"#         - ironic-tempest-functional-python3-2024.2"},{"line_number":12,"context_line":"#         - ironic-standalone-anaconda"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"94681a19_3d3fe0ea","line":9,"updated":"2025-06-17 13:23:52.000000000","message":"Tempest is always \"master branch, and master branch -2\" in terms of the support and test window. So in essence, by disabling the master banch test and only focusing on the 2025.1 stable branch release testing, your actually creating more work for yourself. Given you found, and fixed a bug in Master, I would expect you to observe different behavior between master and 2025.1 where as I would also expect no behavior change in 2025.1.\n\nBasically, go with the flow of more tests engaged, and it should go a lot easier for you to get that cross-version awareness.","commit_id":"ae77b5172fb1d49356167208de8bcdfb0831e9e2"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"80ddce9a08c8cbe5dc258f9e30d195c7ef8d1654","unresolved":false,"context_lines":[{"line_number":6,"context_line":"    check:"},{"line_number":7,"context_line":"      jobs:"},{"line_number":8,"context_line":"         # NOTE(dtantsur): keep N-3 and older non-voting for these jobs."},{"line_number":9,"context_line":"#         - ironic-tempest-functional-python3"},{"line_number":10,"context_line":"         - ironic-tempest-functional-python3-2025.1"},{"line_number":11,"context_line":"#         - ironic-tempest-functional-python3-2024.2"},{"line_number":12,"context_line":"#         - ironic-standalone-anaconda"}],"source_content_type":"text/x-yaml","patch_set":18,"id":"e5adb290_307f2a8a","line":9,"in_reply_to":"94681a19_3d3fe0ea","updated":"2025-06-18 21:57:15.000000000","message":"Acknowledged","commit_id":"ae77b5172fb1d49356167208de8bcdfb0831e9e2"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"f4bdce607f518139af7e4dde5cc4bf35a30f35f7","unresolved":true,"context_lines":[{"line_number":5,"context_line":"      - tempest-plugin-jobs"},{"line_number":6,"context_line":"    check:"},{"line_number":7,"context_line":"      jobs:"},{"line_number":8,"context_line":"         # NOTE(dtantsur): keep N-3 and older non-voting for these jobs."},{"line_number":9,"context_line":"         - ironic-tempest-functional-python3"},{"line_number":10,"context_line":"         - ironic-tempest-functional-python3-2025.1"},{"line_number":11,"context_line":"         - ironic-tempest-functional-python3-2024.2"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"3cc52d13_075c63ad","line":8,"updated":"2025-06-23 13:12:36.000000000","message":"Your introducing excess whitespace here. See your new start line is lining up under the s character from the line above instead of the b character. I\u0027m actually surprised this iddn\u0027t fail linting.\n\nAnyhow, To avoid merge conflicts, please:\ngit checkout master \u0026\u0026 git pull --ff-only\ngit review -d 951761\ngit rebase -i master\ngit checkout HEAD~1 zuul.d/project.yaml\ngit commit --amend","commit_id":"33d93fc0aa394a57106a601ce6f4747672763710"},{"author":{"_account_id":37924,"name":"Abhishek Bongale","display_name":"abongale","email":"abhishekbongale@outlook.com","username":"abhibongale"},"change_message_id":"69aa78cf22f8c08b9e9dc0a040787b3d868831f9","unresolved":false,"context_lines":[{"line_number":5,"context_line":"      - tempest-plugin-jobs"},{"line_number":6,"context_line":"    check:"},{"line_number":7,"context_line":"      jobs:"},{"line_number":8,"context_line":"         # NOTE(dtantsur): keep N-3 and older non-voting for these jobs."},{"line_number":9,"context_line":"         - ironic-tempest-functional-python3"},{"line_number":10,"context_line":"         - ironic-tempest-functional-python3-2025.1"},{"line_number":11,"context_line":"         - ironic-tempest-functional-python3-2024.2"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"f207d8c6_114ac500","line":8,"in_reply_to":"3cc52d13_075c63ad","updated":"2025-07-03 03:31:04.000000000","message":"Done","commit_id":"33d93fc0aa394a57106a601ce6f4747672763710"}]}
