# octavia.distributor.drivers package

## Subpackages

- octavia.distributor.drivers.noop_driver package
  - Submodules
  - octavia.distributor.drivers.noop_driver.driver module
    - `NoopDistributorDriver`
      - `NoopDistributorDriver.get_add_vip_subflow()`
      - `NoopDistributorDriver.get_create_distributor_subflow()`
      - `NoopDistributorDriver.get_delete_distributor_subflow()`
      - `NoopDistributorDriver.get_drain_amphorae_subflow()`
      - `NoopDistributorDriver.get_register_amphorae_subflow()`
      - `NoopDistributorDriver.get_remove_vip_subflow()`
      - `NoopDistributorDriver.get_unregister_amphorae_subflow()`
    - `NoopManager`
      - `NoopManager.get_add_vip_subflow()`
      - `NoopManager.get_create_distributor_subflow()`
      - `NoopManager.get_delete_distributor_subflow()`
      - `NoopManager.get_drain_amphorae_subflow()`
      - `NoopManager.get_register_amphorae_subflow()`
      - `NoopManager.get_remove_vip_subflow()`
      - `NoopManager.get_unregister_amphorae_subflow()`
    - `NoopProvidesRequiresTask`
      - `NoopProvidesRequiresTask.execute()`
  - Module contents

## Submodules

## octavia.distributor.drivers.driver_base module

class DistributorDriver

  Bases: `object`

  abstractmethod get_add_vip_subflow()

    Get a subflow that adds a VIP to a distributor

    Requires:

      distributor_id (string) - The ID of the distributor to create the VIP on.

    Requires:

      vip (object) - The VIP object to create on the distributor.

    Requires:

      vip_alg (string) - The optional algorithm to use for this VIP.

    Requires:

      vip_persistence (string) - The persistence type for this VIP.

    Returns:

      A TaskFlow Flow that will add a VIP to the distributor

    This method will return a TaskFlow Flow that adds a VIP to the distributor by performing the necessary steps to plug the VIP and configure the distributor to start receiving requests on this VIP.

  abstractmethod get_create_distributor_subflow()

    Get a subflow to create a distributor

    Requires:

      load_balancer (object) - Load balancer object associated with this distributor

    Provides:

      distributor_id (string) - The created distributor ID

    Returns:

      A TaskFlow Flow that will create the distributor

    This method will setup the TaskFlow Flow required to setup the database fields and create a distributor should the driver need to instantiate one. The flow must store the generated distibutor ID in the flow.

  abstractmethod get_delete_distributor_subflow()

    Get a subflow that deletes a distributor

    Requires:

      distributor_id (string) - The ID of the distributor to delete

    Returns:

      A TaskFlow Flow that will delete the distributor

    This method will return a TaskFlow Flow that deletes the distributor (if applicable for the driver) and cleans up any associated database records.

  abstractmethod get_drain_amphorae_subflow()

    Get a subflow that drains connections from amphorae

    Requires:

      distributor_id (string) - The ID of the distributor to drain amphorae from

    Requires:

      amphorae (tuple) - Tuple of amphora objects to drain from distributor.

    Returns:

      A TaskFlow Flow that will drain the listed amphorae on the distributor

    This method will return a TaskFlow Flow that configures the distributor to stop sending new connections to the amphorae in the list. Existing connections will continue to pass traffic to the amphorae in this list.

  abstractmethod get_register_amphorae_subflow()

    Get a subflow that Registers amphorae with the distributor

    Requires:

      distributor_id (string) - The ID of the distributor to register the amphora on

    Requires:

      amphorae (tuple) - Tuple of amphora objects to register with the distributor.

    Returns:

      A TaskFlow Flow that will register amphorae with the distributor

    This method will return a TaskFlow Flow that registers amphorae with the distributor so it can begin to receive requests from the distributor. Amphora should be ready to receive requests prior to this call being made.

  abstractmethod get_remove_vip_subflow()

    Get a subflow that removes a VIP from a distributor

    Requires:

      distributor_id (string) - The ID of the distributor to remove the VIP from.

    Requires:

      vip (object) - The VIP object to remove from the distributor.

    Returns:

      A TaskFlow Flow that will remove a VIP from the distributor

    This method will return a TaskFlow Flow that removes the VIP from the distributor by reconfiguring the distributor and unplugging the associated port.

  abstractmethod get_unregister_amphorae_subflow()

    Get a subflow that unregisters amphorae from a distributor

    Requires:

      distributor_id (string) - The ID of the distributor to unregister amphorae from

    Requires:

      amphorae (tuple) - Tuple of amphora objects to unregister from distributor.

    Returns:

      A TaskFlow Flow that will unregister amphorae from the distributor

    This method will return a TaskFlow Flow that unregisters amphorae from the distributor. Amphorae in this list will immediately stop receiving traffic.

## Module contents

this page last updated: 2026-03-10 18:02:42

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