Bug 1813565

Summary: Octavia Load balancer with Availability Zones for Edge site scheduling
Product: Red Hat OpenStack Reporter: Carlos Goncalves <cgoncalves>
Component: tripleo-ansibleAssignee: Gregory Thiemonge <gthiemon>
Status: CLOSED ERRATA QA Contact: Omer Schwartz <oschwart>
Severity: high Docs Contact:
Priority: high    
Version: 17.0 (Wallaby)CC: bbonguar, cylopez, gcharot, gregraka, gthiemon, gurpsing, ihrachys, jamsmith, jschluet, lpeer, madgupta, majopela, mariel, njohnston, nlevinki, oschwart, pgrist, prgutier, scohen, spower, svigan, yocha
Target Milestone: rcKeywords: FutureFeature, Triaged
Target Release: 17.1   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tripleo-ansible-3.3.1-1.20230518201534.el9ost Doc Type: Enhancement
Doc Text:
With this update, you can create load balancers in distributed compute nodes (DCNs) and availability zones (AZs). Previously, you could only create load balancers in the central AZ. You can now use director to configure the management network of the Load-balancing service (octavia) to access remote sites.
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-08-16 01:09:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1813585    

Description Carlos Goncalves 2020-03-14 13:20:07 UTC
Today it is not possible for a user to specify the availability zone where to have the load balancer running. Allowing users to specify the AZ would allow them to place load balancers strategically closer (edge) to their clients and/or servers reducing latency and increasing throughput.

https://review.opendev.org/#/q/topic:octavia-availability-zones

Comment 11 spower 2021-11-30 10:52:51 UTC
This needs to go through the exception process to be included in OSP 17 as it missed the Nov 25th date to be in POST/Modified

Comment 20 spower 2022-05-31 12:15:59 UTC
Nacked by QE for OSP 17.0. This FutureFeature for OSP 17.0 is not marked as an MVP for OSP 17.0 GA so will be targeted for review to be included in OSP 17.1. If Tech Preview is required for OSP 17.0 please clone the BZ and follow Tech Preview procedure.

Comment 25 Stephane Vigan 2022-11-21 11:06:20 UTC
Manage to set availabiliy zone for amphora using loadbalancer flavorprofile and loadbalancer flavor on a RHOSP 16.2

Create aggregate per AZ/Cell

openstack aggregate create cell1-AZ1 --property lb=cell1-AZ1
openstack aggregate add host cell1-AZ1 cell1-compute-0

openstack aggregate create cell1-AZ2 --property lb=cell1-AZ2
openstack aggregate add host cell1-AZ2 cell1-compute-1

openstack aggregate create cell1-AZ3 --property lb=cell1-AZ3
openstack aggregate add host cell1-AZ3 cell1-compute-2

openstack aggregate create cell2-AZ1 --property lb=cell2-AZ1
openstack aggregate add host cell2-AZ1 cell2-compute-0

openstack aggregate create cell2-AZ2 --property lb=cell2-AZ2
openstack aggregate add host cell2-AZ2 cell2-compute-1

openstack aggregate create cell2-AZ3 --property lb=cell2-AZ3
openstack aggregate add host cell2-AZ3 cell2-compute-2


Create Compute Flavor per AZ/Cell

openstack flavor create --private --ram 1024 --vcpus 1 --disk 3 octavia_cell1-AZ1 --property 'aggregate_instance_extra_specs:lb=cell1-AZ1'
openstack flavor create --private --ram 1024 --vcpus 1 --disk 3 octavia_cell1-AZ2 --property 'aggregate_instance_extra_specs:lb=cell1-AZ2'
openstack flavor create --private --ram 1024 --vcpus 1 --disk 3 octavia_cell1-AZ3 --property 'aggregate_instance_extra_specs:lb=cell1-AZ3'
openstack flavor create --private --ram 1024 --vcpus 1 --disk 3 octavia_cell2-AZ1 --property 'aggregate_instance_extra_specs:lb=cell2-AZ1'
openstack flavor create --private --ram 1024 --vcpus 1 --disk 3 octavia_cell2-AZ2 --property 'aggregate_instance_extra_specs:lb=cell2-AZ2'
openstack flavor create --private --ram 1024 --vcpus 1 --disk 3 octavia_cell2-AZ3 --property 'aggregate_instance_extra_specs:lb=cell2-AZ3'

