)]}'
{"id":"openstack%2Fcinder-tempest-plugin~1000327","triplet_id":"openstack%2Fcinder-tempest-plugin~master~Ia208c8375cfd4701199eef5b859adc0fa139c570","project":"openstack/cinder-tempest-plugin","branch":"master","topic":"nvmet-fc-fcloop-job","attention_set":{"5314":{"account":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"last_update":"2026-08-19 15:42:27.000000000","reason":"\u003cGERRIT_ACCOUNT_13425\u003e replied on the change","reason_account":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"}}},"removed_from_attention_set":{"13425":{"account":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"last_update":"2026-08-19 15:42:27.000000000","reason":"\u003cGERRIT_ACCOUNT_13425\u003e replied on the change","reason_account":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"}}},"hashtags":[],"change_id":"Ia208c8375cfd4701199eef5b859adc0fa139c570","subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop (experimental)","status":"NEW","created":"2026-08-10 13:22:23.000000000","updated":"2026-08-19 15:42:27.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":3,"unresolved_comment_count":1,"has_review_started":true,"meta_rev_id":"71260f9a0b89d689e72c372cd99f2caf25eb28f7","_number":1000327,"virtual_id_number":1000327,"owner":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"actions":{},"labels":{"Verified":{"disliked":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},{"tag":"autogenerated:zuul:check","value":-1,"date":"2026-08-19 02:53:50.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":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},{"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":{"rejected":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"all":[{"value":-1,"date":"2026-08-19 00:23:30.000000000","permitted_voting_range":{"min":-1,"max":0},"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},{"_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},"Review-Priority":{"all":[{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Branch Freeze"," 0":"No Priority","+1":"Important Change","+2":"Gate Blocker Fix / Urgent Change"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"CC":[{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-08-10 22:13:05.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"},{"updated":"2026-08-19 15:15:53.000000000","updated_by":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"reviewer":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"state":"CC"}],"messages":[{"id":"16febaa4e0981cc2e2799920162b3b586c88d2e2","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-10 13:22:23.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"78fdde65a9429942d43c5dbc22e4c3e6633eedd5","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-10 14:31:00.000000000","message":"Uploaded patch set 2.","accounts_in_message":[],"_revision_number":2},{"id":"aadcffa09d5651affc7b0d9a2c5fd7e0af06ff58","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-10 15:44:07.000000000","message":"Uploaded patch set 3.","accounts_in_message":[],"_revision_number":3},{"id":"6cc64315f98df2312ae017d00639fe2b8f850487","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-10 16:46:39.000000000","message":"Uploaded patch set 4.","accounts_in_message":[],"_revision_number":4},{"id":"2d72735b19e789f0c8a841d44eb18de11e2c3310","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-10 19:00:14.000000000","message":"Uploaded patch set 5.","accounts_in_message":[],"_revision_number":5},{"id":"b04d7af70d964cb0e89e4f292a4d69405a47c6dd","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-10 19:59:44.000000000","message":"Uploaded patch set 6: Commit message was updated.","accounts_in_message":[],"_revision_number":6},{"id":"802f4f08bccb3dcdf2040063aa607f9374c015a8","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-10 20:24:30.000000000","message":"Patch Set 3:\n\nrecheck","accounts_in_message":[],"_revision_number":3},{"id":"1746827b61d7d48cb39c97b44201496431f22959","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-10 20:24:50.000000000","message":"Patch Set 6:\n\nrecheck","accounts_in_message":[],"_revision_number":6},{"id":"120e40023dcc1996378900c22c436439a4b88406","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-10 21:31:17.000000000","message":"Patch Set 6:\n\nrecheck","accounts_in_message":[],"_revision_number":6},{"id":"ee31f0ff24ee537b83033aa8363bd2f00b90c5ed","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-10 22:13:05.000000000","message":"Patch Set 6: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/296023d2092b45e193882ff4663d7860\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/806d3c9a81424fb484171c2befc3466a : SUCCESS in 3m 08s\n- cinder-tempest-plugin-multi-ceph-replication https://zuul.opendev.org/t/openstack/build/1f796e83597a44e29a72995a4a91e56d : SUCCESS in 42m 09s\n- cinder-tempest-plugin-lvm-multiattach https://zuul.opendev.org/t/openstack/build/3af49ae415474d3a8ce1774d86ea377b : SUCCESS in 1h 51m 59s\n- cinder-tempest-plugin-lvm-concurrency-tests https://zuul.opendev.org/t/openstack/build/dde1cca5ee7b4fd19a9de8f69819b28f : SUCCESS in 27m 50s\n- cinder-tempest-plugin-lvm-lio-barbican https://zuul.opendev.org/t/openstack/build/3b38fad4cbbf4820a82f16ac08e17d9f : SUCCESS in 1h 55m 50s\n- cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream-py311 https://zuul.opendev.org/t/openstack/build/9c7119f8de6b4b7aa4581ab76feb65ee : SUCCESS in 1h 51m 16s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream-2025-1 https://zuul.opendev.org/t/openstack/build/aee5847297bb40e7b0562482fd75793b : FAILURE in 27m 49s (non-voting)\n- cinder-tempest-plugin-lvm-tgt-barbican https://zuul.opendev.org/t/openstack/build/b8ec62bfd7294f349aab8275a7e83fb5 : FAILURE in 1h 49m 56s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1 https://zuul.opendev.org/t/openstack/build/924de749b11d4f9cb05bd39d0d8c68d8 : FAILURE in 30m 09s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-fips-py311 https://zuul.opendev.org/t/openstack/build/ca6ee43a478b4e2e9f2613cc51fefce0 : SUCCESS in 1h 53m 40s (non-voting)\n- cinder-tempest-plugin-lvm-nvmet-barbican https://zuul.opendev.org/t/openstack/build/77a25e02218944b2967c6e5d4f90e152 : SUCCESS in 1h 13m 07s\n- cinder-tempest-plugin-lvm-nvmet-fc-barbican https://zuul.opendev.org/t/openstack/build/b1794a8dae8a4e29addb2defacc7430a : FAILURE in 16m 30s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/0c7f5b666879404db92a3616b9b11304 : SUCCESS in 1h 42m 09s (non-voting)\n- cinder-tempest-plugin-cbak-ceph https://zuul.opendev.org/t/openstack/build/a2bc56f898e0492c898a770a75f3193f : SUCCESS in 1h 55m 53s\n- cinder-tempest-plugin-cbak-s3 https://zuul.opendev.org/t/openstack/build/87d75d71b96f47008e1f9785c423872f : SUCCESS in 42m 42s\n- cinder-tempest-plugin-basic-2026-1 https://zuul.opendev.org/t/openstack/build/920a59b38d3a4a82b38f8f3375819fb8 : SUCCESS in 47m 10s\n- cinder-tempest-plugin-basic-2025-2 https://zuul.opendev.org/t/openstack/build/eb2862f7dcea40e6a8826fa3ffa80314 : SUCCESS in 39m 42s\n- cinder-tempest-plugin-basic-2025-1 https://zuul.opendev.org/t/openstack/build/535838f64b7e48149cd13e9776a01d37 : SUCCESS in 41m 30s\n- cinder-tempest-plugin-protection-functional https://zuul.opendev.org/t/openstack/build/d32ce7f6364a4190a05952203acd8710 : SUCCESS in 35m 40s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/openstack/devstack/playbooks/post.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":6},{"id":"d6c53a9ef3b2b172575f5d5da00768a931131bf7","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-17 21:40:23.000000000","message":"Patch Set 6:\n\nrecheck","accounts_in_message":[],"_revision_number":6},{"id":"d1efd4bf1e6aaaebea3bbf2a48cfef95a368772e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-17 22:08:28.000000000","message":"Uploaded patch set 7.\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":7},{"id":"38dd4bcf95be62412e78c4618a19e38046dd0b7d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-17 22:22:20.000000000","message":"Uploaded patch set 8.","accounts_in_message":[],"_revision_number":8},{"id":"7ad0a63f5330c6993769c4bf864004de8e02e879","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 01:12:39.000000000","message":"Uploaded patch set 9.","accounts_in_message":[],"_revision_number":9},{"id":"d23cf565def2ccbcbdc518724f5c268ebd735fde","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 02:56:08.000000000","message":"Uploaded patch set 10: Commit message was updated.","accounts_in_message":[],"_revision_number":10},{"id":"26dd30b828bbcf3311587eb73e8cad03b2c0cab0","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-18 05:45:38.000000000","message":"Patch Set 10: 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/5c2662b173e841c5a7ce219f6ea7fc6f\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/4575ae98e222485692dae962730ebcc9 : SUCCESS in 3m 17s\n- cinder-tempest-plugin-multi-ceph-replication https://zuul.opendev.org/t/openstack/build/2468d5a4b40745f2abf532b09ebcbef1 : SUCCESS in 44m 45s\n- cinder-tempest-plugin-lvm-multiattach https://zuul.opendev.org/t/openstack/build/d99767d28242402393047986d7d31c3c : SUCCESS in 1h 18m 53s\n- cinder-tempest-plugin-lvm-concurrency-tests https://zuul.opendev.org/t/openstack/build/69729761a97a42598c93a86316560efa : SUCCESS in 27m 02s\n- cinder-tempest-plugin-lvm-lio-barbican https://zuul.opendev.org/t/openstack/build/50c39a42be424bcb89610aac50ce3691 : SUCCESS in 1h 34m 05s\n- cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream-py311 https://zuul.opendev.org/t/openstack/build/4dfd21cc81ed422ea8b114bda95ed2a2 : SUCCESS in 1h 22m 58s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream-2025-1 https://zuul.opendev.org/t/openstack/build/3e3d5dc9c7cb4f209a5eccf2f04a9e44 : FAILURE in 17m 02s (non-voting)\n- cinder-tempest-plugin-lvm-tgt-barbican https://zuul.opendev.org/t/openstack/build/2733a256f86f45b1bb884a5f9505b3db : FAILURE in 2h 06m 30s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1 https://zuul.opendev.org/t/openstack/build/5bc7d86fffdb452bb905aad87f1a3be7 : FAILURE in 37m 15s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-fips-py311 https://zuul.opendev.org/t/openstack/build/0d13abb123ca4d459bd92ff0292fbeb3 : SUCCESS in 1h 49m 17s (non-voting)\n- cinder-tempest-plugin-lvm-nvmet-barbican https://zuul.opendev.org/t/openstack/build/0a882295be244c4899c4bf5d92fa404c : SUCCESS in 1h 26m 44s\n- cinder-tempest-plugin-lvm-nvmet-fc-barbican https://zuul.opendev.org/t/openstack/build/f4ca751edb494b95a91f4839e8adde03 : FAILURE in 2h 40m 14s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/9a28beb5911642f08058b8db61b4688c : SUCCESS in 1h 36m 41s (non-voting)\n- cinder-tempest-plugin-cbak-ceph https://zuul.opendev.org/t/openstack/build/4b6a1be6ad1648ac939e1ec2babe5f34 : FAILURE in 1h 40m 07s\n- cinder-tempest-plugin-cbak-s3 https://zuul.opendev.org/t/openstack/build/faa734081b54436a8f3a67a9ed0ff93d : SUCCESS in 39m 39s\n- cinder-tempest-plugin-basic-2026-1 https://zuul.opendev.org/t/openstack/build/5e2412cd0d5242ca8ac03ba5dd125bff : SUCCESS in 47m 40s\n- cinder-tempest-plugin-basic-2025-2 https://zuul.opendev.org/t/openstack/build/6dee1d17c98d4fefbd6cba60bb386a76 : SUCCESS in 31m 08s\n- cinder-tempest-plugin-basic-2025-1 https://zuul.opendev.org/t/openstack/build/31a8a2a9dab9468a9a11c34925d1a5bc : SUCCESS in 45m 10s\n- cinder-tempest-plugin-protection-functional https://zuul.opendev.org/t/openstack/build/ffa788f0f439439085fdc334f5516f44 : SUCCESS in 42m 00s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/openstack/devstack/playbooks/post.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":10},{"id":"df556b098889b384968a6c9e089f126b22902252","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 13:43:35.000000000","message":"Patch Set 10:\n\nrecheck","accounts_in_message":[],"_revision_number":10},{"id":"d1d6b0e4ab2297f7fdc9094b9d14e3f6de4e55c4","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-18 14:13:41.000000000","message":"Patch Set 10:\n\nThis change depends on a change that failed to merge.\n\nChanges https://review.opendev.org/c/openstack/os-brick/+/997815, https://review.opendev.org/c/openstack/cinder/+/1000326 are needed.","accounts_in_message":[],"_revision_number":10},{"id":"3251c5b42140fd6d9ffdbf432280034a81646e07","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 14:16:49.000000000","message":"Patch Set 10:\n\nrecheck","accounts_in_message":[],"_revision_number":10},{"id":"8a33aa0ff1108e30c554d448ccc87b07a1d37bb1","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-18 16:35:26.000000000","message":"Patch Set 10:\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/9fe66d88ec264b75a37813ec6bb3a7f1\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/61a53c8c6c7a477f88dbf6aa914e07df : SUCCESS in 4m 04s\n- cinder-tempest-plugin-multi-ceph-replication https://zuul.opendev.org/t/openstack/build/c9725de98dc540cd86d93326e0c9d565 : SUCCESS in 21m 08s\n- cinder-tempest-plugin-lvm-multiattach https://zuul.opendev.org/t/openstack/build/38ff8efdd0354edcabf0e62cad0c8827 : SUCCESS in 1h 58m 44s\n- cinder-tempest-plugin-lvm-concurrency-tests https://zuul.opendev.org/t/openstack/build/386a29ba062c4398907aa80c076afb9e : SUCCESS in 36m 43s\n- cinder-tempest-plugin-lvm-lio-barbican https://zuul.opendev.org/t/openstack/build/c73ffbc6e3b84436926f964da752fe41 : FAILURE in 1h 59m 03s\n- cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream-py311 https://zuul.opendev.org/t/openstack/build/a4f0c2b840144fa1b78d02f4b7b9a436 : SUCCESS in 1h 48m 47s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream-2025-1 https://zuul.opendev.org/t/openstack/build/50002dfab7074fc78482c21327799110 : FAILURE in 29m 19s (non-voting)\n- cinder-tempest-plugin-lvm-tgt-barbican https://zuul.opendev.org/t/openstack/build/28a4f0bac95d48a3b0325b0d5e6eb424 : FAILURE in 1h 58m 47s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1 https://zuul.opendev.org/t/openstack/build/75ffbff26c3c415596e62f3aa4318c06 : FAILURE in 32m 46s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-fips-py311 https://zuul.opendev.org/t/openstack/build/8aeb674123644c45b5b37943d07ea759 : SUCCESS in 1h 59m 09s (non-voting)\n- cinder-tempest-plugin-lvm-nvmet-barbican https://zuul.opendev.org/t/openstack/build/38c3d598f3d24fc396913d826be704ee : SUCCESS in 1h 45m 57s\n- cinder-tempest-plugin-lvm-nvmet-fc-barbican https://zuul.opendev.org/t/openstack/build/8f71dbf7b1ea4151807efca2df846b74 : FAILURE in 2h 11m 23s (non-voting)\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/6bb13672bd064b79ba9e62d439c8bdec : SUCCESS in 1h 27m 15s (non-voting)\n- cinder-tempest-plugin-cbak-ceph https://zuul.opendev.org/t/openstack/build/bdd56efc4b9f4b5cb9e9dcd19865fcfb : SUCCESS in 1h 34m 54s\n- cinder-tempest-plugin-cbak-s3 https://zuul.opendev.org/t/openstack/build/779d26a2325e44a68b95e9fc035b4109 : SUCCESS in 30m 28s\n- cinder-tempest-plugin-basic-2026-1 https://zuul.opendev.org/t/openstack/build/25d4a9a778c64b7a9475b66fe8b91e2a : SUCCESS in 51m 07s\n- cinder-tempest-plugin-basic-2025-2 https://zuul.opendev.org/t/openstack/build/b481f4859b484cdcb84bd9816b2c5632 : SUCCESS in 45m 41s\n- cinder-tempest-plugin-basic-2025-1 https://zuul.opendev.org/t/openstack/build/7b2831626bd348929bd55e558fe1b606 : SUCCESS in 40m 03s\n- cinder-tempest-plugin-protection-functional https://zuul.opendev.org/t/openstack/build/ed269c6997654c02944c6d0741ba364a : SUCCESS in 37m 25s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/openstack/devstack/playbooks/post.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":10},{"id":"2d16b6859ca57cb405168a136858398c9c79da3c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 16:52:41.000000000","message":"Uploaded patch set 11.\n\nOutdated Votes:\n* Verified-1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":11},{"id":"766fc0e9b009eefba5700cd7fe299d8df0867a5d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 18:47:46.000000000","message":"Uploaded patch set 12.","accounts_in_message":[],"_revision_number":12},{"id":"5e28ad93bc401c7baaee102075ae1827e0d5b51d","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 20:24:06.000000000","message":"Uploaded patch set 13.","accounts_in_message":[],"_revision_number":13},{"id":"d308143c6baa4dcc376a625ac74bb90f4a08189e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 21:20:20.000000000","message":"Uploaded patch set 14.","accounts_in_message":[],"_revision_number":14},{"id":"b895265d27a6f02968d2bc13315f07d31654a57c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 21:26:59.000000000","message":"Uploaded patch set 15.","accounts_in_message":[],"_revision_number":15},{"id":"c1b79dcf694c4f327750d38e8bda612945f0cc3f","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-18 22:22:33.000000000","message":"Uploaded patch set 16.","accounts_in_message":[],"_revision_number":16},{"id":"97fa097b49eb7dfa411d8784124e3a8bc5e43cb3","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-19 00:13:26.000000000","message":"Uploaded patch set 17.","accounts_in_message":[],"_revision_number":17},{"id":"132aaa6baa05646a5f500da00b19cd3335313693","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-19 00:23:30.000000000","message":"Patch Set 17: Workflow-1\n\n(1 comment)","accounts_in_message":[],"_revision_number":17},{"id":"df1843cdcdda41cbea52a7564ad4db9fd61e245d","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-19 02:53:50.000000000","message":"Patch Set 17: 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/46166c24271f4de4866065999518ed3b\n\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d6942b3d9cb64e2eb81fb7a1932c29ca : SUCCESS in 2m 05s\n- cinder-tempest-plugin-multi-ceph-replication https://zuul.opendev.org/t/openstack/build/d282725f645f4c0ab6dd28c61661e4b2 : FAILURE in 19m 04s\n- cinder-tempest-plugin-lvm-multiattach https://zuul.opendev.org/t/openstack/build/24bdc0c775c84523a4eec84ef74b86fd : SUCCESS in 1h 50m 58s\n- cinder-tempest-plugin-lvm-concurrency-tests https://zuul.opendev.org/t/openstack/build/7cb83e938bee4c1a80f2dfe0ff4d00b6 : SUCCESS in 33m 28s\n- cinder-tempest-plugin-lvm-lio-barbican https://zuul.opendev.org/t/openstack/build/abd3e500255840648af966dc7f09495c : SUCCESS in 1h 50m 29s\n- cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream-py311 https://zuul.opendev.org/t/openstack/build/f4f984047cd741258cce16058d1a0aa9 : SUCCESS in 1h 55m 38s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-centos-9-stream-2025-1 https://zuul.opendev.org/t/openstack/build/578e7e67830c4d31a027d222fcc25a89 : FAILURE in 31m 51s (non-voting)\n- cinder-tempest-plugin-lvm-tgt-barbican https://zuul.opendev.org/t/openstack/build/310b35b4fa8641b8a1bedbe36ee6e7df : FAILURE in 2h 38m 26s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1 https://zuul.opendev.org/t/openstack/build/2239fcc18b90497b9d7a135473ef7de1 : FAILURE in 29m 29s (non-voting)\n- cinder-tempest-plugin-lvm-lio-barbican-fips-py311 https://zuul.opendev.org/t/openstack/build/08703b642221448c8655b42f0c45ccba : FAILURE in 1h 48m 14s (non-voting)\n- cinder-tempest-plugin-lvm-nvmet-barbican https://zuul.opendev.org/t/openstack/build/0f40f67c5b8b46288f2affaa91d564e7 : SUCCESS in 1h 44m 28s\n- nova-ceph-multistore https://zuul.opendev.org/t/openstack/build/241845c4cb5943cda617dfb2187a5b58 : SUCCESS in 1h 01m 47s (non-voting)\n- cinder-tempest-plugin-cbak-ceph https://zuul.opendev.org/t/openstack/build/764609bae9be4792a74234bfadff36db : SUCCESS in 1h 33m 28s\n- cinder-tempest-plugin-cbak-s3 https://zuul.opendev.org/t/openstack/build/2e163aa22c894797ade1f07cf62781e9 : SUCCESS in 23m 37s\n- cinder-tempest-plugin-basic-2026-1 https://zuul.opendev.org/t/openstack/build/d9bb7873e4a34dbd9b9cc233bed2bb7a : SUCCESS in 24m 40s\n- cinder-tempest-plugin-basic-2025-2 https://zuul.opendev.org/t/openstack/build/623f246c2f0042ab80b8db2be1cac32a : SUCCESS in 43m 08s\n- cinder-tempest-plugin-basic-2025-1 https://zuul.opendev.org/t/openstack/build/8a611c5facf04d738ab5ec0e870f5425 : SUCCESS in 26m 22s\n- cinder-tempest-plugin-protection-functional https://zuul.opendev.org/t/openstack/build/bd84ef3f13114b6bb1815daafce6c753 : SUCCESS in 34m 17s\n\nWarning:\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-2025-1.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/openstack/devstack/playbooks/post.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/cleanup.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.\n  File .ssh/known_hosts.old found in build home directory during playbook opendev.org/opendev/base-jobs/playbooks/base/post-logs.yaml for job cinder-tempest-plugin-lvm-lio-barbican-fips-py311.  Add to preserve-home-paths if safe, or otherwise remove.","accounts_in_message":[],"_revision_number":17},{"id":"edc323d3ba50c3263b1aba92c86e78ec5af69e7c","author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"date":"2026-08-19 15:15:53.000000000","message":"Patch Set 17:\n\n(1 comment)","accounts_in_message":[],"_revision_number":17},{"id":"71260f9a0b89d689e72c372cd99f2caf25eb28f7","author":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"date":"2026-08-19 15:42:27.000000000","message":"Patch Set 17:\n\n(1 comment)","accounts_in_message":[],"_revision_number":17}],"current_revision_number":17,"current_revision":"ee73f42eb2892e2e33d78ee984276dee20eb2106","revisions":{"50825ea9b6be633c3c20c139accb921f6cd8ea41":{"kind":"REWORK","_number":1,"created":"2026-08-10 13:22:23.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/1"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:22:21.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/50825ea9b6be633c3c20c139accb921f6cd8ea41"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/50825ea9b6be633c3c20c139accb921f6cd8ea41"}]},"branch":"refs/heads/master"},"359034f6874d3a2959e03488edc6cab6151b0b71":{"kind":"REWORK","_number":2,"created":"2026-08-10 14:31:00.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/2"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 14:30:55.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/359034f6874d3a2959e03488edc6cab6151b0b71"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/359034f6874d3a2959e03488edc6cab6151b0b71"}]},"branch":"refs/heads/master"},"fd436177a6fc4a8cece0ddc8cdd5918f87b1d589":{"kind":"REWORK","_number":3,"created":"2026-08-10 15:44:07.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/3","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/3","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/3 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/3 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/3 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/3"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 15:44:03.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/fd436177a6fc4a8cece0ddc8cdd5918f87b1d589"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/fd436177a6fc4a8cece0ddc8cdd5918f87b1d589"}]},"branch":"refs/heads/master"},"15d7d40a35b06fac4ab24bf6ba4e74e9eda3d232":{"kind":"REWORK","_number":4,"created":"2026-08-10 16:46:39.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/4","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/4","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/4 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/4 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/4 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/4"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 16:46:35.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/15d7d40a35b06fac4ab24bf6ba4e74e9eda3d232"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/15d7d40a35b06fac4ab24bf6ba4e74e9eda3d232"}]},"branch":"refs/heads/master"},"90d25ce2f15244c0e68b2ec85e0e1c23e5d6f388":{"kind":"REWORK","_number":5,"created":"2026-08-10 19:00:14.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/5","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/5","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/5 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/5 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/5 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/5"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 19:00:07.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/90d25ce2f15244c0e68b2ec85e0e1c23e5d6f388"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/90d25ce2f15244c0e68b2ec85e0e1c23e5d6f388"}]},"branch":"refs/heads/master"},"86e63f30097cc983fd29713a37c9f7da1d37bcf5":{"kind":"NO_CODE_CHANGE","_number":6,"created":"2026-08-10 19:59:44.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/6","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/6","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/6 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/6 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/6 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/6"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 19:59:38.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000373\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/86e63f30097cc983fd29713a37c9f7da1d37bcf5"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/86e63f30097cc983fd29713a37c9f7da1d37bcf5"}]},"branch":"refs/heads/master"},"42d0712685635784906f2e6655ded26f8c16b87b":{"kind":"REWORK","_number":7,"created":"2026-08-17 22:08:28.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/7","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/7","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/7 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/7 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/7 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/7"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-17 22:08:27.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs on CentOS Stream 9 because the Ubuntu kernel does not build\nthe nvme_fcloop module.  CentOS Stream 9 defaults to Python 3.9, which is\nbelow the current OpenStack minimum of 3.10, so the job pins\nPYTHON3_VERSION\u003d3.11 for devstack; otherwise stacking fails resolving the\nmaster upper-constraints (for example testtools 2.9.1 requires Python\n\u003e\u003d3.10).\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/42d0712685635784906f2e6655ded26f8c16b87b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/42d0712685635784906f2e6655ded26f8c16b87b"}]},"branch":"refs/heads/master"},"7461eb8592d0741dac884efb9836a987878cdf6b":{"kind":"REWORK","_number":8,"created":"2026-08-17 22:22:20.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/8","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/8","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/8 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/8 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/8 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/8"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-17 22:22:17.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/7461eb8592d0741dac884efb9836a987878cdf6b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/7461eb8592d0741dac884efb9836a987878cdf6b"}]},"branch":"refs/heads/master"},"8adc08cbc8d5dd5cd7917f90e7b3a3b8e96d47e8":{"kind":"REWORK","_number":9,"created":"2026-08-18 01:12:39.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/9","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/9","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/9 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/9 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/9 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/9"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-18 01:12:37.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nos-brick is installed from git (required-projects + LIBS_FROM_GIT) because\nthe NVMe/FC connector support is not in any released os-brick yet.  With the\npackaged os-brick the fc portal is treated as tcp and connect_volume fails\nwith KeyError(\u0027trsvcid\u0027) on every host-side attach (backup, image copy,\nclone), so the library must come from source for this job to exercise the\nFC path.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/8adc08cbc8d5dd5cd7917f90e7b3a3b8e96d47e8"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/8adc08cbc8d5dd5cd7917f90e7b3a3b8e96d47e8"}]},"branch":"refs/heads/master"},"88fd93383e5ea771485b9c523b80219c9c285893":{"kind":"NO_CODE_CHANGE","_number":10,"created":"2026-08-18 02:56:08.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/10","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/10","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/10 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/10 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/10 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/10"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-18 02:56:06.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nexisting NVMe-oF tempest tests.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nos-brick is installed from git (required-projects + LIBS_FROM_GIT) because\nthe NVMe/FC connector support is not in any released os-brick yet.  With the\npackaged os-brick the fc portal is treated as tcp and connect_volume fails\nwith KeyError(\u0027trsvcid\u0027) on every host-side attach (backup, image copy,\nclone), so the library must come from source for this job to exercise the\nFC path.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nDepends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/1000888\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/88fd93383e5ea771485b9c523b80219c9c285893"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/88fd93383e5ea771485b9c523b80219c9c285893"}]},"branch":"refs/heads/master"},"f68560b63a687ba9a29bef3b5a2e2fa3a3eacbb6":{"kind":"REWORK","_number":11,"created":"2026-08-18 16:52:41.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/11","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/11","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/11 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/11 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/11 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/11"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-18 16:52:39.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nvolume and volume-attach tempest tests.  It mirrors the nvmet_tcp job but\nuses the in-kernel nvme_fcloop loopback driver, set up in a new pre-run\nplaybook (playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair\nexists on a single node without any FC hardware.\n\nThe job scopes tempest to the volume and volume-attach tests\n(tempest.api.volume, tempest.api.compute.volumes, the volume scenarios and\ncinder_tempest_plugin) rather than inheriting the near-full suite from the\nparent.  That is the right coverage for a transport driver and keeps the\nattach/detach churn -- and the nvme_fcloop controller churn it drives -- to\na sane level on a single loopback node.\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nos-brick is installed from git (required-projects + LIBS_FROM_GIT) because\nthe NVMe/FC connector support is not in any released os-brick yet.  With the\npackaged os-brick the fc portal is treated as tcp and connect_volume fails\nwith KeyError(\u0027trsvcid\u0027) on every host-side attach (backup, image copy,\nclone), so the library must come from source for this job to exercise the\nFC path.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nDepends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/1000888\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/f68560b63a687ba9a29bef3b5a2e2fa3a3eacbb6"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/f68560b63a687ba9a29bef3b5a2e2fa3a3eacbb6"}]},"branch":"refs/heads/master"},"09b7eba0c7b063fbcb8d2c84e07b17acb39c829b":{"kind":"REWORK","_number":12,"created":"2026-08-18 18:47:46.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/12","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/12","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/12 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/12 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/12 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/12"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-18 18:47:45.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs the\nvolume and volume-attach tempest tests.  It mirrors the nvmet_tcp job but\nuses the in-kernel nvme_fcloop loopback driver, set up in a new pre-run\nplaybook (playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair\nexists on a single node without any FC hardware.\n\nThe job scopes tempest to the volume and volume-attach tests\n(tempest.api.volume, tempest.api.compute.volumes, the volume scenarios and\ncinder_tempest_plugin) rather than inheriting the near-full suite from the\nparent.  That is the right coverage for a transport driver and keeps the\nattach/detach churn to a sane level on a single loopback node.\n\nIt also uses a per-volume subsystem (lvm_share_target\u003dfalse): each attach\nconnects its own controller and each detach disconnects and removes it.\nWith a shared subsystem the host controller lingers and the kernel\u0027s FC\nautoconnect keeps resurrecting it against nvme_fcloop, producing a reconnect\nstorm that starves the node.\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nos-brick is installed from git (required-projects + LIBS_FROM_GIT) because\nthe NVMe/FC connector support is not in any released os-brick yet.  With the\npackaged os-brick the fc portal is treated as tcp and connect_volume fails\nwith KeyError(\u0027trsvcid\u0027) on every host-side attach (backup, image copy,\nclone), so the library must come from source for this job to exercise the\nFC path.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nDepends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/1000888\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/09b7eba0c7b063fbcb8d2c84e07b17acb39c829b"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/09b7eba0c7b063fbcb8d2c84e07b17acb39c829b"}]},"branch":"refs/heads/master"},"081e11dd08b6675500b43512e118c17cb8d1ef1c":{"kind":"REWORK","_number":13,"created":"2026-08-18 20:24:06.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/13","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/13","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/13 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/13 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/13 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/13"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-18 20:24:04.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs a\nminimal NVMe/FC attach smoke set.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe in-kernel nvme_fcloop driver cannot keep NVMe/FC associations stable\nunder heavy attach/detach churn: the host has no real FC HBA, so the kernel\u0027s\nFC autoconnect brings up the controllers, and it endlessly resurrects the\nones fcloop drops, producing a reconnect storm that starves the node.  The\njob therefore runs only a small, fast attach smoke set -- a direct guest\nattach/detach, a boot-from-volume, and the server volume-attachment scenario,\nserially -- which proves the FC data path end to end before any storm can\nbuild.  A single shared subsystem is used; a per-volume subsystem was tried\nand made the churn worse (one storming controller per volume).\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nos-brick is installed from git (required-projects + LIBS_FROM_GIT) because\nthe NVMe/FC connector support is not in any released os-brick yet.  With the\npackaged os-brick the fc portal is treated as tcp and connect_volume fails\nwith KeyError(\u0027trsvcid\u0027) on every host-side attach (backup, image copy,\nclone), so the library must come from source for this job to exercise the\nFC path.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nDepends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/1000888\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/081e11dd08b6675500b43512e118c17cb8d1ef1c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/081e11dd08b6675500b43512e118c17cb8d1ef1c"}]},"branch":"refs/heads/master"},"2e0b5e9b56b176bfe1458a70e0bfb22cff30a344":{"kind":"REWORK","_number":14,"created":"2026-08-18 21:20:20.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/14","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/14","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/14 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/14 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/14 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/14"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-18 21:20:18.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs a\nminimal NVMe/FC attach smoke set.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe in-kernel nvme_fcloop driver cannot keep NVMe/FC associations stable\nunder heavy attach/detach churn: the host has no real FC HBA, so the kernel\u0027s\nFC autoconnect brings up the controllers, and it endlessly resurrects the\nones fcloop drops, producing a reconnect storm that starves the node.  The\njob therefore runs only a small, fast attach smoke set -- a direct guest\nattach/detach, a boot-from-volume, and the server volume-attachment scenario,\nserially -- which proves the FC data path end to end before any storm can\nbuild.  A single shared subsystem is used; a per-volume subsystem was tried\nand made the churn worse (one storming controller per volume).\n\nnvme_fcloop presents a single path and the CI host does not enable NVMe\nnative multipath, so nova is configured with volume_use_multipath\u003dfalse.\nOtherwise os-brick raises \"Multipathing is enforced but the host doesn\u0027t\nsupport multipathing\" and every guest attach fails immediately.\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nos-brick is installed from git (required-projects + LIBS_FROM_GIT) because\nthe NVMe/FC connector support is not in any released os-brick yet.  With the\npackaged os-brick the fc portal is treated as tcp and connect_volume fails\nwith KeyError(\u0027trsvcid\u0027) on every host-side attach (backup, image copy,\nclone), so the library must come from source for this job to exercise the\nFC path.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nDepends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/1000888\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/2e0b5e9b56b176bfe1458a70e0bfb22cff30a344"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/2e0b5e9b56b176bfe1458a70e0bfb22cff30a344"}]},"branch":"refs/heads/master"},"4874a62c58a60b0f3578c78d77dcda5581e69ad9":{"kind":"REWORK","_number":15,"created":"2026-08-18 21:26:59.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/15","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/15","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/15 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/15 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/15 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/15"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-18 21:26:56.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs a\nminimal NVMe/FC attach smoke set.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe in-kernel nvme_fcloop driver cannot keep NVMe/FC associations stable\nunder heavy attach/detach churn: the host has no real FC HBA, so the kernel\u0027s\nFC autoconnect brings up the controllers, and it endlessly resurrects the\nones fcloop drops, producing a reconnect storm that starves the node.  The\njob therefore runs only a small, fast attach smoke set -- a direct guest\nattach/detach, a boot-from-volume, and the server volume-attachment scenario,\nserially -- which proves the FC data path end to end before any storm can\nbuild.  A single shared subsystem is used; a per-volume subsystem was tried\nand made the churn worse (one storming controller per volume).\n\nnvme_fcloop presents a single path and the CI host does not enable NVMe\nnative multipath, so nova is configured with volume_use_multipath\u003dfalse.\nOtherwise os-brick raises \"Multipathing is enforced but the host doesn\u0027t\nsupport multipathing\" and every guest attach fails immediately.\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nos-brick is installed from git (required-projects + LIBS_FROM_GIT) because\nthe NVMe/FC connector support is not in any released os-brick yet.  With the\npackaged os-brick the fc portal is treated as tcp and connect_volume fails\nwith KeyError(\u0027trsvcid\u0027) on every host-side attach (backup, image copy,\nclone), so the library must come from source for this job to exercise the\nFC path.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nDepends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/1000888\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/4874a62c58a60b0f3578c78d77dcda5581e69ad9"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/4874a62c58a60b0f3578c78d77dcda5581e69ad9"}]},"branch":"refs/heads/master"},"b5be916d241c9ce7adb6f8862bb0892f042c46cc":{"kind":"REWORK","_number":16,"created":"2026-08-18 22:22:33.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/16","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/16","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/16 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/16 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/16 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/16"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-18 22:22:32.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs a\nminimal NVMe/FC attach smoke set.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe host has no real FC HBA, so the kernel\u0027s FC autoconnect brings up the\nNVMe/FC controllers.  Whenever cinder deletes the nvmet subsystem on detach\nthe fcloop association drops, and with the default ctrl_loss_tmo (600s) the\nkernel reconnects the orphaned controller endlessly, producing a storm that\ndestabilises later attaches.  The playbook installs a udev rule that caps\nctrl_loss_tmo so orphaned controllers are removed in seconds, and the job\nruns only a small, serial attach smoke set (a direct guest attach/detach, a\nboot-from-volume, and the server volume-attachment scenario) to keep the\ncontroller churn bounded.  A single shared subsystem is used; a per-volume\nsubsystem was tried and made the churn worse.\n\nnvme_fcloop presents a single path and the CI host does not enable NVMe\nnative multipath, so nova is configured with volume_use_multipath\u003dfalse.\nOtherwise os-brick raises \"Multipathing is enforced but the host doesn\u0027t\nsupport multipathing\" and every guest attach fails immediately.\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nos-brick is installed from git (required-projects + LIBS_FROM_GIT) because\nthe NVMe/FC connector support is not in any released os-brick yet.  With the\npackaged os-brick the fc portal is treated as tcp and connect_volume fails\nwith KeyError(\u0027trsvcid\u0027) on every host-side attach (backup, image copy,\nclone), so the library must come from source for this job to exercise the\nFC path.\n\nThe job runs in the check pipeline as non-voting during rollout: it needs\nthe os-brick NVMe/FC transport support and the LVM/nvmet NVMe/FC driver\nsupport to be present, and the exact fcloop sysfs setup is kernel-version\ndependent.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nDepends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/1000888\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/b5be916d241c9ce7adb6f8862bb0892f042c46cc"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/b5be916d241c9ce7adb6f8862bb0892f042c46cc"}]},"branch":"refs/heads/master"},"ee73f42eb2892e2e33d78ee984276dee20eb2106":{"kind":"REWORK","_number":17,"created":"2026-08-19 00:13:26.000000000","uploader":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"},"ref":"refs/changes/27/1000327/17","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/cinder-tempest-plugin","ref":"refs/changes/27/1000327/17","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/17 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/17 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/17 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/cinder-tempest-plugin refs/changes/27/1000327/17"}}},"commit":{"parents":[{"commit":"29bb6f77210404a4b70e4143cd9c3c9912534af7","subject":"Merge \"Add support for volume replication\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/29bb6f77210404a4b70e4143cd9c3c9912534af7"}]}],"author":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-10 13:18:02.000000000","tz":-240},"committer":{"name":"Simon Dodsley","email":"simon@purestorage.com","date":"2026-08-19 00:13:24.000000000","tz":-240},"subject":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop (experimental)","message":"Add NVMe/FC (nvmet_fc) LVM CI job using nvme_fcloop (experimental)\n\nAdd a cinder-tempest-plugin job,\ncinder-tempest-plugin-lvm-nvmet-fc-barbican, that configures the LVM/nvmet\ntarget over NVMe over Fibre Channel (target_protocol\u003dnvmet_fc) and runs a\nminimal NVMe/FC attach smoke set.  It mirrors the nvmet_tcp job but uses the\nin-kernel nvme_fcloop loopback driver, set up in a new pre-run playbook\n(playbooks/setup-nvme-fcloop.yaml), so a target+initiator FC pair exists on\na single node without any FC hardware.\n\nThe job is placed in the experimental pipeline (run on demand with \"check\nexperimental\"), not check or gate.  The NVMe/FC data path itself works --\nCinder exports the nvmet_fc target, os-brick connects, and attaches succeed\n-- but the in-kernel nvme_fcloop driver cannot hold a stable association\nacross Cinder\u0027s dynamic nvmet subsystem create/delete lifecycle.  The host\nhas no real FC HBA, so the kernel\u0027s FC autoconnect brings up the controllers;\nwhen Cinder deletes a subsystem on detach the association drops and the\ncontroller resets.  Capping ctrl_loss_tmo (via the udev rule in the pre-run\nplaybook) removes the resulting reconnect storm, but the association churn\nstill makes attaches intermittently fail with VolumeDeviceNotFound and can\nleave guests in SHUTOFF, which is too flaky for a gating or check job.  The\njob is kept so the FC path can be exercised on demand and as fcloop matures.\n\nnvme_fcloop presents a single path and the CI host does not enable NVMe\nnative multipath, so nova is configured with volume_use_multipath\u003dfalse.\nOtherwise os-brick raises \"Multipathing is enforced but the host doesn\u0027t\nsupport multipathing\" and every guest attach fails immediately.\n\nThe job runs on CentOS Stream 10 because the Ubuntu kernel does not build\nthe nvme_fcloop module, whereas CentOS enables CONFIG_NVME_TARGET_FCLOOP\u003dm\nand ships it in kernel-modules-extra.  CentOS Stream 10 is a current\nOpenStack test runtime and defaults to Python 3.12, so no Python override\nis needed; CentOS Stream 9 would default to Python 3.9, below the 3.10\nminimum, and could not resolve the master upper-constraints.\n\nos-brick is installed from git (required-projects + LIBS_FROM_GIT) because\nthe NVMe/FC connector support is not in any released os-brick yet.  With the\npackaged os-brick the fc portal is treated as tcp and connect_volume fails\nwith KeyError(\u0027trsvcid\u0027) on every host-side attach (backup, image copy,\nclone), so the library must come from source for this job to exercise the\nFC path.\n\nDepends-On: https://review.opendev.org/c/openstack/os-brick/+/997815\nDepends-On: https://review.opendev.org/c/openstack/cinder/+/1000326\nDepends-On: https://review.opendev.org/c/openstack/cinder-tempest-plugin/+/1000888\nChange-Id: Ia208c8375cfd4701199eef5b859adc0fa139c570\nSigned-off-by: Simon Dodsley \u003csimon@purestorage.com\u003e\nCo-Authored-By: Claude Opus 4.8 (1M context) \u003cnoreply@anthropic.com\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/ee73f42eb2892e2e33d78ee984276dee20eb2106"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/cinder-tempest-plugin/commit/ee73f42eb2892e2e33d78ee984276dee20eb2106"}]},"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","applied_by":{"_account_id":13425,"name":"Simon Dodsley","email":"simon@everpuredata.com","username":"sdodsley"}},{"label":"Review-Priority","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":"Review-Priority","description":"Review priority","status":"SATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"-label:Review-Priority\u003dMIN","fulfilled":true,"status":"PASS","passing_atoms":[],"failing_atoms":["label:Review-Priority\u003dMIN"],"atom_explanations":{"label:Review-Priority\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":["label:Workflow\u003dMIN"],"failing_atoms":["label:Workflow\u003dMAX"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
