Proposal: ceph-iscsi branch/release concept

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

 



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.

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).

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)

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
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