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_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_delete_member_ports_subflow(load_balancer_id)[source]¶
- A subflow that will delete all of the member ports on an LB - Parameters:
- load_balancer_id – A load balancer ID 
- Returns:
- A Taskflow flow 
 
 - 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 
 
 
