Cannot change volume type using ceph with alternative (non-default) cluster name
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Cinder |
New
|
Medium
|
Unassigned |
Bug Description
Steps to reproduce:
1. Configure a ceph cluster using an alternative cluster name (e.g. 'my-ceph') instead of the default (ceph)
2. Configure two ceph backends using this cluster to use in cinder
3. Add the appropriate volume type(s)
4. Create a volume
5. Change the volume type of the volume
Expected result:
Migration of the volume
Actual result:
Exception in cinder-volume: Error: error calling conf_read_file: errno EINVAL
Cause:
The os-brick RBDConnector initiates a RBDClient only specifying user and pool. This causes the client to default to configuration file "/etc/ceph/
The cinder rbd volume driver specifies all required information for a connection (while to me it seems to be tailored to nova/libvirt) but it is not used by os-brick. If the data specified by the volume driver cannot be used by the os-brick RBDClient, either the ceph cluster name or full path to the appropriate ceph configfile should be added to the connection data which in turn should be used by the os-brick connector.
PS.
I wouldn't mind writing a patch, but since I'm relatively new to cinder I'm not aware of the bigger picture. Because of that I would need to know what the desired fix should be. Either adapting os-brick to use the already available connection info or appending either the cluster name or config full path to the connection info.
tags: | added: drivers rdb |
description: | updated |
Changed in cinder: | |
status: | New → Confirmed |
assignee: | nobody → Danny Al-Gaaf (danny-al-gaaf) |
status: | Confirmed → In Progress |
Changed in cinder: | |
importance: | Undecided → Medium |
Changed in cinder: | |
status: | In Progress → New |
If I have not overseen something cinder doesn't use os_brick connector for rbd but uses it own implementation. Can you please provide your cinder configuration and commands to reproduce?