Assigned to Paul because iscsi related
Why this happens : The target service calls targetctl which attempts to reload LIO from a prior saved file - this file is empty/does not exist the configuration for the gateways is NOT stored in the local filesystem - it's stored in rados. We don't use the target service at all, in fact the ansible playbook disables it as noted above. Configuration is restored by the rbd-target-gw service. (also note that targetcli does not support ALUA fully - which is another reason for not using the target service) Is disabling the service not enough? Looking at the rpm the service is installed by the python-rtslib rpm which we *DO* need, so we can't remove target.service from the system. However, I will look into overriding the service to make it a no-op so once the playbook has run this won't be possible.
since target.service can not be removed, the playbook has been updated to use systemctl mask. Now the target.service unit is masked from operations to attempts to start/reload/restart/stop fail with a 'unit' is masked message. This highlights the fact that the unit should be be used, and prevents the configuration from being corrupted.
fix applied and version 1.2 of the ceph-iscsi-ansible and ceph-iscsi-config available for QA testing from Brew.
Please recheck in latest 1.3 release
Verified in version: ceph-iscsi-ansible-1.3-1.el7scon.noarch.rpm
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHBA-2016:2817