NovaManageDBAnalysis

= nova-manage DB analysis =

Analysis of the direct database usage by nova-manage. A place to keep information about where nova-manage is directly manipulating the database and extra Nova APIs that we will need in order in order to stop doing this. The blueprint for this work is here https://blueprints.launchpad.net/nova/+spec/apis-for-nova-manage

Direct/Indirect DB calls by nova-manage command
{| border="1" cellpadding="2" cellspacing="0"
 * Command
 * Subcommand
 * DB calls
 * account/project
 * quota
 * db.quota_update, db.quota_create, get_project_quotas
 * scrub
 * db.project_get_networks, db.network_disassociate
 * agent
 * create
 * db.agent_build_create
 * delete
 * db.agent_build_get_by_triple, db.agent_build_destroy
 * list
 * db.agent_build_get_all
 * modify
 * db.agent_build_get_by_triple, db.agent_build_update
 * db
 * sync
 * migration.db_sync
 * version
 * migration.db_version
 * fixed
 * list
 * db.fixed_ip_get_all db.fixed_ip_get_all_by_instance_host db.instance_get_all
 * reserve/unreserve/_set_reserved
 * db.fixed_ip_get_by_address db.fixed_ip_update
 * flavor / instance_type
 * create
 * instance_types.create
 * delete
 * instance_types.destroy
 * list
 * instance_types.get_all_types instance_types.get_instance_type_by_name
 * set_key
 * instance_types.get_instance_type_by_name db.instance_type_extra_specs_update_or_create
 * unset_key
 * instance_types.get_instance_type_by_name db.instance_type_extra_specs_delete
 * floating
 * create
 * db.floating_ip_bulk_create
 * delete
 * list
 * db.floating_ip_get_all db.floating_ip_get_all_by_host
 * host
 * list
 * db.service_get_all
 * logs
 * network
 * create
 * netmanager.create_networks
 * list
 * db.network_get_all
 * delete
 * netmanager.delete_network
 * modify
 * db.network_get_by_cidr db.network_update
 * service
 * list
 * db.service_get_all
 * enable
 * db.service_get_by_args db.service_update
 * disable
 * db.service_get_by_args db.service_update
 * describe_resource
 * shell
 * sm
 * flavor_list
 * db.sm_flavor_get_all db.sm_flavor_get
 * flavor_create
 * db.sm_flavor_create
 * flavor_delete
 * db.sm_flavor_delete
 * backend_list
 * db.sm_backend_conf_get_all db.sm_backend_conf_get
 * backend_add
 * db.sm_backend_conf_get_by_sr db.sm_backend_conf_update db.sm_flavor_get_by_label db.sm_backend_conf_create db.sm_backend_conf_delete
 * version
 * vm
 * list
 * db.instance_get_all db.instance_get_all_by_host
 * volume
 * reattach
 * db.instance_get, db.volume_get
 * vpn
 * change
 * db.project_get_networks db.network_update
 * network
 * create
 * netmanager.create_networks
 * list
 * db.network_get_all
 * delete
 * netmanager.delete_network
 * modify
 * db.network_get_by_cidr db.network_update
 * service
 * list
 * db.service_get_all
 * enable
 * db.service_get_by_args db.service_update
 * disable
 * db.service_get_by_args db.service_update
 * describe_resource
 * shell
 * sm
 * flavor_list
 * db.sm_flavor_get_all db.sm_flavor_get
 * flavor_create
 * db.sm_flavor_create
 * flavor_delete
 * db.sm_flavor_delete
 * backend_list
 * db.sm_backend_conf_get_all db.sm_backend_conf_get
 * backend_add
 * db.sm_backend_conf_get_by_sr db.sm_backend_conf_update db.sm_flavor_get_by_label db.sm_backend_conf_create db.sm_backend_conf_delete
 * version
 * vm
 * list
 * db.instance_get_all db.instance_get_all_by_host
 * volume
 * reattach
 * db.instance_get, db.volume_get
 * vpn
 * change
 * db.project_get_networks db.network_update
 * flavor_create
 * db.sm_flavor_create
 * flavor_delete
 * db.sm_flavor_delete
 * backend_list
 * db.sm_backend_conf_get_all db.sm_backend_conf_get
 * backend_add
 * db.sm_backend_conf_get_by_sr db.sm_backend_conf_update db.sm_flavor_get_by_label db.sm_backend_conf_create db.sm_backend_conf_delete
 * version
 * vm
 * list
 * db.instance_get_all db.instance_get_all_by_host
 * volume
 * reattach
 * db.instance_get, db.volume_get
 * vpn
 * change
 * db.project_get_networks db.network_update
 * vm
 * list
 * db.instance_get_all db.instance_get_all_by_host
 * volume
 * reattach
 * db.instance_get, db.volume_get
 * vpn
 * change
 * db.project_get_networks db.network_update
 * db.instance_get, db.volume_get
 * vpn
 * change
 * db.project_get_networks db.network_update
 * db.project_get_networks db.network_update