Use OpenStack Compute to host and manage cloud computing systems. OpenStack Compute is a major part of an Infrastructure-as-a-Service (IaaS) system. The main modules are implemented in Python.
OpenStack Compute interacts with OpenStack Identity for authentication; OpenStack Image service for disk and server images; and OpenStack Dashboard for the user and administrative interface. Image access is limited by projects, and by users; quotas are limited per project (the number of instances, for example). OpenStack Compute can scale horizontally on standard hardware, and download images to launch instances.
OpenStack Compute consists of the following areas and their components:
nova-api-metadataservice is generally used when you run in multi-host mode with
nova-networkinstallations. For details, see Metadata service in the OpenStack Administrator Guide.
A worker daemon that creates and terminates virtual machine instances through hypervisor APIs. For example:
Processing is fairly complex. Basically, the daemon accepts actions from the queue and performs a series of system commands such as launching a KVM instance and updating its state in the database.
nova-computeservice and the database. It eliminates direct accesses to the cloud database made by the
nova-conductormodule scales horizontally. However, do not deploy it on nodes where the
nova-computeservice runs. For more information, see Configuration Reference Guide.
euca-bundle-image. Only needed for the EC2 API.
nova-xvpvncproxy. This service must be running for console proxies to work. You can run proxies of either type against a single nova-consoleauth service in a cluster configuration. For information, see About nova-consoleauth.
Stores most build-time and run-time states for a cloud infrastructure, including:
Theoretically, OpenStack Compute can support any database that SQLAlchemy supports. Common databases are SQLite3 for test and development work, MySQL, MariaDB, and PostgreSQL.