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, is_spare=False)[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.
- is_spare – True if we are getting a spare amphroa.
Returns: A Taskflow sub-flow that will create the amphora.
-
get_amphora_for_lb_subflow
(prefix, role='STANDALONE', is_spare=False)[source]¶ Tries to allocate a spare amphora to a loadbalancer if none
exists, create a new 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)[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.
Returns: The flow that will provide the failover.
-
octavia.controller.worker.v2.flows.flow_utils module¶
-
get_listeners_on_lb
(db_lb)[source]¶ Get a list of the listeners on a load balancer.
Parameters: db_lb – A load balancer database model object. 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
()[source]¶ Create a flow to create all listeners
Returns: The flow for creating all listeners
-
get_create_listener_flow
()[source]¶ Create a flow to create a listener
Returns: The flow for creating a listener
-
get_delete_listener_flow
()[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)[source]¶ Creates a conditional graph flow that allocates a loadbalancer to
two spare amphorae. :raises InvalidTopology: Invalid topology specified :return: 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
-