blktap module needed for kernel 4.16. kernel 4.16 needed for latest Ceph with bluestore backend.



  • As of my understanding from a previous project - a driver can be added to mainline if it has enough use cases in kernel world. Compared to the audience of kernel, blktap2 seems drop in the ocean. Upstream already has Xen while blktap2 is XenServer/XCP-ng specific, thus I think its a hard route.

    I was reading on DKMS and if this can be given out as DKMS.

    Generally, XenServer/XCP-ng doesn't refuse to boot on upstream kernel. It boots well but xapi does not start due to dependency on tapdev. Tapdev is the blktap2 driver which is expected to be present. So if we could ship this as DKMS it can be installed once dom0 is up on any upstream kernel.

    This would mean installing 2 packages - DKMS itself from epel and blktap2 driver.

    From roadmap perspective, do you have plans to take a vanilla CentOS7 and do yum install xcp-ng? or you envision that xcp-ng ISO won't go away at least for next year or so?


  • Admin

    We don't have the resources (nor enough community dev) to be able to get CentOS 7 "transformed" into a XCP-ng in short term. There is a lot of patches to apply on top of CentOS various packages.

    So we'll focus first on a transparent/automated/testable build of XCP-ng from XS, then with this experience/know-how, we'll explore the "from pure CentOS" option.

    We need to prioritize due to our size!



  • Sure. Its not a need as well. I know Citrix tried it years ago but probably left for same reason.

    I'll continue to work on DKMS.

    Cheers. Enjoy the Sunday!


  • Admin

    You too!



  • Update -

    1. Success in running kernel-4.16+ in dom0 with blktap2 driver + Ceph luminous version with bluestore backend.
    2. Could isolate blktap2 driver from kernel to a loadable kernel module in form of blktap2-4.16.8-modules-1.0-1.x86_64.rpm
    3. Can install any upstream kernel in dom0 but blktap2 needs to be built against same kernel else xapi won't start.

    [root@client ~]# uname -a Linux client.enlight 4.16.13 #1 SMP Wed May 30 09:22:58 GMT 2018 x86_64 x86_64 x86_64 GNU/Linux

    [root@client ~]# rpm -ivh blktap2-4.16.8-modules-1.0-1.x86_64.rpm
    error: Failed dependencies: kernel-uname-r = 4.16.8 is needed by blktap2-4.16.8-modules-1.0-1.x86_64

    So essentially to make it worth - the only option is to setup a continous build system that will build latest stable kernels and host either full upstream dom0 compatible kernel or just the blktap2 module... may be both 🙂

    Time to rest blktap2 and move to the actual Ceph productivity integrations.


  • Admin

    We want to make this CI stuff, that we will be the goal of Sam, our new recruit coming in 20 days!

    edit: @r1 you are obviously more than welcome aboard to help us on that!



  • @olivierlambert Would you want to include this in that CI? May be on an experimental branch.


  • Admin

    I don't know yet, it's likely we'll have multiple CI, one for "stable", one for "experimental" with a lot of fun stuff inside 🙂



  • Cool 😄

    I'll get the patch added to GitHub for open access till then.



  • I added the patch on Github - I'm testing it in various systems.

    If you are using RBDSR then use the extra flag device-config:rbd-mode=kernel while creating the PBD.

    Cheers.


  • Admin

    Thanks!

    Is there a way to get this upstream?



  • I don't know yet.
    I will try for centos-release-xen as its a SIG and maintains Xen specific dom0 kernel.


  • Admin

    The CentOS packaging of Xen is very different from XenServer/XCP-ng. "Upstream" for me meant XenServer, no CentOS (at least for a bit)



  • @r1 Sorry Rushy,

    Why did you create a patch instead of directly sent a pull request to the original blktap2 driver.
    I'll say it's time to stop to make unofficial patches which can be overwritten by upstream updates.
    Let's change the upstream directly.

    https://github.com/xapi-project/blktap



  • @maxcuttins There are two packages. User level blktap driver that you referred blktap and a builtin kernel driver blktap2. Said patch is against mainline kernel as additional driver.

    You still need to have user land blktap from https://github.com/xapi-project/blktap
    There are instructions lying around https://xcp-ng.org/forum/topic/122/how-to-build-blktap-from-sources/ to build user land blktap (its without patch).


Log in to reply