hosts within two availability zones
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Invalid
|
Undecided
|
Yingxin |
Bug Description
There have been a lot of bug fixes related to this topic, but it still exists somehow. Some previous fix-released bugs for example:
https:/
https:/
https:/
The mailing list has already decided not to allow hosts in different AZs (http://
#### start repro ####
1) create two host aggregates "foo", "bar" to the default AZ:
$ nova aggregate-create foo
+----+-
| Id | Name | Availability Zone | Hosts | Metadata |
+----+-
| 58 | foo | - | | |
+----+-
$ nova aggregate-create bar
+----+-
| Id | Name | Availability Zone | Hosts | Metadata |
+----+-
| 59 | bar | - | | |
+----+-
2) assign a host "node2" to both aggregates
$ nova aggregate-add-host foo node2
+----+-
| Id | Name | Availability Zone | Hosts | Metadata |
+----+-
| 58 | foo | - | 'node2' | |
+----+-
$ nova aggregate-add-host bar node2
+----+-
| Id | Name | Availability Zone | Hosts | Metadata |
+----+-
| 59 | bar | - | 'node2' | |
+----+-
3) change "foo" to a named AZ called "az"
$ nova aggregate-update foo foo az
Aggregate 58 has been successfully updated.
+----+-
| Id | Name | Availability Zone | Hosts | Metadata |
+----+-
| 58 | foo | az | 'node2' | 'availability_
+----+-
#### end repro ####
The third step should NOT happen because it causes "node2" belong to both default AZ and "az" AZ, logically:
$ nova aggregate-details foo
+----+-
| Id | Name | Availability Zone | Hosts | Metadata |
+----+-
| 58 | foo | az | 'node2' | 'availability_
+----+-
$ nova aggregate-details bar
+----+-
| Id | Name | Availability Zone | Hosts | Metadata |
+----+-
| 59 | bar | - | 'node2' | |
+----+-
Interesting thing is, "node2" is actually only belong to the availibility zone "az" if we list all the AZs. Thanks to the previous bug fixings:
$ nova availability-
+------
| Name | Status |
+------
| internal | available |
| |- node1 | |
| | |- nova-conductor | enabled :-) 2015-12-
| | |- nova-consoleauth | enabled :-) 2015-12-
| | |- nova-scheduler | enabled :-) 2015-12-
| | |- nova-cert | enabled :-) 2015-12-
| az | available |
| |- node2 | |
| | |- nova-compute | enabled :-) 2015-12-
+------
Changed in nova: | |
assignee: | nobody → Yingxin (cyx1231st) |
tags: | added: scheduler |
Changed in nova: | |
status: | Incomplete → Invalid |
I don't really understand what the problem is. Nova only thinks this is in one az. It can still be in multiple aggregates.