)]}'
{"id":"openstack%2Foctavia~1001149","triplet_id":"openstack%2Foctavia~master~I6d5b3ec97739fe1c536c5ff89c9ddc0d188a6584","project":"openstack/octavia","branch":"master","hashtags":[],"change_id":"I6d5b3ec97739fe1c536c5ff89c9ddc0d188a6584","subject":"Check that default_provider_driver is enabled","status":"NEW","created":"2026-08-17 13:28:36.000000000","updated":"2026-08-17 16:01:00.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":"2395d3cee4246c74b504e9891a6085b5598af995","_number":1001149,"virtual_id_number":1001149,"owner":{"_account_id":39361,"name":"Premysl Kouril","display_name":"premek","email":"premysl.kouril@ultimum.io","username":"premek4"},"actions":{},"labels":{"Verified":{"recommended":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"all":[{"tag":"autogenerated:zuul:check","value":1,"date":"2026-08-17 16:01:00.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},"Backport-Candidate":{"all":[{"value":0,"permitted_voting_range":{"min":-1,"max":1},"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]}],"values":{"-2":"Do Not Backport","-1":"Not A Backport Candidate"," 0":"Backport Review Needed","+1":"Proposed Backport","+2":"Should Backport"},"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-08-17 16:01:00.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":"95a0f21666c7e8029047fd10f888b27ea4dbee1e","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39361,"name":"Premysl Kouril","display_name":"premek","email":"premysl.kouril@ultimum.io","username":"premek4"},"date":"2026-08-17 13:28:36.000000000","message":"Uploaded patch set 1.","accounts_in_message":[],"_revision_number":1},{"id":"0a22ee15b802339b0068674aef77a479c7d354ff","tag":"autogenerated:gerrit:newPatchSet","author":{"_account_id":39361,"name":"Premysl Kouril","display_name":"premek","email":"premysl.kouril@ultimum.io","username":"premek4"},"date":"2026-08-17 13:29:59.000000000","message":"Uploaded patch set 2: Commit message was updated.","accounts_in_message":[],"_revision_number":2},{"id":"2395d3cee4246c74b504e9891a6085b5598af995","tag":"autogenerated:zuul:check","author":{"_account_id":22348,"name":"Zuul","username":"zuul","tags":["SERVICE_USER"]},"date":"2026-08-17 16:01:00.000000000","message":"Patch Set 2: Verified+1\n\nBuild succeeded (check pipeline).\nhttps://zuul.opendev.org/t/openstack/buildset/e2f94a8d032b4cf2a8171f993ac63f19\n\n- openstack-tox-cover https://zuul.opendev.org/t/openstack/build/075182cdc2584a17a62124970350b6f3 : SUCCESS in 6m 20s\n- openstack-tox-pep8 https://zuul.opendev.org/t/openstack/build/8bee9ae56ea44a53bcecbae1f507b536 : SUCCESS in 5m 32s\n- openstack-tox-py311 https://zuul.opendev.org/t/openstack/build/e9363a5c4b8a4c439a3d0011489be8e7 : SUCCESS in 4m 08s\n- openstack-tox-py313 https://zuul.opendev.org/t/openstack/build/883400c21f344203bf92c556f8f69c60 : SUCCESS in 4m 02s\n- openstack-tox-py314 https://zuul.opendev.org/t/openstack/build/63003a18ab2d441fb03ad2bdf84323d3 : SUCCESS in 7m 49s (non-voting)\n- openstack-tox-docs https://zuul.opendev.org/t/openstack/build/674f857a56764669b6c4687e08b1b148 : SUCCESS in 13m 17s\n- build-openstack-releasenotes https://zuul.opendev.org/t/openstack/build/c1f05522c4964e899995633a307483bf : SUCCESS in 9m 23s\n- octavia-tox-py313-tips https://zuul.opendev.org/t/openstack/build/60e225df00cd4786827fa0db2bb13d3d : SUCCESS in 4m 24s\n- octavia-tox-functional-py313-tips https://zuul.opendev.org/t/openstack/build/a2fa511b829840508b042a3d85b3a7b6 : SUCCESS in 5m 20s\n- openstack-tox-pip-check-reqs https://zuul.opendev.org/t/openstack/build/579f9a33c3bb4c9fab477256d7ccf000 : SUCCESS in 3m 23s\n- openstack-tox-functional-py313 https://zuul.opendev.org/t/openstack/build/d3861b9c3f204e188f6f910643035d4b : SUCCESS in 5m 03s\n- octavia-v2-dsvm-noop-api https://zuul.opendev.org/t/openstack/build/1c4db758ef2b4462b0a252ba1d9665d9 : SUCCESS in 1h 06m 27s\n- octavia-v2-dsvm-scenario-traffic-ops https://zuul.opendev.org/t/openstack/build/f1a7717c92a34551bb92b5bfc4ce2619 : SUCCESS in 1h 21m 50s\n- octavia-v2-dsvm-scenario-non-traffic-ops https://zuul.opendev.org/t/openstack/build/5908f32065b64d9681564d94edc44a65 : SUCCESS in 59m 11s\n- octavia-v2-dsvm-scenario-traffic-ops-jobboard https://zuul.opendev.org/t/openstack/build/144779c50aad487cbab259a7c8331236 : SUCCESS in 1h 29m 29s\n- octavia-v2-dsvm-scenario-non-traffic-ops-jobboard https://zuul.opendev.org/t/openstack/build/47df17184acd45609a979f11671eba56 : SUCCESS in 1h 01m 33s\n- octavia-v2-dsvm-tls-barbican https://zuul.opendev.org/t/openstack/build/914cfc3174664068938c2e9aa173c939 : SUCCESS in 34m 45s\n- octavia-grenade https://zuul.opendev.org/t/openstack/build/d3816c571dc2497193abfdab48b55aa6 : SUCCESS in 47m 02s\n- octavia-grenade-skip-level https://zuul.opendev.org/t/openstack/build/ea563af62a1c4f8f9f53f7739c1287ff : SUCCESS in 43m 33s\n- octavia-v2-act-stdby-dsvm-scenario https://zuul.opendev.org/t/openstack/build/077d2e1011764ea0b0140bfd0c10468c : SUCCESS in 33m 35s (non-voting)\n- octavia-v2-dsvm-cinder-amphora https://zuul.opendev.org/t/openstack/build/64224676d1d44a158ef158611d8d1eef : FAILURE in 22m 51s (non-voting)\n- octavia-v2-dsvm-scenario-two-node https://zuul.opendev.org/t/openstack/build/f3ea2306660b43a5b160c40671db7e4a : SUCCESS in 2h 29m 06s (non-voting)\n- octavia-v2-dsvm-scenario-ipv6-only https://zuul.opendev.org/t/openstack/build/5381b4975cfc4607a17dcb0dd44be9f5 : SUCCESS in 1h 18m 31s (non-voting)\n- octavia-v2-dsvm-scenario-centos-10-stream-traffic-ops https://zuul.opendev.org/t/openstack/build/d3c4cc9380e046f289718a727f5ca880 : SUCCESS in 1h 12m 06s (non-voting)\n- octavia-v2-dsvm-scenario-centos-10-stream-non-traffic-ops https://zuul.opendev.org/t/openstack/build/48be6f1aa06749d69a2ad375c7cb9f36 : SUCCESS in 54m 03s (non-voting)","accounts_in_message":[],"_revision_number":2}],"current_revision_number":2,"current_revision":"546f2c3aedfb4041a31e9ea184b9ae055f0c4fee","revisions":{"49917d3cd4ebb2fc381ff9729866dbeb742c1cb4":{"kind":"REWORK","_number":1,"created":"2026-08-17 13:28:36.000000000","uploader":{"_account_id":39361,"name":"Premysl Kouril","display_name":"premek","email":"premysl.kouril@ultimum.io","username":"premek4"},"ref":"refs/changes/49/1001149/1","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/octavia","ref":"refs/changes/49/1001149/1","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/octavia refs/changes/49/1001149/1 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/octavia refs/changes/49/1001149/1 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/octavia refs/changes/49/1001149/1 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/octavia refs/changes/49/1001149/1"}}},"commit":{"parents":[{"commit":"0e6ea11c2992ce2746bb0cf0fb5cb3e81d5b94ba","subject":"Merge \"Fix HAProxy config with cpu-map and external-check\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/0e6ea11c2992ce2746bb0cf0fb5cb3e81d5b94ba"}]}],"author":{"name":"Premysl Kouril","email":"premysl.kouril@ultimum.io","date":"2026-08-17 13:28:17.000000000","tz":120},"committer":{"name":"Premysl Kouril","email":"premysl.kouril@ultimum.io","date":"2026-08-17 13:28:17.000000000","tz":120},"subject":"Detect a default_provider_driver that is not enabled","message":"Detect a default_provider_driver that is not enabled\n\n_init_drivers() loads every driver listed in enabled_provider_drivers\nwhen the API starts and drops the ones that fail to load, but nothing\nverifies that default_provider_driver is one of them.\n\nA deployment that enables a single non-default driver, for example an\nOVN-only deployment that never enables amphora, keeps the default value\nof default_provider_driver, and every load balancer created without an\nexplicit provider is then rejected with:\n\n  Provider \u0027amphora\u0027 is not enabled. (HTTP 400)\n\nThat configuration is detectable long before such a request is made, and\nthe error does not mention that the provider name came from\ndefault_provider_driver rather than from the request.\n\nAdd an octavia-status upgrade check that fails when\ndefault_provider_driver is not part of enabled_provider_drivers, and\nraise a distinct exception when the provider was defaulted rather than\nrequested, so that both the operator and the API user are pointed at the\nconfiguration options involved.\n\nDeployments where default_provider_driver is enabled are unaffected.\n\nChange-Id: I6d5b3ec97739fe1c536c5ff89c9ddc0d188a6584\nSigned-off-by: Premysl Kouril \u003cpremysl.kouril@ultimum.io\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/49917d3cd4ebb2fc381ff9729866dbeb742c1cb4"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/49917d3cd4ebb2fc381ff9729866dbeb742c1cb4"}]},"branch":"refs/heads/master"},"546f2c3aedfb4041a31e9ea184b9ae055f0c4fee":{"kind":"NO_CODE_CHANGE","_number":2,"created":"2026-08-17 13:29:59.000000000","uploader":{"_account_id":39361,"name":"Premysl Kouril","display_name":"premek","email":"premysl.kouril@ultimum.io","username":"premek4"},"ref":"refs/changes/49/1001149/2","fetch":{"anonymous http":{"url":"https://review.opendev.org/openstack/octavia","ref":"refs/changes/49/1001149/2","commands":{"Checkout":"git fetch https://review.opendev.org/openstack/octavia refs/changes/49/1001149/2 \u0026\u0026 git checkout FETCH_HEAD","Cherry Pick":"git fetch https://review.opendev.org/openstack/octavia refs/changes/49/1001149/2 \u0026\u0026 git cherry-pick FETCH_HEAD","Format Patch":"git fetch https://review.opendev.org/openstack/octavia refs/changes/49/1001149/2 \u0026\u0026 git format-patch -1 --stdout FETCH_HEAD","Pull":"git pull https://review.opendev.org/openstack/octavia refs/changes/49/1001149/2"}}},"commit":{"parents":[{"commit":"0e6ea11c2992ce2746bb0cf0fb5cb3e81d5b94ba","subject":"Merge \"Fix HAProxy config with cpu-map and external-check\"","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/0e6ea11c2992ce2746bb0cf0fb5cb3e81d5b94ba"}]}],"author":{"name":"Premysl Kouril","email":"premysl.kouril@ultimum.io","date":"2026-08-17 13:28:17.000000000","tz":120},"committer":{"name":"Premysl Kouril","email":"premysl.kouril@ultimum.io","date":"2026-08-17 13:29:07.000000000","tz":120},"subject":"Check that default_provider_driver is enabled","message":"Check that default_provider_driver is enabled\n\n_init_drivers() loads every driver listed in enabled_provider_drivers\nwhen the API starts and drops the ones that fail to load, but nothing\nverifies that default_provider_driver is one of them.\n\nA deployment that enables a single non-default driver, for example an\nOVN-only deployment that never enables amphora, keeps the default value\nof default_provider_driver, and every load balancer created without an\nexplicit provider is then rejected with:\n\n  Provider \u0027amphora\u0027 is not enabled. (HTTP 400)\n\nThat configuration is detectable long before such a request is made, and\nthe error does not mention that the provider name came from\ndefault_provider_driver rather than from the request.\n\nAdd an octavia-status upgrade check that fails when\ndefault_provider_driver is not part of enabled_provider_drivers, and\nraise a distinct exception when the provider was defaulted rather than\nrequested, so that both the operator and the API user are pointed at the\nconfiguration options involved.\n\nDeployments where default_provider_driver is enabled are unaffected.\n\nChange-Id: I6d5b3ec97739fe1c536c5ff89c9ddc0d188a6584\nSigned-off-by: Premysl Kouril \u003cpremysl.kouril@ultimum.io\u003e\n","web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/546f2c3aedfb4041a31e9ea184b9ae055f0c4fee"}],"resolve_conflicts_web_links":[{"name":"gitea","tooltip":"Open in GitWeb","url":"https://opendev.org/openstack/octavia/commit/546f2c3aedfb4041a31e9ea184b9ae055f0c4fee"}]},"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"},{"label":"Backport-Candidate","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":"Backport-Candidate","description":"Backport candidate status","status":"NOT_APPLICABLE","is_legacy":false,"applicability_expression_result":{"fulfilled":false,"status":"FAIL"},"submittability_expression_result":{"expression":"is:true","fulfilled":true,"status":"NOT_EVALUATED","passing_atoms":[],"failing_atoms":[],"atom_explanations":{}}},{"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":""}}}]}
