Defines interface for DB access.
The underlying driver is loaded as a LazyPluggable.
Related Flags
db_backend: | string to lookup in the list of LazyPluggable backends.
sqlalchemy is the only supported backend right now. |
sql_connection: | string specifying the sqlalchemy connection to use, like:
sqlite:///var/lib/nova/nova.sqlite. |
enable_new_services: |
| when adding a new service to the database, is it in the
pool of available hardware (Default: True) |
-
exception nova.db.api.NoMoreAddresses(message=None)
Bases: nova.exception.Error
No more available addresses.
-
exception nova.db.api.NoMoreBlades(message=None)
Bases: nova.exception.Error
No more available blades.
-
exception nova.db.api.NoMoreNetworks(message=None)
Bases: nova.exception.Error
No more available networks.
-
exception nova.db.api.NoMoreTargets(message=None)
Bases: nova.exception.Error
No more available blades
-
nova.db.api.auth_token_create(context, token)
Creates a new token.
-
nova.db.api.auth_token_destroy(context, token_id)
Destroy an auth token.
-
nova.db.api.auth_token_get(context, token_hash)
Retrieves a token given the hash representing it.
-
nova.db.api.auth_token_update(context, token_hash, values)
Updates a token given the hash representing it.
-
nova.db.api.certificate_create(context, values)
Create a certificate from the values dictionary.
-
nova.db.api.certificate_destroy(context, certificate_id)
Destroy the certificate or raise if it does not exist.
-
nova.db.api.certificate_get_all_by_project(context, project_id)
Get all certificates for a project.
-
nova.db.api.certificate_get_all_by_user(context, user_id)
Get all certificates for a user.
-
nova.db.api.certificate_get_all_by_user_and_project(context, user_id, project_id)
Get all certificates for a user and project.
-
nova.db.api.certificate_update(context, certificate_id, values)
Set the given properties on an certificate and update it.
Raises NotFound if service does not exist.
-
nova.db.api.compute_node_create(context, values)
Create a computeNode from the values dictionary.
-
nova.db.api.compute_node_get(context, compute_id, session=None)
Get an computeNode or raise if it does not exist.
-
nova.db.api.compute_node_update(context, compute_id, values)
Set the given properties on an computeNode and update it.
Raises NotFound if computeNode does not exist.
-
nova.db.api.console_create(context, values)
Create a console.
-
nova.db.api.console_delete(context, console_id)
Delete a console.
-
nova.db.api.console_get(context, console_id, instance_id=None)
Get a specific console (possibly on a given instance).
-
nova.db.api.console_get_all_by_instance(context, instance_id)
Get consoles for a given instance.
-
nova.db.api.console_get_by_pool_instance(context, pool_id, instance_id)
Get console entry for a given instance and pool.
-
nova.db.api.console_pool_create(context, values)
Create console pool.
-
nova.db.api.console_pool_get(context, pool_id)
Get a console pool.
-
nova.db.api.console_pool_get_all_by_host_type(context, host, console_type)
Fetch all pools for given proxy host and type.
-
nova.db.api.console_pool_get_by_host_type(context, compute_host, proxy_host, console_type)
Fetch a console pool for a given proxy host, compute host, and type.
-
nova.db.api.export_device_count(context)
Return count of export devices.
-
nova.db.api.export_device_create_safe(context, values)
Create an export_device from the values dictionary.
The device is not returned. If the create violates the unique
constraints because the shelf_id and blade_id already exist,
no exception is raised.
-
nova.db.api.fixed_ip_associate(context, address, instance_id)
Associate fixed ip to instance.
Raises if fixed ip is not available.
-
nova.db.api.fixed_ip_associate_pool(context, network_id, instance_id)
Find free ip in network and associate it to instance.
Raises if one is not available.
-
nova.db.api.fixed_ip_create(context, values)
Create a fixed ip from the values dictionary.
-
nova.db.api.fixed_ip_disassociate(context, address)
Disassociate a fixed ip from an instance by address.
-
nova.db.api.fixed_ip_disassociate_all_by_timeout(context, host, time)
Disassociate old fixed ips from host.
-
nova.db.api.fixed_ip_get_all(context)
Get all defined fixed ips.
-
nova.db.api.fixed_ip_get_all_by_host(context, host)
Get all defined fixed ips used by a host.
-
nova.db.api.fixed_ip_get_all_by_instance(context, instance_id)
Get fixed ips by instance or raise if none exist.
-
nova.db.api.fixed_ip_get_by_address(context, address)
Get a fixed ip by address or raise if it does not exist.
-
nova.db.api.fixed_ip_get_instance(context, address)
Get an instance for a fixed ip by address.
-
nova.db.api.fixed_ip_get_instance_v6(context, address)
-
nova.db.api.fixed_ip_get_network(context, address)
Get a network for a fixed ip by address.
-
nova.db.api.fixed_ip_update(context, address, values)
Create a fixed ip from the values dictionary.
-
nova.db.api.floating_ip_allocate_address(context, host, project_id)
Allocate free floating ip and return the address.
Raises if one is not available.
-
nova.db.api.floating_ip_count_by_project(context, project_id)
Count floating ips used by project.
-
nova.db.api.floating_ip_create(context, values)
Create a floating ip from the values dictionary.
-
nova.db.api.floating_ip_deallocate(context, address)
Deallocate an floating ip by address
-
nova.db.api.floating_ip_destroy(context, address)
Destroy the floating_ip or raise if it does not exist.
-
nova.db.api.floating_ip_disassociate(context, address)
Disassociate an floating ip from a fixed ip by address.
Returns the address of the existing fixed ip.
-
nova.db.api.floating_ip_fixed_ip_associate(context, floating_address, fixed_address)
Associate an floating ip to a fixed_ip by address.
-
nova.db.api.floating_ip_get_all(context)
Get all floating ips.
-
nova.db.api.floating_ip_get_all_by_host(context, host)
Get all floating ips by host.
-
nova.db.api.floating_ip_get_all_by_project(context, project_id)
Get all floating ips by project.
-
nova.db.api.floating_ip_get_by_address(context, address)
Get a floating ip by address or raise if it doesn’t exist.
-
nova.db.api.floating_ip_update(context, address, values)
Update a floating ip by address or raise if it doesn’t exist.
-
nova.db.api.host_get_networks(context, host)
Return all networks for which the given host is the designated
network host.
-
nova.db.api.instance_action_create(context, values)
Create an instance action from the values dictionary.
-
nova.db.api.instance_add_security_group(context, instance_id, security_group_id)
Associate the given security group with the given instance.
-
nova.db.api.instance_create(context, values)
Create an instance from the values dictionary.
-
nova.db.api.instance_data_get_for_project(context, project_id)
Get (instance_count, core_count) for project.
-
nova.db.api.instance_destroy(context, instance_id)
Destroy the instance or raise if it does not exist.
-
nova.db.api.instance_get(context, instance_id)
Get an instance or raise if it does not exist.
-
nova.db.api.instance_get_actions(context, instance_id)
Get instance actions by instance id.
-
nova.db.api.instance_get_all(context)
Get all instances.
-
nova.db.api.instance_get_all_by_host(context, host)
Get all instance belonging to a host.
-
nova.db.api.instance_get_all_by_project(context, project_id)
Get all instance belonging to a project.
-
nova.db.api.instance_get_all_by_reservation(context, reservation_id)
Get all instance belonging to a reservation.
-
nova.db.api.instance_get_all_by_user(context, user_id)
Get all instances.
-
nova.db.api.instance_get_disk_sum_by_host_and_project(context, hostname, proj_id)
Get total amount of disk by host and project.
-
nova.db.api.instance_get_fixed_address(context, instance_id)
Get the fixed ip address of an instance.
-
nova.db.api.instance_get_fixed_address_v6(context, instance_id)
-
nova.db.api.instance_get_floating_address(context, instance_id)
Get the first floating ip address of an instance.
-
nova.db.api.instance_get_memory_sum_by_host_and_project(context, hostname, proj_id)
Get amount of memory by host and project.
-
nova.db.api.instance_get_project_vpn(context, project_id)
Get a vpn instance by project or return None.
-
nova.db.api.instance_get_vcpu_sum_by_host_and_project(context, hostname, proj_id)
Get instances.vcpus by host and project.
-
nova.db.api.instance_is_vpn(context, instance_id)
True if instance is a vpn.
-
nova.db.api.instance_metadata_delete(context, instance_id, key)
Delete the given metadata item
-
nova.db.api.instance_metadata_get(context, instance_id)
Get all metadata for an instance
-
nova.db.api.instance_metadata_update_or_create(context, instance_id, metadata)
Create or update instance metadata
-
nova.db.api.instance_set_state(context, instance_id, state, description=None)
Set the state of an instance.
-
nova.db.api.instance_type_create(context, values)
Create a new instance type
-
nova.db.api.instance_type_destroy(context, name)
Delete a instance type
-
nova.db.api.instance_type_get_all(context, inactive=False)
Get all instance types
-
nova.db.api.instance_type_get_by_flavor_id(context, id)
Get instance type by name
-
nova.db.api.instance_type_get_by_id(context, id)
Get instance type by id
-
nova.db.api.instance_type_get_by_name(context, name)
Get instance type by name
-
nova.db.api.instance_type_purge(context, name)
Purges (removes) an instance type from DB
Use instance_type_destroy for most cases
-
nova.db.api.instance_update(context, instance_id, values)
Set the given properties on an instance and update it.
Raises NotFound if instance does not exist.
-
nova.db.api.iscsi_target_count_by_host(context, host)
Return count of export devices.
-
nova.db.api.iscsi_target_create_safe(context, values)
Create an iscsi_target from the values dictionary.
The device is not returned. If the create violates the unique
constraints because the iscsi_target and host already exist,
no exception is raised.
-
nova.db.api.key_pair_create(context, values)
Create a key_pair from the values dictionary.
-
nova.db.api.key_pair_destroy(context, user_id, name)
Destroy the key_pair or raise if it does not exist.
-
nova.db.api.key_pair_destroy_all_by_user(context, user_id)
Destroy all key_pairs by user.
-
nova.db.api.key_pair_get(context, user_id, name)
Get a key_pair or raise if it does not exist.
-
nova.db.api.key_pair_get_all_by_user(context, user_id)
Get all key_pairs by user.
-
nova.db.api.migration_create(context, values)
Create a migration record
-
nova.db.api.migration_get(context, migration_id)
Finds a migration by the id
-
nova.db.api.migration_get_by_instance_and_status(context, instance_id, status)
Finds a migration by the instance id its migrating
-
nova.db.api.migration_update(context, id, values)
Update a migration instance
-
nova.db.api.network_associate(context, project_id)
Associate a free network to a project.
-
nova.db.api.network_count(context)
Return the number of networks.
-
nova.db.api.network_count_allocated_ips(context, network_id)
Return the number of allocated non-reserved ips in the network.
-
nova.db.api.network_count_available_ips(context, network_id)
Return the number of available ips in the network.
-
nova.db.api.network_count_reserved_ips(context, network_id)
Return the number of reserved ips in the network.
-
nova.db.api.network_create_fixed_ips(context, network_id, num_vpn_clients)
Create the ips for the network, reserving sepecified ips.
-
nova.db.api.network_create_safe(context, values)
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.
-
nova.db.api.network_delete_safe(context, network_id)
Delete network with key network_id.
This method assumes that the network is not associated with any project
-
nova.db.api.network_disassociate(context, network_id)
Disassociate the network from project or raise if it does not exist.
-
nova.db.api.network_disassociate_all(context)
Disassociate all networks from projects.
-
nova.db.api.network_get(context, network_id)
Get an network or raise if it does not exist.
-
nova.db.api.network_get_all(context)
Return all defined networks.
-
nova.db.api.network_get_all_by_instance(context, instance_id)
Get all networks by instance id or raise if none exist.
-
nova.db.api.network_get_associated_fixed_ips(context, network_id)
Get all network’s ips that have been associated.
-
nova.db.api.network_get_by_bridge(context, bridge)
Get a network by bridge or raise if it does not exist.
-
nova.db.api.network_get_by_cidr(context, cidr)
Get a network by cidr or raise if it does not exist
-
nova.db.api.network_get_by_instance(context, instance_id)
Get a network by instance id or raise if it does not exist.
-
nova.db.api.network_get_index(context, network_id)
Get non-conflicting index for network.
-
nova.db.api.network_get_vpn_ip(context, network_id)
Get non-conflicting index for network.
-
nova.db.api.network_set_cidr(context, network_id, cidr)
Set the Classless Inner Domain Routing for the network.
-
nova.db.api.network_set_host(context, network_id, host_id)
Safely set the host for network.
-
nova.db.api.network_update(context, network_id, values)
Set the given properties on an network and update it.
Raises NotFound if network does not exist.
-
nova.db.api.project_add_member(context, project_id, user_id)
Add user to project.
-
nova.db.api.project_create(context, values)
Create a new project.
-
nova.db.api.project_delete(context, project_id)
Delete project.
-
nova.db.api.project_get(context, id)
Get project by id.
-
nova.db.api.project_get_all(context)
Get all projects.
-
nova.db.api.project_get_by_user(context, user_id)
Get all projects of which the given user is a member.
-
nova.db.api.project_get_network(context, project_id, associate=True)
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.
-
nova.db.api.project_get_network_v6(context, project_id)
-
nova.db.api.project_remove_member(context, project_id, user_id)
Remove the given user from the given project.
-
nova.db.api.project_update(context, project_id, values)
Update Remove the given user from the given project.
-
nova.db.api.queue_get_for(context, topic, physical_node_id)
Return a channel to send a message to a node with a topic.
-
nova.db.api.quota_create(context, values)
Create a quota from the values dictionary.
-
nova.db.api.quota_destroy(context, project_id)
Destroy the quota or raise if it does not exist.
-
nova.db.api.quota_get(context, project_id)
Retrieve a quota or raise if it does not exist.
-
nova.db.api.quota_update(context, project_id, values)
Update a quota from the values dictionary.
-
nova.db.api.security_group_create(context, values)
Create a new security group.
-
nova.db.api.security_group_destroy(context, security_group_id)
Deletes a security group.
-
nova.db.api.security_group_destroy_all(context)
Deletes a security group.
-
nova.db.api.security_group_exists(context, project_id, group_name)
Indicates if a group name exists in a project.
-
nova.db.api.security_group_get(context, security_group_id)
Get security group by its id.
-
nova.db.api.security_group_get_all(context)
Get all security groups.
-
nova.db.api.security_group_get_by_instance(context, instance_id)
Get security groups to which the instance is assigned.
-
nova.db.api.security_group_get_by_name(context, project_id, group_name)
Returns a security group with the specified name from a project.
-
nova.db.api.security_group_get_by_project(context, project_id)
Get all security groups belonging to a project.
-
nova.db.api.security_group_rule_create(context, values)
Create a new security group.
-
nova.db.api.security_group_rule_destroy(context, security_group_rule_id)
Deletes a security group rule.
-
nova.db.api.security_group_rule_get_by_security_group(context, security_group_id)
Get all rules for a a given security group.
-
nova.db.api.security_group_rule_get_by_security_group_grantee(context, security_group_id)
Get all rules that grant access to the given security group.
-
nova.db.api.service_create(context, values)
Create a service from the values dictionary.
-
nova.db.api.service_destroy(context, instance_id)
Destroy the service or raise if it does not exist.
-
nova.db.api.service_get(context, service_id)
Get a service or raise if it does not exist.
-
nova.db.api.service_get_all(context, disabled=None)
Get all services.
-
nova.db.api.service_get_all_by_host(context, host)
Get all services for a given host.
-
nova.db.api.service_get_all_by_topic(context, topic)
Get all services for a given topic.
-
nova.db.api.service_get_all_compute_by_host(context, host)
Get all compute services for a given host.
-
nova.db.api.service_get_all_compute_sorted(context)
Get all compute services sorted by instance count.
Returns a list of (Service, instance_count) tuples.
-
nova.db.api.service_get_all_network_sorted(context)
Get all network services sorted by network count.
Returns a list of (Service, network_count) tuples.
-
nova.db.api.service_get_all_volume_sorted(context)
Get all volume services sorted by volume count.
Returns a list of (Service, volume_count) tuples.
-
nova.db.api.service_get_by_args(context, host, binary)
Get the state of an service by node name and binary.
-
nova.db.api.service_get_by_host_and_topic(context, host, topic)
Get a service by host it’s on and topic it listens to
-
nova.db.api.service_update(context, service_id, values)
Set the given properties on an service and update it.
Raises NotFound if service does not exist.
-
nova.db.api.user_add_project_role(context, user_id, project_id, role)
Add project role for user.
-
nova.db.api.user_add_role(context, user_id, role)
Add another global role for user.
-
nova.db.api.user_create(context, values)
Create a new user.
-
nova.db.api.user_delete(context, id)
Delete a user.
-
nova.db.api.user_get(context, id)
Get user by id.
-
nova.db.api.user_get_all(context)
Create a new user.
-
nova.db.api.user_get_by_access_key(context, access_key)
Get user by access key.
-
nova.db.api.user_get_by_uid(context, uid)
Get user by uid.
-
nova.db.api.user_get_roles(context, user_id)
Get global roles for user.
-
nova.db.api.user_get_roles_for_project(context, user_id, project_id)
Return list of roles a user holds on project.
-
nova.db.api.user_remove_project_role(context, user_id, project_id, role)
Remove project role from user.
-
nova.db.api.user_remove_role(context, user_id, role)
Remove global role from user.
-
nova.db.api.user_update(context, user_id, values)
Update user.
-
nova.db.api.volume_allocate_iscsi_target(context, volume_id, host)
Atomically allocate a free iscsi_target from the pool.
-
nova.db.api.volume_allocate_shelf_and_blade(context, volume_id)
Atomically allocate a free shelf and blade from the pool.
-
nova.db.api.volume_attached(context, volume_id, instance_id, mountpoint)
Ensure that a volume is set as attached.
-
nova.db.api.volume_create(context, values)
Create a volume from the values dictionary.
-
nova.db.api.volume_data_get_for_project(context, project_id)
Get (volume_count, gigabytes) for project.
-
nova.db.api.volume_destroy(context, volume_id)
Destroy the volume or raise if it does not exist.
-
nova.db.api.volume_detached(context, volume_id)
Ensure that a volume is set as detached.
-
nova.db.api.volume_get(context, volume_id)
Get a volume or raise if it does not exist.
-
nova.db.api.volume_get_all(context)
Get all volumes.
-
nova.db.api.volume_get_all_by_host(context, host)
Get all volumes belonging to a host.
-
nova.db.api.volume_get_all_by_instance(context, instance_id)
Get all volumes belonging to a instance.
-
nova.db.api.volume_get_all_by_project(context, project_id)
Get all volumes belonging to a project.
-
nova.db.api.volume_get_by_ec2_id(context, ec2_id)
Get a volume by ec2 id.
-
nova.db.api.volume_get_instance(context, volume_id)
Get the instance that a volume is attached to.
-
nova.db.api.volume_get_iscsi_target_num(context, volume_id)
Get the target num (tid) allocated to the volume.
-
nova.db.api.volume_get_shelf_and_blade(context, volume_id)
Get the shelf and blade allocated to the volume.
-
nova.db.api.volume_update(context, volume_id, values)
Set the given properties on an volume and update it.
Raises NotFound if volume does not exist.
-
nova.db.api.zone_create(context, values)
Create a new child Zone entry.
-
nova.db.api.zone_delete(context, zone_id)
Delete a child Zone.
-
nova.db.api.zone_get(context, zone_id)
Get a specific child Zone.
-
nova.db.api.zone_get_all(context)
Get all child Zones.
-
nova.db.api.zone_update(context, zone_id, values)
Update a child Zone entry.