octavia.distributor.drivers.noop_driver package

Submodules

octavia.distributor.drivers.noop_driver.driver module

class NoopDistributorDriver[source]

Bases: octavia.distributor.drivers.driver_base.DistributorDriver

get_add_vip_subflow()[source]

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 perfoming the necessary steps to plug the VIP and configure the distributor to start receiving requests on this VIP.

get_create_distributor_subflow()[source]

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.

get_delete_distributor_subflow()[source]

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.

get_drain_amphorae_subflow()[source]

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.

get_register_amphorae_subflow()[source]

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.

get_remove_vip_subflow()[source]

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.

get_unregister_amphorae_subflow()[source]

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.

class NoopManager[source]

Bases: object

get_add_vip_subflow()[source]
get_create_distributor_subflow()[source]
get_delete_distributor_subflow()[source]
get_drain_amphorae_subflow()[source]
get_register_amphorae_subflow()[source]
get_remove_vip_subflow()[source]
get_unregister_amphorae_subflow()[source]
class NoopProvidesRequiresTask(name, provides_dicts=None, requires=None)[source]

Bases: taskflow.task.Task

execute(*args, **kwargs)[source]

Activate a given atom which will perform some operation and return.

This method can be used to perform an action on a given set of input requirements (passed in via *args and **kwargs) to accomplish some type of operation. This operation may provide some named outputs/results as a result of it executing for later reverting (or for other atoms to depend on).

NOTE(harlowja): the result (if any) that is returned should be persistable so that it can be passed back into this atom if reverting is triggered (especially in the case where reverting happens in a different python process or on a remote machine) and so that the result can be transmitted to other atoms (which may be local or remote).

Parameters
  • args – positional arguments that atom requires to execute.

  • kwargs – any keyword arguments that atom requires to execute.

Module contents