# octavia.controller.worker.v1.flows package

## Submodules

## octavia.controller.worker.v1.flows.amphora_flows module

class `AmphoraFlows`

  Bases: `object`

  `cert_rotate_amphora_flow`()

    Implement rotation for amphora’s cert.

    1. Create a new certificate
    2. Upload the cert to amphora
    3. update the newly created certificate info to amphora
    4. 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)

    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)

    Tries to allocate a spare amphora to a loadbalancer if none

    exists, create a new amphora.

  `get_create_amphora_flow`()

    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)

    Creates a subflow to delete an amphora and it’s port.

    This flow is idempotent and safe to retry.

    Parameters:

    - amphora – An amphora 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)

    Get a Taskflow flow to failover an amphora.

    1. Build a replacement amphora.
    2. Delete the old amphora.
    3. Update the amphorae listener configurations.
    4. Update the VRRP configurations if needed.

    Parameters:

    - failed_amphora – The amphora object to failover.
    - lb_amp_count – The number of amphora on this load balancer.

    Returns: | The flow that will provide the failover.

  `get_vrrp_subflow`(prefix, timeout_dict=None, create_vrrp_group=True)
  `update_amphora_config_flow`()

    Creates a flow to update the amphora agent configuration.

    Returns: | The flow for updating an amphora

## octavia.controller.worker.v1.flows.health_monitor_flows module

class `HealthMonitorFlows`

  Bases: `object`

  `get_create_health_monitor_flow`()

    Create a flow to create a health monitor

    Returns: | The flow for creating a health monitor

  `get_delete_health_monitor_flow`()

    Create a flow to delete a health monitor

    Returns: | The flow for deleting a health monitor

  `get_update_health_monitor_flow`()

    Create a flow to update a health monitor

    Returns: | The flow for updating a health monitor

## octavia.controller.worker.v1.flows.l7policy_flows module

class `L7PolicyFlows`

  Bases: `object`

  `get_create_l7policy_flow`()

    Create a flow to create an L7 policy

    Returns: | The flow for creating an L7 policy

  `get_delete_l7policy_flow`()

    Create a flow to delete an L7 policy

    Returns: | The flow for deleting an L7 policy

  `get_update_l7policy_flow`()

    Create a flow to update an L7 policy

    Returns: | The flow for updating an L7 policy

## octavia.controller.worker.v1.flows.l7rule_flows module

class `L7RuleFlows`

  Bases: `object`

  `get_create_l7rule_flow`()

    Create a flow to create an L7 rule

    Returns: | The flow for creating an L7 rule

  `get_delete_l7rule_flow`()

    Create a flow to delete an L7 rule

    Returns: | The flow for deleting an L7 rule

  `get_update_l7rule_flow`()

    Create a flow to update an L7 rule

    Returns: | The flow for updating an L7 rule

## octavia.controller.worker.v1.flows.listener_flows module

class `ListenerFlows`

  Bases: `object`

  `get_create_all_listeners_flow`()

    Create a flow to create all listeners

    Returns: | The flow for creating all listeners

  `get_create_listener_flow`()

    Create a flow to create a listener

    Returns: | The flow for creating a listener

  `get_delete_listener_flow`()

    Create a flow to delete a listener

    Returns: | The flow for deleting a listener

  `get_delete_listener_internal_flow`(listener_name)

    Create a flow to delete a listener and l7policies internally

    > (will skip deletion on the amp and marking LB active)

    Returns: | The flow for deleting a listener

  `get_update_listener_flow`()

    Create a flow to update a listener

    Returns: | The flow for updating a listener

## octavia.controller.worker.v1.flows.load_balancer_flows module

class `LoadBalancerFlows`

  Bases: `object`

  `get_cascade_delete_load_balancer_flow`(lb)

    Creates a flow to delete a load balancer.

    Returns: | The flow for deleting a load balancer

  `get_create_load_balancer_flow`(topology, listeners=None)

    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)

    Creates a flow to delete a load balancer.

    Returns: | The flow for deleting a load balancer

  `get_failover_LB_flow`(amps, lb)

    Failover a load balancer.

    1. Validate the VIP port is correct and present.
    2. Build a replacement amphora.
    3. Delete the failed amphora.
    4. Configure the replacement amphora listeners.
    5. Configure VRRP for the listeners.
    6. Build the second replacement amphora.
    7. Delete the second failed amphora.
    8. Delete any extraneous amphora.
    9. Configure the listeners on the new amphorae.
    10. Configure the VRRP on the new amphorae.
    11. Reload the listener configurations to pick up VRRP changes.
    12. Mark the load balancer back to ACTIVE.

    Returns: | The flow that will provide the failover.

  `get_post_lb_amp_association_flow`(prefix, topology, mark_active=True)

    Reload the loadbalancer and create networking subflows for

    created/allocated amphorae. :return: Post amphorae association subflow

  `get_update_load_balancer_flow`()

    Creates a flow to update a load balancer.

    Returns: | The flow for update a load balancer

## octavia.controller.worker.v1.flows.member_flows module

class `MemberFlows`

  Bases: `object`

  `get_batch_update_members_flow`(old_members, new_members, updated_members)

    Create a flow to batch update members

    Returns: | The flow for batch updating members

  `get_create_member_flow`()

    Create a flow to create a member

    Returns: | The flow for creating a member

  `get_delete_member_flow`()

    Create a flow to delete a member

    Returns: | The flow for deleting a member

  `get_update_member_flow`()

    Create a flow to update a member

    Returns: | The flow for updating a member

## octavia.controller.worker.v1.flows.pool_flows module

class `PoolFlows`

  Bases: `object`

  `get_create_pool_flow`()

    Create a flow to create a pool

    Returns: | The flow for creating a pool

  `get_delete_pool_flow`()

    Create a flow to delete a pool

    Returns: | The flow for deleting a pool

  `get_delete_pool_flow_internal`(name)

    Create a flow to delete a pool, etc.

    Returns: | The flow for deleting a pool

  `get_update_pool_flow`()

    Create a flow to update a pool

    Returns: | The flow for updating a pool

## Module contents

this page last updated: 2023-10-24 12:56:13

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

found an error? report a bug questions?