If failure host is the reserved host, the compute service of the failure host finally beccomes the enable status
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
masakari |
Fix Released
|
Undecided
|
takahara.kengo |
Bug Description
* Actual behavior:
If failure host is the reserved host, the compute service of the failure host finally becomes the enable status.
* Expected behavior:
If failure host is the reserved host, I think that the compute service of the failure host should finally become the disable status.
Furthermore, in this case, I think that evacuate API should not be executed.
* Environmental situation
** compute-node1, compute-node2, compute-node3 are in a cluster.
** The 'recovery_method' of the segment to which the failure host belongs is 'reserved_host'.
** The host that 'reserved' is True is compute-node3 only.
** masakari version is v3.0.0.
* Reproduction procedure
1. Create an instance on compute-node3.
2. Shutdown the compute-node3.
* Analysis
I checked the logs and codes of masakari-engine, the processing flows as follows.
1. Disable the compute service of compute-
2, Get list of instances on compute-
3. Enable the compute service of compute-
4. Execute the evacuate API to compute-
5. Status of notification ends with 'error'.
6. Periodic task reprocesses the notification of 'error' status.
7. Status of notification ends with 'failed' because 'reserved' of compute-node3 is already changed with False, and no reserved hosts available for evacuation.
As a result, the compute service of compute-node3 is finally enable.
Changed in masakari: | |
assignee: | nobody → takahara.kengo (takahara.kengo) |
Changed in masakari: | |
assignee: | takahara.kengo (takahara.kengo) → Rikimaru Honjo (honjo-rikimaru-c6) |
Changed in masakari: | |
assignee: | Rikimaru Honjo (honjo-rikimaru-c6) → takahara.kengo (takahara.kengo) |
Fix proposed to branch: master /review. openstack. org/444801
Review: https:/