Change-Id: Id6a084a9c8f910a16cc12b102c4cb51f1691e12e
4.5 KiB
Newton Project Priorities
This is a list of development priorities the Ironic team is prioritizing for Newton development, in order of priority. The primary contact listed is responsible for tracking the status of that work and herding cats to help get that work done.
Priority | Primary Contacts |
---|---|
Upgrade testing | jlvillal, mgould |
Network isolation | jroll, TheJulia, devananda |
Gate improvements | jlvillal, lucasagomes, dtantsur |
Node search API | jroll, lintan, rloo |
Node claims API | jroll, lintan |
Multiple compute hosts | jroll |
Generic boot-from-volume | TheJulia, dtantsur, lucasagomes |
Driver composition | dtantsur |
Upgrade testing
We claim to support upgrading Ironic from release to release (and cycle to cycle), however we don't have testing to prove that. This item is specifically to get cold upgrade testing working, which is necessary for some of the heavier changes, like network isolation and multi-compute. As a note, we've agreed that this is important enough to block other work.
Network isolation
This feature was designed in Liberty, and much of the code was written. The code was not ready in time to land in Mitaka. We need to complete this work in Newton, along with the Nova side of the work. This is one of our biggest feature asks from users. To be clear, the priority is to land the parts that were already designed in Liberty/Mitaka, not the future work like vlan-aware-instances.
Gate improvements
There exist other gaps in our gate testing, as well as some refactoring we wish to do. This includes:
- Switching to tinyipa instead of the CoreOS image.
- Switching to virtualbmc instead of the SSH driver.
- Testing local boot
- Testing agent driver with partition images
- Getting grenade-partial running to test live upgrades (even if it isn't stable yet)
Node search API
This lays the groundwork for the work being done in Nova to allow the Ironic driver to utilize multiple compute hosts. The search API also helps users query nodes much more intelligently.
Node claims API
This lays the groundwork for the work being done in Nova to allow the Ironic driver to utilize multiple compute hosts. The claims endpoint will help clients other than Nova schedule to nodes more easily.
Multiple compute hosts
This is an effort to allow the Ironic virt driver in Nova scale across many compute hosts. Currently only one compute host is supported. This shrinks the failure domain of the nova-compute service in an Ironic deployment, and also helps schedule Ironic resources more efficiently. Note that this work is in the Nova codebase, but is an Ironic effort. This will likely depend on work happening in Nova, specifically the generic resource pools work in the scheduler.
Generic boot-from-volume
This work allows generic hardware to boot from NFS or cinder volumes, allowing diskless nodes to be managed by ironic. This also lays down the framework for hardware-specific implementations to be built.
Driver composition
This work refactors the way that drivers are composed internally, as well as allowing operators to mix and match drivers for each interface rather than guessing at which driver is which combination. This allows us to stop exploding our driver matrix with every interface addition.