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