ceph / ceph-iscsi-cli

NOTICE: moved to https://github.com/ceph/ceph-iscsi
GNU General Public License v3.0
25 stars 25 forks source link

Control/setting changes #123

Closed mikechristie closed 6 years ago

mikechristie commented 6 years ago

This patchset converts gwcli to the ceph-iscsi-config changes in PR:

https://github.com/ceph/ceph-iscsi-config/pull/77

which began to make the controls/setting code easier to use across multiple apps. It also begins to make it easier to add new arguments to the reconfigure and create commands. We now only need to update the help info.

mikechristie commented 6 years ago

The bug where reconfigure did not handle multiple empty attributes is fixed. I just dropped support for now, because it requires a pyparser and configshell change. You can still pass in multiple attribs during lun creation though. If you try to pass in an empty attib value for that command it will return error since it does not make sense.

I also added 2 patches to fix issues where we committed the controls to gateway.conf before we knew if they were good, so we could end up with invalid values. When you rebooted the nodes then we would fail due to trying to use the invalid values from the gateway.conf. Note that for tcmu we only recently started returning an error when a invalid value was written to the control file, so you probably did not hit a issue with older RHEL/upstream kernels.

dillaman commented 6 years ago

@mikechristie I haven't dug into it yet, but with these changes, LUNs are no longer getting mapped to clients. For example, I have two clients (one w/ disks directly mapped, the other w/ disks mapped via a group). After running "/disks reconfigure rbd.lun0 max_data_area_mb 128" and looking at "targetcli ls", all the LUNs are unmapped. Restarting 'rbd-target-gw' fixes the LUN mapping for the directly mapped host, but the host-group host remains unmapped.

mikechristie commented 6 years ago

I did a repush in ceph-iscsi-config to fix that issue.

I also did a repush of this cli PR to fix a bug I added where config.refresh was not getting called so gwcli would show stale info.

dillaman commented 6 years ago

@mikechristie Seems to work for me now. Thanks!