octavia.controller.worker.v2.flows package¶
Submodules¶
octavia.controller.worker.v2.flows.amphora_flows module¶
- class AmphoraFlows[source]¶
Bases:
object
- cert_rotate_amphora_flow()[source]¶
Implement rotation for amphora’s cert.
Create a new certificate
Upload the cert to amphora
update the newly created certificate info to amphora
update the cert_busy flag to be false after rotation
- Returns:
The flow for updating an amphora
- get_amphora_for_lb_failover_subflow(prefix, role='STANDALONE', failed_amp_vrrp_port_id=None, is_vrrp_ipv6=False, flavor_dict=None, timeout_dict=None)[source]¶
Creates a new amphora that will be used in a failover flow.
- Requires:
loadbalancer_id, flavor, vip, vip_sg_id, loadbalancer
- Provides:
amphora_id, amphora
- Parameters:
prefix – The flow name prefix to use on the flow and tasks.
role – The role this amphora will have in the topology.
failed_amp_vrrp_port_id – The base port ID of the failed amp.
is_vrrp_ipv6 – True if the base port IP is IPv6.
- Returns:
A Taskflow sub-flow that will create the amphora.
- get_create_amphora_flow()[source]¶
Creates a flow to create an amphora.
- Returns:
The flow for creating the amphora
- get_delete_amphora_flow(amphora, retry_attempts=5, retry_interval=5)[source]¶
Creates a subflow to delete an amphora and it’s port.
This flow is idempotent and safe to retry.
- Parameters:
amphora – An amphora dict object.
retry_attempts – The number of times the flow is retried.
retry_interval – The time to wait, in seconds, between retries.
- Returns:
The subflow for deleting the amphora.
- Raises:
AmphoraNotFound – The referenced Amphora was not found.
- get_failover_amphora_flow(failed_amphora, lb_amp_count, flavor_dict=None)[source]¶
Get a Taskflow flow to failover an amphora.
Build a replacement amphora.
Delete the old amphora.
Update the amphorae listener configurations.
Update the VRRP configurations if needed.
- Parameters:
failed_amphora – The amphora dict to failover.
lb_amp_count – The number of amphora on this load balancer.
flavor_dict – The load balancer flavor dictionary.
- Returns:
The flow that will provide the failover.
octavia.controller.worker.v2.flows.flow_utils module¶
- get_listeners_on_lb(db_lb, for_delete=False)[source]¶
Get a list of the listeners on a load balancer.
- Parameters:
db_lb – A load balancer database model object.
for_delete – Skip errors on tls certs loading.
- Returns:
A list of provider dict format listeners.
octavia.controller.worker.v2.flows.health_monitor_flows module¶
- class HealthMonitorFlows[source]¶
Bases:
object
- get_create_health_monitor_flow()[source]¶
Create a flow to create a health monitor
- Returns:
The flow for creating a health monitor
octavia.controller.worker.v2.flows.l7policy_flows module¶
octavia.controller.worker.v2.flows.l7rule_flows module¶
octavia.controller.worker.v2.flows.listener_flows module¶
- class ListenerFlows[source]¶
Bases:
object
- get_create_all_listeners_flow(flavor_dict=None)[source]¶
Create a flow to create all listeners
- Returns:
The flow for creating all listeners
- get_create_listener_flow(flavor_dict=None)[source]¶
Create a flow to create a listener
- Returns:
The flow for creating a listener
- get_delete_listener_flow(flavor_dict=None)[source]¶
Create a flow to delete a listener
- Returns:
The flow for deleting a listener
octavia.controller.worker.v2.flows.load_balancer_flows module¶
- class LoadBalancerFlows[source]¶
Bases:
object
- get_cascade_delete_load_balancer_flow(lb, listeners, pools)[source]¶
Creates a flow to delete a load balancer.
- Returns:
The flow for deleting a load balancer
- get_create_load_balancer_flow(topology, listeners=None, flavor_dict=None)[source]¶
Creates a conditional graph flow that allocates a loadbalancer.
- Raises:
InvalidTopology – Invalid topology specified
- Returns:
The graph flow for creating a loadbalancer.
- get_delete_load_balancer_flow(lb)[source]¶
Creates a flow to delete a load balancer.
- Returns:
The flow for deleting a load balancer
- get_failover_LB_flow(amps, lb)[source]¶
Failover a load balancer.
Validate the VIP port is correct and present.
Build a replacement amphora.
Delete the failed amphora.
Configure the replacement amphora listeners.
Configure VRRP for the listeners.
Build the second replacement amphora.
Delete the second failed amphora.
Delete any extraneous amphora.
Configure the listeners on the new amphorae.
Configure the VRRP on the new amphorae.
Reload the listener configurations to pick up VRRP changes.
Mark the load balancer back to ACTIVE.
- Returns:
The flow that will provide the failover.
octavia.controller.worker.v2.flows.member_flows module¶
- class MemberFlows[source]¶
Bases:
object
- get_batch_update_members_flow(old_members, new_members, updated_members)[source]¶
Create a flow to batch update members
- Returns:
The flow for batch updating members
- get_create_member_flow()[source]¶
Create a flow to create a member
- Returns:
The flow for creating a member
octavia.controller.worker.v2.flows.pool_flows module¶
- class PoolFlows[source]¶
Bases:
object
- get_create_pool_flow()[source]¶
Create a flow to create a pool
- Returns:
The flow for creating a pool
- get_delete_pool_flow()[source]¶
Create a flow to delete a pool
- Returns:
The flow for deleting a pool