octavia.controller.worker.v2.tasks package¶
Submodules¶
octavia.controller.worker.v2.tasks.amphora_driver_tasks module¶
- class AmpListenersUpdate(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task 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
*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.
- class AmpRetry(attempts=1, name=None, provides=None, requires=None, auto_extract=True, rebind=None, revert_all=False)[source]¶
Bases:
Times
- 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
.
- class AmphoraCertUpload(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Upload a certificate to the amphora.
- class AmphoraComputeConnectivityWait(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to wait for the compute instance to be up.
- class AmphoraConfigUpdate(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to push a new amphora agent configuration to the amphora.
- 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
*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.
- class AmphoraFinalize(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to finalize the amphora before any listeners are configured.
- class AmphoraGetDiagnostics(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to get diagnostics on the amphora and the loadbalancers.
- class AmphoraGetInfo(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to get information on an amphora.
- class AmphoraIndexListenerUpdate(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to update the listeners on one amphora.
- execute(loadbalancer, amphora_index, amphorae, amphorae_status: dict, new_amphora_id: str, timeout_dict=())[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.
- class AmphoraIndexListenersReload(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to reload all listeners on an amphora.
- class AmphoraIndexUpdateVRRPInterface(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to get and update the VRRP interface device name from amphora.
- execute(amphora_index, amphorae, amphorae_status: dict, new_amphora_id: str, 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
*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.
- class AmphoraIndexVRRPStart(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to start keepalived on an amphora.
This will reload keepalived if it is already running.
- execute(amphora_index, amphorae, amphorae_status: dict, new_amphora_id: str, 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
*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.
- class AmphoraIndexVRRPUpdate(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to update the VRRP configuration of an amphora.
- class AmphoraPostNetworkPlug(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to notify the amphora post network plug.
- class AmphoraPostVIPPlug(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to notify the amphora post VIP plug.
- class AmphoraUpdateVRRPInterface(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task 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
*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.
- class AmphoraVRRPStart(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task 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
*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.
- class AmphoraVRRPUpdate(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to update the VRRP configuration of an amphora.
- class AmphoraeGetConnectivityStatus(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task that checks amphorae connectivity status.
Check and return the connectivity status of both amphorae in ACTIVE STANDBY load balancers
- execute(amphorae: List[dict], new_amphora_id: str, 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
*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.
- class AmphoraePostNetworkPlug(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to notify the amphorae post network plug.
- class AmphoraePostVIPPlug(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to notify the amphorae post VIP plug.
- class ListenerDelete(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to delete the listener on the vip.
- class ListenersStart(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to start all listeners on the vip.
- class ListenersUpdate(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to update amphora with all specified listeners’ configurations.
- class SetAmphoraFirewallRules(**kwargs)[source]¶
Bases:
BaseAmphoraTask
Task to push updated firewall ruls to an amphora.
- execute(amphorae: List[dict], amphora_index: int, amphora_firewall_rules: List[dict], amphorae_status: dict, 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
*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.
octavia.controller.worker.v2.tasks.cert_task module¶
- class GenerateServerPEMTask(**kwargs)[source]¶
Bases:
BaseCertTask
Create 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
*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.
octavia.controller.worker.v2.tasks.compute_tasks module¶
- class AttachPort(**kwargs)[source]¶
Bases:
BaseComputeTask
- class CertComputeCreate(**kwargs)[source]¶
Bases:
ComputeCreate
- class ComputeCreate(**kwargs)[source]¶
Bases:
BaseComputeTask
Create the compute instance for a new amphora.
- class ComputeDelete(**kwargs)[source]¶
Bases:
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
*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.
- class ComputeRetry(attempts=1, name=None, provides=None, requires=None, auto_extract=True, rebind=None, revert_all=False)[source]¶
Bases:
Times
- 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
.
- class ComputeWait(**kwargs)[source]¶
Bases:
BaseComputeTask
Wait for the compute driver to mark the amphora active.
- execute(compute_id, amphora_id, availability_zone)[source]¶
Wait for the compute driver to mark the amphora active
- Parameters:
compute_id – virtual machine UUID
amphora_id – id of the amphora object
availability_zone – availability zone metadata dictionary
- Raises:
Generic exception if the amphora is not active
- Returns:
An amphora object
- class DeleteAmphoraeOnLoadBalancer(**kwargs)[source]¶
Bases:
BaseComputeTask
Delete 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
*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.
- class NovaServerGroupCreate(**kwargs)[source]¶
Bases:
BaseComputeTask
- class NovaServerGroupDelete(**kwargs)[source]¶
Bases:
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
*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.
octavia.controller.worker.v2.tasks.database_tasks module¶
- class AssociateFailoverAmphoraWithLBID(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Associate failover amphora with loadbalancer in the database.
- class BaseDatabaseTask(**kwargs)[source]¶
Bases:
Task
Base task to load drivers common to the tasks.
- class CountPoolChildrenForQuota(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Counts 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:
BaseDatabaseTask
Task to create an initial amphora in the Database.
- class CreateVRRPGroupForLB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Create a VRRP group for a load balancer.
- class DecrementHealthMonitorQuota(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Decrements the health monitor quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DecrementL7policyQuota(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Decrements the l7policy quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DecrementL7ruleQuota(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Decrements the l7rule quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DecrementListenerQuota(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Decrements the listener quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DecrementLoadBalancerQuota(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Decrements the load balancer quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DecrementMemberQuota(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Decrements the member quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DecrementPoolQuota(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Decrements the pool quota for a project.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DeleteHealthMonitorInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Delete the health monitor in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DeleteHealthMonitorInDBByPool(**kwargs)[source]¶
Bases:
DeleteHealthMonitorInDB
Delete the health monitor in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DeleteL7PolicyInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Delete the L7 policy in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DeleteL7RuleInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Delete the L7 rule in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DeleteListenerInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Delete the listener in the DB.
- class DeleteMemberInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Delete the member in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DeletePoolInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Delete the pool in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class DisableAmphoraHealthMonitoring(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Disable amphora health monitoring.
This disables amphora health monitoring by removing it from the amphora_health table.
- class DisableLBAmphoraeHealthMonitoring(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Disable 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:
BaseDatabaseTask
Task to retrieve amphora network details.
- class GetAmphoraFirewallRules(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Task to build firewall rules for the amphora.
- execute(amphorae, amphora_index, amphorae_network_config)[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.
- class GetAmphoraeFromLoadbalancer(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Task to pull the amphorae from a loadbalancer.
- class GetListenersFromLoadbalancer(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Task to pull the listeners from a loadbalancer.
- class GetLoadBalancer(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Get an load balancer object from the database.
- class GetVipFromLoadbalancer(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Task to pull the vip from a loadbalancer.
- class MarkAmphoraAllocatedInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Will 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:
_MarkAmphoraRoleAndPriorityInDB
Alter the amphora role to: Backup.
- class MarkAmphoraBootingInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the amphora as booting in the database.
- class MarkAmphoraDeletedInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the amphora deleted in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkAmphoraHealthBusy(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark amphora health monitoring busy.
This prevents amphora failover by marking the amphora busy in the amphora_health table.
- class MarkAmphoraMasterInDB(**kwargs)[source]¶
Bases:
_MarkAmphoraRoleAndPriorityInDB
Alter the amphora role to: MASTER.
- class MarkAmphoraPendingDeleteInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the amphora pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkAmphoraPendingUpdateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the amphora pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkAmphoraReadyInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
This 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:
_MarkAmphoraRoleAndPriorityInDB
Alter the amphora role to: Standalone.
- class MarkHealthMonitorActiveInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the health monitor ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkHealthMonitorPendingCreateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark 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:
BaseDatabaseTask
Mark 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:
BaseDatabaseTask
Mark the health monitor pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkHealthMonitorsOnlineInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
- class MarkL7PolicyActiveInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the l7policy ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkL7PolicyPendingCreateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the l7policy pending create in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkL7PolicyPendingDeleteInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the l7policy pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkL7PolicyPendingUpdateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the l7policy pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkL7RuleActiveInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the l7rule ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkL7RulePendingCreateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the l7rule pending create in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkL7RulePendingDeleteInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the l7rule pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkL7RulePendingUpdateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark 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:
BaseDatabaseTask
Mark the load balancer active in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkLBActiveInDBByListener(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the load balancer active in the DB using a listener dict.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkLBAmphoraeDeletedInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Task to mark a list of amphora deleted in the Database.
- class MarkLBAmphoraeHealthBusy(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark 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:
BaseDatabaseTask
Mark 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:
BaseDatabaseTask
Mark the load balancer deleted in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkLBPendingDeleteInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark 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:
BaseDatabaseTask
Mark the listener deleted in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkListenerPendingDeleteInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the listener pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkMemberActiveInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the member ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkMemberPendingCreateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the member pending create in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkMemberPendingDeleteInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the member pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkMemberPendingUpdateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the member pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkPoolActiveInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the pool ACTIVE in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkPoolPendingCreateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the pool pending create in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkPoolPendingDeleteInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the pool pending delete in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class MarkPoolPendingUpdateInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Mark the pool pending update in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class ReloadAmphora(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Get an amphora object from the database.
- class ReloadLoadBalancer(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Get an load balancer object from the database.
- class UpdateAdditionalVIPsAfterAllocation(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update a VIP associated with a given load balancer.
- class UpdateAmpFailoverDetails(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update amphora failover details in the database.
- class UpdateAmphoraCertBusyToFalse(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update the amphora cert_busy flag to be false.
- class UpdateAmphoraComputeId(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Associate amphora with a compute in DB.
- class UpdateAmphoraDBCertExpiration(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update the amphora expiration date with new cert file date.
- class UpdateAmphoraInfo(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update amphora with compute instance details.
- class UpdateAmphoraVIPData(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update amphorae VIP data.
- class UpdateAmphoraeVIPData(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update amphorae VIP data.
- class UpdateHealthMonInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update the health monitor in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class UpdateL7PolicyInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update the L7 policy in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class UpdateL7RuleInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update the L7 rule in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class UpdateLBServerGroupInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update 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:
BaseDatabaseTask
Update the listener in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class UpdateLoadbalancerInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update the loadbalancer in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class UpdateMemberInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update the member in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class UpdatePoolInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update the pool in the DB.
Since sqlalchemy will likely retry by itself always revert if it fails
- class UpdatePoolMembersOperatingStatusInDB(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Updates the members of a pool operating status.
Since sqlalchemy will likely retry by itself always revert if it fails
- class UpdateVIPAfterAllocation(**kwargs)[source]¶
Bases:
BaseDatabaseTask
Update a VIP associated with a given load balancer.
octavia.controller.worker.v2.tasks.lifecycle_tasks module¶
- class AmphoraIDToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task 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
*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.
- 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**kwargs
key'flow_failures'
will contain any failure information.
- class AmphoraToErrorOnRevertTask(**kwargs)[source]¶
Bases:
AmphoraIDToErrorOnRevertTask
Task 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
*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.
- 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**kwargs
key'flow_failures'
will contain any failure information.
- class HealthMonitorToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task 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
*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.
- 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**kwargs
key'flow_failures'
will contain any failure information.
- class L7PolicyToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task to set a l7policy to ERROR on revert.
- execute(l7policy, listeners, 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
*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.
- revert(l7policy, listeners, 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**kwargs
key'flow_failures'
will contain any failure information.
- class L7RuleToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task to set a l7rule to ERROR on revert.
- execute(l7rule, l7policy_id, listeners, 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
*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.
- revert(l7rule, l7policy_id, listeners, 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**kwargs
key'flow_failures'
will contain any failure information.
- class ListenerToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task 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
*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.
- 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**kwargs
key'flow_failures'
will contain any failure information.
- class ListenersToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task to set a listener to ERROR on revert.
- execute(listeners)[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.
- revert(listeners, *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**kwargs
key'flow_failures'
will contain any failure information.
- class LoadBalancerIDToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task 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
*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.
- 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**kwargs
key'flow_failures'
will contain any failure information.
- class LoadBalancerToErrorOnRevertTask(**kwargs)[source]¶
Bases:
LoadBalancerIDToErrorOnRevertTask
Task 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
*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.
- 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**kwargs
key'flow_failures'
will contain any failure information.
- class MemberToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task to set a member to ERROR on revert.
- execute(member, listeners, loadbalancer, pool_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
*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.
- revert(member, listeners, loadbalancer, pool_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**kwargs
key'flow_failures'
will contain any failure information.
- class MembersToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task to set members to ERROR on revert.
- execute(members, listeners, loadbalancer, pool_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
*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.
- revert(members, listeners, loadbalancer, pool_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**kwargs
key'flow_failures'
will contain any failure information.
- class PoolToErrorOnRevertTask(**kwargs)[source]¶
Bases:
BaseLifecycleTask
Task to set a pool to ERROR on revert.
- execute(pool_id, 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
*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.
- revert(pool_id, 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**kwargs
key'flow_failures'
will contain any failure information.
octavia.controller.worker.v2.tasks.network_tasks module¶
- class AdminDownPort(**kwargs)[source]¶
Bases:
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
*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.
- 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**kwargs
key'flow_failures'
will contain any failure information.
- class AllocateVIP(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to allocate a VIP.
- class AllocateVIPforFailover(**kwargs)[source]¶
Bases:
AllocateVIP
Task to allocate/validate the VIP for a failover flow.
- class ApplyQos(**kwargs)[source]¶
Bases:
BaseNetworkTask
Apply Quality of Services to the VIP
- class ApplyQosAmphora(**kwargs)[source]¶
Bases:
BaseNetworkTask
Apply Quality of Services to the VIP
- class BaseNetworkTask(**kwargs)[source]¶
Bases:
Task
Base task to load drivers common to the tasks.
- property network_driver¶
- class BuildAMPData(**kwargs)[source]¶
Bases:
BaseNetworkTask
Glue task to store the AMP_DATA dict from netork port information.
- execute(loadbalancer, amphora, port_data)[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.
- class CalculateAmphoraDelta(**kwargs)[source]¶
Bases:
BaseNetworkTask
- default_provides = 'delta'¶
- execute(loadbalancer, amphora, availability_zone)[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.
- class CalculateDelta(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task 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 CreateSRIOVBasePort(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to create a SRIOV base port for an amphora.
- execute(loadbalancer, amphora, subnet)[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.
- revert(result, loadbalancer, amphora, subnet, *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**kwargs
key'flow_failures'
will contain any failure information.
- class CreateVIPBasePort(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to create the VIP base port for an amphora.
- execute(vip, vip_sg_id, amphora_id, additional_vips)[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.
- revert(result, vip, vip_sg_id, amphora_id, additional_vips, *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**kwargs
key'flow_failures'
will contain any failure information.
- class DeallocateVIP(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to deallocate a VIP.
- class DeletePort(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to delete a network port.
- class GetAmphoraNetworkConfigs(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task 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
*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.
- class GetAmphoraNetworkConfigsByID(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task 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
*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.
- class GetAmphoraeNetworkConfigs(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task 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
*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.
- class GetMemberPorts(**kwargs)[source]¶
Bases:
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
*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.
- class GetPlumbedNetworks(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task 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:
BaseNetworkTask
Task to plumb a VIP.
- class GetVIPSecurityGroupID(**kwargs)[source]¶
Bases:
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
*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.
- class HandleNetworkDelta(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to plug and unplug networks
Plug or unplug networks based on delta
- class HandleNetworkDeltas(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to plug and unplug networks
Loop through the deltas and plug or unplug networks based on delta
- class PlugNetworks(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to plug the networks.
This uses the delta to add all missing networks/nics
- class PlugPorts(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task 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
*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.
- class PlugVIPAmphora(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to plumb a VIP.
- class RetrievePortIDsOnAmphoraExceptLBNetwork(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task 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
*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.
- class UnPlugNetworks(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to unplug the networks
Loop over all nics and unplug them based on delta
- class UnplugVIP(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to unplug the vip.
- class UpdateVIP(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to update a VIP.
- execute(listeners)[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.
- class UpdateVIPForDelete(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to update a VIP for listener delete flows.
- 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
*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.
- class UpdateVIPSecurityGroup(**kwargs)[source]¶
Bases:
BaseNetworkTask
Task to setup SG for LB.
octavia.controller.worker.v2.tasks.notification_tasks module¶
- class BaseNotificationTask(**kwargs)[source]¶
Bases:
Task
- event_type = None¶
- 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
*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.
- class SendCreateNotification(**kwargs)[source]¶
Bases:
BaseNotificationTask
- event_type = 'octavia.loadbalancer.create.end'¶
- class SendDeleteNotification(**kwargs)[source]¶
Bases:
BaseNotificationTask
- event_type = 'octavia.loadbalancer.delete.end'¶
- class SendUpdateNotification(**kwargs)[source]¶
Bases:
BaseNotificationTask
- event_type = 'octavia.loadbalancer.update.end'¶
octavia.controller.worker.v2.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:
Times
A 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
execute
method.rebind – A dict of key/value pairs used to define argument name conversions for inputs to this atom’s
execute
method.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.
octavia.controller.worker.v2.tasks.shim_tasks module¶
- class AmphoraToAmphoraeWithVRRPIP(name=None, provides=None, requires=None, auto_extract=True, rebind=None, inject=None, ignore_list=None, revert_rebind=None, revert_requires=None)[source]¶
Bases:
Task
A shim class to convert a single Amphora instance to a list.
- execute(amphora: dict, base_port: dict)[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.