Re: iSCSI target management in the Mgr Dashboard

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 25, 2018 at 6:58 AM Ricardo Marques <rimarques@xxxxxxxx> wrote:
>
> Hi,
>
> On 9/13/18 1:42 PM, Jason Dillaman wrote:
> > 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
>
> FYI, I'm currently assigned to this task.
>
> >>
> >> 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.
>
> Yes, having a dedicated API in `ceph-iscsi-cli` that is used by
> dashboard to abstract the underlying REST calls, may be easier to
> maintain. I'll try this approach.
>
> Anyway, currently `ceph-iscsi-cli` only supports one iSCSI target, so
> I'm afraid we will have to change the underlying configuration schema
> (`gateway.conf`) to support multiple targets, in order to reach feature
> parity with the openATTIC UI.

I don't think that will be too big of an issue since the version can
be bumped [1]. The current "gateways" struct can gets all
target-related fields dropped (really just ignored/deprecated to
support upgrades) and the targets can be moved to a new "targets"
dictionary at the root of the config dictionary.

> >
> >> 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
> >
>
> --
> Best Regards,
> Ricardo Marques
> SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton,
> HRB 21284 (AG Nürnberg)

[1] https://github.com/ceph/ceph-iscsi-config/blob/master/ceph_iscsi_config/common.py#L57

-- 
Jason



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux