Nova/Juno-Specs

api, ops

 * API v3: Add x-openstack-request-id header: Move to the OpenStack standard name for the request id header, in a backward compatable manner launchpad: spec:

internal

 * Allow DB migration backports to Icehouse: Reserve 10 sql schema version numbers for backports of Juno migrations to Icehouse launchpad: spec:
 * Stop using the scheduler run_instance method: Previously the scheduler would select a host, and then boot the instance. Instead, let the scheduler select hosts, but then return those so the caller boots the instance. This will make it easier to move the scheduler to being a generic service instead of being internal to nova launchpad: spec:
 * Refactor network API: Refactor the internal nova API to make the nova-network and neutron implementations more consistent launchpad: spec:


 * Set ipxe url as image metadata instead of config option: Move xenapi_ipxe_boot_menu_url to a image property so that it is user configurable launchpad: spec:

api

 * Servers list API support specify multi-status: Allow callers to specify more than one status to filter by when listing services launchpad: spec:
 * CreateVM supports subnet specified: Allow instance creation to specify the subnet-id of networks launchpad: spec:
 * V3 Diagnostics - common output: Provide a standard format for the output of the VM diagnostics call launchpad: spec:
 * Nova REST API Sorting Enhancements: Allow users of /servers and /servers/detail specify the sorting and direction of the results launchpad: spec:
 * Nova Server Count API Extension: Adds an extension which returns a count of the number of servers that match a specified search criteria launchpad: spec:
 * Tags support in EC2 API for volumes and volume snapshots: Expose cinder metadata as tags in the EC2 api launchpad: spec:
 * Return hypervisor node status: Include status information in API listings of hypervisor hosts launchpad: spec:
 * Add ALL-IN operator to extra spec ops: Allow extra spec to match all values in a list by adding the ALL-IN operator launchpad: spec:

api, internal

 * Create JSON Schema definitions for Nova v3 API: Use JSON schema to strongly validate v3 API request bodies launchpad: spec:

api, ops

 * API v3: Add x-openstack-request-id header: Move to the OpenStack standard name for the request id header, in a backward compatable manner launchpad: spec:
 * Log Request ID Mappings: Log the mapping between a nova request id and the request ids of systems calls by nova while serving that request launchpad: spec:

db

 * Add Support for DB2 (v10.5+): Add support for DB2 as a sql storage engine launchpad: spec:

feature

 * Persistent resource claims: Keep resource claims as persistent to across nova-compute restart launchpad: spec:
 * Allow image to be specified during rescue: Allow users to specify an image to use for rescue instead of the original base image launchpad: spec:
 * Scheduler: Adds per-aggregate filters: Add support for host aggregates to filters launchpad: spec:
 * Add a virt driver for Ironic: the process for integrating the ironic driver into nova launchpad: spec:
 * Virt driver guest vCPU topology configuration: Give users and administrators the ability to control the vCPU topology exposed to guests via flavors launchpad: spec:
 * Strictly isolate group of hosts for an image: Allow an operator to schedule instances for a specific image on a pre-defined group of hosts. In addition, he wants to strictly isolate this group of hosts for the image only and accept images without key scheduled to other hosts. launchpad: spec:

feature, libvirt

 * Libvirt - Start LXC from a block device: Allow LXC containers managed via libvirt to boot from volumes launchpad: spec:

feature, libvirt, performance

 * Add virtio-scsi bus support for block device mapping: Add boot from volume support for virtio-scsi, a new para-virtualized device type for libvirt kvm instances with better performance launchpad: spec:

feature, nfv

 * PCI SR-IOV passthrough to nova instance: Enable nova instance to be booted up with SR-IOV neutron ports launchpad: spec:

hyper-v

 * Add differencing vhdx resize support in Hyper-V Driver: Add support for differencing vhdx images launchpad: spec:

