cinder-volume fails to allocate volume due to missing iscsi InitiatorName
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Cinder Charm |
Fix Released
|
Medium
|
Unassigned | ||
OpenStack Cinder Pure Storage Charm |
Invalid
|
Undecided
|
Unassigned |
Bug Description
Distro: bionic-rocky
Running OpenStack on top of OpenStack for lab purposes.
This bug is a following on my investigations first described at: https:/
Deploying cinder-volume separated from other cinder services, as explained on: https:/
When running a successfully created LVM (checked via lsblk) with
openstack server add volume MACHINE VOL
Cinder-Volume fails because missing "initiator" parameter is missing on RPC call [1].
That happens even if I deploy cinder-volume directly to a machine, with no other charms or services alongside.
Looking into that machine, I can see that tgt is Running, however, iscsid is inactive.
If I restart iscsid, I can get its InitiatorName on: /etc/iscsi/
However, even after restarting with following order:
systemctl restart iscsid
systemctl restart tgt
systemctl restart cinder-volume
I still see same failure as [1].
I can force cinder-volume to work if I inject /etc/iscsi/
To test that, I (1) stopped both jujud and cinder-volume services;
(2) create a super user on rabbitmq [2]
(3) ran openstack server add volume .... --> that pulls the message on rabbitmq
(4) Pop up the rabbitmq original message and re-add with my injected parameter, by running [3]
(5) Restart cinder-volume.
(3) - (5) need to happen in less than 60s or attachment_id table token will expire.
Then, volume gets successfully attached to my machine.
I still cannot find a viable solution for cinder to pick-up initiatorName on the first place with only configurations as described on jujucharms page.
I do know we can set specific flags to set iscsi initiator, but I rather not do it outside our standard configs and relations.
[1] Full log: https:/
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
2019-04-18 19:48:18.231 91736 ERROR oslo_messaging.
[2] on rabbitmq-server:
sudo rabbitmqctl add_user test test
sudo rabbitmqctl set_user_tags test administrator
sudo rabbitmqctl set_permissions -p openstack test ".*" ".*" ".*"
[3] Run following script at rabbitmq-server machine (<email address hidden> is the target-queue):
#!/bin/bash
export payload=$(curl -XPOST -d'{"count"
payload=
echo "$payload"
curl -XPOST -d'{"properties": {"expiration"
Changed in charm-cinder: | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in charm-cinder: | |
milestone: | none → 21.10 |
status: | Fix Committed → Fix Released |
In pretty much all charm bug cases, an example bundle is the first thing I reference. Can you please post a sanitized example bundle (reproducer)?
Also, pastebin is ephemeral, and that information will disappear, perhaps even before this bug is resolved. Can you please attach a raw text log to the bug instead?
Thank you.