Re: Proposal: ceph-iscsi branch/release concept

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

 



On Tue, Jun 25, 2019 at 7:55 AM Lenz Grimmer <lgrimmer@xxxxxxxx> wrote:
>
> Hi,
>
> The ceph-iscsi project [1] has gained a lot of new features and
> functionality along with the iSCSI management features that were added
> to Ceph Dashboard in Nautilus. The Dashboard is tightly coupled to the
> ceph-iscsi config version and needs to be updated in parallel, e.g. when
> new functionality is added or existing behavior changes (e.g. here [2],
> [3]).
>
> Currently, all ceph-iscsi development is done in the "master" branch of
> ceph-iscsi, while the dashboard is developed in the Ceph git repo and
> thus is developed and maintained in multiple branches (e.g. "master" and
> "nautilus").
>
> This makes it challenging to keep these two components in sync and to
> facilitate both maintaining a "stable" version while allowing new
> features to be merged. To reduce this complexity and to better interlock
> the testing and development of the dashboard and ceph-iscsi, I would
> like to propose two possible solutions:
>
> 1) merge the ceph-iscsi code base into the ceph git repository. This
> way, the development of new features and maintenance would take place in
> distinct branches, and in close synchronization between the dashboard
> and the ceph-iscsi component. This might also be beneficial for creating
> unit tests that test both components without having to assemble the
> pieces from various places beforehand. It would also ensure that a
> matching ceph-iscsi package is always built and released along with the
> corresponding Ceph version, thus offloading the ceph-iscsi devs from the
> build and release work. From a version numbering perspective, this
> should not be a problem - the current ceph-iscsi packages are of version
> "3.0", so they could easily be upgraded to the Ceph versioning scheme.
> It would also help with keeping the documentation [4] in sync with the
> functionality (the ceph-iscsi docs are actually part of the main Ceph
> documentation in the git repo already). This approach is more work, as
> it requires finding a way to merge the ceph-iscsi git repo into the ceph
> git repo (ideally by preserving the history), and because the packaging
> and build scripts need to be updated to build the respective DEB and RPM
> packages.

As we have talked about before, I don't like the idea of merging
everything and the kitchen sink into the "ceph" repo. We would need to
ensure backwards compatibility regardless (be it ceph-iscsi upgrades
one node at a time or the ceph-mgr/dashboard being upgraded first
before ceph-iscsi). Those issues can be addressed by creating a decent
set of unit test cases that simulate the REST interactions expected
from the XYZ version of the dashboard to ceph-iscsi. This isn't the
only sub-project that is tied to the core Ceph project repo (e.g.
ceph-ansible, rook, ceph-csi, go-ceph, ...).

> 2) As an alternative that requires lesser effort (but also has fewer
> benefits), we should at least start using branches within the ceph-iscsi
> git repo, so we can do bug fixing on a stable version separate from new
> feature development that may introduce incompatible changes. I'd propose
> to name the branches according to the Ceph release they support, e.g. by
> creating a "nautilus" branch. But the packaging and releasing would
> still be disconnected from the Ceph releases (and the work would
> increase along with the branches we need to build and support).

As part of that same discussion, I also agreed that we should create a
"3.x" stable branch along with a new 3.1 release once the last few
known issues are merged. As of today, I believe it's only a single PR
that just needs to get tested and merged.

> I clearly would be in favor of the first proposal, but would need help
> in getting this implemented.
>
> Thoughts, concerns, objections?
> Would anybody be willing and interested in making this happen?
>
> Thanks!
>
> Lenz
>
> [1] https://github.com/ceph/ceph-iscsi/
> [2] https://github.com/ceph/ceph-iscsi/pull/84/
> [3] https://github.com/ceph/ceph/pull/28720
> [4] http://docs.ceph.com/docs/master/rbd/iscsi-overview/
> --
> SUSE Linux GmbH - Maxfeldstr. 5 - 90409 Nuernberg (Germany)
> GF: Felix Imendörffer, Mary Higgins, Sri Rasiah HRB 21284 (AG Nürnberg)
>
> _______________________________________________
> Dev mailing list -- dev@xxxxxxx
> To unsubscribe send an email to dev-leave@xxxxxxx



--
Jason
_______________________________________________
Dev mailing list -- dev@xxxxxxx
To unsubscribe send an email to dev-leave@xxxxxxx




[Index of Archives]     [CEPH Users]     [Ceph Devel]     [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