Defines interface for DB access.
Functions in this module are imported into the nova.db namespace. Call these functions from nova.db namespace, not the nova.db.api namespace.
All functions in this module return objects that implement a dictionary-like interface. Currently, many of these objects are sqlalchemy objects that implement a dictionary interface. However, a future goal is to have all of these objects be simple dictionaries.
Finish an event on an instance action.
Start an event on an instance action.
Get the events by action id.
Finish an action for an instance.
Get the action by request_id and given instance.
Start an action for an instance.
Get all instance actions for the provided instance.
Create a new agent build entry.
Destroy agent build entry.
Get all agent builds.
Get agent build by hypervisor/OS/architecture triple.
Update agent build entry.
Create a new aggregate with metadata.
Delete an aggregate.
Get a specific aggregate by id.
Get all aggregates.
Get a list of aggregates that host belongs to.
Add host to the aggregate.
Delete the given host from the aggregate.
Get hosts for the specified aggregate.
Add/update metadata. If set_delete=True, it adds only.
Delete the given metadata key.
Get metadata for the specified aggregate.
Get metadata for all aggregates that host belongs to.
Returns a dictionary where each value is a set, this is to cover the case where there two aggregates have different values for the same key. Optional key filter
Update the attributes of an aggregates.
If values contains a metadata key, it updates the aggregate metadata too.
Move up to max_rows rows from production tables to corresponding shadow tables.
Returns: | dict that maps table name to number of rows archived from that table, for example: |
---|
{
'instances': 5,
'block_device_mapping': 5,
'pci_devices': 2,
}
Create an entry of block device mapping.
Destroy the block device mapping.
Destroy the block device mapping.
Destroy the block device mapping.
Get all block device mapping belonging to an instance.
Get all block device mapping belonging to a list of instances.
Get block device mapping for a given volume.
Get block device mapping for a given volume ID and instance UUID.
Update an entry of block device mapping.
Update an entry of block device mapping.
If not existed, create a new entry
Return bw usage for instance and mac in a given audit period.
Return bw usages for instance(s) in a given audit period.
Update cached bandwidth usage for an instance’s network based on mac address. Creates new record if needed.
Create a new child Cell entry.
Delete a child Cell.
Get a specific child Cell.
Get all child Cells.
Update a child Cell entry.
Create a certificate from the values dictionary.
Get all certificates for a project.
Get all certificates for a user.
Get all certificates for a user and project.
Create a compute node from the values dictionary.
Parameters: |
|
---|---|
Returns: | Dictionary-like object containing the properties of the created node, including its corresponding service and statistics |
Delete a compute node from the database.
Parameters: |
|
---|
Raises ComputeHostNotFound if compute node with the given ID doesn’t exist.
Get a compute node by its id.
Parameters: |
|
---|---|
Returns: | Dictionary-like object containing properties of the compute node |
Raises ComputeHostNotFound if compute node with the given ID doesn’t exist.
Get all computeNodes.
Parameters: | context – The security context |
---|---|
Returns: | List of dictionaries each containing compute node properties |
Get compute nodes by host name
Parameters: |
|
---|---|
Returns: | List of dictionaries each containing compute node properties |
Get a compute node by its associated host and nodename.
Parameters: |
|
---|---|
Returns: | Dictionary-like object containing properties of the compute node, including its statistics |
Raises ComputeHostNotFound if host with the given name doesn’t exist.
Get a compute node sqlalchemy model object by its id.
Parameters: |
|
---|---|
Returns: | Sqlalchemy model object containing properties of the compute node |
Raises ComputeHostNotFound if compute node with the given ID doesn’t exist.
Get compute nodes by hypervisor hostname.
Parameters: |
|
---|---|
Returns: | List of dictionary-like objects each containing compute node properties |
Get aggregate statistics over all compute nodes.
Parameters: | context – The security context |
---|---|
Returns: | Dictionary containing compute node characteristics summed up over all the compute nodes, e.g. ‘vcpus’, ‘free_ram_mb’ etc. |
Set the given properties on a compute node and update it.
Parameters: |
|
---|---|
Returns: | Dictionary-like object containing the properties of the updated compute node, including its corresponding service and statistics |
Raises ComputeHostNotFound if compute node with the given ID doesn’t exist.
Get a list of compute nodes by their associated service id.
Parameters: |
|
---|---|
Returns: | List of dictionary-like objects, each containing properties of the compute node, including its corresponding service and statistics |
Raises ServiceNotFound if service with the given ID doesn’t exist.
Create a console.
Delete a console.
Get a specific console (possibly on a given instance).
Get consoles for a given instance.
Get console entry for a given instance and pool.
Create console pool.
Fetch all pools for given proxy host and type.
Fetch a console pool for a given proxy host, compute host, and type.
Return a constraint object suitable for use with some updates.
Return a context manager for a cell database connection.
Get the db record for the specified domain.
Get a list of all dnsdomains in our database.
Associated a DNS domain with a project id.
Associated a DNS domain with an availability zone.
Purge associations for the specified DNS zone.
Create the ec2 id to instance uuid mapping on demand.
Return an equality condition object suitable for use in a constraint.
Equal_any conditions require that a model object’s attribute equal any one of the given values.
Associate fixed IP to instance.
Raises if fixed IP is not available.
Find free IP in network and associate it to instance or host.
Raises if one is not available.
Create a lot of fixed IPs from the values dictionary.
Create a fixed IP from the values dictionary.
Disassociate a fixed IP from an instance by address.
Disassociate old fixed IPs from host.
Get fixed IP by id or raise if it does not exist.
If get_network is true, also return the associated network.
Get all defined fixed IPs.
Get a fixed IP by address or raise if it does not exist.
Get a fixed IP by a floating address.
Get fixed IPs by compute host.
Get fixed IPs by instance or raise if none exist.
Get fixed IP for a host in a network.
Create a fixed IP from the values dictionary.
Get fixed IPs by virtual interface or raise if none exist.
Add flavor access for project.
Get flavor access by flavor id.
Remove flavor access for project.
Create a new instance type.
Delete an instance type.
Delete the given extra specs item.
Get all extra specs for an instance type.
Create or update instance type extra specs.
This adds or modifies the key/value pairs specified in the extra specs dict argument
Get instance type by id.
Get all instance flavors.
Get instance type by flavor id.
Get instance type by name.
Allocate free floating IP from specified pool and return the address.
Raises if one is not available.
Create a lot of floating IPs from the values dictionary. :param want_result: If set to True, return floating IPs inserted
Destroy a lot of floating IPs from the values dictionary.
Create a floating IP from the values dictionary.
Deallocate a floating IP by address.
Destroy the floating_ip or raise if it does not exist.
Disassociate a floating IP from a fixed IP by address.
Returns: | the fixed IP record joined to network record or None if the IP was not associated to an IP. |
---|
Associate a floating IP to a fixed_ip by address.
Returns: | the fixed IP record joined to network record or None if the IP was already associated to the fixed IP. |
---|
Get all floating IPs.
Get all floating IPs by host.
Get all floating IPs by project.
Get a floating IP by address or raise if it doesn’t exist.
Get a floating IPs by fixed address.
Get a floating IPs by fixed address.
Returns a list of floating IP pools.
Update a floating IP by address or raise if it doesn’t exist.
Get uuid through ec2 id from instance_id_mappings table.
Associate the given security group with the given instance.
Create an instance from the values dictionary.
Destroy the instance or raise if it does not exist.
Get the instance extra record
Parameters: |
|
---|
Update the instance extra record by instance uuid
Parameters: |
|
---|
Create a new Instance Fault.
Get all instance faults for the provided instance_uuids.
Get all floating IP addresses of an instance.
Get an instance or raise if it does not exist.
Get instances and joins active during a certain time window.
Specifying a project_id will filter for a certain project. Specifying a host will filter for instances on a given compute host.
Get all instances.
Get all instances that match all filters.
Get all instances that match all filters sorted by multiple keys.
sort_keys and sort_dirs must be a list of strings.
Get instances with rules granted to them by a list of secgroups ids.
Get all instances belonging to a host.
Get all instances belonging to a node.
Get all instances belonging to a host with a different type_id.
Get all instances stuck in a rebooting state.
Get an instance or raise if it does not exist.
Create a new group.
Each group will receive a unique uuid. This will be used for access to the group.
Delete an group.
Get a specific group by id.
Get all groups.
Get all groups for a specific project_id.
Get the group an instance is a member of.
Delete a specific member from the group.
Add members to the group.
Get the members from the group.
Update the attributes of an group.
Deletes an existing instance_info_cache record
Parameters: | instance_uuid – = uuid of the instance tied to the cache record |
---|
Gets an instance info cache from the table.
Parameters: | instance_uuid – = uuid of the info cache’s instance |
---|
Update an instance info cache record in the table.
Parameters: |
|
---|
Delete the given metadata item.
Get all metadata for an instance.
Update metadata if it exists, otherwise create it.
Disassociate the given security group from the given instance.
Get all system metadata for an instance.
Update metadata if it exists, otherwise create it.
Add tag to the instance.
Delete specified tag from the instance.
Delete all tags from the instance.
Check if specified tag exist on the instance.
Get all tags for a given instance.
Replace all of the instance tags with specified list of tags.
Set the given properties on an instance and update it.
Raises NotFound if instance does not exist.
Set the given properties on an instance and update it. Return a shallow copy of the original instance reference, as well as the updated one.
Parameters: |
|
---|---|
Returns: | a tuple of the form (old_instance_ref, new_instance_ref) |
Raises NotFound if instance does not exist.
Count number of key pairs for the given user ID.
Create a key_pair from the values dictionary.
Destroy the key_pair or raise if it does not exist.
Get a key_pair or raise if it does not exist.
Get all key_pairs by user.
Create a migration record.
Finds a migration by the id.
Finds all migrations in progress.
Finds a migration by the migration id and the instance uuid.
Finds a migration by the instance uuid its migrating.
Finds all migrations for the given host + node that are not yet confirmed or reverted.
Finds all migrations of an instance in progress.
Finds all unconfirmed migrations within the confirmation window for a specific destination compute host.
Update a migration instance.
Associate a free network to a project.
Return the number of reserved IPs in the network.
Create a network from the values dict.
The network is only returned if the create succeeds. If the create violates constraints because the network already exists, no exception is raised.
Delete network with key network_id.
This method assumes that the network is not associated with any project
Disassociate the network from project or host
Raises if it does not exist.
Get a network or raise if it does not exist.
Return all defined networks.
All networks for which the given host is the network host.
Return networks by ids.
Get all network’s IPs that have been associated.
Get a network by cidr or raise if it does not exist.
Get a network by uuid or raise if it does not exist.
Indicates if a network is currently in use on host.
Safely set the host for network.
Set the given properties on a network and update it.
Raises NotFound if network does not exist.
Return an inequality condition object suitable for use in a constraint.
Not_equal conditions require that a model object’s attribute differs from all of the given values.
Delete a PCI device record.
Get PCI devices allocated to instance.
Get all PCI devices for one host.
Get all PCI devices by parent address.
Get PCI device by address.
Get PCI device by id.
Update a pci device.
Return the network associated with the project.
If associate is true, it will attempt to associate a new network if one is not found, otherwise it returns None.
Add a firewall rule at the provider level (all hosts & instances).
Delete a provider firewall rule from the database.
Get all provider-level firewall rules.
Create a quota class for the given name and resource.
Retrieve a quota class or raise if it does not exist.
Retrieve all quotas associated with a given quota class.
Retrieve all default quotas.
Update a quota class or raise if it does not exist.
Create a quota for the given project and resource.
Destroy all quotas associated with a given project.
Destroy all quotas associated with a given project and user.
Retrieve a quota or raise if it does not exist.
Retrieve all user quotas associated with a given project.
Retrieve all quotas associated with a given project.
Retrieve all quotas associated with a given project and user.
Check quotas and create appropriate reservations.
Update a quota or raise if it does not exist.
Retrieve a quota usage or raise if it does not exist.
Retrieve all usage associated with a given resource.
Retrieve all usage associated with a given resource.
Update a quota usage or raise if it does not exist.
Commit quota reservations.
Roll back any expired reservations.
Roll back quota reservations.
Create local s3 image represented by provided uuid.
Find local s3 image represented by the provided id.
Find local s3 image represented by the provided uuid.
Create a new security group.
Deletes a security group.
Ensure default security group exists for a project_id.
Returns a tuple with the first element being a bool indicating if the default security group previously existed. Second element is the dict used to create the default security group.
Get security group by its id.
Get all security groups.
Get security groups to which the instance is assigned.
Returns a security group with the specified name from a project.
Get all security groups belonging to a project.
Indicates if a security group is currently in use.
Count rules in a given security group.
Create a new security group.
Deletes a security group rule.
Gets a security group rule.
Get all rules for a given instance.
Get all rules for a given security group.
Update a security group.
Decorator to select synchronous or asynchronous reader mode.
The kwarg argument ‘use_slave’ defines reader mode. Asynchronous reader will be used if ‘use_slave’ is True and synchronous reader otherwise.
Create a service from the values dictionary.
Destroy the service or raise if it does not exist.
Get a service or raise if it does not exist.
Get all services.
Get services for a given binary.
Includes disabled services if ‘include_disabled’ parameter is True
Get all services for a given host.
Get all services for a given topic.
Get the service entry for a given compute host.
Returns the service entry joined with the compute_node entry.
Get a service by hostname and binary.
Get a service by hostname and topic it listens to.
Get the minimum service version in the database.
Set the given properties on a service and update it.
Raises NotFound if service does not exist.
Mark a task as started for a given host/time period.
Mark a task as complete for a given host/time period.
Create a virtual interface record in the database.
Delete virtual interface records associated with instance.
Gets a virtual interface from the table.
Gets all virtual interfaces from the table.
Gets a virtual interface from the table filtering on address.
Gets all virtual_interfaces for instance.
Gets all virtual interfaces for instance.
Gets a virtual interface from the table filtering on vif uuid.
Return volumes usage that have been updated after a specified time.
Update cached volume usage for a volume
Creates new record if needed.