iscsiadm binary incompatibility with Flatcar Linux
See original GitHub issueRecently when conducting an upgrade to democratic-csi v1.1.0 persistent volumes began failing to mount on Flatcar Linux.
Worker node log:
Mar 18 12:10:50 <censored> kernel: iscsiadm[5039]: segfault at 55c2dcf89aa9 ip 000055c77fd43530 sp 00007fff3bd75590 error 4 in iscsiadm[55c77fd42000+3d000]
Mar 18 12:10:50 <censored> kernel: Code: 43 08 48 89 18 e8 a0 ef ff ff 48 89 df 48 8b 1b 48 39 ef 75 e5 48 8b 9c 24 10 01 00 00 48 8b 6c 24 18 48 3b 5c 24 18 74 2e 90 <48> 8b 13 48 8b 43 08 48 89 df 48 89 42 08 48 89 10 48 c7 43 08 00
CSI Driver log:
executing iscsi command: iscsiadm -m node -T iqn.2005-10.org.freenas.ctl:csi-pvc-7fea9dc7-0b9e-4311-b662-9c34278fab80-clustera -p <censored>:3260 -o update --name node.startup --value manual
error: handler error - driver: FreeNASDriver method: NodeStageVolume error: {"code":139,"stdout":"","stderr":"/usr/local/sbin/iscsiadm: line 5: 1230 Segmentation fault (core dumped) chroot /host /usr/bin/env -i PATH=\"/sbin:/bin:/usr/bin\" iscsiadm \"${@:1}\"\n"}
{
code: 13,
message: '{"code":139,"stdout":"","stderr":"/usr/local/sbin/iscsiadm: line 5: 1230 Segmentation fault (core dumped) chroot /host /usr/bin/env -i PATH=\\"/sbin:/bin:/usr/bin\\" iscsiadm \\"${@:1}\\"\\n"}'
}
There have been changes to iscsiadm recently on Flatcar Linux, as well as various other reports of this segfault. Refer: https://www.suse.com/support/kb/doc/?id=000019883
To test the theory on binary incompatibility, I checked iscsiadm being used by CSI driver and see that the version is packaged from debian. Using kubectl cp
I overrode the iscsiadm in all the csi-driver pods with the iscsiadm from Flatcar Linux, as well as the supporting libraries. At that point, mounting of iSCSI targets worked seamlessly.
Issue Analytics
- State:
- Created 3 years ago
- Comments:23 (11 by maintainers)
Top Results From Across the Web
Configuring iSCSI on Flatcar Container Linux
iSCSI handles taking requests from clients and carrying them out on the remote SCSI devices. Flatcar Container Linux has integrated support for mounting...
Read more >Releases | Flatcar Container Linux
Containers with iptables binaries that use the iptables backend will result in mixing both kernel backends which is supported but you have to...
Read more >Tips and tricks | Flatcar Container Linux
Use binary packages from a shared build store. Some packages like coreos-modules take a long time to build. Use: ./ ...
Read more >Torcx | Flatcar Container Linux
At the most basic level, it is a tool for applying ephemeral changes to an immutable system during early boot. This includes providing...
Read more >Customize Operating System Profiles - Kubermatic Documentation
One of the unique selling propositions for OSM is that it allows users to use custom OperatingSystemProfiles(OSPs)
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
FYI this has been fixed with the closure of https://github.com/kinvolk/Flatcar/issues/373.
Sorry, other work came up. I’ve got this scheduled to attend to in the next day or so.