rbd: creating a cloned volume causes missing heartbeat to RabbitMQ
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
Fix Released
|
Undecided
|
Takashi Kajinami |
Bug Description
When rbd is used as backend and creating a cloned volume, cinder-vlume is disconnected by RabbitMQ.
2020-10-06 15:19:05.697 55 DEBUG oslo.messaging.
2020-10-06 15:19:05.697 55 ERROR oslo.messaging.
2020-10-06 15:19:05.697 55 ERROR oslo.messaging.
...
2020-10-06 15:19:05.697 55 ERROR oslo.messaging.
2020-10-06 15:19:05.697 55 ERROR oslo.messaging.
2020-10-06 15:19:05.697 55 ERROR oslo.messaging.
2020-10-06 15:19:05.697 55 ERROR oslo.messaging.
2020-10-06 15:19:05.698 55 ERROR oslo.messaging.
We observe "missed heartbeats from client, timeout: 60s" in RabbitMQ log and it seems that this disconnection is caused by missing heatbreats to client when flatten is caused.
The same issue was reported for volume-
[1] https:/
[2] https:/
However the flatten call in create_
[3] https:/
This issue was initially reported in downstream bug and reproduced with Queens.
https:/
However the call of flatten in create_
summary: |
- Creating a cloned volume causes missing heartbeat to RabbitMQ + rbd: creating a cloned volume causes missing heartbeat to RabbitMQ |
description: | updated |
Changed in cinder: | |
assignee: | nobody → Takashi Kajinami (kajinamit) |
status: | New → In Progress |
Reviewed: https:/ /review. opendev. org/756416 /git.openstack. org/cgit/ openstack/ cinder/ commit/ ?id=bafe440b941 8a1e3acd0045687 2d4d97a9c64c61
Committed: https:/
Submitter: Zuul
Branch: master
commit bafe440b9418a1e 3acd00456872d4d 97a9c64c61
Author: Takashi Kajinami <email address hidden>
Date: Wed Oct 7 09:55:32 2020 +0900
RBD: Run flatten in a different thread when cloning a volume
The current implementation of create_ cloned_ volume calls flatten
directly, and this makes whole thread of cinder-volume blocked by that
flatten call. This causes heartbeat timeout in RabbitMQ when cloning
a volume with rbd backend.
This patch makes sure that flatten is executed in a different thread,
to allow heatbeat thread to run while flattening a rbd image.
Closes-Bug: #1898918 bcebfc96dbe69bf 892f5cd14fe
Change-Id: I9f28260008117a