os-brick's iscsi initiator unexpectedly reverts node.startup from "automatic" to "manual".
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
os-brick |
Fix Released
|
Medium
|
Rikimaru Honjo |
Bug Description
os-brick's iscsi initiator unexpectedly reverts node.startup from "automatic" to "manual" in some specific cases if we use multipath.
As a result, automatic nodes and manual nodes are mixed on that host.
[Premises]
* Use multipath.
* os-brick's iscsi initiator changes node.startup from "manual" to "automatic" when it makes iscsi connections.
* If "iscsiadm -m discovery -t sendtargets -p ..." command is executed, node.startup is reverted from "automatic" to "manual".
* In current os-brick's implementation, it won't login iscsi session and change node.startup if sessions are already existed.
(That logic is implemented in os_brick.
[Reproduce steps - 1]
1. User attaches a volume to a instance with iscsi.
2. iscsi sessions are made.
And, node.startup is changed from "manual" to "automatic".
3. User attaches other volume to a instance with iscsi.
4. In attaching volume process, os-brick will execute "iscsiadm -m discovery -t sendtargets ..." if multipath is used.
5. As a result, node.startup of 1st attaching is reverted from "automatic" to "manual". And automatic nodes and manual nodes are mixed on that host.
[Reproduce steps - 2]
1. User attaches a volume to a instance with iscsi.
2. As a result, iscsi sessions are made.
And, node.startup is changed from "manual" to "automatic".
3. The host of the instance is rebooted by with some reason.
4. After operating system is launched, iscsi sessions are automatically recovered.
Because node.startup is "automatic".
5. The instance has stopped because the host was rebooted.
User calls "Start Server" API.
6. Nova try to re-make iscsi sessions.
7. In starting server process, os-brick will execute "iscsiadm -m discovery -t sendtargets ..." if multipath is used.
As a result, node.startup is reverted from "automatic" to "manual".
8. But os-brick doesn't change node.startup to "automatic" after that because iscsi sessions are already existed.
9. node.startup is still "manual" when server start is completed.
[My opinion]
Changing node.startup from "manual" to "automatic" is unnecessary.
Current os-brick users[1] create/re-create iSCSI sessions when they need it.
If someone needs node.startup=
[1]e.g. nova,cinder...
description: | updated |
description: | updated |
summary: |
- os-brick's iscsi initiator unexpectedly reverts node.startup from "auto" - to "manual". + os-brick's iscsi initiator unexpectedly reverts node.startup from + "automatic" to "manual". |
description: | updated |
Changed in os-brick: | |
assignee: | nobody → Rikimaru Honjo (honjo-rikimaru-c6) |
I fixed the bug description.
Sorry, I missed to write the following condition.
* Use multipath.