On Wed, Dec 05, 2018 at 09:11:58AM -0700, Ken Dreyer wrote:
On Tue, Dec 4, 2018 at 4:09 PM Kaleb S. KEITHLEY kkeithle@redhat.com wrote:
I think it should be achievable. I try and build ganesha with as many FSALs enabled as possible. It's been a while though since I looked at which version of Ceph was in CBS for the Storage SIG.
If Ceph doesn't guarantee its ABIs though that's going to make things harder.
I confirmed with Matt Benjamin on ceph-devel today that this ok. We'll be able to build nfs-ganesha-2.7 against Luminous and then cross-tag that into our newer releases (eg mimic and nautilus). So we can follow the same model that you're following with building nfs-ganesha in the "oldest supported" build target.
In terms of sharing one single nfs-ganesha build across ceph and gluster, I think that will require more work. We'd probably want:
A custom nfs-ganesha "-build" tag/target that contains the "oldest supported" versions of both ceph and gluster,
cross-tag the nfs-ganesha builds from there into both the ceph and gluster -testing tags,
Update the mash configuration to exclude the irrelevant sub-packages when building ceph and gluster's "testing" and "release" repositories.
Unfortunately that last bit looks really tricky. I'm not sure there is a way to tell mash itself to exclude a particular sub-package, and https://git.centos.org/blob/sig-core!cbs-tools.git/master/scripts!mash_run.s... uses a basic mash config template for all CBS tags.
This is something that I'm very much looking forward to see happening. The 3rd point is indeed something that (from my understanding) is not possible. I have thought of an alternative, but that is still a little ugly. Not sure if we want to go that route.
- add a new repository with all nfs-ganesha-x.y packages (direct dependencies and sub-packages), without ceph/gluster
- add a new repository definition in centos-release-gluster and centos-release-ceph packages. This entry in the .repo file should use the 'exclude=' directive to skip the Ceph sub-package for Gluster, and the Gluster sub-package for Ceph.
For additional projects (like Samba) this would work in a similar way.
Opinions? Niels