)]}'
{"id":"openstack%2Fcyborg-tempest-plugin~999922","triplet_id":"openstack%2Fcyborg-tempest-plugin~master~Ie95996108fafe94f799c2daf865bb9fbf25cb89a","project":"openstack/cyborg-tempest-plugin","branch":"master","topic":"bp/generic-nvme-driver-with-secure-cleanup","attention_set":{"12393":{"account":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"last_update":"2026-08-09 04:13:21.000000000","reason":"Someone else replied on the change"}},"removed_from_attention_set":{},"hashtags":[],"change_id":"Ie95996108fafe94f799c2daf865bb9fbf25cb89a","subject":"Add NVMe driver lifecycle scenario tests","status":"NEW","created":"2026-08-06 08:29:44.000000000","updated":"2026-08-09 06:25:27.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":3,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"102c7090bfcb6fea50be410db35d81305d1eed1d","_number":999922,"virtual_id_number":999922,"owner":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-09 05:12:19.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-06 08:29:52.000000000","updated_by":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"reviewer":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"state":"CC"},{"updated":"2026-08-06 09:46:03.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"b15d95bbe3b181d373e088081be2659635c0200c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-08-06 08:29:44.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"bc73c3b49c87be65b6053d7785bb8256072e8659","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-06 08:29:52.000000000","message":"Patch Set 1:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":1},{"id":"35457035c4d60dda2fd80230da40fe20f93c7267","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-06 08:39:17.000000000","message":"Patch Set 1:\n\n(2 comments)\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/ac4d36c2f86d4c559309179a3e323edd\n\n- teim-code-review https://zuul.teim.app/t/main/build/c0769dfa47344eda927875592dee9c00 : SUCCESS in 9m 17s","accounts_in_message":[],"_revision_number":1},{"id":"9593518cfe306bb86b6605984341fdb73907243c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-08-06 08:44:44.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"73a0af79e375e8a99332fa7cfb77bdf56dc871f6","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-06 08:44:50.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"5343a569ce5999f9e3e52761186e3fcaf4db80ec","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-06 09:01:25.000000000","message":"Patch Set 2:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/967bce717a2d4d9d9d5a5d5d0ae139f1\n\n- teim-code-review https://zuul.teim.app/t/main/build/af7a42f049c3460e8d6f944c3095f197 : SUCCESS in 11m 40s","accounts_in_message":[],"_revision_number":2},{"id":"e1d950b34f703c9cf52f612d4e4ca862d3e69140","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-06 09:46:03.000000000","message":"Patch Set 2: Verified-1\n\nBuild failed (check pipeline).  For information on how to proceed, see\nhttps://docs.opendev.org/opendev/infra-manual/latest/developers.html#automated-testing\nand https://docs.openstack.org/project-team-guide/testing.html#how-to-handle-test-failures\n\nhttps://zuul.opendev.org/t/openstack/buildset/9f73332240764130bd3042b7f49962f4\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/7119884c09924ede826fd26b8b29346a : SUCCESS in 3m 09s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/2d3b6da733434912bc5359ac1c68a4e5 : SUCCESS in 54m 58s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/1e84792ea83e4c3e879e4efddc53f9f4 : FAILURE in 30m 55s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/b5cab420047d4f2c89476fa57259d48a : SUCCESS in 33m 57s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/317df0d3bfde4acb90f522282ea36661 : SUCCESS in 16m 13s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/e2968bfbc0494fa280e9f06880a17f46 : FAILURE in 27m 08s","accounts_in_message":[],"_revision_number":2},{"id":"75ef622edf3b4ac625c241fe4e47b1146cfc1c8d","author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"date":"2026-08-09 04:12:55.000000000","message":"Patch Set 2:\n\n(1 comment)","accounts_in_message":[],"_revision_number":2},{"id":"db05851a3d988acf3a871fab131e783cc24934a8","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-09 04:13:21.000000000","message":"Patch Set 2:\n\nStarting automatic-ci jobs.","accounts_in_message":[],"_revision_number":2},{"id":"cae5d1f61121af280c6b758d977859411b4c16d3","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-09 05:12:19.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/a89a29a8c4aa4681aa1b16783964afb8\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/0f01ed19c9cd4fde967711abe2f7ffd7 : SUCCESS in 1m 54s\n- cyborg-tempest-py3 https://zuul.opendev.org/t/openstack/build/1ac2fbb19a474bc0a93e5e934532e6b0 : SUCCESS in 52m 42s\n- cyborg-tempest-2026-1 https://zuul.opendev.org/t/openstack/build/970d3b618fbb4b88a588fbff13130ed2 : SUCCESS in 18m 06s\n- cyborg-tempest-2025-2 https://zuul.opendev.org/t/openstack/build/610fd74bb6744ffcb4616358433ebbe5 : SUCCESS in 30m 58s\n- cyborg-tempest-2025-1 https://zuul.opendev.org/t/openstack/build/44f2021e509b452a8a474e53f3dcb936 : SUCCESS in 21m 33s\n- cyborg-tempest-ipv6 https://zuul.opendev.org/t/openstack/build/cdea75b1ef724425bc63ac3d8571761e : SUCCESS in 44m 17s","accounts_in_message":[],"_revision_number":2},{"id":"102c7090bfcb6fea50be410db35d81305d1eed1d","tag":"autogenerated:zuul:automatic-ci","author":{"_account_id":28006,"name":"teim-ci","display_name":"teim-ci","email":"ci@seanmooney.info","username":"ci-sean-mooney","status":"this is a third-party ci account run by sean-k-mooney on irc\nhosted at zuul.teim.app"},"date":"2026-08-09 06:25:27.000000000","message":"Patch Set 2:\n\nBuild succeeded (automatic-ci pipeline).\nhttps://zuul.teim.app/t/main/buildset/543ca1905f7b47c5a4b70e61317854d8\n\n- teim-code-review https://zuul.teim.app/t/main/build/3934cde5c80f409cac22bdd7f97486cb : SUCCESS in 7m 41s\n\nWarning:\n  The new NVMe test class has 9 lifecycle test methods, but the comparable PCI test class has 11. The NVMe suite is missing test_backup_server_with_nvme_device and test_lock_unlock_server_with_nvme_device. The DriverLifecycleMixin already implements _run_backup and _run_lock_unlock, so adding these... Impact: Backup and lock/unlock lifecycle scenarios for NVMe devices are untested. If a regression affects NVMe device behavior during these operations, it will not be caught by the tempest plugin. Recommendation: Add test_backup_server_with_nvme_device and test_lock_unlock_server_with_nvme_device test methods following the same decorator pattern (@decorators.idempotent_id, @utils.services) used in the PCI test class. Each should call the corresponding _run_backup or _run_lock_unlock helper with **self._lifecycle_params.","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"8fc6f8ec62ef7f7a4e0717cc756ef384da9cd302","revisions":{"b09aefe8dc364c88273c0ec05de551f1dbc1bcb2":{"kind":"REWORK","_number":1,"created":"2026-08-06 08:29:44.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/999922/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/22/999922/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/22/999922/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/22/999922/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/22/999922/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/22/999922/1"}}},"commit":{"parents":[{"commit":"ae4fd72abc28b8cf032fac9279c502f0bf432380","subject":"Refactor PCI lifecycle tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/ae4fd72abc28b8cf032fac9279c502f0bf432380"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-06 06:59:43.000000000","tz":330},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-06 08:27:07.000000000","tz":330},"subject":"Add NVMe driver lifecycle scenario tests","message":"Add NVMe driver lifecycle scenario tests\n\nAdd cyborg_nvme config group with device_profile_name, vendor_id and\nproduct_id options, and register it in the tempest plugin. NVMe\nlifecycle scenario tests reuse the DriverLifecycleMixin pattern and\ncover create/delete, soft/hard reboot, pause/unpause, snapshot,\nrebuild, and shelve/unshelve with NVMe devices.\n\nMove SSH credential handling into the base DriverLifecycleMixin so\nall device types benefit: image_ssh_user and image_ssh_password are\nnow read from the shared [cyborg] config section and forwarded to\nget_remote_client when set.\n\nGuest-side NVMe validation checks for nvme-cli before running any\nnvme commands, skipping the test when the tool is absent. When\npresent it verifies the controller via nvme list and performs a\nwrite/readback I/O check on the namespace block device.\n\nChange-Id: Ie95996108fafe94f799c2daf865bb9fbf25cb89a\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/b09aefe8dc364c88273c0ec05de551f1dbc1bcb2"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/b09aefe8dc364c88273c0ec05de551f1dbc1bcb2"}]},"branch":"refs/heads/master"},"8fc6f8ec62ef7f7a4e0717cc756ef384da9cd302":{"kind":"REWORK","_number":2,"created":"2026-08-06 08:44:44.000000000","uploader":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"ref":"refs/changes/22/999922/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cyborg-tempest-plugin","ref":"refs/changes/22/999922/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/22/999922/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/22/999922/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/22/999922/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cyborg-tempest-plugin refs/changes/22/999922/2"}}},"commit":{"parents":[{"commit":"ae4fd72abc28b8cf032fac9279c502f0bf432380","subject":"Refactor PCI lifecycle tests","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/ae4fd72abc28b8cf032fac9279c502f0bf432380"}]}],"author":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-06 06:59:43.000000000","tz":330},"committer":{"name":"Chandan Kumar (raukadah)","email":"chkumar@redhat.com","date":"2026-08-06 08:43:43.000000000","tz":330},"subject":"Add NVMe driver lifecycle scenario tests","message":"Add NVMe driver lifecycle scenario tests\n\nAdd cyborg_nvme config group with device_profile_name, vendor_id and\nproduct_id options, and register it in the tempest plugin. NVMe\nlifecycle scenario tests reuse the DriverLifecycleMixin pattern and\ncover create/delete, soft/hard reboot, pause/unpause, snapshot,\nrebuild, and shelve/unshelve with NVMe devices.\n\nMove SSH credential handling into the base DriverLifecycleMixin so\nall device types benefit: image_ssh_user and image_ssh_password are\nnow read from the shared [cyborg] config section and forwarded to\nget_remote_client when set.\n\nGuest-side NVMe validation checks for nvme-cli before running any\nnvme commands, skipping the test when the tool is absent. When\npresent it verifies the controller via nvme list and performs a\nwrite/readback I/O check on the namespace block device.\n\nChange-Id: Ie95996108fafe94f799c2daf865bb9fbf25cb89a\nSigned-off-by: Chandan Kumar (raukadah) \u003cchkumar@redhat.com\u003e\nCo-Authored-By: Claude Opus 4.6 \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/8fc6f8ec62ef7f7a4e0717cc756ef384da9cd302"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cyborg-tempest-plugin/commit/8fc6f8ec62ef7f7a4e0717cc756ef384da9cd302"}]},"branch":"refs/heads/master"}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
