On Thu, Sep 13, 2018 at 6:39 AM Lenz Grimmer <lgrimmer@xxxxxxxx> wrote: > > Hi all, > > $SUBJECT is one of the features that we would like to tackle for the > Nautilus release, in order to reach feature parity with openATTIC. > > I filed a feature issue on the tracker about this here: > > https://tracker.ceph.com/issues/35903 > > I would like to briefly summarize our approach, to verify we're on the > right track and we're in alignment with other ongoing upstream efforts. > > For the initial implementation, we assume that an iSCSI target node has > already been deployed and set up by some installation/orchestration tool > (e.g. Ceph-Ansible, DeepSea). > > For creating and managing the actual iSCSI targets, we intend to > communicate with the REST API provided by the ceph-iscsi-cli tool: > > https://github.com/ceph/ceph-iscsi-cli/blob/master/rbd-target-api.py Great. Since this REST API isn't currently versioned (for the same reasons as the dashboard REST API), I think there might be some value in having the dashboard interact w/ a "rbd-target-client"-like module that abstracts away all the REST calls under a clean and mockable API. Otherwise, I think we would want to make sure we keep an up-to-date test case in the ceph-iscsi-cli repo against all the REST APIs that the dashboard is invoking. > The UI will be derived from the openATTIC iSCSI target management > implementation, using a different backend approach. > > As far as I know, there is currently some ongoing discussion about > choosing between the userland iSCSI service (TCMU runner) and the kernel > based implementation. Does anyone know which direction this discussion > is heading and if it will have any impact on our implementation? The custom kernel patches in SUSE to support the kernel-based implementation is still blocked from being merged into the upstream kernel until a "librbd"-like kernel module is developed to provide shared RBD handling between the krbd block driver and LIO target backend. I know David Disseldorp had expressed some interest in tackling this, but I don't know its current status. Regardless, I think the existing ceph-iscsi-XYX userland tooling can be quickly adapted to transparently support both the SUSE implementation and the upstream implementation of RBD over iSCSI. > I hope that the RBD target API will sufficiently encapsulate this > implementation detail, so we don't have to change anything major > depending on where things are heading, but it would be nice to have some > confirmation about this. > > One downstream concern that we have to address is that we require all > Python code to be Python 3 ready. We haven't tested this yet, but I have > the suspicion that the two required Python projects (ceph-iscsi-cli and > ceph-iscsi-config) haven't been ported to Python 3 yet, correct? They have previously passed python3 flake8 tests, so I wouldn't expect too many issues. > Thanks, > > Lenz > > -- > SUSE Linux GmbH - Maxfeldstr. 5 - 90409 Nuernberg (Germany) > GF:Felix Imendörffer,Jane Smithard,Graham Norton,HRB 21284 (AG Nürnberg) > -- Jason