octavia.controller.worker.v1.tasks package¶
Submodules¶
octavia.controller.worker.v1.tasks.amphora_driver_tasks module¶
-
class
AmpListenersUpdate(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to update the listeners on one amphora.
-
execute(loadbalancer, amphora, timeout_dict=None)[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
*argsand**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.
-
-
class
AmphoraCertUpload(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskUpload a certificate to the amphora.
-
class
AmphoraComputeConnectivityWait(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to wait for the compute instance to be up.
-
class
AmphoraConfigUpdate(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to push a new amphora agent configuration to the amphroa.
-
execute(amphora, flavor)[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
*argsand**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.
-
-
class
AmphoraFinalize(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to finalize the amphora before any listeners are configured.
-
class
AmphoraGetDiagnostics(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to get diagnostics on the amphora and the loadbalancers.
-
class
AmphoraGetInfo(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to get information on an amphora.
-
class
AmphoraIndexListenerUpdate(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to update the listeners on one amphora.
-
execute(loadbalancer, amphora_index, amphorae, timeout_dict=None)[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
*argsand**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.
-
-
class
AmphoraIndexListenersReload(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to reload all listeners on an amphora.
-
class
AmphoraIndexUpdateVRRPInterface(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to get and update the VRRP interface device name from amphora.
-
execute(amphora_index, amphorae, timeout_dict=None)[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
*argsand**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.
-
-
class
AmphoraIndexVRRPStart(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to start keepalived on an amphora.
This will reload keepalived if it is already running.
-
execute(amphora_index, amphorae, timeout_dict=None)[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
*argsand**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.
-
-
class
AmphoraIndexVRRPUpdate(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to update the VRRP configuration of an amphora.
-
class
AmphoraPostNetworkPlug(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to notify the amphora post network plug.
-
class
AmphoraPostVIPPlug(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to notify the amphora post VIP plug.
-
class
AmphoraUpdateVRRPInterface(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to get and update the VRRP interface device name from amphora.
-
execute(amphora, timeout_dict=None)[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
*argsand**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.
-
-
class
AmphoraVRRPStart(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to start keepalived on an amphora.
This will reload keepalived if it is already running.
-
execute(amphora, timeout_dict=None)[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
*argsand**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.
-
-
class
AmphoraVRRPUpdate(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to update the VRRP configuration of an amphora.
-
class
AmphoraePostNetworkPlug(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to notify the amphorae post network plug.
-
class
AmphoraePostVIPPlug(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to notify the amphorae post VIP plug.
-
class
BaseAmphoraTask(**kwargs)[source]¶ Bases:
taskflow.task.TaskBase task to load drivers common to the tasks.
-
class
ListenerDelete(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to delete the listener on the vip.
-
class
ListenersStart(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to start all listeners on the vip.
-
class
ListenersUpdate(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.amphora_driver_tasks.BaseAmphoraTaskTask to update amphora with all specified listeners’ configurations.
octavia.controller.worker.v1.tasks.cert_task module¶
-
class
BaseCertTask(**kwargs)[source]¶ Bases:
taskflow.task.TaskBase task to load drivers common to the tasks.
-
class
GenerateServerPEMTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.cert_task.BaseCertTaskCreate the server certs for the agent comm
Use the amphora_id for the CN
-
execute(amphora_id)[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
*argsand**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.
-
octavia.controller.worker.v1.tasks.compute_tasks module¶
-
class
AttachPort(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.compute_tasks.BaseComputeTask
-
class
BaseComputeTask(**kwargs)[source]¶ Bases:
taskflow.task.TaskBase task to load drivers common to the tasks.
-
class
CertComputeCreate(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.compute_tasks.ComputeCreate
-
class
ComputeActiveWait(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.compute_tasks.BaseComputeTaskWait for the compute driver to mark the amphora active.
-
class
ComputeCreate(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.compute_tasks.BaseComputeTaskCreate the compute instance for a new amphora.
-
class
ComputeDelete(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.compute_tasks.BaseComputeTask-
execute(amphora, passive_failure=False)[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
*argsand**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.
-
-
class
DeleteAmphoraeOnLoadBalancer(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.compute_tasks.BaseComputeTaskDelete the amphorae on a load balancer.
Iterate through amphorae, deleting them
-
execute(loadbalancer)[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
*argsand**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.
-
-
class
NovaServerGroupCreate(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.compute_tasks.BaseComputeTask
-
class
NovaServerGroupDelete(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.compute_tasks.BaseComputeTask-
execute(server_group_id)[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
*argsand**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.
-
octavia.controller.worker.v1.tasks.database_tasks module¶
-
class
AssociateFailoverAmphoraWithLBID(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskAssociate failover amphora with loadbalancer in the database.
-
class
BaseDatabaseTask(**kwargs)[source]¶ Bases:
taskflow.task.TaskBase task to load drivers common to the tasks.
-
class
CountPoolChildrenForQuota(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskCounts the pool child resources for quota management.
Since the children of pools are cleaned up by the sqlalchemy cascade delete settings, we need to collect the quota counts for the child objects early.
-
class
CreateAmphoraInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskTask to create an initial amphora in the Database.
-
class
CreateVRRPGroupForLB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskCreate a VRRP group for a load balancer.
-
class
DecrementHealthMonitorQuota(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDecrements the health monitor quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DecrementListenerQuota(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDecrements the listener quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DecrementLoadBalancerQuota(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDecrements the load balancer quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DecrementMemberQuota(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDecrements the member quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DecrementPoolQuota(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDecrements the pool quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DeleteHealthMonitorInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDelete the health monitor in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DeleteHealthMonitorInDBByPool(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.DeleteHealthMonitorInDBDelete the health monitor in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DeleteL7PolicyInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDelete the L7 policy in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DeleteL7RuleInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDelete the L7 rule in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DeleteListenerInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDelete the listener in the DB.
-
class
DeleteMemberInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDelete the member in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DeletePoolInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDelete the pool in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
DisableAmphoraHealthMonitoring(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDisable amphora health monitoring.
This disables amphora health monitoring by removing it from the amphora_health table.
-
class
DisableLBAmphoraeHealthMonitoring(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskDisable health monitoring on the LB amphorae.
This disables amphora health monitoring by removing it from the amphora_health table for each amphora on a load balancer.
-
class
GetAmphoraDetails(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskTask to retrieve amphora network details.
-
class
GetAmphoraeFromLoadbalancer(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskTask to pull the amphorae from a loadbalancer.
-
class
GetListenersFromLoadbalancer(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskTask to pull the listeners from a loadbalancer.
-
class
GetLoadBalancer(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskGet an load balancer object from the database.
-
class
GetVipFromLoadbalancer(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskTask to pull the vip from a loadbalancer.
-
class
MapLoadbalancerToAmphora(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMaps and assigns a load balancer to an amphora in the database.
-
execute(loadbalancer_id, server_group_id=None, flavor=None, availability_zone=None)[source]¶ Allocates an Amphora for the load balancer in the database.
Parameters: loadbalancer_id – The load balancer id to map to an amphora Returns: Amphora ID if one was allocated, None if it was unable to allocate an Amphora
-
revert(result, loadbalancer_id, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
MarkAmphoraAllocatedInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskWill mark an amphora as allocated to a load balancer in the database.
Assume sqlalchemy made sure the DB got retried sufficiently - so just abort
-
class
MarkAmphoraBackupInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks._MarkAmphoraRoleAndPriorityInDBAlter the amphora role to: Backup.
-
class
MarkAmphoraBootingInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the amphora as booting in the database.
-
class
MarkAmphoraDeletedInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the amphora deleted in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkAmphoraHealthBusy(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark amphora health monitoring busy.
This prevents amphora failover by marking the amphora busy in the amphora_health table.
-
class
MarkAmphoraMasterInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks._MarkAmphoraRoleAndPriorityInDBAlter the amphora role to: MASTER.
-
class
MarkAmphoraPendingDeleteInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the amphora pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkAmphoraPendingUpdateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the amphora pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkAmphoraReadyInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskThis task will mark an amphora as ready in the database.
Assume sqlalchemy made sure the DB got retried sufficiently - so just abort
-
class
MarkAmphoraStandAloneInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks._MarkAmphoraRoleAndPriorityInDBAlter the amphora role to: Standalone.
-
class
MarkHealthMonitorActiveInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the health monitor ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkHealthMonitorPendingCreateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the health monitor pending create in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkHealthMonitorPendingDeleteInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the health monitor pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkHealthMonitorPendingUpdateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the health monitor pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkL7PolicyActiveInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the l7policy ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkL7PolicyPendingCreateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the l7policy pending create in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkL7PolicyPendingDeleteInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the l7policy pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkL7PolicyPendingUpdateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the l7policy pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkL7RuleActiveInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the l7rule ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkL7RulePendingCreateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the l7rule pending create in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkL7RulePendingDeleteInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the l7rule pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkL7RulePendingUpdateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the l7rule pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkLBActiveInDB(mark_subobjects=False, **kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the load balancer active in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkLBAmphoraeDeletedInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskTask to mark a list of amphora deleted in the Database.
-
class
MarkLBAmphoraeHealthBusy(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark amphorae health monitoring busy for the LB.
This prevents amphorae failover by marking each amphora of a given load balancer busy in the amphora_health table.
-
class
MarkLBAndListenersActiveInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the load balancer and specified listeners active in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkLBDeletedInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the load balancer deleted in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkLBPendingDeleteInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the load balancer pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkListenerDeletedInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the listener deleted in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkListenerPendingDeleteInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the listener pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkMemberActiveInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the member ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkMemberPendingCreateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the member pending create in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkMemberPendingDeleteInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the member pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkMemberPendingUpdateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the member pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkPoolActiveInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the pool ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkPoolPendingCreateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the pool pending create in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkPoolPendingDeleteInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the pool pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
MarkPoolPendingUpdateInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskMark the pool pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
ReloadAmphora(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskGet an amphora object from the database.
-
class
ReloadLoadBalancer(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskGet an load balancer object from the database.
-
class
UpdateAmpFailoverDetails(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate amphora failover details in the database.
-
class
UpdateAmphoraCertBusyToFalse(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the amphora cert_busy flag to be false.
-
class
UpdateAmphoraComputeId(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskAssociate amphora with a compute in DB.
-
class
UpdateAmphoraDBCertExpiration(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the amphora expiration date with new cert file date.
-
class
UpdateAmphoraInfo(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate amphora with compute instance details.
-
class
UpdateAmphoraVIPData(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate amphorae VIP data.
-
class
UpdateAmphoraeVIPData(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate amphorae VIP data.
-
class
UpdateHealthMonInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the health monitor in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
UpdateL7PolicyInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the L7 policy in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
UpdateL7RuleInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the L7 rule in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
UpdateLBServerGroupInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the server group id info for load balancer in DB.
-
execute(loadbalancer_id, server_group_id)[source]¶ Update the server group id info for load balancer in DB.
Parameters: - loadbalancer_id – Id of a load balancer to update
- server_group_id – Id of a server group to associate with the load balancer
Returns: None
-
revert(loadbalancer_id, server_group_id, *args, **kwargs)[source]¶ Remove server group information from a load balancer in DB.
Parameters: - loadbalancer_id – Id of a load balancer that failed to update
- server_group_id – Id of a server group that couldn’t be associated with the load balancer
Returns: None
-
-
class
UpdateListenerInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the listener in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
UpdateLoadbalancerInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the loadbalancer in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
UpdateMemberInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the member in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
UpdatePoolInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate the pool in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
UpdatePoolMembersOperatingStatusInDB(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdates the members of a pool operating status.
Since sqlalchemy will likely retry by itself always revert if it fails
-
class
UpdateVIPAfterAllocation(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.database_tasks.BaseDatabaseTaskUpdate a VIP associated with a given load balancer.
octavia.controller.worker.v1.tasks.lifecycle_tasks module¶
-
class
AmphoraIDToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to checkpoint Amphora lifecycle milestones.
-
execute(amphora_id)[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
*argsand**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.
-
revert(amphora_id, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
AmphoraToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.AmphoraIDToErrorOnRevertTaskTask to checkpoint Amphora lifecycle milestones.
-
execute(amphora)[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
*argsand**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.
-
revert(amphora, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
BaseLifecycleTask(**kwargs)[source]¶ Bases:
taskflow.task.TaskBase task to instansiate common classes.
-
class
HealthMonitorToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to set a member to ERROR on revert.
-
execute(health_mon, listeners, loadbalancer)[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
*argsand**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.
-
revert(health_mon, listeners, loadbalancer, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
L7PolicyToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to set a l7policy to ERROR on revert.
-
execute(l7policy, listeners, loadbalancer)[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
*argsand**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.
-
revert(l7policy, listeners, loadbalancer, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
L7RuleToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to set a l7rule to ERROR on revert.
-
execute(l7rule, listeners, loadbalancer)[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
*argsand**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.
-
revert(l7rule, listeners, loadbalancer, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
ListenerToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to set a listener to ERROR on revert.
-
execute(listener)[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
*argsand**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.
-
revert(listener, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
ListenersToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to set listeners to ERROR on revert.
-
execute(listeners, loadbalancer)[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
*argsand**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.
-
revert(listeners, loadbalancer, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
LoadBalancerIDToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to set the load balancer to ERROR on revert.
-
execute(loadbalancer_id)[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
*argsand**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.
-
revert(loadbalancer_id, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
LoadBalancerToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.LoadBalancerIDToErrorOnRevertTaskTask to set the load balancer to ERROR on revert.
-
execute(loadbalancer)[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
*argsand**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.
-
revert(loadbalancer, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
MemberToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to set a member to ERROR on revert.
-
execute(member, listeners, loadbalancer, pool)[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
*argsand**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.
-
revert(member, listeners, loadbalancer, pool, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
MembersToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to set members to ERROR on revert.
-
execute(members, listeners, loadbalancer, pool)[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
*argsand**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.
-
revert(members, listeners, loadbalancer, pool, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
PoolToErrorOnRevertTask(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.lifecycle_tasks.BaseLifecycleTaskTask to set a pool to ERROR on revert.
-
execute(pool, listeners, loadbalancer)[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
*argsand**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.
-
revert(pool, listeners, loadbalancer, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
octavia.controller.worker.v1.tasks.model_tasks module¶
-
class
DeleteModelObject(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None, ignore_list=None, revert_rebind=None, revert_requires=None)[source]¶ Bases:
taskflow.task.TaskTask to delete an object in a model.
-
execute(object)[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
*argsand**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.
-
-
class
UpdateAttributes(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None, ignore_list=None, revert_rebind=None, revert_requires=None)[source]¶ Bases:
taskflow.task.TaskTask to update an object for changes.
-
execute(object, update_dict)[source]¶ Update an object and its associated resources.
- Note: This relies on the data_model update() methods to handle complex
- objects with nested objects (LoadBalancer.vip, Pool.session_persistence, etc.)
Parameters: - object – The object will be updated.
- update_dict – The updates dictionary.
Returns: None
-
octavia.controller.worker.v1.tasks.network_tasks module¶
-
class
AdminDownPort(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTask-
execute(port_id)[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
*argsand**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.
-
revert(result, port_id, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
AllocateVIP(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to allocate a VIP.
-
class
AllocateVIPforFailover(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.AllocateVIPTask to allocate/validate the VIP for a failover flow.
-
class
ApplyQos(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskApply Quality of Services to the VIP
-
class
ApplyQosAmphora(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskApply Quality of Services to the VIP
-
class
BaseNetworkTask(**kwargs)[source]¶ Bases:
taskflow.task.TaskBase task to load drivers common to the tasks.
-
network_driver¶
-
-
class
CalculateAmphoraDelta(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTask-
default_provides= 'delta'¶
-
execute(loadbalancer, amphora, availability_zone, vrrp_port=None)[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
*argsand**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.
-
-
class
CalculateDelta(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to calculate the delta between
the nics on the amphora and the ones we need. Returns a list for plumbing them.
-
default_provides= 'deltas'¶
-
execute(loadbalancer, availability_zone)[source]¶ Compute which NICs need to be plugged
for the amphora to become operational.
Parameters: - loadbalancer – the loadbalancer to calculate deltas for all amphorae
- availability_zone – availability zone metadata dict
Returns: dict of octavia.network.data_models.Delta keyed off amphora id
-
-
class
CreateVIPBasePort(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to create the VIP base port for an amphora.
-
execute(vip, vip_sg_id, amphora_id)[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
*argsand**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.
-
revert(result, vip, vip_sg_id, amphora_id, *args, **kwargs)[source]¶ Revert this atom.
This method should undo any side-effects caused by previous execution of the atom using the result of the
execute()method and information on the failure which triggered reversion of the flow the atom is contained in (if applicable).Parameters: - args – positional arguments that the atom required to execute.
- kwargs – any keyword arguments that the atom required to
execute; the special key
'result'will contain theexecute()result (if any) and the**kwargskey'flow_failures'will contain any failure information.
-
-
class
DeallocateVIP(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to deallocate a VIP.
-
class
DeletePort(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to delete a network port.
-
class
FailoverPreparationForAmphora(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to prepare an amphora for failover.
-
execute(amphora)[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
*argsand**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.
-
-
class
GetAmphoraNetworkConfigs(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to retrieve amphora network details.
-
execute(loadbalancer, amphora=None)[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
*argsand**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.
-
-
class
GetAmphoraNetworkConfigsByID(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to retrieve amphora network details.
-
execute(loadbalancer_id, amphora_id=None)[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
*argsand**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.
-
-
class
GetAmphoraeNetworkConfigs(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to retrieve amphorae network details.
-
execute(loadbalancer_id)[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
*argsand**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.
-
-
class
GetMemberPorts(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTask-
execute(loadbalancer, amphora)[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
*argsand**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.
-
-
class
GetPlumbedNetworks(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to figure out the NICS on an amphora.
This will likely move into the amphora driver :returns: Array of networks
-
default_provides= 'nics'¶
-
-
class
GetSubnetFromVIP(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to plumb a VIP.
-
class
GetVIPSecurityGroupID(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTask-
execute(loadbalancer_id)[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
*argsand**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.
-
-
class
HandleNetworkDelta(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to plug and unplug networks
Plug or unplug networks based on delta
-
class
HandleNetworkDeltas(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to plug and unplug networks
Loop through the deltas and plug or unplug networks based on delta
-
class
PlugNetworks(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to plug the networks.
This uses the delta to add all missing networks/nics
-
class
PlugPorts(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to plug neutron ports into a compute instance.
-
execute(amphora, ports)[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
*argsand**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.
-
-
class
PlugVIP(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to plumb a VIP.
-
class
PlugVIPAmpphora(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to plumb a VIP.
-
class
RetrievePortIDsOnAmphoraExceptLBNetwork(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask retrieving all the port ids on an amphora, except lb network.
-
execute(amphora)[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
*argsand**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.
-
-
class
UnPlugNetworks(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to unplug the networks
Loop over all nics and unplug them based on delta
-
class
UnplugVIP(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to unplug the vip.
-
class
UpdateVIP(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to update a VIP.
-
execute(loadbalancer)[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
*argsand**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.
-
-
class
UpdateVIPForDelete(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to update a VIP for listener delete flows.
-
execute(loadbalancer)[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
*argsand**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.
-
-
class
UpdateVIPSecurityGroup(**kwargs)[source]¶ Bases:
octavia.controller.worker.v1.tasks.network_tasks.BaseNetworkTaskTask to setup SG for LB.
octavia.controller.worker.v1.tasks.retry_tasks module¶
-
class
SleepingRetryTimesController(attempts=1, name=None, provides=None, requires=None, auto_extract=True, rebind=None, revert_all=False, interval=1)[source]¶ Bases:
taskflow.retry.TimesA retry controller to attempt subflow retries a number of times.
This retry controller overrides the Times on_failure to inject a sleep interval between retries. It also adds a log message when all of the retries are exhausted.
Parameters: - attempts (int) – number of attempts to retry the associated subflow before giving up
- name – Meaningful name for this atom, should be something that is distinguishable and understandable for notification, debugging, storing and any other similar purposes.
- provides – A set, string or list of items that this will be providing (or could provide) to others, used to correlate and associate the thing/s this atom produces, if it produces anything at all.
- requires – A set or list of required inputs for this atom’s
executemethod. - rebind – A dict of key/value pairs used to define argument
name conversions for inputs to this atom’s
executemethod. - revert_all (bool) – when provided this will cause the full flow to revert when the number of attempts that have been tried has been reached (when false, it will only locally revert the associated subflow)
- interval (int) – Interval, in seconds, between retry attempts.
-
on_failure(history, *args, **kwargs)[source]¶ Makes a decision about the future.
This method will typically use information about prior failures (if this historical failure information is not available or was not persisted the provided history will be empty).
Returns a retry constant (one of):
RETRY: when the controlling flow must be reverted and restarted again (for example with new parameters).REVERT: when this controlling flow must be completely reverted and the parent flow (if any) should make a decision about further flow execution.REVERT_ALL: when this controlling flow and the parent flow (if any) must be reverted and marked as aFAILURE.
-
revert(history, *args, **kwargs)[source]¶ Reverts this retry.
On revert call all results that had been provided by previous tries and all errors caused during reversion are provided. This method will be called only if a subflow must be reverted without the retry (that is to say that the controller has ran out of resolution options and has either given up resolution or has failed to handle a execution failure).
Parameters: - args – positional arguments that the retry required to execute.
- kwargs – any keyword arguments that the retry required to execute.