IdMixin
[source]¶Bases: object
Id mixin, add to subclasses that have an id.
id
= Column(None, String(length=36), table=None, primary_key=True, nullable=False, default=ColumnDefault(<function generate_uuid>))¶LookupTableMixin
[source]¶Bases: object
Mixin to add to classes that are lookup tables.
description
= Column(None, String(length=255), table=None)¶name
= Column(None, String(length=255), table=None, primary_key=True, nullable=False)¶NameMixin
[source]¶Bases: object
Name mixin to add to classes which need a name.
name
= Column(None, String(length=255), table=None)¶OctaviaBase
[source]¶Bases: oslo_db.sqlalchemy.models.ModelBase
to_data_model
(_graph_nodes=None)[source]¶Converts to a data model graph.
In order to make the resulting data model graph usable no matter how many internal references are followed, we generate a complete graph of OctaviaBase nodes connected to the object passed to this method.
_graph_nodes – Used only for internal recursion of this method. Should not be called from the outside. Contains a dictionary of all OctaviaBase type objects in the generated graph
ProjectMixin
[source]¶Bases: object
Tenant mixin, add to subclasses that have a project.
project_id
= Column(None, String(length=36), table=None)¶check_database_connection
(session)[source]¶This is a simple database connection check function.
It will do a simple no-op query (low overhead) against the sqlalchemy session passed in.
session – A Sql Alchemy database session.
True if the connection check is successful, False if not.
Algorithm
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶Amphora
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, oslo_db.sqlalchemy.models.TimestampMixin
cached_zone
¶cert_busy
¶cert_expiration
¶compute_flavor
¶compute_id
¶created_at
¶ha_ip
¶ha_port_id
¶id
¶image_id
¶lb_network_ip
¶load_balancer
¶load_balancer_id
¶role
¶status
¶updated_at
¶vrrp_id
¶vrrp_interface
¶vrrp_ip
¶vrrp_port_id
¶vrrp_priority
¶AmphoraBuildRequest
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
amphora_id
¶created_time
¶priority
¶status
¶AmphoraBuildSlots
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
id
¶slots_used
¶AmphoraHealth
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
amphora_id
¶busy
¶last_update
¶AmphoraRoles
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶AvailabilityZone
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.NameMixin
availability_zone_profile_id
¶description
¶enabled
¶name
¶AvailabilityZoneProfile
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.NameMixin
availability_zone_data
¶id
¶name
¶provider_name
¶Flavor
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.NameMixin
description
¶enabled
¶flavor_profile_id
¶id
¶name
¶FlavorProfile
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.NameMixin
flavor_data
¶id
¶name
¶provider_name
¶HealthMonitor
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.ProjectMixin
, oslo_db.sqlalchemy.models.TimestampMixin
, octavia.db.base_models.NameMixin
, octavia.db.base_models.TagMixin
created_at
¶delay
¶domain_name
¶enabled
¶expected_codes
¶fall_threshold
¶http_method
¶http_version
¶id
¶name
¶operating_status
¶pool
¶pool_id
¶project_id
¶provisioning_status
¶rise_threshold
¶timeout
¶type
¶updated_at
¶url_path
¶HealthMonitorType
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶L7Policy
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.ProjectMixin
, oslo_db.sqlalchemy.models.TimestampMixin
, octavia.db.base_models.NameMixin
, octavia.db.base_models.TagMixin
action
¶created_at
¶description
¶enabled
¶id
¶l7rules
¶listener
¶listener_id
¶name
¶operating_status
¶position
¶project_id
¶provisioning_status
¶redirect_http_code
¶redirect_pool
¶redirect_pool_id
¶redirect_prefix
¶redirect_url
¶updated_at
¶L7PolicyAction
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶L7Rule
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.ProjectMixin
, oslo_db.sqlalchemy.models.TimestampMixin
, octavia.db.base_models.TagMixin
compare_type
¶created_at
¶enabled
¶id
¶invert
¶key
¶l7policy
¶l7policy_id
¶operating_status
¶project_id
¶provisioning_status
¶type
¶updated_at
¶value
¶L7RuleCompareType
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶L7RuleType
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶LBTopology
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶Listener
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.ProjectMixin
, oslo_db.sqlalchemy.models.TimestampMixin
, octavia.db.base_models.NameMixin
, octavia.db.base_models.TagMixin
allowed_cidrs
¶alpn_protocols
¶client_authentication
¶client_ca_tls_certificate_id
¶client_crl_container_id
¶connection_limit
¶created_at
¶default_pool
¶default_pool_id
¶description
¶enabled
¶id
¶insert_headers
¶l7policies
¶load_balancer
¶load_balancer_id
¶name
¶operating_status
¶peer_port
¶pools
¶project_id
¶protocol
¶protocol_port
¶provisioning_status
¶sni_containers
¶timeout_client_data
¶timeout_member_connect
¶timeout_member_data
¶timeout_tcp_inspect
¶tls_certificate_id
¶tls_ciphers
¶tls_versions
¶updated_at
¶ListenerCidr
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
cidr
¶listener
¶listener_id
¶ListenerStatistics
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
active_connections
¶amphora_id
¶bytes_in
¶bytes_out
¶listener_id
¶request_errors
¶total_connections
¶LoadBalancer
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.ProjectMixin
, oslo_db.sqlalchemy.models.TimestampMixin
, octavia.db.base_models.NameMixin
, octavia.db.base_models.TagMixin
amphorae
¶availability_zone
¶created_at
¶description
¶enabled
¶flavor_id
¶id
¶listeners
¶name
¶operating_status
¶pools
¶project_id
¶provider
¶provisioning_status
¶server_group_id
¶topology
¶updated_at
¶vip
¶vrrp_group
¶Member
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.ProjectMixin
, oslo_db.sqlalchemy.models.TimestampMixin
, octavia.db.base_models.NameMixin
, octavia.db.base_models.TagMixin
backup
¶created_at
¶enabled
¶id
¶ip_address
¶monitor_address
¶monitor_port
¶name
¶operating_status
¶pool
¶pool_id
¶project_id
¶protocol_port
¶provisioning_status
¶subnet_id
¶updated_at
¶weight
¶OperatingStatus
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶Pool
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.IdMixin
, octavia.db.base_models.ProjectMixin
, oslo_db.sqlalchemy.models.TimestampMixin
, octavia.db.base_models.NameMixin
, octavia.db.base_models.TagMixin
alpn_protocols
¶ca_tls_certificate_id
¶created_at
¶crl_container_id
¶description
¶enabled
¶health_monitor
¶id
¶l7policies
¶lb_algorithm
¶listeners
¶load_balancer
¶load_balancer_id
¶members
¶name
¶operating_status
¶project_id
¶protocol
¶provisioning_status
¶session_persistence
¶tls_certificate_id
¶tls_ciphers
¶tls_enabled
¶tls_versions
¶updated_at
¶Protocol
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶ProvisioningStatus
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶Quotas
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
health_monitor
¶in_use_health_monitor
¶in_use_l7policy
¶in_use_l7rule
¶in_use_listener
¶in_use_load_balancer
¶in_use_member
¶in_use_pool
¶l7policy
¶l7rule
¶listener
¶load_balancer
¶member
¶pool
¶project_id
¶SNI
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
listener
¶listener_id
¶position
¶tls_container_id
¶SessionPersistence
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
persistence_granularity
¶persistence_timeout
¶pool
¶pool_id
¶type
¶SessionPersistenceType
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶VRRPAuthMethod
(**kwargs)[source]¶Bases: sqlalchemy.ext.declarative.api.Base
, octavia.db.base_models.LookupTableMixin
description
¶name
¶Defines interface for DB access that Resource or Octavia Controllers may reference
AmphoraBuildReqRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
add_to_build_queue
(session, amphora_id=None, priority=None)[source]¶Adds the build request to the table.
get_highest_priority_build_req
(session)[source]¶Fetches build request with highest priority and least created_time.
priority 20 = failover (highest) priority 40 = create_loadbalancer priority 60 = sparespool (least) :param session: A Sql Alchemy database session. :returns amphora_id corresponding to highest priority and least created time in ‘WAITING’ status.
model_class
¶AmphoraBuildSlotsRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
get_used_build_slots_count
(session)[source]¶Gets the number of build slots in use.
Number of current build slots.
model_class
¶alias of octavia.db.models.AmphoraBuildSlots
AmphoraHealthRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
check_amphora_health_expired
(session, amphora_id, exp_age=None)[source]¶check if a specific amphora is expired in the amphora_health table
session – A Sql Alchemy database session.
amphora_id – id of an amphora object
exp_age – A standard datetime delta which is used to see for how long can an amphora live without updates before it is considered expired (default: CONF.house_keeping.amphora_expiry_age)
boolean
get_stale_amphora
(session)[source]¶Retrieves a stale amphora from the health manager database.
session – A Sql Alchemy database session.
[octavia.common.data_model]
model_class
¶alias of octavia.db.models.AmphoraHealth
AmphoraRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
allocate_and_associate
(session, load_balancer_id, availability_zone=None)[source]¶Allocate an amphora for a load balancer.
For v0.5 this is simple, find a free amp and associate the lb. In the future this needs to be enhanced.
session – A Sql Alchemy database session.
load_balancer_id – The load balancer id to associate
The amphora ID for the load balancer or None
associate
(session, load_balancer_id, amphora_id)[source]¶Associates an amphora with a load balancer.
session – A Sql Alchemy database session.
load_balancer_id – The load balancer id to associate
amphora_id – The amphora id to associate
get_all_API_list
(session, pagination_helper=None, **filters)[source]¶Get a list of amphorae for the API list call.
This get_all returns a data set that is only one level deep in the data graph. This is an optimized query for the API amphora list method.
session – A Sql Alchemy database session.
pagination_helper – Helper to apply pagination and sorting.
filters – Filters to decide which entities should be retrieved.
[octavia.common.data_model]
get_cert_expiring_amphora
(session)[source]¶Retrieves an amphora whose cert is close to expiring..
session – A Sql Alchemy database session.
one amphora with expiring certificate
get_lb_for_amphora
(session, amphora_id)[source]¶Get all of the load balancers on an amphora.
session – A Sql Alchemy database session.
amphora_id – The amphora id to list the load balancers from
[octavia.common.data_model]
get_lb_for_health_update
(session, amphora_id)[source]¶This method is for the health manager status update process.
This is a time sensitive query that occurs often. It is an explicit query as the ORM produces a poorly optimized query.
Use extreme caution making any changes to this query as it can impact the scalability of the health manager. All changes should be analyzed using SQL “EXPLAIN” to make sure only indexes are being used. Changes should also be evaluated using the stressHM tool.
of the load balancer as it is not needed. This is on purpose to optimize the processing time. This is not in the normal data model objects.
session – A Sql Alchemy database session.
amphora_id – The amphora ID to lookup the load balancer for.
A dictionary containing the required load balancer details.
get_spare_amphora_count
(session, availability_zone=None, check_booting_amphora=False)[source]¶Get the count of the spare amphora.
Number of current spare amphora.
model_class
¶alias of octavia.db.models.Amphora
test_and_set_status_for_delete
(lock_session, id)[source]¶Tests and sets an amphora status.
Puts a lock on the amphora table to check the status of the amphora. The status must be either AMPHORA_READY or ERROR to successfuly update the amphora status.
lock_session – A Sql Alchemy database session.
id – id of Load Balancer
ImmutableObject – The amphora is not in a state that can be deleted.
NoResultFound – The amphora was not found or already deleted.
None
AvailabilityZoneProfileRepository
[source]¶Bases: octavia.db.repositories._GetALLExceptDELETEDIdMixin
, octavia.db.repositories.BaseRepository
model_class
¶AvailabilityZoneRepository
[source]¶Bases: octavia.db.repositories._GetALLExceptDELETEDIdMixin
, octavia.db.repositories.BaseRepository
delete
(serial_session, **filters)[source]¶Special delete method for availability_zone.
Sets DELETED LBs availability_zone to NIL_UUID, then removes the availability_zone.
serial_session – A Sql Alchemy database transaction session.
filters – Filters to decide which entity should be deleted.
None
odb_exceptions.DBReferenceError
sqlalchemy.orm.exc.NoResultFound
model_class
¶alias of octavia.db.models.AvailabilityZone
BaseRepository
[source]¶Bases: object
count
(session, **filters)[source]¶Retrieves a count of entities from the database.
session – A Sql Alchemy database session.
filters – Filters to decide which entities should be retrieved.
int
create
(session, **model_kwargs)[source]¶Base create method for a database entity.
session – A Sql Alchemy database session.
model_kwargs – Attributes of the model to insert.
octavia.common.data_model
delete
(session, **filters)[source]¶Deletes an entity from the database.
session – A Sql Alchemy database session.
filters – Filters to decide which entity should be deleted.
None
sqlalchemy.orm.exc.NoResultFound
exists
(session, id)[source]¶Determines whether an entity exists in the database by its id.
session – A Sql Alchemy database session.
id – id of entity to check for existence.
octavia.common.data_model
get
(session, **filters)[source]¶Retrieves an entity from the database.
session – A Sql Alchemy database session.
filters – Filters to decide which entity should be retrieved.
octavia.common.data_model
get_all
(session, pagination_helper=None, query_options=None, **filters)[source]¶Retrieves a list of entities from the database.
session – A Sql Alchemy database session.
pagination_helper – Helper to apply pagination and sorting.
query_options – Optional query options to apply.
filters – Filters to decide which entities should be retrieved.
[octavia.common.data_model]
get_all_deleted_expiring
(session, exp_age)[source]¶Get all previously deleted resources that are now expiring.
session – A Sql Alchemy database session.
exp_age – A standard datetime delta which is used to see for how long can a resource live without updates before it is considered expired
A list of resource IDs
model_class
= None¶FlavorProfileRepository
[source]¶Bases: octavia.db.repositories._GetALLExceptDELETEDIdMixin
, octavia.db.repositories.BaseRepository
model_class
¶alias of octavia.db.models.FlavorProfile
FlavorRepository
[source]¶Bases: octavia.db.repositories._GetALLExceptDELETEDIdMixin
, octavia.db.repositories.BaseRepository
delete
(serial_session, **filters)[source]¶Sets DELETED LBs flavor_id to NIL_UUID, then removes the flavor
serial_session – A Sql Alchemy database transaction session.
filters – Filters to decide which entity should be deleted.
None
odb_exceptions.DBReferenceError
sqlalchemy.orm.exc.NoResultFound
model_class
¶alias of octavia.db.models.Flavor
HealthMonitorRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
get_all_API_list
(session, pagination_helper=None, **filters)[source]¶Get a list of health monitors for the API list call.
This get_all returns a data set that is only one level deep in the data graph. This is an optimized query for the API health monitor list method.
session – A Sql Alchemy database session.
pagination_helper – Helper to apply pagination and sorting.
filters – Filters to decide which entities should be retrieved.
[octavia.common.data_model]
model_class
¶alias of octavia.db.models.HealthMonitor
L7PolicyRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
create
(session, **model_kwargs)[source]¶Base create method for a database entity.
session – A Sql Alchemy database session.
model_kwargs – Attributes of the model to insert.
octavia.common.data_model
delete
(session, id, **filters)[source]¶Deletes an entity from the database.
session – A Sql Alchemy database session.
filters – Filters to decide which entity should be deleted.
None
sqlalchemy.orm.exc.NoResultFound
get_all
(session, pagination_helper=None, **filters)[source]¶Retrieves a list of entities from the database.
session – A Sql Alchemy database session.
pagination_helper – Helper to apply pagination and sorting.
query_options – Optional query options to apply.
filters – Filters to decide which entities should be retrieved.
[octavia.common.data_model]
model_class
¶alias of octavia.db.models.L7Policy
L7RuleRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
create
(session, **model_kwargs)[source]¶Base create method for a database entity.
session – A Sql Alchemy database session.
model_kwargs – Attributes of the model to insert.
octavia.common.data_model
get_all_API_list
(session, pagination_helper=None, **filters)[source]¶Get a list of L7 Rules for the API list call.
This get_all returns a data set that is only one level deep in the data graph. This is an optimized query for the API L7 Rule list method.
session – A Sql Alchemy database session.
pagination_helper – Helper to apply pagination and sorting.
filters – Filters to decide which entities should be retrieved.
[octavia.common.data_model]
model_class
¶alias of octavia.db.models.L7Rule
ListenerCidrRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
create
(session, listener_id, allowed_cidrs)[source]¶Base create method for a database entity.
session – A Sql Alchemy database session.
model_kwargs – Attributes of the model to insert.
octavia.common.data_model
model_class
¶alias of octavia.db.models.ListenerCidr
ListenerRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
get_all_API_list
(session, pagination_helper=None, **filters)[source]¶Get a list of listeners for the API list call.
This get_all returns a data set that is only one level deep in the data graph. This is an optimized query for the API listener list method.
session – A Sql Alchemy database session.
pagination_helper – Helper to apply pagination and sorting.
filters – Filters to decide which entities should be retrieved.
[octavia.common.data_model]
model_class
¶alias of octavia.db.models.Listener
ListenerStatisticsRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
increment
(session, delta_stats)[source]¶Updates a listener’s statistics, incrementing by the passed deltas.
session – A Sql Alchemy database session
delta_stats (octavia.common.data_models.ListenerStatistics) – Listener statistics deltas to add
model_class
¶alias of octavia.db.models.ListenerStatistics
replace
(session, stats_obj)[source]¶Create or override a listener’s statistics (insert/update)
session – A Sql Alchemy database session
stats_obj (octavia.common.data_models.ListenerStatistics) – Listener statistics object to store
LoadBalancerRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
get_all_API_list
(session, pagination_helper=None, **filters)[source]¶Get a list of load balancers for the API list call.
This get_all returns a data set that is only one level deep in the data graph. This is an optimized query for the API load balancer list method.
session – A Sql Alchemy database session.
pagination_helper – Helper to apply pagination and sorting.
filters – Filters to decide which entities should be retrieved.
[octavia.common.data_model]
model_class
¶alias of octavia.db.models.LoadBalancer
set_status_for_failover
(session, id, status, raise_exception=False)[source]¶Tests and sets a load balancer provisioning status.
Puts a lock on the load balancer table to check the status of a load balancer. If the status is ACTIVE or ERROR then the status of the load balancer is updated and the method returns True. If the status is not ACTIVE, then nothing is done and False is returned.
session – A Sql Alchemy database session.
id – id of Load Balancer
status – Status to set Load Balancer if check passes.
raise_exception – If True, raise ImmutableObject on failure
bool
test_and_set_provisioning_status
(session, id, status, raise_exception=False)[source]¶Tests and sets a load balancer and provisioning status.
Puts a lock on the load balancer table to check the status of a load balancer. If the status is ACTIVE then the status of the load balancer is updated and the method returns True. If the status is not ACTIVE, then nothing is done and False is returned.
session – A Sql Alchemy database session.
id – id of Load Balancer
status – Status to set Load Balancer if check passes.
raise_exception – If True, raise ImmutableObject on failure
bool
MemberRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
get_all_API_list
(session, pagination_helper=None, **filters)[source]¶Get a list of members for the API list call.
This get_all returns a data set that is only one level deep in the data graph. This is an optimized query for the API member list method.
session – A Sql Alchemy database session.
pagination_helper – Helper to apply pagination and sorting.
filters – Filters to decide which entities should be retrieved.
[octavia.common.data_model]
model_class
¶alias of octavia.db.models.Member
PoolRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
get_all_API_list
(session, pagination_helper=None, **filters)[source]¶Get a list of pools for the API list call.
This get_all returns a data set that is only one level deep in the data graph. This is an optimized query for the API pool list method.
session – A Sql Alchemy database session.
pagination_helper – Helper to apply pagination and sorting.
filters – Filters to decide which entities should be retrieved.
[octavia.common.data_model]
model_class
¶alias of octavia.db.models.Pool
QuotasRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
delete
(session, project_id)[source]¶Deletes an entity from the database.
session – A Sql Alchemy database session.
filters – Filters to decide which entity should be deleted.
None
sqlalchemy.orm.exc.NoResultFound
model_class
¶alias of octavia.db.models.Quotas
Repositories
[source]¶Bases: object
check_quota_met
(session, lock_session, _class, project_id, count=1)[source]¶Checks and updates object quotas.
This method makes sure the project has available quota for the resource and updates the quota to reflect the new ussage.
session – Context database session
lock_session – Locking database session (autocommit=False)
_class – Data model object requesting quota
project_id – Project ID requesting quota
count – Number of objects we’re going to create (default=1)
True if quota is met, False if quota was available
create_load_balancer_and_vip
(session, lb_dict, vip_dict)[source]¶Inserts load balancer and vip entities into the database.
Inserts load balancer and vip entities into the database in one transaction and returns the data model of the load balancer.
session – A Sql Alchemy database session.
lb_dict – Dictionary representation of a load balancer
vip_dict – Dictionary representation of a vip
octavia.common.data_models.LoadBalancer
create_pool_on_load_balancer
(session, pool_dict, listener_id=None)[source]¶Inserts a pool and session persistence entity into the database.
session – A Sql Alchemy database session.
pool_dict – Dictionary representation of a pool
listener_id – Optional listener id that will reference this pool as its default_pool_id
octavia.common.data_models.Pool
decrement_quota
(lock_session, _class, project_id, quantity=1)[source]¶Decrements the object quota for a project
lock_session – Locking database session (autocommit=False)
_class – Data model object to decrement quota
project_id – Project ID to decrement quota on
quantity – Quantity of quota to decrement
None
get_amphora_stats
(session, amp_id)[source]¶Gets the statistics for all listeners on an amphora.
session – A Sql Alchemy database session.
amp_id – The amphora ID to query.
An amphora stats dictionary
test_and_set_lb_and_listeners_prov_status
(session, lb_id, lb_prov_status, listener_prov_status, listener_ids=None, pool_id=None, l7policy_id=None)[source]¶Tests and sets a load balancer and listener provisioning status.
Puts a lock on the load balancer table to check the status of a load balancer. If the status is ACTIVE then the status of the load balancer and listener is updated and the method returns True. If the status is not ACTIVE, then nothing is done and False is returned.
session – A Sql Alchemy database session.
lb_id – ID of the Load Balancer to check and lock
lb_prov_status – Status to set Load Balancer and Listener if check passes.
listener_prov_status – Status to set Listeners if check passes
listener_ids – List of IDs of listeners to check and lock (only use this when relevant to the operation)
pool_id – ID of the Pool to check and lock (only use this when relevant to the operation)
l7policy_id – ID of the L7Policy to check and lock (only use this when relevant to the operation)
bool
SNIRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
model_class
¶alias of octavia.db.models.SNI
SessionPersistenceRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
model_class
¶alias of octavia.db.models.SessionPersistence
SparesPoolRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
get_for_update
(lock_session)[source]¶Queries and locks the SparesPool record.
This call will query for the SparesPool table record and lock it so that other processes cannot read or write it. :returns: expected_spares_count, updated_at
model_class
¶alias of octavia.db.models.SparesPool
VRRPGroupRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
model_class
¶alias of octavia.db.models.VRRPGroup
VipRepository
[source]¶Bases: octavia.db.repositories.BaseRepository
model_class
¶alias of octavia.db.models.Vip
Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.