)]}'
{"id":"openstack%2Foctavia-tempest-plugin~994029","triplet_id":"openstack%2Foctavia-tempest-plugin~master~Ifaa2a9cc539a795484cc6855969cdf1a888a912f","project":"openstack/octavia-tempest-plugin","branch":"master","hashtags":[],"change_id":"Ifaa2a9cc539a795484cc6855969cdf1a888a912f","subject":"Handle provider \"unsupported\" 400 responses as not implemented","status":"NEW","created":"2026-06-19 02:48:46.000000000","updated":"2026-09-30 10:19:29.000000000","submit_type":"MERGE_IF_NECESSARY","mergeable":true,"submittable":false,"total_comment_count":0,"unresolved_comment_count":0,"has_review_started":true,"meta_rev_id":"87af38f5fe3fa1e7c636aa763eced1b9eae92842","_number":994029,"virtual_id_number":994029,"owner":{"_account_id":3031,"name":"Sam Morrison","email":"sorrison@gmail.com","username":"sorrison"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-09-30 10:19:29.000000000","permitted_voting_range":{"min":-2,"max":2},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Fails","-1":"Doesn\u0027t seem to work"," 0":"No score","+1":"Works for me","+2":"Verified"},"description":"","value":1,"default_value":0,"optional":true},"Code-Review":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do not merge","-1":"This patch needs further work before it can be merged"," 0":"No score","+1":"Looks good to me, but someone else must approve","+2":"Looks good to me (core reviewer)"},"description":"","default_value":0,"optional":true},"Workflow":{"all":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-1":"Work in progress"," 0":"Ready for reviews","+1":"Approved"},"description":"","default_value":0,"optional":true}},"removable_reviewers":[],"reviewers":{"REVIEWER":[{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}]},"pending_reviewers":{},"reviewer_updates":[{"updated":"2026-06-19 04:44:54.000000000","updated_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"reviewer":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"state":"REVIEWER"}],"messages":[{"id":"e85ef22bcac6f48dbd97822a30b8eb25009e9f76","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":3031,"name":"Sam Morrison","email":"sorrison@gmail.com","username":"sorrison"},"date":"2026-06-19 02:48:46.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"43379f217a7cda38c1511e60854047dc7e91b0e7","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-06-19 04:44:54.000000000","message":"Patch Set 1: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/068b844e3f36470cae3163281e9dbbc4\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/174342990d8543ceb98d1c7f336db47a : SUCCESS in 8m 42s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/d41870935da24afa9b0c6f62e9b5bf23 : SUCCESS in 3m 23s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/9c48eb1d512141f38a3d90eb4ae418f9 : SUCCESS in 3m 51s\n- octavia-v2-dsvm-noop-api https://zuul.opendev.org/t/openstack/build/3c8e0fc7d4a24cf69e31a3a08227588e : SUCCESS in 1h 06m 10s\n- octavia-v2-dsvm-noop-api-stable-2026-1 https://zuul.opendev.org/t/openstack/build/672f9ef81e544dacb956bbe06fae7d94 : SUCCESS in 1h 01m 08s\n- octavia-v2-dsvm-noop-api-stable-2025-2 https://zuul.opendev.org/t/openstack/build/91a31f1e98bb43ba90816562397b2eac : SUCCESS in 1h 18m 11s\n- octavia-v2-dsvm-noop-api-stable-2025-1 https://zuul.opendev.org/t/openstack/build/8ef0f1f8a642405da087acc161e4a00a : SUCCESS in 1h 10m 44s\n- octavia-v2-dsvm-noop-api-advanced-rbac https://zuul.opendev.org/t/openstack/build/c21fda94094745ef84dbbe5ad43de604 : SUCCESS in 1h 12m 11s\n- octavia-v2-dsvm-scenario-traffic-ops https://zuul.opendev.org/t/openstack/build/4db686e5927a45b1bb4d2436dc0eab86 : SUCCESS in 1h 30m 38s\n- octavia-v2-dsvm-scenario-non-traffic-ops https://zuul.opendev.org/t/openstack/build/b543542d9b9346b2960564e169bc7135 : SUCCESS in 1h 12m 32s\n- octavia-v2-dsvm-scenario-traffic-ops-stable-2026-1 https://zuul.opendev.org/t/openstack/build/25cd7c5e7f854f508dad02220c44bdf3 : SUCCESS in 1h 37m 09s\n- octavia-v2-dsvm-scenario-non-traffic-ops-stable-2026-1 https://zuul.opendev.org/t/openstack/build/2131051c221a4e47aa3bb8ac07fdb836 : SUCCESS in 1h 09m 09s\n- octavia-v2-dsvm-scenario-traffic-ops-stable-2025-2 https://zuul.opendev.org/t/openstack/build/9852df61e0b84ac3bd84b22ec9678c9f : SUCCESS in 1h 38m 10s\n- octavia-v2-dsvm-scenario-non-traffic-ops-stable-2025-2 https://zuul.opendev.org/t/openstack/build/d475226f646f43ec9c0032408e058e52 : SUCCESS in 1h 15m 33s\n- octavia-v2-dsvm-scenario-traffic-ops-stable-2025-1 https://zuul.opendev.org/t/openstack/build/d5355ce6c8224ab9baa4da6132f0c277 : SUCCESS in 1h 35m 48s\n- octavia-v2-dsvm-scenario-non-traffic-ops-stable-2025-1 https://zuul.opendev.org/t/openstack/build/2f514fc1bc764defacebd0ab3e8142c8 : SUCCESS in 1h 14m 46s\n- octavia-v2-dsvm-tls-barbican https://zuul.opendev.org/t/openstack/build/c8aac2be9ded4bdf9ff4c0428f8361f3 : SUCCESS in 40m 56s\n- octavia-v2-dsvm-tls-barbican-stable-2026-1 https://zuul.opendev.org/t/openstack/build/c97c10824f1c4e219c7664942d2505cb : SUCCESS in 40m 04s\n- octavia-v2-dsvm-tls-barbican-stable-2025-2 https://zuul.opendev.org/t/openstack/build/0c4cfc9e87814c06be7c05e7ba9ec41f : SUCCESS in 39m 57s\n- octavia-v2-dsvm-tls-barbican-stable-2025-1 https://zuul.opendev.org/t/openstack/build/461f0f67d666435e96bb269a13dba8c8 : SUCCESS in 43m 17s\n- octavia-v2-dsvm-scenario-ipv6-only https://zuul.opendev.org/t/openstack/build/5a1aa9600d5e4176858ae102ddcf23de : SUCCESS in 1h 32m 54s (non-voting)\n- octavia-v2-dsvm-scenario-centos-10-stream-traffic-ops https://zuul.opendev.org/t/openstack/build/361ee318061746fa98349b6277e2962e : SUCCESS in 1h 25m 54s (non-voting)\n- octavia-v2-dsvm-scenario-centos-10-stream-non-traffic-ops https://zuul.opendev.org/t/openstack/build/c9e423f898484e0f8a0b5f2749c545bd : SUCCESS in 1h 04m 25s (non-voting)\n- octavia-v2-dsvm-scenario-rockylinux-10-traffic-ops https://zuul.opendev.org/t/openstack/build/4885644e35904f578833e2db3015e994 : SUCCESS in 1h 24m 52s (non-voting)\n- octavia-v2-dsvm-scenario-rockylinux-10-non-traffic-ops https://zuul.opendev.org/t/openstack/build/ed99fd88ec2b484bbced496ca9b267b6 : FAILURE in 24m 36s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario-two-node-traffic-ops https://zuul.opendev.org/t/openstack/build/ec53514bc8bf46ab9152afdee5c97d84 : SUCCESS in 52m 40s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario https://zuul.opendev.org/t/openstack/build/6ba57e5d54884dc6a920776521c3d4c4 : SUCCESS in 33m 34s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario-stable-2026-1 https://zuul.opendev.org/t/openstack/build/5ed4d06a5fc3434d8434ba968c10aca2 : FAILURE in 53m 55s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario-stable-2025-2 https://zuul.opendev.org/t/openstack/build/7307873572d544fc811dc74e422c0df2 : SUCCESS in 35m 29s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario-stable-2025-1 https://zuul.opendev.org/t/openstack/build/dccf278a4f934c3f85b98db24e3744f4 : SUCCESS in 32m 18s (non-voting)\n- octavia-v2-dsvm-cinder-amphora https://zuul.opendev.org/t/openstack/build/3adae47c31c44ac0856e92b79d0c78aa : SUCCESS in 36m 52s (non-voting)\n- neutron-ovn-provider-v2-api https://zuul.opendev.org/t/openstack/build/dce10e2649fc4249bbcd4449d9a2add8 : SUCCESS in 55m 19s (non-voting)\n- neutron-ovn-provider-v2-scenario https://zuul.opendev.org/t/openstack/build/a25523c7c2ab49f6b9fd0cbe86f3ef14 : SUCCESS in 48m 10s (non-voting)","accounts_in_message":[],"_revision_number":1},{"id":"285da0e771b7493c8fe48eab198e533acc938a9c","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":3031,"name":"Sam Morrison","email":"sorrison@gmail.com","username":"sorrison"},"date":"2026-09-30 08:37:52.000000000","message":"Patch Set 2: Patch Set 1 was rebased\n\nOutdated Votes:\n* Verified+1 (copy condition: \"NEVER\")\n","accounts_in_message":[],"_revision_number":2},{"id":"87af38f5fe3fa1e7c636aa763eced1b9eae92842","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-09-30 10:19:29.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/9788b00d4ac440cca4a868cdb2d539e3\n\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/fd3e95f16128423bba83b64567369266 : SUCCESS in 7m 37s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/6b9c4b057be2468583ca71486d2458f5 : SUCCESS in 5m 15s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/bad4dd3534b14188af917f132aabf0ad : SUCCESS in 3m 15s\n- octavia-v2-dsvm-noop-api https://zuul.opendev.org/t/openstack/build/df8e76dad09147a69d5f6056ae728489 : SUCCESS in 33m 55s\n- octavia-v2-dsvm-noop-api-stable-2026-2 https://zuul.opendev.org/t/openstack/build/79388a32a22d4ec0a0174286570df561 : SUCCESS in 48m 40s\n- octavia-v2-dsvm-noop-api-stable-2026-1 https://zuul.opendev.org/t/openstack/build/9ffc57a5789e4492ba4c7743fa6d1886 : SUCCESS in 1h 13m 11s\n- octavia-v2-dsvm-noop-api-stable-2025-2 https://zuul.opendev.org/t/openstack/build/c0d4d9193034445d893948a76f0b5dce : SUCCESS in 1h 14m 12s\n- octavia-v2-dsvm-noop-api-stable-2025-1 https://zuul.opendev.org/t/openstack/build/acab3ee423354847b3490b10063d5edf : SUCCESS in 1h 19m 39s\n- octavia-v2-dsvm-noop-api-advanced-rbac https://zuul.opendev.org/t/openstack/build/041fb0eaff1445aaa3b663d472b5cc28 : SUCCESS in 41m 17s\n- octavia-v2-dsvm-scenario-traffic-ops https://zuul.opendev.org/t/openstack/build/c58d1155875f4e79a3d2e18ebbfbb072 : SUCCESS in 1h 21m 41s\n- octavia-v2-dsvm-scenario-non-traffic-ops https://zuul.opendev.org/t/openstack/build/b7be9f9dec1b46cd92bd23b55b6d8582 : SUCCESS in 1h 00m 08s\n- octavia-v2-dsvm-scenario-traffic-ops-stable-2026-2 https://zuul.opendev.org/t/openstack/build/c8730e4527654a7081dfa0950e9bc85b : SUCCESS in 1h 22m 12s\n- octavia-v2-dsvm-scenario-non-traffic-ops-stable-2026-2 https://zuul.opendev.org/t/openstack/build/244d077fe8e747b19ce560ebf3c6e333 : SUCCESS in 1h 07m 13s\n- octavia-v2-dsvm-scenario-traffic-ops-stable-2026-1 https://zuul.opendev.org/t/openstack/build/2d1bb8dc18ff4df6a7c000d1d46dd0c7 : SUCCESS in 1h 38m 33s\n- octavia-v2-dsvm-scenario-non-traffic-ops-stable-2026-1 https://zuul.opendev.org/t/openstack/build/2d22fbdddff34ccf8a16af39140bfd6c : SUCCESS in 1h 07m 12s\n- octavia-v2-dsvm-scenario-traffic-ops-stable-2025-2 https://zuul.opendev.org/t/openstack/build/ff2d7f6bad154ea3a49de34f6a347115 : SUCCESS in 1h 34m 44s\n- octavia-v2-dsvm-scenario-non-traffic-ops-stable-2025-2 https://zuul.opendev.org/t/openstack/build/47205591ab5a44178db6c159292052bf : SUCCESS in 1h 03m 54s\n- octavia-v2-dsvm-scenario-traffic-ops-stable-2025-1 https://zuul.opendev.org/t/openstack/build/155c01a5ff284c89a1381873abdb5538 : SUCCESS in 1h 35m 10s\n- octavia-v2-dsvm-scenario-non-traffic-ops-stable-2025-1 https://zuul.opendev.org/t/openstack/build/06a25b11610a4476b903c98491be25bf : SUCCESS in 1h 05m 05s\n- octavia-v2-dsvm-tls-barbican https://zuul.opendev.org/t/openstack/build/300e756ee773466d9a4cdb0394810a72 : SUCCESS in 37m 13s\n- octavia-v2-dsvm-tls-barbican-stable-2026-2 https://zuul.opendev.org/t/openstack/build/e40b472ff9af4a4ea933df21c607253a : SUCCESS in 38m 51s\n- octavia-v2-dsvm-tls-barbican-stable-2026-1 https://zuul.opendev.org/t/openstack/build/29202dfe6c134b26adc4b4f65fa553df : SUCCESS in 42m 42s\n- octavia-v2-dsvm-tls-barbican-stable-2025-2 https://zuul.opendev.org/t/openstack/build/ef0ff86d31d044e4b48c7315fe8d74d4 : SUCCESS in 40m 11s\n- octavia-v2-dsvm-tls-barbican-stable-2025-1 https://zuul.opendev.org/t/openstack/build/3a339aec892e45a09b3e3f8a14d82f13 : SUCCESS in 41m 42s\n- octavia-v2-dsvm-scenario-ipv6-only https://zuul.opendev.org/t/openstack/build/2da7acf851724f1dbc5eae2e4656f5b1 : SUCCESS in 1h 22m 52s (non-voting)\n- octavia-v2-dsvm-scenario-centos-10-stream-traffic-ops https://zuul.opendev.org/t/openstack/build/fb5da3ba93454c968ecd9074f4c8fe32 : SUCCESS in 1h 17m 28s (non-voting)\n- octavia-v2-dsvm-scenario-centos-10-stream-non-traffic-ops https://zuul.opendev.org/t/openstack/build/7e46f84b34444c19b9d8c95bce44b67a : SUCCESS in 1h 06m 49s (non-voting)\n- octavia-v2-dsvm-scenario-rockylinux-10-traffic-ops https://zuul.opendev.org/t/openstack/build/e3ad45f1fb81442dad1f1a8266729e6a : FAILURE in 20m 52s (non-voting)\n- octavia-v2-dsvm-scenario-rockylinux-10-non-traffic-ops https://zuul.opendev.org/t/openstack/build/7a8efbfb2cdd4d9482098cd64937bd70 : FAILURE in 19m 55s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario-two-node-traffic-ops https://zuul.opendev.org/t/openstack/build/5cf8159a392b4c569b6991014504d104 : SUCCESS in 1h 08m 55s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario https://zuul.opendev.org/t/openstack/build/87e8bfb619b446edb5a09e897e0511ce : SUCCESS in 32m 58s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario-stable-2026-2 https://zuul.opendev.org/t/openstack/build/26e5df2b09b94034b74f809587e9ec3d : SUCCESS in 34m 45s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario-stable-2026-1 https://zuul.opendev.org/t/openstack/build/712cc6f529ae44f38fc0b05cc72cbf89 : SUCCESS in 34m 58s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario-stable-2025-2 https://zuul.opendev.org/t/openstack/build/3e1023e4e5b54d1787d9793a90539bd2 : SUCCESS in 37m 19s (non-voting)\n- octavia-v2-act-stdby-dsvm-scenario-stable-2025-1 https://zuul.opendev.org/t/openstack/build/1a4b6edaada440bdaceedf1928972330 : SUCCESS in 34m 14s (non-voting)\n- octavia-v2-dsvm-cinder-amphora https://zuul.opendev.org/t/openstack/build/65d2e08d65d54e60aaec83b7d6e8bae3 : SUCCESS in 35m 24s (non-voting)\n- neutron-ovn-provider-v2-api https://zuul.opendev.org/t/openstack/build/8274bb0f48654f56adfe7118a9b75788 : SUCCESS in 1h 15m 51s (non-voting)\n- neutron-ovn-provider-v2-scenario https://zuul.opendev.org/t/openstack/build/2ebe4bcf28f44d958f3f2543d3adc455 : SUCCESS in 39m 49s (non-voting)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"e62d5ee0f3092ceb0f5f147f5db3bef43a2a3b5c","revisions":{"f592c313e77ae0139f865b9f99984c0caa53f413":{"kind":"REWORK","_number":1,"created":"2026-06-19 02:48:46.000000000","uploader":{"_account_id":3031,"name":"Sam Morrison","email":"sorrison@gmail.com","username":"sorrison"},"ref":"refs/changes/29/994029/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/octavia-tempest-plugin","ref":"refs/changes/29/994029/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/octavia-tempest-plugin refs/changes/29/994029/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/octavia-tempest-plugin refs/changes/29/994029/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/octavia-tempest-plugin refs/changes/29/994029/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/octavia-tempest-plugin refs/changes/29/994029/1"}}},"commit":{"parents":[{"commit":"bb4776fabba145a03ea0b0df379dcd63d1a26a90","subject":"Replace OVN Metadata agent with OVN agent","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia-tempest-plugin/commit/bb4776fabba145a03ea0b0df379dcd63d1a26a90"}]}],"author":{"name":"Sam Morrison","email":"sorrison@gmail.com","date":"2026-06-19 02:46:49.000000000","tz":600},"committer":{"name":"Sam Morrison","email":"sorrison@gmail.com","date":"2026-06-19 02:48:04.000000000","tz":600},"subject":"Handle provider \"unsupported\" 400 responses as not implemented","message":"Handle provider \"unsupported\" 400 responses as not implemented\n\nThe Octavia API previously returned HTTP 501 (Not Implemented) when a\nprovider driver did not support a requested action or option, and now\nreturns HTTP 400 (Bad Request) for these cases.\n\nThe tempest tests rely on a NotImplemented (501) response to skip\nfeatures that a provider driver does not implement, via the\nskip_if_not_implemented decorator. With the response code change those\ntests would fail instead of being skipped for providers that lack a\nfeature.\n\nTranslate these specific 400 responses, identified by the \"does not\nsupport a requested action/option\" faultstring, into NotImplemented in\nthe base LBaaS client so the skip behaviour is preserved. The change is\nbackward compatible: older Octavia releases that still return 501 are\nhandled unchanged, and genuine 400 Bad Request responses are not\naffected.\n\nChange-Id: Ifaa2a9cc539a795484cc6855969cdf1a888a912f\nRelated: https://review.opendev.org/c/openstack/octavia/+/993871\nRelated-Bug: #2157080\nSigned-off-by: Sam Morrison \u003csorrison@gmail.com\u003e\nAssisted-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/octavia-tempest-plugin/commit/f592c313e77ae0139f865b9f99984c0caa53f413"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia-tempest-plugin/commit/f592c313e77ae0139f865b9f99984c0caa53f413"}]},"branch":"refs/heads/master"},"e62d5ee0f3092ceb0f5f147f5db3bef43a2a3b5c":{"kind":"TRIVIAL_REBASE","_number":2,"created":"2026-09-30 08:37:52.000000000","uploader":{"_account_id":3031,"name":"Sam Morrison","email":"sorrison@gmail.com","username":"sorrison"},"ref":"refs/changes/29/994029/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/octavia-tempest-plugin","ref":"refs/changes/29/994029/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/octavia-tempest-plugin refs/changes/29/994029/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/octavia-tempest-plugin refs/changes/29/994029/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/octavia-tempest-plugin refs/changes/29/994029/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/octavia-tempest-plugin refs/changes/29/994029/2"}}},"commit":{"parents":[{"commit":"c63f8a5ebe7e0c2d7840120b6029f4260064fe9c","subject":"Add stable/2026.2 job","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia-tempest-plugin/commit/c63f8a5ebe7e0c2d7840120b6029f4260064fe9c"}]}],"author":{"name":"Sam Morrison","email":"sorrison@gmail.com","date":"2026-06-19 02:46:49.000000000","tz":600},"committer":{"name":"Sam Morrison","email":"sorrison@gmail.com","date":"2026-09-30 08:37:52.000000000","tz":0},"subject":"Handle provider \"unsupported\" 400 responses as not implemented","message":"Handle provider \"unsupported\" 400 responses as not implemented\n\nThe Octavia API previously returned HTTP 501 (Not Implemented) when a\nprovider driver did not support a requested action or option, and now\nreturns HTTP 400 (Bad Request) for these cases.\n\nThe tempest tests rely on a NotImplemented (501) response to skip\nfeatures that a provider driver does not implement, via the\nskip_if_not_implemented decorator. With the response code change those\ntests would fail instead of being skipped for providers that lack a\nfeature.\n\nTranslate these specific 400 responses, identified by the \"does not\nsupport a requested action/option\" faultstring, into NotImplemented in\nthe base LBaaS client so the skip behaviour is preserved. The change is\nbackward compatible: older Octavia releases that still return 501 are\nhandled unchanged, and genuine 400 Bad Request responses are not\naffected.\n\nChange-Id: Ifaa2a9cc539a795484cc6855969cdf1a888a912f\nRelated: https://review.opendev.org/c/openstack/octavia/+/993871\nRelated-Bug: #2157080\nSigned-off-by: Sam Morrison \u003csorrison@gmail.com\u003e\nAssisted-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/octavia-tempest-plugin/commit/e62d5ee0f3092ceb0f5f147f5db3bef43a2a3b5c"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia-tempest-plugin/commit/e62d5ee0f3092ceb0f5f147f5db3bef43a2a3b5c"}]},"branch":"refs/heads/master","description":"Rebase","conflicts":{"base":"bb4776fabba145a03ea0b0df379dcd63d1a26a90","ours":"f592c313e77ae0139f865b9f99984c0caa53f413","theirs":"c63f8a5ebe7e0c2d7840120b6029f4260064fe9c","merge_strategy":"recursive","contains_conflicts":false}}},"requirements":[],"submit_records":[{"rule_name":"gerrit~DefaultSubmitRule","status":"OK","labels":[{"label":"Verified","status":"MAY","applied_by":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}},{"label":"Code-Review","status":"MAY"},{"label":"Workflow","status":"MAY"}]}],"submit_requirements":[{"name":"Verified","description":"Verified in gate by CI","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Verified\u003dMAX AND -label:Verified\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Verified\u003dMAX","label:Verified\u003dMIN"],"atom_explanations":{"label:Verified\u003dMAX":"","label:Verified\u003dMIN":""}}},{"name":"Code-Review","description":"Code reviewed by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Code-Review\u003dMAX AND -label:Code-Review\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Code-Review\u003dMAX","label:Code-Review\u003dMIN"],"atom_explanations":{"label:Code-Review\u003dMAX":"","label:Code-Review\u003dMIN":""}}},{"name":"Workflow","description":"Approved for gate by core reviewer","status":"UNSATISFIED","is_legacy":false,"submittability_expression_result":{"expression":"label:Workflow\u003dMAX AND -label:Workflow\u003dMIN","fulfilled":false,"status":"FAIL","passing_atoms":[],"failing_atoms":["label:Workflow\u003dMAX","label:Workflow\u003dMIN"],"atom_explanations":{"label:Workflow\u003dMAX":"","label:Workflow\u003dMIN":""}}}]}
