On 08/14/2013 02:57 PM, Anand Avati wrote:

On Wed, Aug 14, 2013 at 2:16 AM, Deepak C Shetty <deepa...@linux.vnet.ibm.com <mailto:deepa...@linux.vnet.ibm.com>> wrote:

    On 08/14/2013 02:23 PM, Anand Avati wrote:



    On Wed, Aug 14, 2013 at 1:40 AM, Deepak C Shetty
    <deepa...@linux.vnet.ibm.com
    <mailto:deepa...@linux.vnet.ibm.com>> wrote:

        On 08/14/2013 01:37 PM, Anand Avati wrote:



        On Wed, Aug 14, 2013 at 12:25 AM, Deepak C Shetty
        <deepa...@linux.vnet.ibm.com
        <mailto:deepa...@linux.vnet.ibm.com>> wrote:

            On 07/29/2013 12:18 AM, Anand Avati wrote:



            On Sun, Jul 28, 2013 at 11:18 AM, Vijay Bellur
            <vbel...@redhat.com <mailto:vbel...@redhat.com>> wrote:

                Hi All,

                There was a recent thread on fedora-devel about
                bloated glusterfs dependency for qemu:

                
https://lists.fedoraproject.org/pipermail/devel/2013-July/186484.html

                As of today, we have the following packages and
                respective primary constituents:

                 1. glusterfs   - contains all the common xlators,
                libglusterfs, glusterfsd binary & glusterfs symlink
                to glusterfsd.
                 2. glusterfs-rdma            - rdma shared library
                 3. glusterfs-geo-replication - geo-rep related objects
                 4. glusterfs-fuse            - fuse xlator
                 5. glusterfs-server          - server side
                xlators, config files
                 6. glusterfs-api             - libgfapi shared library
                 7. glusterfs-resource-agents - OCF resource agents
                 8. glusterfs-devel           - Header files for
                libglusterfs
                 9. glusterfs-api-devel       - Header files for gfapi

                As far as qemu is concerned, qemu depends on
                glusterfs-api which in turn is dependent on
                glusterfs. Much of the apparent bloat is coming
                from glusterfs package and one proposal for
                reducing the dependency footprint of consumers of
                libgfapi could be the following:

                a) Move glusterfsd and glusterfs symlink from
                'glusterfs' to 'glusterfs-server'
                b) Package glusterfsd binary and glusterfs symlink
                in 'glusterfs-fuse'



            Does that mean glusterfsd is in glusterfs-server or
            glusterfs-fuse? It is probably sufficient to leave
            glusterfs-fuse just have fuse.so and mount.glusterfs.in
            <http://mount.glusterfs.in>

            Another model can be:

            0. glusterfs-libs.rpm - libglusterfs.so libgfrpc.so
            libgfxdr.so
            1. glusterfs (depends on glusterfs-libs) - glusterfsd
            binary, glusterfs symlink, all common xlators
            2. glusterfs-rdma (depends on glusterfs) - rdma shared
            library
            3. glusterfs-geo-replication (depends on glusterfs) -
            geo-rep related objects
            4. glusterfs-fuse (depends on glusterfs) - fuse xlator,
            mount.glusterfs
            5. glusterfs-server (depends on glusterfs) - server
            side xlators, config files
            6. glusterfs-api (depends on glusterfs-libs) -
            libgfapi.so and api.so
            7. glusterfs-resource-agents (depends on glusterfs)
            8. glusterfs-devel (depends on glusterfs-libs) - header
            files for libglusterfs
            9. glusterfs-api-devel (depends on glusterfs-api) -
            header files for gfapi

            This way qemu will only pick up libgfapi.so
            libglusterfs.so libgfrpc.so and libgfxdr.so (the bare
            minimum to "just execute") for the binary to load at
            run time. Those who want to store vm images natively on
            gluster must also do a 'yum install glusterfs' to make
            gfapi 'useful'. This way Fedora qemu users who do not
            plan to use gluster will not get any of the xlator cruft.

            Looks like even after the re-packaging.. the original
            problem is still there !
            Post re-strucuring ( i am on F19 with updates-testing
            repo enabled)

            gluserfs-api has dep on -libs and glusterfs
            So when User install glusterfs-api, it pulls in -libs
            and glusterfs

            This is correct, since w/o glusterfs rpm we won't have a
            working qemu gluster backend.


        Actually this *wasnt* what we discussed. glusterfs-api was
        supposed to depend on glusterfs-libs *ONLY*. This is because
        it has a linking (hard) relationship with glusterfs-libs,
        and glusterfs.rpm is only a run-time dependency - everything
        here is dlopen()ed.

            Just allowing qemu to execute by way of installing-libs
            and -api only won't help, since once qemu executes and
            someone tries qemu w/ gluster backend.. things will fail
            unless User has installed glusterfs rpm (which has all
            the client xlators)


        I think this was exactly what we concluded. That a user
        would need to install glusterfs rpm if they wanted to store
        VM images on gluster (independent of the fact that qemu was
        linked with glusterfs-api). Do you see a problem with this?

        Putting a User's hat.. i think its a problem.
        IIUC What you are saying is that User must be aware that
        he/she needs to install glusterfs in order to use qemu
        gluster backend. User may argue.. why didn't you install
        glusterfs as part of qemu yum install itself ?

        Expecting user (who may or may not be glsuter/virt. aware) to
        install addnl rpm to use qemu gluster might not work always.

        Who will inform user to install glusterfs when things fail at
        runtime ?



    Your view is in direct contradiction with the view of those who
    objected the dependency to start with :-) I think this question
    needs to be reconciled with the initial reporters.


    One more point to note here is that... even if we go with the way
    you suggested, it solves the original problem but brings in
    another as I stated above. People forgetting to install glusterfs
    would end up in qemu runtime error which i feel is even worse. So
    your re-pkg doesn't end the problem afaics :) It just moves the
    problem to a diff. place at a diff. time :)


You're probably right. Also given the fact that the objections died out after Kaleb did the explaining, I'm not sure if we need to do any more changes (and leave the dependency as-is)?

I agree.


Avati

_______________________________________________
Gluster-devel mailing list
Gluster-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/gluster-devel

Reply via email to