internal

 * Virt Driver Objects Support (Juno Work): Continuing work to implement our new object model. This positions us to better support upgrades in the future, but is internal work for now. launchpad: spec:
 * Support subclassing objects: Continuing work to implement our new object model. This positions us to better support upgrades in the future, but is internal work for now. launchpad: spec:
 * Move allocation ratios to resource tracker: Move the definition and calculation of allocation ratios out of the scheduler and into the resource tracker launchpad: spec:
 * Make Resource Tracker Use Objects: Continuing work to implement our new object model. This positions us to better support upgrades in the future, but is internal work for now. launchpad: spec:
 * Enforce unique instance uuid in data model: Enforce in our SQL database that instance uuids are genuinely unique launchpad: spec:
 * Refactor network API: Refactor the internal nova API to make the nova-network and neutron implementations more consistent launchpad: spec:
 * Allow DB migration backports to Icehouse: Reserve 10 sql schema version numbers for backports of Juno migrations to Icehouse launchpad: spec:
 * Standardize Nova Image: Refactor nova's image support to have a pluggable internal API launchpad: spec:
 * Create Scheduler Python Library: Refactor the nova scheduler into being a library. This will make splitting the scheduler out into its own service later easier launchpad: spec:
 * Stop using the scheduler run_instance method: Previously the scheduler would select a host, and then boot the instance. Instead, let the scheduler select hosts, but then return those so the caller boots the instance. This will make it easier to move the scheduler to being a generic service instead of being internal to nova launchpad: spec:
 * Cinder Client V2 Support: Move nova to using the v2 cinder API launchpad: spec:
 * Extensible Resource Tracking: The set of resources tracked by nova is hard coded. This change makes that extensible, which will allow plugins to track new types of resources for scheduling launchpad: spec:

internal, libvirt

 * Virt driver guest NUMA node placement & topology: Enhance the libvirt driver to be able to do intelligent NUMA node placement for instances launchpad: spec:
 * Use libvirt Storage Pools: Implement support for libvirt's storage pools in the libvirt driver, this should simplify adding support for new image backends launchpad: spec:

internal, ops

 * Compute Manager Objects Support (Juno Work): Continuing work to implement our new object model. This positions us to better support upgrades in the future, but is internal work for now. launchpad: spec:
 * Convert EC2 API to use nova objects: Continuing work to implement our new object model. This positions us to better support upgrades in the future, but is internal work for now. launchpad: spec:

internal, vmware

 * VMware Spawn Refactor: Refactor the vmware driver's spawn functionality to be more maintainable launchpad: spec:
 * Integrate the vmware driver with the oslo.vmware library: Move the vmware driver to using the oslo vmware helper library launchpad: spec:

internationalization

 * i18n Enablement for Nova: Turn on the lazy translation support from Oslo i18n and updating Nova to adhere to the restrictions this adds to translatable strings launchpad: spec:

libvirt

 * Speedup listing of domains in libvirt driver: Performance improvements to listing instances on modern libvirts launchpad: spec:
 * I/O (PCIe) based NUMA scheduling: Add support for intelligent NUMA node placement for guests that have been assigned a host PCI device launchpad: spec:
 * Volume Snapshots for Network-Backed Disks: Allow snapshots of network backed disks launchpad: spec:
 * Quiescing filesystems with QEMU guest agent during image snapshotting: When QEMU Guest Agent is installed in a kvm instance, we can request the instance to freeze filesystems via libvirt during snapshotting to make the snapshot consistent. launchpad: spec:
 * Support Sheepdog ephemeral disks for libvirt driver: Complete support for sheepdog as a storage backend for libvirt instances launchpad: spec:

libvirt, ops

 * Support Console Log migration during Live-migration: Copy console logs to the destination host during live migration launchpad: spec:

nova-network, ops

 * Better Support for Multiple Networks in nova-network: Improve the nova-network code to allow per-network settings launchpad: spec:

ops

 * API: Evacuate instance to a scheduled host: Allow a host to be evacuated, but with the scheduler selecting destination hosts for the instances moved launchpad: spec:
 * Nova logs shouldn't have ERRORs or TRACEs in them: Nova logs should be readable, sensible, and contain only errors and traces in exceptional situations. launchpad: spec:
 * Change compute updates from periodic to on demand: Only update the status of a host in the sql database when the status changes, instead of every 60 seconds launchpad: spec:
 * Make key manager interface interoperable with Barbican: Add support for barbican as a key manager for volume encryption launchpad: spec:
 * Add hook for update_instance_cache_with_nw_info: Allow deployers to add hooks which are informed as soon as networking information for an instance is changed launchpad: spec:
 * Config drive based on image property: Allow images to specify if a config drive should be used launchpad: spec:
 * Enable cold migration with target host: Allow operators to cold migration instances with a target host manually launchpad: spec:
 * More periodic tasks to slave for Juno: Offload periodic task sql query load to a slave sql server if one is configured launchpad: spec:

vmware

 * VMware Ephemeral Disk Support: Add support for ephemeral disks to the vmware driver launchpad: spec:
 * VMware: Support for vSAN Datastores: Add support for vSAN style data stores launchpad: spec:
 * VMware: Support spawning from OVA images: Support starting instances from OVA format images launchpad: spec:
 * VMware: support for vif hotplug: Add support for network interface hot plugging to vmware launchpad: spec: