missing region config
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Nova Cloud Controller Charm |
Fix Released
|
Undecided
|
Rodrigo Barbieri | ||
OpenStack Nova Compute Charm |
Fix Released
|
Undecided
|
Rodrigo Barbieri |
Bug Description
When deploying a Stein multi-region environment, 2 issues are observed:
1)
2020-09-08 15:03:01.590 15355 INFO nova.compute.
2020-09-08 15:03:02.358 15355 ERROR nova.scheduler.
Investigating the issue was found that the compute node was registering itself in the database of another region. More specifically, the first one from the "openstack endpoint list --service placement".
Turns out that according to the release notes of Rocky release:
"The following deprecated options have been removed from the placement group of nova.conf:
os_region_name (use region_name instead)"
By replacing the os_region_name config with region_name, it allowed the compute node to talk to the correct endpoint and register the node against the correct placement database. Which leads to problem #2.
2)
While testing migrations, it was noticed that migrations started with "openstack server migrate --live-migration" would result in the logs:
2020-11-05 14:34:22.723 1993 ERROR nova.network.
while migrations with "openstack server migrate --live <host>" would result in the CLI error:
Migration pre-check error: Binding failed for port d92c626a-
so, investigating this, was found that the conductor was talking to the wrong endpoint of neutron-api. By adding region_name to [neutron] section in nova.conf of nova-cloud-
2020-11-05 20:19:16.238 15881 ERROR oslo_messaging.
then, investigating that, was found that the region_name needed to be added to the [neutron] section in nova.conf of nova-computes as well, so the problem is addressed and migrations can succeed.
However, I did not find any specific mention of the region_name config of [neutron] section in Nova release notes. The only relevant mention I found of it in the code is in [0], but that has been removed in Train. Moreover, that code is not invoked in the first error (the port binding one). Instead, the code goes through [1] which hasn't changed since Stein, but picks up the added region_name parameter in [neutron].
Therefore the parameter region_name must be added to [placement] section of nova-computes, and to the [neutron] section of nova-computes and nova-cloud-
Changed in charm-nova-cloud-controller: | |
milestone: | none → 21.01 |
Changed in charm-nova-compute: | |
milestone: | none → 21.01 |
Changed in charm-nova-cloud-controller: | |
milestone: | 21.01 → 20.10 |
Changed in charm-nova-compute: | |
milestone: | 21.01 → 20.10 |
Changed in charm-nova-cloud-controller: | |
status: | Fix Committed → Fix Released |
status: | Fix Released → Fix Committed |
Changed in charm-nova-compute: | |
status: | Fix Committed → Fix Released |
Changed in charm-nova-cloud-controller: | |
status: | Fix Committed → Fix Released |
fix to nova-cloud- controller: https:/ /review. opendev. org/#/c/ 761672
fix to nova-compute: https:/ /review. opendev. org/#/c/ 761671