Create loadbalancer flavorprofile per AZ/Cell

openstack loadbalancer flavorprofile create --name amphora-cell1-AZ1 --provider amphora --flavor-data '{"compute_flavor": "<UUID flavor octavia_cell1-AZ1>"}'
openstack loadbalancer flavorprofile create --name amphora-cell1-AZ2 --provider amphora --flavor-data '{"compute_flavor": "<UUID flavor octavia_cell1-AZ2>"}'
openstack loadbalancer flavorprofile create --name amphora-cell1-AZ3 --provider amphora --flavor-data '{"compute_flavor": "<UUID flavor octavia_cell1-AZ3>"}'
openstack loadbalancer flavorprofile create --name amphora-cell2-AZ1 --provider amphora --flavor-data '{"compute_flavor": "<UUID flavor octavia_cell2-AZ1>"}'
openstack loadbalancer flavorprofile create --name amphora-cell2-AZ2 --provider amphora --flavor-data '{"compute_flavor": "<UUID flavor octavia_cell2-AZ2>"}'
openstack loadbalancer flavorprofile create --name amphora-cell2-AZ3 --provider amphora --flavor-data '{"compute_flavor": "<UUID flavor octavia_cell2-AZ3>"}'

Create loadbalancer flavor per AZ/Cell

openstack loadbalancer flavor create --name lb-cell1-AZ1 --flavorprofile amphora-cell1-AZ1 --description "Load Balancer for AZ1 in Cell 1" --enable
openstack loadbalancer flavor create --name lb-cell1-AZ2 --flavorprofile amphora-cell1-AZ2 --description "Load Balancer for AZ2 in Cell 1" --enable
openstack loadbalancer flavor create --name lb-cell1-AZ3 --flavorprofile amphora-cell1-AZ3 --description "Load Balancer for AZ3 in Cell 1" --enable
openstack loadbalancer flavor create --name lb-cell2-AZ1 --flavorprofile amphora-cell2-AZ1 --description "Load Balancer for AZ1 in Cell 2" --enable
openstack loadbalancer flavor create --name lb-cell2-AZ2 --flavorprofile amphora-cell2-AZ2 --description "Load Balancer for AZ2 in Cell 2" --enable
openstack loadbalancer flavor create --name lb-cell2-AZ3 --flavorprofile amphora-cell2-AZ3 --description "Load Balancer for AZ3 in Cell 2" --enable

Create loadbalancer per AZ/Cell

openstack loadbalancer create --flavor lb-cell1-AZ1 --vip-network xxxx-xxx-xxx-xxx --name cell1-AZ1
openstack loadbalancer create --flavor lb-cell1-AZ2 --vip-network xxxx-xxx-xxx-xxx --name cell1-AZ2
openstack loadbalancer create --flavor lb-cell1-AZ3 --vip-network xxxx-xxx-xxx-xxx --name cell1-AZ3
openstack loadbalancer create --flavor lb-cell2-AZ1 --vip-network xxxx-xxx-xxx-xxx --name cell2-AZ1
openstack loadbalancer create --flavor lb-cell2-AZ2 --vip-network xxxx-xxx-xxx-xxx --name cell2-AZ2
openstack loadbalancer create --flavor lb-cell2-AZ3 --vip-network xxxx-xxx-xxx-xxx --name cell2-AZ3

How To check

openstack loadbalancer list
openstack loadbalancer amphora list --loadbalancer <lb_uuid>
openstack server list --all --name <amphora_uuid>
openstack server show --column OS-EXT-AZ:availability_zone --column OS-EXT-SRV-ATTR:host <server_uuid>

Comment 33 Jenny-Anne Lynch 2023-06-06 14:42:56 UTC
Hi, I edited the doc text for 17.1 release notes. Please feel free to change the text if needed. Thanks.

Comment 52 errata-xmlrpc 2023-08-16 01:09:23 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Release of components for Red Hat OpenStack Platform 17.1 (Wallaby)), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2023:4577