34 lines
1.7 KiB
YAML
34 lines
1.7 KiB
YAML
![]() |
---
|
||
|
features:
|
||
|
- |
|
||
|
Adds a new feature to the ironic virt driver, which allows
|
||
|
multiple nova-compute services to be run simultaneously. This uses
|
||
|
consistent hashing to divide the ironic nodes between the nova-compute
|
||
|
services, with the hash ring being refreshed each time the resource tracker
|
||
|
runs.
|
||
|
|
||
|
Note that instances will still be owned by the same nova-compute service
|
||
|
for the entire life of the instance, and so the ironic node that instance
|
||
|
is on will also be managed by the same nova-compute service until the node
|
||
|
is deleted. This also means that removing a nova-compute service will
|
||
|
leave instances managed by that service orphaned, and as such most
|
||
|
instance actions will not work until a nova-compute service with the same
|
||
|
hostname is brought (back) online.
|
||
|
|
||
|
When nova-compute services are brought up or down, the ring will eventually
|
||
|
re-balance (when the resource tracker runs on each compute). This may
|
||
|
result in duplicate compute_node entries for ironic nodes while the
|
||
|
nova-compute service pool is re-balancing. However, because any
|
||
|
nova-compute service running the ironic virt driver can manage any ironic
|
||
|
node, if a build request goes to the compute service not currently managing
|
||
|
the node the build request is for, it will still succeed.
|
||
|
|
||
|
There is no configuration to do to enable this feature; it is always
|
||
|
enabled. There are no major changes when only one compute service is
|
||
|
running. If more compute services are brought online, the bigger changes
|
||
|
come into play.
|
||
|
|
||
|
Note that this is tested when running with only one nova-compute service,
|
||
|
but not more than one. As such, this should be used with caution for
|
||
|
multiple compute hosts until it is properly tested in CI.
|