OpenStack Nova is the compute service component of the OpenStack cloud platform, functioning as a cloud computing fabric controller that manages virtual machine lifecycle and resource allocation across heterogeneous infrastructure. The project serves as a critical component in OpenStack's Infrastructure-as-a-Service platform, enabling multi-tenant cloud computing through abstraction of underlying hypervisor technologies and resource scheduling mechanisms.
Nova's architecture supports a wide variety of compute technologies through hypervisor abstraction, including libvirt-based solutions such as KVM, Xen, and LXC, as well as VMware environments and OpenStack Ironic for bare metal provisioning. This multi-hypervisor support allows operators to deploy Nova across diverse infrastructure environments while maintaining consistent APIs and management interfaces. The service handles instance management, VM lifecycle operations, and the orchestration of compute resources across distributed cloud environments.
The repository is written in Python and maintained as a mirror of code hosted at opendev.org, reflecting OpenStack's distributed development model. Nova provides comprehensive API interfaces for both application developers and cloud operators, with detailed documentation available through the Compute API Guide and Compute API Reference. The API layer enables programmatic control over virtual machine provisioning, configuration, and management, supporting the broader OpenStack ecosystem of tools and SDKs.
From an operational perspective, Nova handles critical infrastructure concerns including high availability, resource allocation, storage integration, and networking. The service manages VM scheduling across compute nodes, coordinates with storage systems for instance persistence, and integrates with OpenStack's networking components to provide connectivity for virtual machines. These capabilities enable operators to build scalable, resilient cloud platforms capable of supporting production workloads.
The project maintains active development processes aligned with OpenStack's community governance model. Development contributions follow guidelines documented in HACKING.rst and CONTRIBUTING.rst files, with all code required to pass unit tests before integration. The Nova community coordinates planning through OpenStack Summits and Project Team Gatherings, with detailed specifications tracked in the Nova Specs repository. This structured approach ensures coordinated feature development and architectural decisions across release cycles.
Bug tracking and issue management occur through Launchpad's bug tracker, with the project encouraging operators using third-party distributions to report issues through their respective vendors' tracking systems. The comprehensive documentation ecosystem includes operator deployment guides, developer resources, and client documentation through python-novaclient, supporting both infrastructure teams deploying Nova and developers building applications on OpenStack clouds.
Nova's classification across multiple infrastructure domains reflects its central role in OpenStack's compute layer, spanning instance management, VM lifecycle management, resource scheduling, hypervisor integration, and API services. The service abstracts underlying virtualization complexity while providing operators with unified management interfaces and developers with standardized APIs for cloud resource provisioning and control.