Public bug reported:
When playing with fence_scsi in Azure's new shared disk feature, I
discovered that I'm able to register a key and acquire a reservation
using that key for the host I have generated the key to. BUT, when
trying to unregister a key from another host I get errors.
With that problem, I can't use fence_scsi agent for fencing in Microsoft
Azure.
-------------------------------
rafaeldtinoco@clubionic01:~$ cat /etc/fence_scsi.key
3abe0000
#### Registering a node into the shared disk manually:
rafaeldtinoco@clubionic01:~$ sudo fence_scsi --verbose -n 10.250.3.10 -d
/dev/sdc -k 3abe0000 -D debug.log -o on
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -i -k -d /dev/sdc
0 PR generation=0x8, there are NO registered reservation keys
No registration for key 3abe0000 on device /dev/sdc
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -o -I -S 3abe0000 -d /dev/sdc
0
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -i -k -d /dev/sdc
0 PR generation=0x9, 1 registered reservation key follows:
0x3abe0000
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -i -r -d /dev/sdc
0 PR generation=0x9, there is NO reservation held
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -o -R -T 5 -K 3abe0000 -d /dev/sdc
0
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -i -k -d /dev/sdc
0 PR generation=0x9, 1 registered reservation key follows:
0x3abe0000
Success: Powered ON
#### Trying to un-register from the same node HAS TO FAIL (fence_scsi
does not allow it)
rafaeldtinoco@clubionic01:~$ sudo fence_scsi --verbose -n 10.250.3.10 -d
/dev/sdc -k 3abe0000 -D debug.log -o off
Delay 0 second(s) before logging in to the fence device
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -i -k -d /dev/sdc
0 PR generation=0x9, 1 registered reservation key follows:
0x3abe0000
Failed: keys cannot be same. You can not fence yourself.
#### Trying to un-register from another node (has to succeed, that is
the fencing purpose!)
rafaeldtinoco@clubionic02:~$ sudo fence_scsi --verbose -n 10.250.3.10 -d
/dev/sdc -k 3abe0000 -D debug.log -o off
Delay 0 second(s) before logging in to the fence device
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -i -k -d /dev/sdc
0 PR generation=0x9, 1 registered reservation key follows:
0x3abe0000
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -i -k -d /dev/sdc
0 PR generation=0x9, 1 registered reservation key follows:
0x3abe0000
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -o -A -T 5 -K 62ed0001 -S 3abe0000 -d /dev/sdc
99 persistent reserve out: transport: Host_status=0x07 [DID_ERROR]
Driver_status=0x00 [DRIVER_OK]
PR out (Preempt and abort): Sense category: -1, try '-v' option for more
information
Executing: /usr/bin/sg_turs /dev/sdc
0
Executing: /usr/bin/sg_persist -n -i -k -d /dev/sdc
0 PR generation=0x9, 1 registered reservation key follows:
0x3abe0000
Failed to remove key 3abe0000 on device /dev/sdc
Failed to verify 1 device(s)
-------------------------
And I have realized that, in the SAME node (as the key in place), I'm
able to release and unregister a node's key:
rafaeldtinoco@clubionic01:~$ sudo sg_persist --out --release
--param-rk=0x3abe0000 --prout-type=5 /dev/sdc
Msft Virtual Disk 1.0
Peripheral device type: disk
rafaeldtinoco@clubionic01:~$ sudo sg_persist --out --register
--param-rk=0x3abe0000 --prout-type=5 /dev/sdc
Msft Virtual Disk 1.0
Peripheral device type: disk
-------------------------
But in a different node, after the reservation is set in a different
node, I CANNOT release and unregister the node'skey:
rafaeldtinoco@clubionic02:~$ sudo sg_persist --in --read-keys --device=/dev/sdc
Msft Virtual Disk 1.0
Peripheral device type: disk
PR generation=0x9, 1 registered reservation key follows:
0x3abe0000
rafaeldtinoco@clubionic02:~$ sudo sg_persist --out --release
--param-rk=0x3abe0000 --prout-type=5 /dev/sdc
Msft Virtual Disk 1.0
Peripheral device type: disk
persistent reserve out: transport: Host_status=0x07 [DID_ERROR]
Driver_status=0x00 [DRIVER_OK]
rafaeldtinoco@clubionic02:~$ sudo sg_persist --out --register --device=/dev/sdc
--param-rk=0x3abe0000
Msft Virtual Disk 1.0
Peripheral device type: disk
persistent reserve out: transport: Host_status=0x07 [DID_ERROR]
Driver_status=0x00 [DRIVER_OK]
** Affects: fence-agents (Ubuntu)
Importance: Undecided
Status: New
** Affects: fence-agents (Ubuntu Bionic)
Importance: High
Assignee: Rafael David Tinoco (rafaeldtinoco)
Status: Confirmed
** Also affects: fence-agents (Ubuntu Bionic)
Importance: Undecided
Status: New
** Changed in: fence-agents (Ubuntu Bionic)
Status: New => Confirmed
** Changed in: fence-agents (Ubuntu Bionic)
Importance: Undecided => High
** Changed in: fence-agents (Ubuntu Bionic)
Assignee: (unassigned) => Rafael David Tinoco (rafaeldtinoco)
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1864419
Title:
[bionic][azure] fence_scsi unable to unfence from another node
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/fence-agents/+bug/1864419/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs