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