)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"379e46376e207a79e64d636412bfacb0cd5ea0be","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"4cda00ee_78bedc7d","updated":"2026-05-18 08:20:37.000000000","message":"| Missing Launchpad Blueprint reference — required for OpenStack spec tracking/approval\n\nNote: we don\u0027t use launchpad","commit_id":"bccc45c8b1d96f0754843a072fbe5027f8ad3d4b"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"5ab6cd977f9cba4f6a0665975ccefb5f3575a60e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"b237abb5_752202b3","in_reply_to":"4cda00ee_78bedc7d","updated":"2026-05-18 08:25:30.000000000","message":"I\u0027ll try feeding that back into the agent for future spec reviews so it doesn\u0027t flag it again","commit_id":"bccc45c8b1d96f0754843a072fbe5027f8ad3d4b"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"07370f7ba2ed81f7de9970ed8db7940deea74439","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"58bfbc12_d0bc84e5","updated":"2026-05-20 15:22:42.000000000","message":"-1 for visibility","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"b36972a27f3c59aec4e08d4bbac233ba2dc85d99","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9c82ac29_218406e9","updated":"2026-05-19 09:03:46.000000000","message":"I\u0027ve a couple of questions below that might be good to clarify\n\nThe AI review bot also spotted some issues with the proposal (see my earlier comment). I think the issues around API and Data model changes can be ignored since we\u0027ve already got the proposed change for reference. I\u0027ll try to feed those back into the bot for future proposals\n\nThe issues spotted by CI will likely need to be fixed","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"362693ebe2e04b33cbb81caf52a453a91af1b402","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":4,"id":"3c7b2c36_2abd7e9e","updated":"2026-05-24 22:48:11.000000000","message":"Hello, please update path to file:\nspecs/2026.2/multiaz_loadbalancer.rst","commit_id":"bf08c996dbdc8029f5a643d4617aae041010ebc0"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"53233e9ea4c4f3b06638d07436b43c7d5f130dd1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a4de6f69_047665b3","in_reply_to":"3c7b2c36_2abd7e9e","updated":"2026-05-27 11:35:04.000000000","message":"Acknowledged","commit_id":"bf08c996dbdc8029f5a643d4617aae041010ebc0"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"bbaec90818ea7f3544adcbc8a291920e9083ae84","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"b4971cd5_aa2aacd5","updated":"2026-06-15 16:16:00.000000000","message":"Latest two, all another good.","commit_id":"e90616170f1f0b1603bb7a297f53921e4173eb33"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"a0046971abba8f0f85d69f51e6ffd64a83b3b4ba","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"dbce19f1_2981e650","updated":"2026-06-17 17:12:49.000000000","message":"@noonedeadpunk@gmail.com hi, I also see mentioned spec and proposed solution.\nHowever it has significant differences with current proposal. \nSo it will be really good to get your feedback. \nCurrent proposal has implemenation without exra API for loadbalancer here: https://review.opendev.org/c/openstack/octavia/+/976100","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"e91edbea080f7cb43d290cc9c4562ec843ee868f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"5c6d2ed2_2640731c","updated":"2026-06-19 13:08:29.000000000","message":"Good stuff, just a few notes","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"77d19116f76f47cb388f19009d9718c1e59a68fb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"22a6287e_fd18334d","updated":"2026-06-17 14:46:43.000000000","message":"I\u0027ve read through the AI generated review and while it had some good points, the majority could be disregarded\n\nI do have a few questions and suggestions based on the spec","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"4e7cd2161ad5b268313536526f8f088d810b0ea3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"4a8716b7_5f69ccd0","updated":"2026-06-17 14:55:14.000000000","message":"Please, check also this one, as quite some findings were made there as well:\nhttps://review.opendev.org/c/openstack/octavia/+/923571","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"45ea321a66b63b27da9ae1b3c3348d7e64bc8b5c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"d714ebe1_cae0ebd8","updated":"2026-06-17 20:06:08.000000000","message":"Thanks for addressing those questions, I think we\u0027re good to go from my viewpoint once that extra Details section gets removed","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"68db387f52abf8b632238261fe8c928ef9a277b8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":9,"id":"a50daea7_a36fefbd","updated":"2026-06-17 14:58:25.000000000","message":"fwiw, reference implementation was working downstream as well, but it was based on codebase that has been significantly refactored:\nhttps://review.opendev.org/c/openstack/octavia/+/923939\n\nI am extremely interested in this topic moving forward and will precisely review the spec by end of the week.","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"1a016e883a39fe6d8818798d7db6b2121bcbd404","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"3517f6aa_ba0ddf25","updated":"2026-06-22 09:26:02.000000000","message":"I know there\u0027s some open comments from others but it looks good from my viewpoint","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"99eea9e3_714c04fd","updated":"2026-06-22 08:20:18.000000000","message":"Just as a remark, I think I am missing some very important detail in your spec.\nSo my comments below could be due to missing it or mis-understanding some part of it.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"0f4e2c69eb7a09639f5fe29f7586e8ae5930d635","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"cecdb966_71dfb2d6","updated":"2026-06-23 11:01:24.000000000","message":"Added some feedback","commit_id":"df31a4cdd6037a6814ca48fb1ce40e540ffa4a77"}],"doc/source/contributor/index.rst":[{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"8699c932c831c00875ff894ccc6fe9ed1e5366ab","unresolved":true,"context_lines":[{"line_number":107,"context_line":"   specs/version15.0/*"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"2026.2 (Hibiscus)"},{"line_number":110,"context_line":"````````````````````````"},{"line_number":111,"context_line":".. toctree::"},{"line_number":112,"context_line":"   :glob:"},{"line_number":113,"context_line":"   :maxdepth: 1"}],"source_content_type":"text/x-rst","patch_set":6,"id":"ac188a86_30678e7e","line":110,"updated":"2026-06-15 15:23:51.000000000","message":"```suggestion\n`````````````````\n```","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"98b2b537672905d16e4bb70882590714006c7825","unresolved":false,"context_lines":[{"line_number":107,"context_line":"   specs/version15.0/*"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"2026.2 (Hibiscus)"},{"line_number":110,"context_line":"````````````````````````"},{"line_number":111,"context_line":".. toctree::"},{"line_number":112,"context_line":"   :glob:"},{"line_number":113,"context_line":"   :maxdepth: 1"}],"source_content_type":"text/x-rst","patch_set":6,"id":"907d3a3f_8b1bec77","line":110,"in_reply_to":"ac188a86_30678e7e","updated":"2026-06-15 16:14:09.000000000","message":"thx. fixed","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"}],"specs/2026.2/multiaz_loadbalancer.rst":[{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"tag":"autogenerated:claude-review","change_message_id":"2d0e35e63b2c47e7d059e74de115821c0f3e5402","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"General notes:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"- Update availability_zones for created loadbalancer is not supported."},{"line_number":71,"context_line":"- Existing option availability_zone will ignore any multizone mode options."},{"line_number":72,"context_line":"  It means, that all amphoras for Loadbalancer with this option"},{"line_number":73,"context_line":"  will be created in the same specified availability_zone."},{"line_number":74,"context_line":"  It\u0027s done for backward compatibility"},{"line_number":75,"context_line":"- After enabling multizone mode all existing Loadbalancer become \"multizone\"."},{"line_number":76,"context_line":"  It means, that during next failover their amphoras will be re-created in"},{"line_number":77,"context_line":"  AZs (marked as multizone)"},{"line_number":78,"context_line":"- Disabling option multizone enable old behaviour and all \"multizone\" Amphoras"},{"line_number":79,"context_line":"  will be re-created in default AZ (in config or flavor settings) on failover."},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"Priority in choosing AZ for amphora"},{"line_number":82,"context_line":"-----------------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"baf4c131_05ccfe0f","line":79,"range":{"start_line":70,"start_character":0,"end_line":79,"end_character":0},"updated":"2026-06-15 16:03:44.000000000","message":"Contradiction between \"all existing LBs become multizone\" and\n  \"LBs with availability_zone (singular) ignore multizone mode\". The actual\n  intended behaviour for LBs created with the old `availability_zone` field\n  must be unambiguously stated.","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"tag":"autogenerated:claude-review","change_message_id":"2d0e35e63b2c47e7d059e74de115821c0f3e5402","unresolved":false,"context_lines":[{"line_number":106,"context_line":"- 1 multizone AZ - will be used for creation"},{"line_number":107,"context_line":"- 2+ multizone AZs - will be randomly used one of AZs"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Loadbalancer with two amphoras:"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"- no multizone AZs - validation error"},{"line_number":112,"context_line":"- 1 multizone AZ - validation error (need to AZs for correct multizone"}],"source_content_type":"text/x-rst","patch_set":6,"id":"59e9a0b5_7adbcda7","line":109,"updated":"2026-06-15 16:03:44.000000000","message":"\"2026.2 (Hibiscus)\" should follow the \"Version X.Y (Name)\"\n  pattern used by all other entries.","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"tag":"autogenerated:claude-review","change_message_id":"2d0e35e63b2c47e7d059e74de115821c0f3e5402","unresolved":false,"context_lines":[{"line_number":106,"context_line":"- 1 multizone AZ - will be used for creation"},{"line_number":107,"context_line":"- 2+ multizone AZs - will be randomly used one of AZs"},{"line_number":108,"context_line":""},{"line_number":109,"context_line":"Loadbalancer with two amphoras:"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"- no multizone AZs - validation error"},{"line_number":112,"context_line":"- 1 multizone AZ - validation error (need to AZs for correct multizone"},{"line_number":113,"context_line":"  deployment)"},{"line_number":114,"context_line":"- 2+ multizone AZs - will be randomly used two different AZs for amphoras"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Failover with multizone enabled mode 3 AZs"},{"line_number":117,"context_line":"------------------------------------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"b98259d2_21fe5392","line":114,"range":{"start_line":109,"start_character":0,"end_line":114,"end_character":0},"updated":"2026-06-15 16:03:44.000000000","message":"vs.","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"tag":"autogenerated:claude-review","change_message_id":"2d0e35e63b2c47e7d059e74de115821c0f3e5402","unresolved":false,"context_lines":[{"line_number":133,"context_line":""},{"line_number":134,"context_line":"Loadbalancer with two amphoras:"},{"line_number":135,"context_line":""},{"line_number":136,"context_line":"- no multizone AZs - use default availability_zone from config option of"},{"line_number":137,"context_line":"  nova/cinder sections**"},{"line_number":138,"context_line":"- 1 multizone AZ - failover will re-create both Amphoras in the same AZ**"},{"line_number":139,"context_line":"- 2+ multizone AZs - will be randomly used two different AZs for amphoras."},{"line_number":140,"context_line":"  preferred way - is to change existing AZ."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"b6267c98_3db27004","line":138,"range":{"start_line":136,"start_character":0,"end_line":138,"end_character":0},"updated":"2026-06-15 16:03:44.000000000","message":"The spec disallows creating a two-amphora LB with only 1\n  multizone AZ but allows failover into this state. This asymmetry is not\n  justified.","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"tag":"autogenerated:claude-review","change_message_id":"2d0e35e63b2c47e7d059e74de115821c0f3e5402","unresolved":false,"context_lines":[{"line_number":190,"context_line":"Octavia will use specified AZs like in examples above, but do not use full"},{"line_number":191,"context_line":"list of available AZs, just only specified."},{"line_number":192,"context_line":""},{"line_number":193,"context_line":"Detailed options"},{"line_number":194,"context_line":"----------------"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Below we describe only new options related to the use of multiple availability"},{"line_number":197,"context_line":"zones."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Alternatives"},{"line_number":200,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"4400c6ba_fb36f270","line":197,"range":{"start_line":193,"start_character":0,"end_line":197,"end_character":0},"updated":"2026-06-15 16:03:44.000000000","message":"The section header promises option descriptions but the section\n  body is completely empty. Every new config option, model field, and API\n  parameter must be documented here with name, type, default, and description.","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"tag":"autogenerated:claude-review","change_message_id":"2d0e35e63b2c47e7d059e74de115821c0f3e5402","unresolved":false,"context_lines":[{"line_number":212,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":213,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"Data model impact"},{"line_number":216,"context_line":"-----------------"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"- use_in_multizone option for Availability Zone"},{"line_number":219,"context_line":"- availability_zones for Loadbalancer"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"REST API impact"},{"line_number":222,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"55ebf7d0_ad1d8534","line":219,"range":{"start_line":215,"start_character":0,"end_line":219,"end_character":0},"updated":"2026-06-15 16:03:44.000000000","message":"Insufficient detail for reviewers and implementors. Three new\n  fields are mentioned in the spec body but only two appear here, and neither\n  is described with type or migration notes.","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"tag":"autogenerated:claude-review","change_message_id":"2d0e35e63b2c47e7d059e74de115821c0f3e5402","unresolved":false,"context_lines":[{"line_number":218,"context_line":"- use_in_multizone option for Availability Zone"},{"line_number":219,"context_line":"- availability_zones for Loadbalancer"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"REST API impact"},{"line_number":222,"context_line":"---------------"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":"- Availability Zone has new option use_in_multizone, which identify, that zone"},{"line_number":225,"context_line":"  could be used for creation Loadbalancer in multizone mode."},{"line_number":226,"context_line":"- New option availability_zones for Loadbalancer API, allows to ignore default"},{"line_number":227,"context_line":"  multizone settings and create Loadbalancer in specified zones with amphora\u0027s"},{"line_number":228,"context_line":"  distribution across specified AZs."},{"line_number":229,"context_line":""},{"line_number":230,"context_line":"Security impact"},{"line_number":231,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":6,"id":"573b25c7_a5423984","line":228,"range":{"start_line":221,"start_character":0,"end_line":228,"end_character":0},"updated":"2026-06-15 16:03:44.000000000","message":"No microversion is specified, no request/response schema, and\n  the policy decision on `availability_zones` access is unresolved.","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"tag":"autogenerated:claude-review","change_message_id":"2d0e35e63b2c47e7d059e74de115821c0f3e5402","unresolved":false,"context_lines":[{"line_number":285,"context_line":"- Update Octavia CLI and OpenstackSDK"},{"line_number":286,"context_line":"- Write Documentation"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"Dependencies"},{"line_number":289,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"None"},{"line_number":292,"context_line":""},{"line_number":293,"context_line":"Testing"},{"line_number":294,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":6,"id":"9fd6629a_8a70c2c8","line":291,"range":{"start_line":288,"start_character":0,"end_line":291,"end_character":0},"updated":"2026-06-15 16:03:44.000000000","message":"The work items explicitly mention changes to `python-octaviaclient`\n  and OpenStackSDK, which are separate OpenStack projects. The Dependencies\n  section must list them.","commit_id":"6172bf74f1bd1cba4e366a98fcb27076af160865"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"bbaec90818ea7f3544adcbc8a291920e9083ae84","unresolved":true,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Loadbalancer multizone support"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"086e5797_68b385d8","line":7,"updated":"2026-06-15 16:16:00.000000000","message":"```suggestion\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n```","commit_id":"e90616170f1f0b1603bb7a297f53921e4173eb33"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"d06fc09bcf88f24672c5ef9cbe8a7da3e82e7646","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":" http://creativecommons.org/licenses/by/3.0/legalcode"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Loadbalancer multizone support"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"336b9d2a_746b17d7","line":7,"in_reply_to":"086e5797_68b385d8","updated":"2026-06-15 16:17:19.000000000","message":"Fix applied.","commit_id":"e90616170f1f0b1603bb7a297f53921e4173eb33"},{"author":{"_account_id":37598,"name":"Ivan Anfimov","display_name":"Ivan Anfimov","email":"lazekteam@gmail.com","username":"anfimovir"},"change_message_id":"bbaec90818ea7f3544adcbc8a291920e9083ae84","unresolved":true,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Loadbalancer multizone support"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Octavia uses Nova and Cinder for creation amphora VMs. These services"},{"line_number":12,"context_line":"provides concept of the AvailabilityZone. The same concept partially"}],"source_content_type":"text/x-rst","patch_set":7,"id":"d6d3f036_7b6a3a01","line":9,"updated":"2026-06-15 16:16:00.000000000","message":"```suggestion\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n```","commit_id":"e90616170f1f0b1603bb7a297f53921e4173eb33"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"d06fc09bcf88f24672c5ef9cbe8a7da3e82e7646","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":8,"context_line":"Loadbalancer multizone support"},{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Octavia uses Nova and Cinder for creation amphora VMs. These services"},{"line_number":12,"context_line":"provides concept of the AvailabilityZone. The same concept partially"}],"source_content_type":"text/x-rst","patch_set":7,"id":"ab1e4371_c7f81355","line":9,"in_reply_to":"d6d3f036_7b6a3a01","updated":"2026-06-15 16:17:19.000000000","message":"Fix applied.","commit_id":"e90616170f1f0b1603bb7a297f53921e4173eb33"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d24dfd68cdf8e0e65d0d1d83abeabaa7bb93b5c7","unresolved":true,"context_lines":[{"line_number":48,"context_line":"- Add configuration option to use multizone mode or not"},{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add option availability_zone for Amphora."},{"line_number":52,"context_line":"  It\u0027s done to show where Octavia \"expected\" to created amphora."},{"line_number":53,"context_line":"  \"expected\" - because amphora could be migrated by nova without notification"},{"line_number":54,"context_line":"  Octavia about this change."}],"source_content_type":"text/x-rst","patch_set":9,"id":"dcfe061a_a5da6024","line":51,"range":{"start_line":51,"start_character":6,"end_line":51,"end_character":30},"updated":"2026-06-19 13:19:43.000000000","message":"I would write \"availability_zone attribute\"\n\"option\" feels like something a user could update","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"74dc71eb2d505f6ef0eda26a059def9876c883d3","unresolved":false,"context_lines":[{"line_number":48,"context_line":"- Add configuration option to use multizone mode or not"},{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add option availability_zone for Amphora."},{"line_number":52,"context_line":"  It\u0027s done to show where Octavia \"expected\" to created amphora."},{"line_number":53,"context_line":"  \"expected\" - because amphora could be migrated by nova without notification"},{"line_number":54,"context_line":"  Octavia about this change."}],"source_content_type":"text/x-rst","patch_set":9,"id":"b5543c89_23f21979","line":51,"range":{"start_line":51,"start_character":6,"end_line":51,"end_character":30},"in_reply_to":"dcfe061a_a5da6024","updated":"2026-06-19 13:48:46.000000000","message":"Done","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"e91edbea080f7cb43d290cc9c4562ec843ee868f","unresolved":true,"context_lines":[{"line_number":61,"context_line":"- New logic of creation/failover Loadbalancer in multizone mode"},{"line_number":62,"context_line":"- New option for Loadbalancer on creation: availability_zones"},{"line_number":63,"context_line":"  * With extra policy - may be should be hidden from users."},{"line_number":64,"context_line":"  * This option will NOT replace existing option availability_zone"},{"line_number":65,"context_line":"  * This option should be mutually exclusive with existing availability_zone"},{"line_number":66,"context_line":"  option."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"82bde6dc_5fc0f143","line":64,"range":{"start_line":64,"start_character":4,"end_line":64,"end_character":66},"updated":"2026-06-19 13:08:29.000000000","message":"well, I wonder if we could deprecate (but not remove) availability_zone in favor of availability_zones (and encourage users to switch)\n(anyone using availability_zone \u003d az1 would change to availability_zone \u003d [az1])\n\nso I would write \"it will replace\"","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"74dc71eb2d505f6ef0eda26a059def9876c883d3","unresolved":false,"context_lines":[{"line_number":61,"context_line":"- New logic of creation/failover Loadbalancer in multizone mode"},{"line_number":62,"context_line":"- New option for Loadbalancer on creation: availability_zones"},{"line_number":63,"context_line":"  * With extra policy - may be should be hidden from users."},{"line_number":64,"context_line":"  * This option will NOT replace existing option availability_zone"},{"line_number":65,"context_line":"  * This option should be mutually exclusive with existing availability_zone"},{"line_number":66,"context_line":"  option."},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"856d3d48_ef81e2e0","line":64,"range":{"start_line":64,"start_character":4,"end_line":64,"end_character":66},"in_reply_to":"82bde6dc_5fc0f143","updated":"2026-06-19 13:48:46.000000000","message":"hm. I actually don\u0027t think about such long term plans.\nit\u0027s possible, I suppose.","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"e91edbea080f7cb43d290cc9c4562ec843ee868f","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"General notes:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"- Update availability_zones for created loadbalancer is not supported."},{"line_number":71,"context_line":"- Existing option availability_zone will ignore any multizone mode options."},{"line_number":72,"context_line":"  It means, that all amphoras for Loadbalancer with this option"},{"line_number":73,"context_line":"  will be created in the same specified availability_zone."}],"source_content_type":"text/x-rst","patch_set":9,"id":"bbc50844_66dbb1ea","line":70,"range":{"start_line":70,"start_character":2,"end_line":70,"end_character":69},"updated":"2026-06-19 13:08:29.000000000","message":"question (not asking to support it): would it be hard to implement it?","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"00933267fbdc19c3efc63d91838b3a82fee9056e","unresolved":false,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"General notes:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"- Update availability_zones for created loadbalancer is not supported."},{"line_number":71,"context_line":"- Existing option availability_zone will ignore any multizone mode options."},{"line_number":72,"context_line":"  It means, that all amphoras for Loadbalancer with this option"},{"line_number":73,"context_line":"  will be created in the same specified availability_zone."}],"source_content_type":"text/x-rst","patch_set":9,"id":"c2ca90b2_2a899282","line":70,"range":{"start_line":70,"start_character":2,"end_line":70,"end_character":69},"in_reply_to":"6bfe76f4_eb296676","updated":"2026-06-19 13:53:30.000000000","message":"ack, let\u0027s keep it like this, the feature can be extended during a 2nd phase if needed","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"74dc71eb2d505f6ef0eda26a059def9876c883d3","unresolved":true,"context_lines":[{"line_number":67,"context_line":""},{"line_number":68,"context_line":"General notes:"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"- Update availability_zones for created loadbalancer is not supported."},{"line_number":71,"context_line":"- Existing option availability_zone will ignore any multizone mode options."},{"line_number":72,"context_line":"  It means, that all amphoras for Loadbalancer with this option"},{"line_number":73,"context_line":"  will be created in the same specified availability_zone."}],"source_content_type":"text/x-rst","patch_set":9,"id":"6bfe76f4_eb296676","line":70,"range":{"start_line":70,"start_character":2,"end_line":70,"end_character":69},"in_reply_to":"bbc50844_66dbb1ea","updated":"2026-06-19 13:48:46.000000000","message":"The first idea, which come to mind is: failover both amphoras. \nIf such destructive way is possible, it should not be really hard. \nFlow will be similar with flow on create LB, but with tasks from Failover flow.","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"77d19116f76f47cb388f19009d9718c1e59a68fb","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Mentioned logic is explained on examples in sections below."},{"line_number":86,"context_line":"Priority order for choosing AZ:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Any random AZ (marked for multizone mode), but not used by another amphora"},{"line_number":89,"context_line":"  of the same Loadbalancer."},{"line_number":90,"context_line":"- The same AZ as Amphora has now"},{"line_number":91,"context_line":"- The AZ of the second Amphora on the same Loadbalancer, if it has 2 Amphoras."}],"source_content_type":"text/x-rst","patch_set":9,"id":"a942a001_0f2b70b3","line":88,"updated":"2026-06-17 14:46:43.000000000","message":"I think it\u0027s worth rewording this to consider the availability_zones option below where we constrain the amphora to a group of AZs\n\n\n\n```suggestion\n- Any random AZ (marked for multizone mode), but not used by another amphora. When the availability_zones parameter is set, the amphora will be only created in those AZs\n```","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"a343f021c6a2241281b1c760d44a8d1f6d61a189","unresolved":true,"context_lines":[{"line_number":85,"context_line":"Mentioned logic is explained on examples in sections below."},{"line_number":86,"context_line":"Priority order for choosing AZ:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Any random AZ (marked for multizone mode), but not used by another amphora"},{"line_number":89,"context_line":"  of the same Loadbalancer."},{"line_number":90,"context_line":"- The same AZ as Amphora has now"},{"line_number":91,"context_line":"- The AZ of the second Amphora on the same Loadbalancer, if it has 2 Amphoras."}],"source_content_type":"text/x-rst","patch_set":9,"id":"caf51111_27f0de4a","line":88,"in_reply_to":"a942a001_0f2b70b3","updated":"2026-06-17 15:22:19.000000000","message":"actually this logic will be the same when availability_zones parameter is set.\n\nthe key difference, that pool for choosing AZ will be taken from availability_zones parameter , instead of all AZs (compatible for multizone deployment) in DB.\n\nFor example: I create LB with availability_zones\u003d[AZ1,AZ2,AZ3]\nand logic will choose randomly first AZ for master amphora and not the same AZ for backup.\n\nI will add similar example in doc","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"45ea321a66b63b27da9ae1b3c3348d7e64bc8b5c","unresolved":false,"context_lines":[{"line_number":85,"context_line":"Mentioned logic is explained on examples in sections below."},{"line_number":86,"context_line":"Priority order for choosing AZ:"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"- Any random AZ (marked for multizone mode), but not used by another amphora"},{"line_number":89,"context_line":"  of the same Loadbalancer."},{"line_number":90,"context_line":"- The same AZ as Amphora has now"},{"line_number":91,"context_line":"- The AZ of the second Amphora on the same Loadbalancer, if it has 2 Amphoras."}],"source_content_type":"text/x-rst","patch_set":9,"id":"9405bda6_5f3532b9","line":88,"in_reply_to":"caf51111_27f0de4a","updated":"2026-06-17 20:06:08.000000000","message":"Makes sense, thanks!","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"e91edbea080f7cb43d290cc9c4562ec843ee868f","unresolved":true,"context_lines":[{"line_number":109,"context_line":"Loadbalancer with two amphoras:"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"- no multizone AZs - validation error"},{"line_number":112,"context_line":"- 1 multizone AZ - validation error (need to AZs for correct multizone"},{"line_number":113,"context_line":"  deployment)"},{"line_number":114,"context_line":"- 2+ multizone AZs - will be randomly used two different AZs for amphoras"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Failover with multizone enabled mode 3 AZs"}],"source_content_type":"text/x-rst","patch_set":9,"id":"abdb9af6_48baf905","line":113,"range":{"start_line":112,"start_character":0,"end_line":113,"end_character":13},"updated":"2026-06-19 13:08:29.000000000","message":"for consistency, I would allow it, as it\u0027s allowed for failovers","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"74dc71eb2d505f6ef0eda26a059def9876c883d3","unresolved":true,"context_lines":[{"line_number":109,"context_line":"Loadbalancer with two amphoras:"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"- no multizone AZs - validation error"},{"line_number":112,"context_line":"- 1 multizone AZ - validation error (need to AZs for correct multizone"},{"line_number":113,"context_line":"  deployment)"},{"line_number":114,"context_line":"- 2+ multizone AZs - will be randomly used two different AZs for amphoras"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Failover with multizone enabled mode 3 AZs"}],"source_content_type":"text/x-rst","patch_set":9,"id":"e883e779_f7f7d08a","line":113,"range":{"start_line":112,"start_character":0,"end_line":113,"end_character":13},"in_reply_to":"abdb9af6_48baf905","updated":"2026-06-19 13:48:46.000000000","message":"It could be done.\nThe initial idea was: \n- provide true multizone if it\u0027s enabled.\notherwise we say: it\u0027s multizone (but in reality works only with one AZ)\n- on failvoer it looks reasonable, because it\u0027s some unexpected behaviour or maintenance works.","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"56787b54fe0b1f2f15758f90c7bb188038c744c0","unresolved":false,"context_lines":[{"line_number":109,"context_line":"Loadbalancer with two amphoras:"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"- no multizone AZs - validation error"},{"line_number":112,"context_line":"- 1 multizone AZ - validation error (need to AZs for correct multizone"},{"line_number":113,"context_line":"  deployment)"},{"line_number":114,"context_line":"- 2+ multizone AZs - will be randomly used two different AZs for amphoras"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"Failover with multizone enabled mode 3 AZs"}],"source_content_type":"text/x-rst","patch_set":9,"id":"76d9c292_969024cd","line":113,"range":{"start_line":112,"start_character":0,"end_line":113,"end_character":13},"in_reply_to":"e883e779_f7f7d08a","updated":"2026-06-22 08:37:09.000000000","message":"Done","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"77d19116f76f47cb388f19009d9718c1e59a68fb","unresolved":true,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"- no multizone AZs - use default availability_zone from config option of"},{"line_number":137,"context_line":"  nova/cinder sections**"},{"line_number":138,"context_line":"- 1 multizone AZ - failover will re-create both Amphoras in the same AZ**"},{"line_number":139,"context_line":"- 2+ multizone AZs - will be randomly used two different AZs for amphoras."},{"line_number":140,"context_line":"  preferred way - is to change existing AZ."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"a0c47658_94499e00","line":138,"updated":"2026-06-17 14:46:43.000000000","message":"Question - should we recreate both amphora in the same AZ if no other AZs are available? The advantage is you still have HA if 1 amphora goes down\n\nThe potential disadvantage is that an operator might not be aware they\u0027re running on 1 AZ only and see an outage if that AZ goes down\n\nIt requires careful monitoring by the operator in this case. Perhaps we need an additional check in the health monitor for multizone amphora that have landed in the same AZ?","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"a343f021c6a2241281b1c760d44a8d1f6d61a189","unresolved":true,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"- no multizone AZs - use default availability_zone from config option of"},{"line_number":137,"context_line":"  nova/cinder sections**"},{"line_number":138,"context_line":"- 1 multizone AZ - failover will re-create both Amphoras in the same AZ**"},{"line_number":139,"context_line":"- 2+ multizone AZs - will be randomly used two different AZs for amphoras."},{"line_number":140,"context_line":"  preferred way - is to change existing AZ."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"c95c3e1e_bcd84b67","line":138,"in_reply_to":"a0c47658_94499e00","updated":"2026-06-17 15:22:19.000000000","message":"I suppose, that it should be solved by external monitoring of octavia DB or amphoras, where amphora is deployed.\n\nThere are couple cases come in my mind:\n-case1: 2 multizone AZs are enabled and LB has 1 amphora in each.\n  something bad happens with amphora in AZ1 and it will be re-created in AZ1. (or finally failed to re-created) according logic of multizone.\n- case2: 2 multizone AZs are enabled and LB has 1 amphora in each.\n  operator disable AZ1 and failover (due to healthcheck issue happens), amphora will be recreated in AZ2 with second amphora. I think, that it\u0027s expected behaviour, because admin disable AZ1. I suppose, that you are worried about this case. So as was mentioned above, some external monitoring should raise alert, that amphora in the one AZ and new failover with two available AZs should be manually run to fix it.\n  \nIt could be \"exception\" for healthmanager. Like on failover continue to save multizone deployment. However in this case admin could not provide at least simple Active/Standby during maintenance work in AZ1. I think, that monitoring + alert is better, than loosing second amphora in disabled AZ totally.","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"45ea321a66b63b27da9ae1b3c3348d7e64bc8b5c","unresolved":false,"context_lines":[{"line_number":135,"context_line":""},{"line_number":136,"context_line":"- no multizone AZs - use default availability_zone from config option of"},{"line_number":137,"context_line":"  nova/cinder sections**"},{"line_number":138,"context_line":"- 1 multizone AZ - failover will re-create both Amphoras in the same AZ**"},{"line_number":139,"context_line":"- 2+ multizone AZs - will be randomly used two different AZs for amphoras."},{"line_number":140,"context_line":"  preferred way - is to change existing AZ."},{"line_number":141,"context_line":""}],"source_content_type":"text/x-rst","patch_set":9,"id":"e8212b4f_eec2c285","line":138,"in_reply_to":"c95c3e1e_bcd84b67","updated":"2026-06-17 20:06:08.000000000","message":"Yeah it\u0027s case 2 which I was speaking about. I agree it\u0027s better to maintain HA by having 2 amphora than take the risk on a single working amhpora\n\nI suppose any operator using amphora across AZs is probably capable of setting up some external monitoring so we shouldn\u0027t try to solve every problem in advance","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"77d19116f76f47cb388f19009d9718c1e59a68fb","unresolved":true,"context_lines":[{"line_number":193,"context_line":"Detailed options"},{"line_number":194,"context_line":"----------------"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Below we describe only new options related to the use of multiple availability"},{"line_number":197,"context_line":"zones."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"6502b0b6_f863f83a","line":196,"updated":"2026-06-17 14:46:43.000000000","message":"I think the AI review has a good point here, this section seems to have no details","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"74dc71eb2d505f6ef0eda26a059def9876c883d3","unresolved":false,"context_lines":[{"line_number":193,"context_line":"Detailed options"},{"line_number":194,"context_line":"----------------"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Below we describe only new options related to the use of multiple availability"},{"line_number":197,"context_line":"zones."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"4e008796_81896eed","line":196,"in_reply_to":"1029dacb_a7715394","updated":"2026-06-19 13:48:46.000000000","message":"Done","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"45ea321a66b63b27da9ae1b3c3348d7e64bc8b5c","unresolved":true,"context_lines":[{"line_number":193,"context_line":"Detailed options"},{"line_number":194,"context_line":"----------------"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Below we describe only new options related to the use of multiple availability"},{"line_number":197,"context_line":"zones."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1029dacb_a7715394","line":196,"in_reply_to":"3ea50008_d96028fb","updated":"2026-06-17 20:06:08.000000000","message":"Thanks, I\u0027ll leave the issue open to keep it visible. Let\u0027s close it once the section is removed","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"a343f021c6a2241281b1c760d44a8d1f6d61a189","unresolved":true,"context_lines":[{"line_number":193,"context_line":"Detailed options"},{"line_number":194,"context_line":"----------------"},{"line_number":195,"context_line":""},{"line_number":196,"context_line":"Below we describe only new options related to the use of multiple availability"},{"line_number":197,"context_line":"zones."},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":9,"id":"3ea50008_d96028fb","line":196,"in_reply_to":"6502b0b6_f863f83a","updated":"2026-06-17 15:22:19.000000000","message":"Actually, I forgot to delete this section. Or I don\u0027t remember what exactly wanted to describe here. I will remove it.","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"77d19116f76f47cb388f19009d9718c1e59a68fb","unresolved":true,"context_lines":[{"line_number":216,"context_line":"-----------------"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"- use_in_multizone option for Availability Zone"},{"line_number":219,"context_line":"- availability_zones for Loadbalancer"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"REST API impact"},{"line_number":222,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"84fa05e7_845da187","line":219,"updated":"2026-06-17 14:46:43.000000000","message":"Question - what happens on a downgrade? I assume we just drop these columns and the amphorae stay where they currently are? On the next failover they would go to whatever their default AZ is","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"45ea321a66b63b27da9ae1b3c3348d7e64bc8b5c","unresolved":false,"context_lines":[{"line_number":216,"context_line":"-----------------"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"- use_in_multizone option for Availability Zone"},{"line_number":219,"context_line":"- availability_zones for Loadbalancer"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"REST API impact"},{"line_number":222,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"7f662cd6_004eac81","line":219,"in_reply_to":"440dc972_c3adf9ae","updated":"2026-06-17 20:06:08.000000000","message":"I guess my concern is what would happen in the following case\n\n1. Operator upgrades to latest Octavia\n2. Creates a multizone amphora\n3. Rolls back the upgrade for some reason\n\nI actually thought the DB migration scripts had a rollback as well, but I\u0027ve now found they\u0027re upgrade only. So a downgrade of Octavia to an earlier version would leave the new DB columns\n\nSince they\u0027re only added columns, this is probably fine","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"e91edbea080f7cb43d290cc9c4562ec843ee868f","unresolved":false,"context_lines":[{"line_number":216,"context_line":"-----------------"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"- use_in_multizone option for Availability Zone"},{"line_number":219,"context_line":"- availability_zones for Loadbalancer"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"REST API impact"},{"line_number":222,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"53dba909_9a0596bd","line":219,"in_reply_to":"7f662cd6_004eac81","updated":"2026-06-19 13:08:29.000000000","message":"Note: we don\u0027t use downgrades in Octavia (or even in Openstack)","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"a343f021c6a2241281b1c760d44a8d1f6d61a189","unresolved":true,"context_lines":[{"line_number":216,"context_line":"-----------------"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"- use_in_multizone option for Availability Zone"},{"line_number":219,"context_line":"- availability_zones for Loadbalancer"},{"line_number":220,"context_line":""},{"line_number":221,"context_line":"REST API impact"},{"line_number":222,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":9,"id":"440dc972_c3adf9ae","line":219,"in_reply_to":"84fa05e7_845da187","updated":"2026-06-17 15:22:19.000000000","message":"I am not fully understand which kind of downgrade do you mean. So:\n- if it\u0027s just disabling multizone option for enabling - the old logic will be used. and as you said: amphoras stay in the same AZs as were before it. And on the next failover will be re-created in the default (according config) zone.\n- if we are talking about downgrading the commit - it will not do anything with DB, because there is no downgrade migration (afaik, it\u0027s common practice)","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"77d19116f76f47cb388f19009d9718c1e59a68fb","unresolved":true,"context_lines":[{"line_number":275,"context_line":"----------"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- Add multizone support for LB, Availability zones. (Admin part logic)"},{"line_number":278,"context_line":"- Add availability zones parameter support for loadbalancer API and flows."},{"line_number":279,"context_line":"- Add unittests"},{"line_number":280,"context_line":"- Add tempest tests"},{"line_number":281,"context_line":"  NOTE: tempest runs by default on single node, which means that the devstack"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ce1cdd76_ad27cb9b","line":278,"updated":"2026-06-17 14:46:43.000000000","message":"I\u0027m nit picking here, but I think it\u0027s worth adding in a work item to create the DB upgrade and downgrade scripts. It just explicitly covers the DB work","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"45ea321a66b63b27da9ae1b3c3348d7e64bc8b5c","unresolved":false,"context_lines":[{"line_number":275,"context_line":"----------"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- Add multizone support for LB, Availability zones. (Admin part logic)"},{"line_number":278,"context_line":"- Add availability zones parameter support for loadbalancer API and flows."},{"line_number":279,"context_line":"- Add unittests"},{"line_number":280,"context_line":"- Add tempest tests"},{"line_number":281,"context_line":"  NOTE: tempest runs by default on single node, which means that the devstack"}],"source_content_type":"text/x-rst","patch_set":9,"id":"fa0561d0_2ba2c912","line":278,"in_reply_to":"1974702a_94b1caad","updated":"2026-06-17 20:06:08.000000000","message":"Yeah, I always feel the DB upgrade and rollback development should be a separate work item. It often needs some testing by itself and can be a bit difficult to get right","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"475c3f18c27caffd8d3322341774362c0bebb99c","unresolved":true,"context_lines":[{"line_number":275,"context_line":"----------"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- Add multizone support for LB, Availability zones. (Admin part logic)"},{"line_number":278,"context_line":"- Add availability zones parameter support for loadbalancer API and flows."},{"line_number":279,"context_line":"- Add unittests"},{"line_number":280,"context_line":"- Add tempest tests"},{"line_number":281,"context_line":"  NOTE: tempest runs by default on single node, which means that the devstack"}],"source_content_type":"text/x-rst","patch_set":9,"id":"c5875c9a_2eb36a3b","line":278,"in_reply_to":"1974702a_94b1caad","updated":"2026-06-17 17:07:52.000000000","message":"ok. it\u0027s not problem to mention this item. \nI just tried to understand, that we talk about the same thing, like: https://review.opendev.org/c/openstack/octavia/+/976100/12/octavia/db/migration/alembic_migrations/versions/fe12c33b254d_add_support_for_multizone_deployment.py\n\nif it\u0027s something different, then I need to see some example.","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"4c47fab2d2bd4fb8d7afe0e13d51eeb6f272723c","unresolved":true,"context_lines":[{"line_number":275,"context_line":"----------"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- Add multizone support for LB, Availability zones. (Admin part logic)"},{"line_number":278,"context_line":"- Add availability zones parameter support for loadbalancer API and flows."},{"line_number":279,"context_line":"- Add unittests"},{"line_number":280,"context_line":"- Add tempest tests"},{"line_number":281,"context_line":"  NOTE: tempest runs by default on single node, which means that the devstack"}],"source_content_type":"text/x-rst","patch_set":9,"id":"1974702a_94b1caad","line":278,"in_reply_to":"ad620fe1_c17a59b6","updated":"2026-06-17 15:53:08.000000000","message":"I think Richard only wants the migration script to be mentioned in the Work Items list\nBTW the migration scripts should deal with existing items","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"a343f021c6a2241281b1c760d44a8d1f6d61a189","unresolved":true,"context_lines":[{"line_number":275,"context_line":"----------"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- Add multizone support for LB, Availability zones. (Admin part logic)"},{"line_number":278,"context_line":"- Add availability zones parameter support for loadbalancer API and flows."},{"line_number":279,"context_line":"- Add unittests"},{"line_number":280,"context_line":"- Add tempest tests"},{"line_number":281,"context_line":"  NOTE: tempest runs by default on single node, which means that the devstack"}],"source_content_type":"text/x-rst","patch_set":9,"id":"ad620fe1_c17a59b6","line":278,"in_reply_to":"ce1cdd76_ad27cb9b","updated":"2026-06-17 15:22:19.000000000","message":"do you mean migration scripts or something different like python scripts for updating some data to existing DB ?","commit_id":"7fcb31d8c394e97b013b25d6a1fc25bf474eeaba"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"358555a62d2f0f280e371cfac5194fe91a0db38c","unresolved":true,"context_lines":[{"line_number":238,"context_line":"- use_in_multizone option for Availability Zone"},{"line_number":239,"context_line":"- availability_zones for Loadbalancer"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"NOTE: In case of downgrade new columns will be still available in DB, because"},{"line_number":242,"context_line":"      only upgrade function will be implmented."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"REST API impact"},{"line_number":245,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"43fa64a2_95e48c2c","line":242,"range":{"start_line":241,"start_character":0,"end_line":242,"end_character":47},"updated":"2026-06-19 13:55:30.000000000","message":"you can remove it as DB downgrade is not supported in Octavia","commit_id":"6d2df0a69027a84131a0a59af1399047b5065f50"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"4ed43f13cb87ad539254185907bf7499ffac0fe3","unresolved":false,"context_lines":[{"line_number":238,"context_line":"- use_in_multizone option for Availability Zone"},{"line_number":239,"context_line":"- availability_zones for Loadbalancer"},{"line_number":240,"context_line":""},{"line_number":241,"context_line":"NOTE: In case of downgrade new columns will be still available in DB, because"},{"line_number":242,"context_line":"      only upgrade function will be implmented."},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"REST API impact"},{"line_number":245,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":11,"id":"5b2f3116_eb63f826","line":242,"range":{"start_line":241,"start_character":0,"end_line":242,"end_character":47},"in_reply_to":"43fa64a2_95e48c2c","updated":"2026-06-19 14:00:42.000000000","message":"Done","commit_id":"6d2df0a69027a84131a0a59af1399047b5065f50"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":true,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Key changes:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- Add configuration option to use multizone mode or not"},{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."}],"source_content_type":"text/x-rst","patch_set":13,"id":"2b13e258_a8dda645","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":55},"updated":"2026-06-22 08:20:18.000000000","message":"Do you plan it as bool? Because I think it should be a list of AZs in which it\u0027s allowed to create the LB.\n\nThe reason behind this, is that AZs in Nova not always used for Availability, so not necessarily all of them should or can be used just randomly.\n\nSo ideally we need to ensure that we have an explicit list of what\u0027s allowed or potentially some special case of `any` (which is highly optional).","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"ac2eb23f8d2d322aed769ebe02493cc166ba643f","unresolved":true,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Key changes:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- Add configuration option to use multizone mode or not"},{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."}],"source_content_type":"text/x-rst","patch_set":13,"id":"ad60ec13_8d6b8e7f","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":55},"in_reply_to":"2b13e258_a8dda645","updated":"2026-06-23 07:38:58.000000000","message":"yes. it\u0027s intentional implementation detail. \nI saw previous proposals and on the first iteration tried to use list in config file.\n \nMy experience with list option was bad. When I need to configure/re-configure list of AZs - I need to restart octavia services. Also after restart I have to 100% sure, that zone has correctly configured zone_profile. Otherwise I get Octavia with broken Zone until next restart.\n\nI agree, that after success configuration this list could leave long time without changes. However the first start with configuration list in configuration file is really painful. So I prefer to configure zone independently via API before enabling this option.\nIn PR https://review.opendev.org/c/openstack/octavia/+/976100 you could mark and configure all AZs before turning on multizone globally. And more over fix it without restart after enabling multizone.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Key changes:"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- Add configuration option to use multizone mode or not"},{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."}],"source_content_type":"text/x-rst","patch_set":13,"id":"137de65b_ba81546c","line":48,"range":{"start_line":48,"start_character":0,"end_line":48,"end_character":55},"in_reply_to":"ad60ec13_8d6b8e7f","updated":"2026-06-23 10:01:19.000000000","message":"So I think I would love to see in the spec more details of REST API changes as the section is quite ambiguous right now.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":true,"context_lines":[{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."},{"line_number":52,"context_line":"  It\u0027s done to show where Octavia \"expected\" to created amphora."},{"line_number":53,"context_line":"  \"expected\" - because amphora could be migrated by nova without notification"},{"line_number":54,"context_line":"  Octavia about this change."},{"line_number":55,"context_line":"  NOTE: Amphora\u0027s for Loadbalancer with availability_zone option"},{"line_number":56,"context_line":"  will not get this option, it\u0027s done to highlight, that these Amphoras"},{"line_number":57,"context_line":"  are not multizone distributed."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5393745c_eb2f933a","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":28},"updated":"2026-06-22 08:20:18.000000000","message":"I _think_ it was possible to instruct Nova to pin Amphora instance to a specific AZ with a creation request? So that it was not possible to do cross-AZ migration later?","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":true,"context_lines":[{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."},{"line_number":52,"context_line":"  It\u0027s done to show where Octavia \"expected\" to created amphora."},{"line_number":53,"context_line":"  \"expected\" - because amphora could be migrated by nova without notification"},{"line_number":54,"context_line":"  Octavia about this change."},{"line_number":55,"context_line":"  NOTE: Amphora\u0027s for Loadbalancer with availability_zone option"},{"line_number":56,"context_line":"  will not get this option, it\u0027s done to highlight, that these Amphoras"},{"line_number":57,"context_line":"  are not multizone distributed."}],"source_content_type":"text/x-rst","patch_set":13,"id":"ae763481_99020b41","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":28},"in_reply_to":"0e8a45ca_525f41dd","updated":"2026-06-23 10:01:19.000000000","message":"So here is some details from API ref:\nhttps://opendev.org/openstack/nova/src/commit/3880295b520794a4e173a9bfce7815036746f187/api-ref/source/parameters.yaml#L5735-L5761\nIt was originally released for 2024.1 AFAIK.\n\nI am quite confident that it should be used in the implementation. As it\u0027s not really how operator does configure nova, but also how Octavia does create the VM and what arguments it does pass.\n\nAnd I don\u0027t see any valid reason why Octavia should even allow migration between AZs, as valid flow would be to rescue the LB and not migrate amphoras.\nSo this option *should* provide such guarantee, imo.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"ac2eb23f8d2d322aed769ebe02493cc166ba643f","unresolved":true,"context_lines":[{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."},{"line_number":52,"context_line":"  It\u0027s done to show where Octavia \"expected\" to created amphora."},{"line_number":53,"context_line":"  \"expected\" - because amphora could be migrated by nova without notification"},{"line_number":54,"context_line":"  Octavia about this change."},{"line_number":55,"context_line":"  NOTE: Amphora\u0027s for Loadbalancer with availability_zone option"},{"line_number":56,"context_line":"  will not get this option, it\u0027s done to highlight, that these Amphoras"},{"line_number":57,"context_line":"  are not multizone distributed."}],"source_content_type":"text/x-rst","patch_set":13,"id":"0e8a45ca_525f41dd","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":28},"in_reply_to":"5393745c_eb2f933a","updated":"2026-06-23 07:38:58.000000000","message":"I have not heard about such option.\nFrom one side cloud owner could configure nova in way and VM could not be migrated to different zone (potentially it\u0027s default behaviour)\nFrom other side, I\u0027d like to leave this note as is, to show, that option does not provide 100% guarantee of VM placement in  mentioned zone.\nThe motivation of this attribute - is to show desired Zone according to multizone distribution algorithm. nothing more.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"37cc84d536694461c008eed374b30fbdf089f0bf","unresolved":true,"context_lines":[{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."},{"line_number":52,"context_line":"  It\u0027s done to show where Octavia \"expected\" to created amphora."},{"line_number":53,"context_line":"  \"expected\" - because amphora could be migrated by nova without notification"},{"line_number":54,"context_line":"  Octavia about this change."},{"line_number":55,"context_line":"  NOTE: Amphora\u0027s for Loadbalancer with availability_zone option"},{"line_number":56,"context_line":"  will not get this option, it\u0027s done to highlight, that these Amphoras"},{"line_number":57,"context_line":"  are not multizone distributed."}],"source_content_type":"text/x-rst","patch_set":13,"id":"6e4c91c7_ddf18da6","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":28},"in_reply_to":"5548dca8_0cb5e1bc","updated":"2026-07-21 07:35:21.000000000","message":"So the idea is, that if/when AZ is marked as pinned in Nova, the VM will not be able to migrate/live migrate to another AZ.\n\nAnd we have exactly the setup, that if a VM will attempt to move between AZs, it will fall into ERROR state, as cross-az attach is false. So it technically can not migrate, and if it was impossible to prohibit VM from cross-AZ migration - each our maintenance would turn to hell.\n\nThus I am not really sure then what you mean under prohibiting VM to move between AZs then - as how you see this possible with pinned VM to AZ?\n\n@rcruise@redhat.com I think it would make sense to leverage pinning as a property to Octavias AZ definition.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"5dcb0f4a8cd3bcb85ee951d891dba2e7786351be","unresolved":true,"context_lines":[{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."},{"line_number":52,"context_line":"  It\u0027s done to show where Octavia \"expected\" to created amphora."},{"line_number":53,"context_line":"  \"expected\" - because amphora could be migrated by nova without notification"},{"line_number":54,"context_line":"  Octavia about this change."},{"line_number":55,"context_line":"  NOTE: Amphora\u0027s for Loadbalancer with availability_zone option"},{"line_number":56,"context_line":"  will not get this option, it\u0027s done to highlight, that these Amphoras"},{"line_number":57,"context_line":"  are not multizone distributed."}],"source_content_type":"text/x-rst","patch_set":13,"id":"ac443191_5b90dd21","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":28},"in_reply_to":"6e4c91c7_ddf18da6","updated":"2026-07-21 08:56:39.000000000","message":"@noonedeadpunk@gmail.com\nI meant, that we already pin VMs by setting AZ fro VM when create amphoras.\nHowever it\u0027s not possible to block \"pinned_availability_zone_update\" - it\u0027s nova option. If nova policy will allow to update this attribute of VM - admin could unpin AZ for any VM (include amphora).\n\nMy understanding, that we could not block this action on octavia level. It should be blocked by nova service. Or maybe implemented extra logic to nova service (like block this option for VMs created by Octavia service)","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"0f4e2c69eb7a09639f5fe29f7586e8ae5930d635","unresolved":true,"context_lines":[{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."},{"line_number":52,"context_line":"  It\u0027s done to show where Octavia \"expected\" to created amphora."},{"line_number":53,"context_line":"  \"expected\" - because amphora could be migrated by nova without notification"},{"line_number":54,"context_line":"  Octavia about this change."},{"line_number":55,"context_line":"  NOTE: Amphora\u0027s for Loadbalancer with availability_zone option"},{"line_number":56,"context_line":"  will not get this option, it\u0027s done to highlight, that these Amphoras"},{"line_number":57,"context_line":"  are not multizone distributed."}],"source_content_type":"text/x-rst","patch_set":13,"id":"dc98ba0e_11c2161e","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":28},"in_reply_to":"ae763481_99020b41","updated":"2026-06-23 11:01:24.000000000","message":"Hmm, we discussed this before, whether it is better to ensure HA by allowing the amphora to move across AZs in the event of an AZ failure, or keep the amphorae pinned in their assigned AZs\n\nI think ultimately a customer would prefer the highest level of availibility even if it means temporarily having amphorae in 1 AZ while the other is down. In that case, I don\u0027t think the current AZ pinning in Nova works well with this\n\nWe probably need the cross AZ scheduling in Nova for that idea to work, the spec is still under review: https://review.opendev.org/c/openstack/nova-specs/+/900296\n\n@noonedeadpunk@gmail.com, I think that spec is yours so I\u0027d like to hear your viewpoint\n\nPerhaps a best of both option would be to add a setting for amphora AZ pinning in the spec? If enabled then the Nova API could be used to pin the amphora in their assigned AZ and prevent them from migrating if the AZ goes down\n\nThis would put the choice back in the hands of the operator","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"b81e27405bc63fb380a41e266e727e78e7b43707","unresolved":true,"context_lines":[{"line_number":49,"context_line":"- Add option for Availability Zone to choose could it be used in multizone"},{"line_number":50,"context_line":"  or not."},{"line_number":51,"context_line":"- Add availability_zone attribute for Amphora."},{"line_number":52,"context_line":"  It\u0027s done to show where Octavia \"expected\" to created amphora."},{"line_number":53,"context_line":"  \"expected\" - because amphora could be migrated by nova without notification"},{"line_number":54,"context_line":"  Octavia about this change."},{"line_number":55,"context_line":"  NOTE: Amphora\u0027s for Loadbalancer with availability_zone option"},{"line_number":56,"context_line":"  will not get this option, it\u0027s done to highlight, that these Amphoras"},{"line_number":57,"context_line":"  are not multizone distributed."}],"source_content_type":"text/x-rst","patch_set":13,"id":"5548dca8_0cb5e1bc","line":54,"range":{"start_line":52,"start_character":0,"end_line":54,"end_character":28},"in_reply_to":"ae763481_99020b41","updated":"2026-06-23 13:56:15.000000000","message":"looks interesting. \nhowever it does not work in this way.\nAFAIK, creation server with specification \"availability_zone\" attribute (which is already done in current master and in subsequent PR) pin server to this zone.\n\nRegarding first option \"pinned_availability_zone\" - https://opendev.org/openstack/nova/commit/c98c8d84eec6e65f1b67ae1ab8278d9c507a1a76#diff-5012d09f552500a38bbb5acfaebce72cbc1ea8f4 \nit\u0027s just option on GET request.\n\nSecond one \"pinned_availability_zone_update\" : looks more related here: https://opendev.org/openstack/nova/commit/ada17726c1aa4903f87b92a49beb8cde2f08417d#diff-addbd9d8bd3bfdb848e9e62f52185de30c9f9655\n\nIt allows to unpin server from zone and migrate it to another. So I don\u0027t see any mechanism to prohibit it. More over it confirms current description in spec: server could be unpinned from zone and migrated to another one by special request.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":true,"context_lines":[{"line_number":60,"context_line":"  specified, otherwise amphora could be failed during creation."},{"line_number":61,"context_line":"- New logic of creation/failover Loadbalancer in multizone mode"},{"line_number":62,"context_line":"- New option for Loadbalancer on creation: availability_zones"},{"line_number":63,"context_line":"  * With extra policy - may be should be hidden from users."},{"line_number":64,"context_line":"  * This option will replace existing option availability_zone in future."},{"line_number":65,"context_line":"  So users have to migrate from \"availability_zone\u003daz1\" to"},{"line_number":66,"context_line":"  \"availability_zones\u003d[az1]\"."}],"source_content_type":"text/x-rst","patch_set":13,"id":"def278ef_4c555a24","line":63,"range":{"start_line":63,"start_character":24,"end_line":63,"end_character":30},"updated":"2026-06-22 08:20:18.000000000","message":"did you mean that? As it reads slightly better this way.\n\n```suggestion\n  * With extra policy - potentially should be hidden from users.\n```","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":false,"context_lines":[{"line_number":60,"context_line":"  specified, otherwise amphora could be failed during creation."},{"line_number":61,"context_line":"- New logic of creation/failover Loadbalancer in multizone mode"},{"line_number":62,"context_line":"- New option for Loadbalancer on creation: availability_zones"},{"line_number":63,"context_line":"  * With extra policy - may be should be hidden from users."},{"line_number":64,"context_line":"  * This option will replace existing option availability_zone in future."},{"line_number":65,"context_line":"  So users have to migrate from \"availability_zone\u003daz1\" to"},{"line_number":66,"context_line":"  \"availability_zones\u003d[az1]\"."}],"source_content_type":"text/x-rst","patch_set":13,"id":"7c53926c_06cbe019","line":63,"range":{"start_line":63,"start_character":24,"end_line":63,"end_character":30},"in_reply_to":"a272d243_18e39ec0","updated":"2026-06-23 10:01:19.000000000","message":"Done","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"ac2eb23f8d2d322aed769ebe02493cc166ba643f","unresolved":true,"context_lines":[{"line_number":60,"context_line":"  specified, otherwise amphora could be failed during creation."},{"line_number":61,"context_line":"- New logic of creation/failover Loadbalancer in multizone mode"},{"line_number":62,"context_line":"- New option for Loadbalancer on creation: availability_zones"},{"line_number":63,"context_line":"  * With extra policy - may be should be hidden from users."},{"line_number":64,"context_line":"  * This option will replace existing option availability_zone in future."},{"line_number":65,"context_line":"  So users have to migrate from \"availability_zone\u003daz1\" to"},{"line_number":66,"context_line":"  \"availability_zones\u003d[az1]\"."}],"source_content_type":"text/x-rst","patch_set":13,"id":"a272d243_18e39ec0","line":63,"range":{"start_line":63,"start_character":24,"end_line":63,"end_character":30},"in_reply_to":"def278ef_4c555a24","updated":"2026-06-23 07:38:58.000000000","message":"Thank you for catching it.\nThe idea was to add extra policy on this attribute, which allow to prohibit using this attribute by users if cloud owner does no what provide this option to avoid potential issues.\n\nFor example, when all users create LBs only in AZ2, AZ3 and ignore AZ1.\nI will re-phrase it","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":true,"context_lines":[{"line_number":62,"context_line":"- New option for Loadbalancer on creation: availability_zones"},{"line_number":63,"context_line":"  * With extra policy - may be should be hidden from users."},{"line_number":64,"context_line":"  * This option will replace existing option availability_zone in future."},{"line_number":65,"context_line":"  So users have to migrate from \"availability_zone\u003daz1\" to"},{"line_number":66,"context_line":"  \"availability_zones\u003d[az1]\"."},{"line_number":67,"context_line":"  * This option should be mutually exclusive with existing availability_zone"},{"line_number":68,"context_line":"  option."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"ae4eef07_da0a557b","line":66,"range":{"start_line":65,"start_character":0,"end_line":66,"end_character":29},"updated":"2026-06-22 08:20:18.000000000","message":"I think in terms of config parameter, it\u0027s gonna be the same, as oslo.config list parameter would also look like `availability_zones\u003daz1` by default.\nAnd then `availability_zones\u003daz1,az2`.\n\nSo potentially we could migrate to it right away, as it\u0027s not really breaking existing configuration. Not saying we should do, but still, it won\u0027t be `[az1]`.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"ac2eb23f8d2d322aed769ebe02493cc166ba643f","unresolved":true,"context_lines":[{"line_number":62,"context_line":"- New option for Loadbalancer on creation: availability_zones"},{"line_number":63,"context_line":"  * With extra policy - may be should be hidden from users."},{"line_number":64,"context_line":"  * This option will replace existing option availability_zone in future."},{"line_number":65,"context_line":"  So users have to migrate from \"availability_zone\u003daz1\" to"},{"line_number":66,"context_line":"  \"availability_zones\u003d[az1]\"."},{"line_number":67,"context_line":"  * This option should be mutually exclusive with existing availability_zone"},{"line_number":68,"context_line":"  option."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"b98e075b_e3725444","line":66,"range":{"start_line":65,"start_character":0,"end_line":66,"end_character":29},"in_reply_to":"ae4eef07_da0a557b","updated":"2026-06-23 07:38:58.000000000","message":"Actually I did not touch this part yet. So probably you are right, that format will be the string. I will update document.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":false,"context_lines":[{"line_number":62,"context_line":"- New option for Loadbalancer on creation: availability_zones"},{"line_number":63,"context_line":"  * With extra policy - may be should be hidden from users."},{"line_number":64,"context_line":"  * This option will replace existing option availability_zone in future."},{"line_number":65,"context_line":"  So users have to migrate from \"availability_zone\u003daz1\" to"},{"line_number":66,"context_line":"  \"availability_zones\u003d[az1]\"."},{"line_number":67,"context_line":"  * This option should be mutually exclusive with existing availability_zone"},{"line_number":68,"context_line":"  option."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":13,"id":"07e1783c_9f39cd64","line":66,"range":{"start_line":65,"start_character":0,"end_line":66,"end_character":29},"in_reply_to":"b98e075b_e3725444","updated":"2026-06-23 10:01:19.000000000","message":"Done","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":true,"context_lines":[{"line_number":77,"context_line":"- After enabling multizone mode all existing Loadbalancer become \"multizone\"."},{"line_number":78,"context_line":"  It means, that during next failover their amphoras will be re-created in"},{"line_number":79,"context_line":"  AZs (marked as multizone)"},{"line_number":80,"context_line":"- Disabling option multizone enable old behaviour and all \"multizone\" Amphoras"},{"line_number":81,"context_line":"  will be re-created in default AZ (in config or flavor settings) on failover."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Priority in choosing AZ for amphora"}],"source_content_type":"text/x-rst","patch_set":13,"id":"57f50cc2_4edfbdc8","line":80,"range":{"start_line":80,"start_character":2,"end_line":80,"end_character":35},"updated":"2026-06-22 08:20:18.000000000","message":"this really sounds like bool to me, and I wonder why we\u0027d need this bool rather then just a list and assume it\u0027s always enabled?","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"ac2eb23f8d2d322aed769ebe02493cc166ba643f","unresolved":true,"context_lines":[{"line_number":77,"context_line":"- After enabling multizone mode all existing Loadbalancer become \"multizone\"."},{"line_number":78,"context_line":"  It means, that during next failover their amphoras will be re-created in"},{"line_number":79,"context_line":"  AZs (marked as multizone)"},{"line_number":80,"context_line":"- Disabling option multizone enable old behaviour and all \"multizone\" Amphoras"},{"line_number":81,"context_line":"  will be re-created in default AZ (in config or flavor settings) on failover."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Priority in choosing AZ for amphora"}],"source_content_type":"text/x-rst","patch_set":13,"id":"92f9293b_2da1025b","line":80,"range":{"start_line":80,"start_character":2,"end_line":80,"end_character":35},"in_reply_to":"57f50cc2_4edfbdc8","updated":"2026-06-23 07:38:58.000000000","message":"yes, it\u0027s boolean. Please see my detailed answer in another comment.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":false,"context_lines":[{"line_number":77,"context_line":"- After enabling multizone mode all existing Loadbalancer become \"multizone\"."},{"line_number":78,"context_line":"  It means, that during next failover their amphoras will be re-created in"},{"line_number":79,"context_line":"  AZs (marked as multizone)"},{"line_number":80,"context_line":"- Disabling option multizone enable old behaviour and all \"multizone\" Amphoras"},{"line_number":81,"context_line":"  will be re-created in default AZ (in config or flavor settings) on failover."},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Priority in choosing AZ for amphora"}],"source_content_type":"text/x-rst","patch_set":13,"id":"9d223883_e070689b","line":80,"range":{"start_line":80,"start_character":2,"end_line":80,"end_character":35},"in_reply_to":"92f9293b_2da1025b","updated":"2026-06-23 10:01:19.000000000","message":"Acknowledged","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":true,"context_lines":[{"line_number":200,"context_line":"- Moving AZ in maintenance for some works"},{"line_number":201,"context_line":"- Closing AZ and slow migration amphoras to different AZs"},{"line_number":202,"context_line":"- Unexpected issue affected only one AZ and temporary disabling it for fixing."},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"In some cases AZ could be broken and it will trigger failovers on existing"},{"line_number":205,"context_line":"amphoras. It will affect Active-Standby Loadbalancers, because one amphora"},{"line_number":206,"context_line":"will be permanently unactive. Cloud administrator could disable \"broken\""}],"source_content_type":"text/x-rst","patch_set":13,"id":"30dc92b2_f99da5fe","line":203,"updated":"2026-06-22 08:20:18.000000000","message":"I think AZ being out of capacity is gonna be most widespread one 😀","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":true,"context_lines":[{"line_number":200,"context_line":"- Moving AZ in maintenance for some works"},{"line_number":201,"context_line":"- Closing AZ and slow migration amphoras to different AZs"},{"line_number":202,"context_line":"- Unexpected issue affected only one AZ and temporary disabling it for fixing."},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"In some cases AZ could be broken and it will trigger failovers on existing"},{"line_number":205,"context_line":"amphoras. It will affect Active-Standby Loadbalancers, because one amphora"},{"line_number":206,"context_line":"will be permanently unactive. Cloud administrator could disable \"broken\""}],"source_content_type":"text/x-rst","patch_set":13,"id":"dc78b447_e7e7804a","line":203,"in_reply_to":"018c1051_ce3011a9","updated":"2026-06-23 10:01:19.000000000","message":"\u003e subsequent stuck LB in PENDING state\n\nUm, you should not have that in case you\u0027ve configured coordination properly for jobboard?","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"ac2eb23f8d2d322aed769ebe02493cc166ba643f","unresolved":true,"context_lines":[{"line_number":200,"context_line":"- Moving AZ in maintenance for some works"},{"line_number":201,"context_line":"- Closing AZ and slow migration amphoras to different AZs"},{"line_number":202,"context_line":"- Unexpected issue affected only one AZ and temporary disabling it for fixing."},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"In some cases AZ could be broken and it will trigger failovers on existing"},{"line_number":205,"context_line":"amphoras. It will affect Active-Standby Loadbalancers, because one amphora"},{"line_number":206,"context_line":"will be permanently unactive. Cloud administrator could disable \"broken\""}],"source_content_type":"text/x-rst","patch_set":13,"id":"018c1051_ce3011a9","line":203,"in_reply_to":"30dc92b2_f99da5fe","updated":"2026-06-23 07:38:58.000000000","message":"I think, that we could have issues without managing AZs as well. \n\nFor example, DB/network connect issues during running workflow (with subsequent stuck LB in PENDING state).","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"b81e27405bc63fb380a41e266e727e78e7b43707","unresolved":true,"context_lines":[{"line_number":200,"context_line":"- Moving AZ in maintenance for some works"},{"line_number":201,"context_line":"- Closing AZ and slow migration amphoras to different AZs"},{"line_number":202,"context_line":"- Unexpected issue affected only one AZ and temporary disabling it for fixing."},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"In some cases AZ could be broken and it will trigger failovers on existing"},{"line_number":205,"context_line":"amphoras. It will affect Active-Standby Loadbalancers, because one amphora"},{"line_number":206,"context_line":"will be permanently unactive. Cloud administrator could disable \"broken\""}],"source_content_type":"text/x-rst","patch_set":13,"id":"886f4be5_ec7678e1","line":203,"in_reply_to":"dc78b447_e7e7804a","updated":"2026-06-23 13:56:15.000000000","message":"nope, it\u0027s corner case, when you have network or db exception exactly between processing request in API and running flow. anyway it\u0027s offtopic ))","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":true,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5eea3124_443ced84","line":231,"range":{"start_line":231,"start_character":2,"end_line":231,"end_character":79},"updated":"2026-06-22 08:20:18.000000000","message":"this is really important one. But wonder if changing of the list of az of config can\u0027t trigger such disablement? not sure it\u0027s a good idea though...","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":false,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"}],"source_content_type":"text/x-rst","patch_set":13,"id":"85ed3a06_53f20f96","line":231,"range":{"start_line":231,"start_character":2,"end_line":231,"end_character":79},"in_reply_to":"44e7eaf4_4350c5fb","updated":"2026-06-23 10:01:19.000000000","message":"\u003e Updating list in config will require deploy this option and restart services\n\nYeah, just no brainier from my prespective as that\u0027s what CI/CD systems do... But ok.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"ac2eb23f8d2d322aed769ebe02493cc166ba643f","unresolved":true,"context_lines":[{"line_number":228,"context_line":""},{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"}],"source_content_type":"text/x-rst","patch_set":13,"id":"44e7eaf4_4350c5fb","line":231,"range":{"start_line":231,"start_character":2,"end_line":231,"end_character":79},"in_reply_to":"5eea3124_443ced84","updated":"2026-06-23 07:38:58.000000000","message":"this is not popular, but possible situation. \nThe good example if you realised, that some zone overloaded already and you want to disable it. Updating list in config will require deploy this option and restart services. Later you added extra hardware and want to enable it again.\n\nI think, that it\u0027s correct lifecycle for zone management. And it should not require releases new configs and restarts.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":true,"context_lines":[{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"2a266d6d_2ea10273","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":58},"updated":"2026-06-22 08:20:18.000000000","message":"I am not sure it\u0027s a negative or positive though. As if I\u0027m unfamiliar with the option and I see that my amphoras are now placed in some AZ which is not really an AZ but rather a poorly configured aggregate for some \"client\" - I would be really confused by this fact.\nAnd Nova folks told it\u0027s a very widespread situation, when AZ is not serving as actually availability thing.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":true,"context_lines":[{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"f7d80d71_b183037a","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":58},"in_reply_to":"00c286b8_13f1466a","updated":"2026-06-23 10:01:19.000000000","message":"\u003e However usually people are lazy and prefer get new functionality without reading documentation\n\nI strongly disagree here, as the best practice is to keep existing behavior, as doing assumptions for others is the wrong way, imo.\n\nSo I\u0027d actually love to flag changed behavior for existing deployments as an issue with the spec from my side.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"ac2eb23f8d2d322aed769ebe02493cc166ba643f","unresolved":true,"context_lines":[{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"00c286b8_13f1466a","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":58},"in_reply_to":"2a266d6d_2ea10273","updated":"2026-06-23 07:38:58.000000000","message":"Agree, that on the first look it\u0027s neutral point.\nHowever usually people are lazy and prefer get new functionality without reading documentation.\nFor example:\n- you enable multizone in cloud deployment. And you have to teach all users to use new attribute on LB creation (as result update terraform templates, update scripts and so on) \n- from other side you enable option and all users get multizone setup for all new Loadbalancer and additionally for all previously created (after failover)","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"37cc84d536694461c008eed374b30fbdf089f0bf","unresolved":true,"context_lines":[{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fd027cf5_14179eda","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":58},"in_reply_to":"7324dc8c_1a6b3d37","updated":"2026-07-21 07:35:21.000000000","message":"It would be really nice if these usecases ended up in the blueprint as well, as this context is important to be preserved, imo.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"0f4e2c69eb7a09639f5fe29f7586e8ae5930d635","unresolved":true,"context_lines":[{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"0f9c58c9_326d6a94","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":58},"in_reply_to":"abe03822_b071deb0","updated":"2026-06-23 11:01:24.000000000","message":"Perhaps I\u0027m misreading the spec, but the current behavior will be preserved by default. Multizone is disabled by default and there are only added API endpoints, not modified/removed ones that I could see","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"c032f53edd6d71d47e509dd3ae858a74999f8547","unresolved":true,"context_lines":[{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"abe03822_b071deb0","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":58},"in_reply_to":"f7d80d71_b183037a","updated":"2026-06-23 10:06:07.000000000","message":"Just to elaborate - I am not 100% sure how much of a problem that is, so core team should judge here.\nBut from my opinion - it\u0027s better not to change existing behavior with new features whenever possible. And in this case it looks like possible to keep existing behavior.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"b81e27405bc63fb380a41e266e727e78e7b43707","unresolved":true,"context_lines":[{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"fdbe1b6a_bd2686ab","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":58},"in_reply_to":"f7d80d71_b183037a","updated":"2026-06-23 13:56:15.000000000","message":"ok. probably several scenarios were mixed in one. let\u0027s split them:\n- I have existing deployment. After upgrading octavia. I could enable multizone support in config like: \"multizone_enabled\u003dtrue\". Without it old behaviour will be saved.\n- Another case: I want to create new deployment, where multizone will be enabled by default, so all users with ACTIVE-STANDBY will get multizone functional after creation LoadBalancer. So you should not teach users how to make multizone Balancer.\n- Additionally user in deployment with enabled multizone support could create Loadbalancer with defined AZs (by setting specific AZs, for example az2, az3, instead of allowed list: az1, az2, az3, az4)\n\nThe last case is allow to create Loadbalancer with availability_zones\u003daz1,az2. \nMain difference is deployment has not default default availability_zone distribution, i.e. amphoras for ACTIVE-STANDBY Loadbalancer by default will be created in one default AZ.\n-  This case is not supported by related patch. I did not plan to add such functionality, because for me it looks correctly if we enable multizone - all LB should be created as multizone (except LBs with single amphora, but they also should be randomly disctributed across azs). \n\nHowever if core team think, that it will be useful, I could add extra config option like: \"enable_default_multizone_distribution\"","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"5dcb0f4a8cd3bcb85ee951d891dba2e7786351be","unresolved":true,"context_lines":[{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7b62641a_faeb819f","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":58},"in_reply_to":"fd027cf5_14179eda","updated":"2026-07-21 08:56:39.000000000","message":"I think, that all these cases are already mentioned in spec. The key differences, that they are mentioned in \"General notes\".\n\nI don\u0027t mind to add discussed examples in spec, but it will be extra duplication.\nHowever the main question is: which section do you think will be better for these examples?\n\nThe first idea, which come to me is new subsection under \"Proposed change\" called like:\n\"Enabling multizone on existing and new deployments\"\n\n@noonedeadpunk@gmail.com Do you agree with such description ?","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"8dcceb7e7acf10d596de8e629cf10338f9c02d91","unresolved":true,"context_lines":[{"line_number":229,"context_line":"Negative affects of this decision:"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"}],"source_content_type":"text/x-rst","patch_set":13,"id":"7324dc8c_1a6b3d37","line":233,"range":{"start_line":232,"start_character":0,"end_line":233,"end_character":58},"in_reply_to":"fdbe1b6a_bd2686ab","updated":"2026-07-09 14:04:33.000000000","message":"@rcruise@redhat.com by default multizone is disabled. I talked about new default behaviour after enabling multizone. If multizone is disabled - old behaviour is not changed.\n\nSo when you enable multizone all new LBs and existing Lbs (after failover) will be created with amphoras distributed across AZs. If it looks undesired, we could add extra option like: enable_default_multizone_distribution. - so all LB without specified availability_zones - will be created as previously only in one default AZ. I actually, don;t like this idea. because it makes hard to teach people use new options instead of simple \"create LB in this specific deployment with multizone support\".","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"286711441d70911da262a14d90b56d86a5a22dd4","unresolved":true,"context_lines":[{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"},{"line_number":237,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"cbe5d141_58861971","line":234,"range":{"start_line":234,"start_character":0,"end_line":234,"end_character":53},"updated":"2026-06-22 08:20:18.000000000","message":"I\u0027d argue that it probably not needed, if everything goes from the list. If list contains single element - consider it disabled?","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":false,"context_lines":[{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"},{"line_number":237,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"5aa6bdce_dbd2d722","line":234,"range":{"start_line":234,"start_character":0,"end_line":234,"end_character":53},"in_reply_to":"16c31093_a7161dd1","updated":"2026-06-23 10:01:19.000000000","message":"Acknowledged","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"ac2eb23f8d2d322aed769ebe02493cc166ba643f","unresolved":true,"context_lines":[{"line_number":231,"context_line":"- administrator could not disable zone for multizone use (f.e. for maintenance)"},{"line_number":232,"context_line":"- there is no default distributed behaviour for users, who"},{"line_number":233,"context_line":"  are not familiar with new availability_zones API option."},{"line_number":234,"context_line":"- there is not way to disable multizone mode globally"},{"line_number":235,"context_line":""},{"line_number":236,"context_line":"Data model impact"},{"line_number":237,"context_line":"-----------------"}],"source_content_type":"text/x-rst","patch_set":13,"id":"16c31093_a7161dd1","line":234,"range":{"start_line":234,"start_character":0,"end_line":234,"end_character":53},"in_reply_to":"cbe5d141_58861971","updated":"2026-06-23 07:38:58.000000000","message":"I think, that one explicit option is better. About using list in config I mentioned in previous comments.","commit_id":"e0ee210895db92eb6e8ed9d7efca7b7d0d7270ca"},{"author":{"_account_id":28619,"name":"Dmitriy Rabotyagov","email":"noonedeadpunk@gmail.com","username":"noonedeadpunk"},"change_message_id":"2dba71c5b710e95fc0cca097b286c930012309f8","unresolved":true,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"REST API impact"},{"line_number":244,"context_line":"---------------"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- Availability Zone has new option use_in_multizone, which identify, that zone"},{"line_number":247,"context_line":"  could be used for creation Loadbalancer in multizone mode."},{"line_number":248,"context_line":"- New option availability_zones for Loadbalancer API, allows to ignore default"},{"line_number":249,"context_line":"  multizone settings and create Loadbalancer in specified zones with amphora\u0027s"},{"line_number":250,"context_line":"  distribution across specified AZs."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"Security impact"},{"line_number":253,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"bea84b94_69170d80","line":250,"range":{"start_line":245,"start_character":0,"end_line":250,"end_character":36},"updated":"2026-06-23 10:01:19.000000000","message":"Can you kindly elaborate more on the impact here, as after your comments I realized that actually a lot is gonna rely on details for REST changes.\nSo it would be nice to have a more detailed view on what you\u0027re proposing, as it\u0027s becoming hard to understand the whole picture without them.","commit_id":"df31a4cdd6037a6814ca48fb1ce40e540ffa4a77"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"b81e27405bc63fb380a41e266e727e78e7b43707","unresolved":true,"context_lines":[{"line_number":242,"context_line":""},{"line_number":243,"context_line":"REST API impact"},{"line_number":244,"context_line":"---------------"},{"line_number":245,"context_line":""},{"line_number":246,"context_line":"- Availability Zone has new option use_in_multizone, which identify, that zone"},{"line_number":247,"context_line":"  could be used for creation Loadbalancer in multizone mode."},{"line_number":248,"context_line":"- New option availability_zones for Loadbalancer API, allows to ignore default"},{"line_number":249,"context_line":"  multizone settings and create Loadbalancer in specified zones with amphora\u0027s"},{"line_number":250,"context_line":"  distribution across specified AZs."},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"Security impact"},{"line_number":253,"context_line":"---------------"}],"source_content_type":"text/x-rst","patch_set":14,"id":"95e07bed_b0da3864","line":250,"range":{"start_line":245,"start_character":0,"end_line":250,"end_character":36},"in_reply_to":"bea84b94_69170d80","updated":"2026-06-23 13:56:15.000000000","message":"The full picture (except LB attribute is available here: https://review.opendev.org/c/openstack/octavia/+/976100/15)\n\nI could add: example of workflow \"how to enable multizone and create first LB with it\". I am not sure, that it\u0027s just an API part of documentation. It will be more representative, than API docs.\n\nIf you need some other details for API, please let me know what you would like to see.","commit_id":"df31a4cdd6037a6814ca48fb1ce40e540ffa4a77"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"3f753662c9624444b7bebadefda1e050afa39c8e","unresolved":true,"context_lines":[{"line_number":299,"context_line":"- Add multizone support for LB, Availability zones. (Admin part logic)"},{"line_number":300,"context_line":"- Add availability zones parameter support for loadbalancer API and flows."},{"line_number":301,"context_line":"- Add DB changes like migrations/models."},{"line_number":302,"context_line":"- Add migration scripts for upgrade and downgrade"},{"line_number":303,"context_line":"- Add unittests"},{"line_number":304,"context_line":"- Add tempest tests"},{"line_number":305,"context_line":"  NOTE: tempest runs by default on single node, which means that the devstack"}],"source_content_type":"text/x-rst","patch_set":14,"id":"79cdd82e_391510dd","line":302,"range":{"start_line":302,"start_character":40,"end_line":302,"end_character":49},"updated":"2026-07-07 13:19:11.000000000","message":"nit: there\u0027s no downgrade support in Octavia","commit_id":"df31a4cdd6037a6814ca48fb1ce40e540ffa4a77"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"8dcceb7e7acf10d596de8e629cf10338f9c02d91","unresolved":true,"context_lines":[{"line_number":299,"context_line":"- Add multizone support for LB, Availability zones. (Admin part logic)"},{"line_number":300,"context_line":"- Add availability zones parameter support for loadbalancer API and flows."},{"line_number":301,"context_line":"- Add DB changes like migrations/models."},{"line_number":302,"context_line":"- Add migration scripts for upgrade and downgrade"},{"line_number":303,"context_line":"- Add unittests"},{"line_number":304,"context_line":"- Add tempest tests"},{"line_number":305,"context_line":"  NOTE: tempest runs by default on single node, which means that the devstack"}],"source_content_type":"text/x-rst","patch_set":14,"id":"33d960a8_a94b59bd","line":302,"range":{"start_line":302,"start_character":40,"end_line":302,"end_character":49},"in_reply_to":"79cdd82e_391510dd","updated":"2026-07-09 14:04:33.000000000","message":"fixed","commit_id":"df31a4cdd6037a6814ca48fb1ce40e540ffa4a77"}],"specs/version15.0/multiaz_loadbalancer.rst":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"d2e6aaa773464c1692e4ef73db41103b0150849f","unresolved":true,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Out of current scope."},{"line_number":55,"context_line":"This case should be discussed separately, because will make logic more complex:"},{"line_number":56,"context_line":"- new option for Loadbalancer on update: availability_zones"},{"line_number":57,"context_line":"  * with extra policy - may be should be hidden from users."},{"line_number":58,"context_line":"  * may be required re-creation Amphoras in new zones."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"a6c25787_d8f0172d","line":56,"range":{"start_line":56,"start_character":33,"end_line":56,"end_character":39},"updated":"2026-05-20 15:24:44.000000000","message":"there\u0027s a lot of parameters that cannot be updated in a LB: flavors, AZs.\nI think it\u0027s fine if we don\u0027t implement it, maybe the future \"resize\" API could help us to mitigate it","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"6b4375cbce0fd4004e3aedeee253dd6131f2c003","unresolved":false,"context_lines":[{"line_number":53,"context_line":""},{"line_number":54,"context_line":"Out of current scope."},{"line_number":55,"context_line":"This case should be discussed separately, because will make logic more complex:"},{"line_number":56,"context_line":"- new option for Loadbalancer on update: availability_zones"},{"line_number":57,"context_line":"  * with extra policy - may be should be hidden from users."},{"line_number":58,"context_line":"  * may be required re-creation Amphoras in new zones."},{"line_number":59,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"b96a7968_ab312cfb","line":56,"range":{"start_line":56,"start_character":33,"end_line":56,"end_character":39},"in_reply_to":"a6c25787_d8f0172d","updated":"2026-05-20 18:34:49.000000000","message":"ok, I will re-phrase it, according this comment.","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"c0b071d88e05a9235557be0f851ae92e91b93d99","unresolved":true,"context_lines":[{"line_number":61,"context_line":"^^^^^^^^"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Loadbalancer with single amphora:"},{"line_number":64,"context_line":"- no miltizone AZs - validation error"},{"line_number":65,"context_line":"- 1 multizone AZ - will be used for creation"},{"line_number":66,"context_line":"- 2+ multizone AZs - will be randomly used one of AZs"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"08ed9580_73c74031","line":64,"range":{"start_line":64,"start_character":21,"end_line":64,"end_character":37},"updated":"2026-05-20 15:22:29.000000000","message":"do you mean validation error when multizone mode is enabled in the config, right?\nplease mention it explicitly in the spec like\n\nLoadbalancer with single amphora with multizone mode enabled","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"6b4375cbce0fd4004e3aedeee253dd6131f2c003","unresolved":false,"context_lines":[{"line_number":61,"context_line":"^^^^^^^^"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":"Loadbalancer with single amphora:"},{"line_number":64,"context_line":"- no miltizone AZs - validation error"},{"line_number":65,"context_line":"- 1 multizone AZ - will be used for creation"},{"line_number":66,"context_line":"- 2+ multizone AZs - will be randomly used one of AZs"},{"line_number":67,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"64ebf35c_6b052530","line":64,"range":{"start_line":64,"start_character":21,"end_line":64,"end_character":37},"in_reply_to":"08ed9580_73c74031","updated":"2026-05-20 18:34:49.000000000","message":"yes. I will add it in topic of this section.","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"b36972a27f3c59aec4e08d4bbac233ba2dc85d99","unresolved":true,"context_lines":[{"line_number":106,"context_line":"- Amphora1 - AZ1, Amphora2 - AZ2"},{"line_number":107,"context_line":"- multizone AZs: AZ1, AZ2"},{"line_number":108,"context_line":"- failover: Amphora1 - will be re-created in AZ1, to avoid intersection with AZ2"},{"line_number":109,"context_line":"- failover: Amphora2 - will be re-created in AZ2, to avoid intersection with AZ1"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"** - such behaviour is done to avoid fail on failover due to some multizone"},{"line_number":112,"context_line":"configuration or maintaince works on AZs"}],"source_content_type":"text/x-rst","patch_set":2,"id":"0260905a_6087ab2a","line":109,"updated":"2026-05-19 09:03:46.000000000","message":"I wonder should this be a softer anti-affinity policy than what is here currently\n\nFor example\n\n1. AZ1 goes down - Amphora 1 is offline\n2. LB operates on Amphora 2 until AZ1 recovers\n3. Amphora 2 hit some issue\n4. Entire LB is down while Amphora 2 is rebuilt\n\nIt\u0027s an edge case, but a soft anti affinity policy would let Amphora1 be created in AZ2 until AZ1 is recovered, ensuring at least a degree of high availability","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"6b4375cbce0fd4004e3aedeee253dd6131f2c003","unresolved":false,"context_lines":[{"line_number":106,"context_line":"- Amphora1 - AZ1, Amphora2 - AZ2"},{"line_number":107,"context_line":"- multizone AZs: AZ1, AZ2"},{"line_number":108,"context_line":"- failover: Amphora1 - will be re-created in AZ1, to avoid intersection with AZ2"},{"line_number":109,"context_line":"- failover: Amphora2 - will be re-created in AZ2, to avoid intersection with AZ1"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"** - such behaviour is done to avoid fail on failover due to some multizone"},{"line_number":112,"context_line":"configuration or maintaince works on AZs"}],"source_content_type":"text/x-rst","patch_set":2,"id":"8a296af2_4fc44012","line":109,"in_reply_to":"0260905a_6087ab2a","updated":"2026-05-20 18:34:49.000000000","message":"Actually this soft option is already used in https://review.opendev.org/c/openstack/octavia/+/976100\n\nHowever your scenario requires manual disabling AZ or removing option \"use_in_multizone\". In this case algorithm will stop to schedule amphoras in this AZ.\n\nIt could not be done without manual change AZ status, because when amphora does not respond and we start failover Octavia does not know: it is issue with particular amphora (simple failover will fix it) OR it\u0027s issue with whole AZ. (that\u0027s why I prefer to add extra option for AZ - use_in_multizone)\n\nI will add one more example for this case","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"b36972a27f3c59aec4e08d4bbac233ba2dc85d99","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"- Availability Zone has new option use_in_multizone, which identify, that zone"},{"line_number":152,"context_line":"could be used for creation Loadbalancer in multizone mode."},{"line_number":153,"context_line":"- New option availability_zones for Loadbalancer API, allows to ignore default"},{"line_number":154,"context_line":"multizone settings and create Loadbalancer in specified zones with amphora\u0027s"},{"line_number":155,"context_line":"distribution across specified AZs."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"982558c5_56c7af09","line":153,"updated":"2026-05-19 09:03:46.000000000","message":"Would this replace the existing availability_zone in the AZ creation in the API? Or is it in addition to the current option?\n\nMy opinion would be to have both availability_zone and availability_zones as options, and in time we can roll them together and deprecate the original to make the API a bit easier to read","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"c0b071d88e05a9235557be0f851ae92e91b93d99","unresolved":true,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"- Availability Zone has new option use_in_multizone, which identify, that zone"},{"line_number":152,"context_line":"could be used for creation Loadbalancer in multizone mode."},{"line_number":153,"context_line":"- New option availability_zones for Loadbalancer API, allows to ignore default"},{"line_number":154,"context_line":"multizone settings and create Loadbalancer in specified zones with amphora\u0027s"},{"line_number":155,"context_line":"distribution across specified AZs."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"c07479a4_1b0871b1","line":153,"in_reply_to":"982558c5_56c7af09","updated":"2026-05-20 15:22:29.000000000","message":"it\u0027s an addition, we cannot really rename/remove parameters from the API.","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":38562,"name":"Richard Cruise","email":"rcruise@redhat.com","username":"rcruise"},"change_message_id":"d10fe49fc05fedc1ec464f5b6b592e5ef6282ec8","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"- Availability Zone has new option use_in_multizone, which identify, that zone"},{"line_number":152,"context_line":"could be used for creation Loadbalancer in multizone mode."},{"line_number":153,"context_line":"- New option availability_zones for Loadbalancer API, allows to ignore default"},{"line_number":154,"context_line":"multizone settings and create Loadbalancer in specified zones with amphora\u0027s"},{"line_number":155,"context_line":"distribution across specified AZs."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"fc426014_2b1be9db","line":153,"in_reply_to":"c07479a4_1b0871b1","updated":"2026-05-20 15:45:08.000000000","message":"Acknowledged","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"6b4375cbce0fd4004e3aedeee253dd6131f2c003","unresolved":false,"context_lines":[{"line_number":150,"context_line":""},{"line_number":151,"context_line":"- Availability Zone has new option use_in_multizone, which identify, that zone"},{"line_number":152,"context_line":"could be used for creation Loadbalancer in multizone mode."},{"line_number":153,"context_line":"- New option availability_zones for Loadbalancer API, allows to ignore default"},{"line_number":154,"context_line":"multizone settings and create Loadbalancer in specified zones with amphora\u0027s"},{"line_number":155,"context_line":"distribution across specified AZs."},{"line_number":156,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"f94073f7_58f69b98","line":153,"in_reply_to":"fc426014_2b1be9db","updated":"2026-05-20 18:34:49.000000000","message":"yes, it will be new option. As was suggested here: https://review.opendev.org/c/openstack/octavia/+/976100?tab\u003dcomments","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"aa41b896ac4dc27d60f7ba7562e57208bccc5e4d","unresolved":true,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"- Add multizone support for LB, Availability zones. (Admin part logic)"},{"line_number":205,"context_line":"- Add availability zones parameter support for loadbalancer API and flows."},{"line_number":206,"context_line":"- Add tempest tests"},{"line_number":207,"context_line":"- Update Octavia CLI and OpenstackSDK"},{"line_number":208,"context_line":"- Write Documentation"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"1f876721_670e587a","line":206,"range":{"start_line":206,"start_character":6,"end_line":206,"end_character":19},"updated":"2026-05-20 14:38:10.000000000","message":"note: tempest runs by default on single node, which means that the devstack deployment has only one AZ (we need at least one compute node per AZ).\n\nOctavia has two-nodes jobs that can run tests with more than one compute node (they\u0027ll need to be adapted to define 2 AZs)","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"},{"author":{"_account_id":6577,"name":"Sergey Kraynev","email":"sergejyit@gmail.com","username":"skraynev"},"change_message_id":"6b4375cbce0fd4004e3aedeee253dd6131f2c003","unresolved":false,"context_lines":[{"line_number":203,"context_line":""},{"line_number":204,"context_line":"- Add multizone support for LB, Availability zones. (Admin part logic)"},{"line_number":205,"context_line":"- Add availability zones parameter support for loadbalancer API and flows."},{"line_number":206,"context_line":"- Add tempest tests"},{"line_number":207,"context_line":"- Update Octavia CLI and OpenstackSDK"},{"line_number":208,"context_line":"- Write Documentation"},{"line_number":209,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"e8b86169_c0b384a7","line":206,"range":{"start_line":206,"start_character":6,"end_line":206,"end_character":19},"in_reply_to":"1f876721_670e587a","updated":"2026-05-20 18:34:49.000000000","message":"I will add this note to spec, if you don\u0027t mind. \nunfortunately, I am not enough familiar with such tempest details.","commit_id":"50647cb07bf08767a7b1da6191d431131a2dad7e"}]}
