cinder-volume: "Failed to re-export volume, setting to ERROR" with "tgtadm: failed to send request hdr to tgt daemon, Transport endpoint is not connected" on service startup
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
cinder (Ubuntu) | Status tracked in Mantic | |||||
Bionic |
Won't Fix
|
Medium
|
Mauricio Faria de Oliveira | |||
Focal |
Confirmed
|
Medium
|
Mauricio Faria de Oliveira | |||
Jammy |
Confirmed
|
Medium
|
Mauricio Faria de Oliveira | |||
Lunar |
Confirmed
|
Medium
|
Mauricio Faria de Oliveira | |||
Mantic |
In Progress
|
Medium
|
Mauricio Faria de Oliveira |
Bug Description
[Impact]
* The cinder-volume service might fail to re-export volumes
in-use on startup if tgt.service isn't fully started yet.
* This affects the 'lvm' driver with 'tgtadm' target helper
(which runs 'tgtadm' commands that need the service ready).
* Snippets from /var/log/
Failed to re-export volume, setting to ERROR.
...
Command: tgtadm --lld iscsi --op show --mode target
...
Stderr: 'tgtadm: failed to send request hdr to tgt daemon,
Transport endpoint is not connected\n'
* This issue is more common in openstack compute nodes
with networking (ovs/ovn) that takes long to startup,
which might delay the startup of tgt.service _after_
cinder-
[Test Steps]
* Steps to reproduce are detailed in comment #3.
Summary:
* Install mysql, rabbitmq-server, keystone, and cinder
(controller and storage nodes; backup node unneeded).
* Configure cinder-volume (storage node) for LVM backend
and tgtadm iSCSI helper (tgt.service).
* Create a cinder volume, and configure it as 'in-use'.
* Simulate a start delay on tgt.service with a drop-in.
* Restart services: cinder-
* Check sequence of service startup.
* Check status of the cinder volume:
'in-use' (expected) or 'error' (bug).
* Check log file /var/log/
'tgtadm: failed to send request hdr to tgt daemon'.
[Regression Potential]
* The fix introduces systemd unit 'After=' and 'Wants='
properties for tgt.service in cinder-
thus might delay the boot process (multi-
$ systemctl show cinder-
WantedBy=
* However, the boot process already waits on tgt.service
anyway, thus the difference (if any) should not be big,
and would provide more correct behavior.
$ systemctl show tgt.service | grep WantedBy=
WantedBy=
* If tgt.service is not present (tgt package not installed)
_no errors_ occur, as both 'After=' and 'Wants=' are weak
ordering/
[Other Info]
* The fix uses a systemd service drop-in snippet because
the service unit is generated by openstack-pkg-tools
(pkgos-
and it only emits 'Wants=' for network-
* Changing that in openstack-pkg-tools changes behavior
in stable releases, and only manifest at build time,
for many openstack packages that have no issues now.
* We'll continue to pursue the general improvement in
Debian, so it comes into Ubuntu development release,
but for the Ubuntu stable releases, this should do.
[Original Bug Description]
Real-world example in comment #2.
Related branches
- Ubuntu OpenStack uploaders: Pending requested
-
Diff: 34 lines (+14/-0)3 files modifieddebian/changelog (+9/-0)
debian/cinder-volume.install (+1/-0)
debian/cinder-volume.service.conf (+4/-0)
Changed in cinder (Ubuntu): | |
status: | New → In Progress |
importance: | Undecided → Medium |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Changed in cinder (Debian): | |
status: | Unknown → Fix Released |
summary: |
- "Failed to re-export volume, setting to ERROR" with "tgtadm: failed to - send request hdr to tgt daemon, Transport endpoint is not connected" on - cinder-volume service start + cinder-volume: "Failed to re-export volume, setting to ERROR" with + "tgtadm: failed to send request hdr to tgt daemon, Transport endpoint is + not connected" on service startup |
description: | updated |
Changed in cinder (Ubuntu Bionic): | |
status: | New → Won't Fix |
Changed in cinder (Ubuntu Focal): | |
status: | New → Confirmed |
Changed in cinder (Ubuntu Jammy): | |
status: | New → Confirmed |
Changed in cinder (Ubuntu Lunar): | |
status: | New → Confirmed |
no longer affects: | cinder (Debian) |
Changed in cinder (Ubuntu Bionic): | |
importance: | Undecided → Medium |
Changed in cinder (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in cinder (Ubuntu Jammy): | |
importance: | Undecided → Medium |
Changed in cinder (Ubuntu Lunar): | |
importance: | Undecided → Medium |
Changed in cinder (Ubuntu Bionic): | |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Changed in cinder (Ubuntu Focal): | |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Changed in cinder (Ubuntu Jammy): | |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Changed in cinder (Ubuntu Lunar): | |
assignee: | nobody → Mauricio Faria de Oliveira (mfo) |
Debian bug #1018084 [1]
Debian MR on Salsa: [2]
[1] https:/ /bugs.debian. org/1018084 /salsa. debian. org/openstack- team/services/ cinder/ -/merge_ requests/ 2
[2] https:/