Able to swact to a controller that is in the Locking state
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
StarlingX |
Fix Released
|
Low
|
Eric MacDonald |
Bug Description
Brief Description
-----------------
It takes a finite period of time to lock a controller.
So there is a small window of time between when a lock command towards the inactive controller is issued and that controller actually enters the locked state. This window of time is typically a few seconds. However, that time can be upwards of a minute or more if the system is busy and/or there are VMs or other migrations that have to happen before the node is permitted to enter the locked state.
Cases have been seen where issuing a 'system host-swact' command while the inactive controller is in this 'Locking but not yet Locked' state leads the switch of activity to a locked controller.
The existing pre swact semantic check is not sufficient to prevent this race condition that can lead to a locked active controller.
Severity
--------
Minor : Based on probability which is very low.
There is no reason to swact to a controller you are trying to lock. Just don't do it.
Critical: Based on system impact.
See work around.
Steps to Reproduce
------------------
system host-lock controller-1 ; sleep 1 ; system host-swact controller-0
Expected Behavior
------------------
Swact does not occur. Locked controller does not activate.
Actual Behavior
----------------
Swact does occur. Locked controller does activate.
Reproducibility
---------------
100%
System Configuration
-------
Any DX system
Branch/Pull Time/Commit
-------
Any context prior to the date of this bug report (April 30, 2024)
Last Pass
---------
Never tested
Timestamp/Logs
--------------
sysadmin@
+----
| id | hostname | personality | administrative | operational | availability |
+----
| 1 | controller-0 | controller | unlocked | enabled | available |
| 2 | controller-1 | controller | locked | disabled | online |
+----
Test Activity
-------------
Developer Testing
Workaround
----------
Unlock active controller. System will swact to unlocked controller and will reboot and unlock the previously locked/active controller.
Changed in starlingx: | |
importance: | Undecided → Low |
tags: | added: stx.10.0 stx.config |
Changed in starlingx: | |
assignee: | nobody → Eric MacDonald (rocksolidmtce) |
Fix proposed to branch: master /review. opendev. org/c/starlingx /config/ +/917791
Review: https:/