Status update on XCP-ng 7.5



  • Hello everyone.

    I'm Samuel Verschelde. I started working full-time on XCP-ng on the 18th or June, so little more than one week ago. It's a pleasure to join your community and to devote my time to this free software project.

    Obviously, my first mission targets the release of XCP-ng 7.5. So I figured I'd write a status update post to let you know what's been done, what is being done and what remains to be done. It's easy to get carried away by technical work and to forget to communicate, and I'll try not to fall in this trap. Since I'm still quite new to XCP-ng, please forgive me in advance any approximation or mistake in what I'll write. Just don't hesitate to point any mistake I might be doing, or any omission.

    What needs to be done

    So, basically the process of releasing the new version of XCP-ng, at the moment (this will evolve), is as follows:

    • Get the installation and source ISOs from XenServer 7.5.
    • Rebrand to XCP-ng and remove trademarked material (Citrix name, XenServer name, Citrix logo, splash screen...).
    • Modify the licensing system to remove the restrictions for features that depend on free software.
    • Remove proprietary software components from Citrix that we aren't allowed to redistribute.
    • Fix a few known bugs
    • Create an update repository for transitioning from 7.4
    • Build the installation ISO
    • Test (internally at first, but we'll quickly involve the community)
    • Release
    • (ideally, because we're a free software project after all) Provide source RPMs.

    So were are we at this stage?

    Rebrand to XCP-ng and remove trademarked material

    Mostly done.

    We do this for legal reasons, and Citrix obviously doesn't want its name (or XenServer) to be associated with XCP-ng.
    Amusingly, though, they added their name in the description of several packages in 7.5. Some of these additions are clarifications, so that's good to help us detect proprietary software or trademarked material among the free software components.

    But some other are suprising, such as what they did to the linux kernel package: they added a Citrix logo image in the package (which otherwise contains free software), and then changed the package license from GPLv2 to Portions GPL, Portions Non-Redistributable (See description). And description of the package now contains:

    Citrix, the Citrix logo, Xen, XenServer, and certain other marks appearing
    herein are proprietary trademarks of Citrix Systems, Inc., and are
    registered in the U.S. and other countries. You may not redistribute this
    package, nor display or otherwise use any Citrix trademarks or any marks
    that incorporate Citrix trademarks without the express prior written
    authorization of Citrix. Nothing herein shall restrict your rights, if
    any, in the software contained within this package under an applicable
    open source license.

    Portions of this package are © 2017 Citrix Systems, Inc. For other
    copyright and licensing information see the relevant source RPM.

    A lot of claims for an added logo.

    Since the kernel contained by this package is free software, we made a new package without the added claims and without that added logo, so that we can redistribute it.

    Modify the licensing system to remove the restrictions for features that depend on free software

    We hoped we could simply reuse our package from 7.4.1 but it seems it's not sufficient. Investigations by @johnelse are in progress. Maybe they changed the protocol, maybe we just need a rebuild against latest xapi.

    Remove proprietary software components from Citrix that we aren't allowed to redistribute

    Some are easy to remove, such as the ParaVirtualization (PV) tools for Windows, which are proprietary. I've been told that Xen Orchestra has support for installing them easily, so we shouldn't miss them too much.

    There's one that's giving @johnelse trouble, though: EMU Manager

    This closed-source component is tightly coupled to other free software core components. Since I know little about it, I'll let John explain:

    emu-manager is a layer between xenopsd (the host-level domain management daemon) and xenguest (which deals with the creation of xen domains) and vgpu (which does the graphics emulation for vGPU)
    It is invoked when VMs are suspended, resumed or migrated

    To put things in a few words: there's a close-source component that we can't remove without losing suspend, resume and migrate features. So we have to replace it with a free-software component of our own, and that's a hard work: the interfaces are public but not the internals. And we'll lose the vGPU migration ability in the process.

    We expect to finish this in two weeks from now, but that may slip. If you think you can help, contact @johnelse or come discuss on the #xcp-ng-dev IRC channel on freenode (we both are on a European timezone).

    Fix a few known bugs

    • Broken link to XCP-ng center in the HTML welcome page: fixed for 7.5.
    • Missing /etc/shadow and other files in install.img: will be fixed when building the new ISO images.
    • Fix xcp-python-libs bug mentioned at https://xcp-ng.org/forum/topic/79/configure-dom0-memory-not-work
    • Maybe more? I'm not sure this list is exhaustive.

    Create an update repository for transitioning from 7.4

    Nearly done.

    Build the installation ISO, Test, Release

    Depends on the above other tasks.

    Community involvement

    Now that I'm available almost all the time, it should become easier to include contributers from the community. We don't have the target infrastructure for that yet, but it's already possible to help at various stages. So don't hesitate to discuss it on this forum, to contact me ( stormi-xcp@ylix.fr ) or to come to chat on freenode's #xcp-ng-dev IRC channel.

    And if you read all of this, thanks!



  • Regarding the PV tools for Windows, see https://xcp-ng.org/2018/04/23/the-future-of-vm-tools/



  • Hi,

    Nice to hear you and hope that XPC-NG shift to "higher gear".

    Best regards,
    Aleksander



  • Is the intention that you can upgrade from 7.4 to 7.5 using yum update or would it require an install from .iso?



  • @markhewitt1978 The intention is to be able to update via yum update, though the ISO will still be an option.



  • Hi @stormi

    can you post some short update?
    I do not want to jostle, but I'm curious about 7.5.

    thanks christian



  • Hi. Everything is ready except the replacement to EMU-manager, which is still in development. I'll announce it once we have a release candidate for those willing to test it before the broader release.



  • We are currently making internal tests to detect and and remove obvious bugs. I hope to be able to release the RC (release candidate) very soon.



  • @stormi very nice, any news/features compare to Citrix Hypervisor 7.5?



  • @_danielgurgel Most work done aimed to offer a free and unlocked version of XenServer 7.5 and to streamline the build process, so don't expect a different featureset. There are experimental packages for ZFS and Ceph support, though, but that's an early stage. See the dedicated threads about those.



  • @stormi Sorry for the inconvenient question, but if XCP is similar to XenServer, why the delay in launching version 7.5?

    The release of version 7.4 was faster.



  • @_danielgurgel Just read the first post, it's explained. In short, Citrix added more closed-source code that broke the Open Source build (impossible to migrate/stop/start a VM). Without counting the deliberate trademark injection in open source package to force us to clean them first.



  • @stormi said in Status update on XCP-ng 7.5:

    c but not the internals. And we'll lose the vGPU migration ability in the process

    You guys do a damn good job of keeping people informed /salute.





  • I know this topic is getting long in tooth and version 7.6 is out but I'm posting this here as documentation.

    I have become concerned about the version control for the XCP-ng installers...The final release of the 7.5.0 installer has been made public with at least three different versions.

    The first time I downloaded 7.5.0 ISO there was no option for RAID during the install.
    The second time I downloaded the ISO, There was an option for RAID... HURRAH!
    The third time I downloaded the ISO, the RAID option was gone again! (But now available in 7.6.0)

    I have all of these ISOs here now... they look the same, they have the same name and size but they are quite different.

    Cheers



  • @konoskoncepts There have been only two versions of the installer, the original one then an enhanced installer with RAID support. That's the one that was available on the official website prior to the release of XCP-ng 7.6.

    Where did you get that third ISO from? That was likely the first version. The second one was labeled 7.5.0-2.



  • Sorry... I've just realised that I only have the two...

    The third one is just a second download of the first. The confusion came from trying to download 7.5 again after 7.6 was released.

    I've been testing at two different locations, home and office... Just after 7.6 was released, i realised i still needed a 7.5 installer but I had trouble locating the link. Obiously I've just downloaded the first one again.

    Whats the best way to get to ISO release repository?

    Cheers



  • You can find all ISOs at https://updates.xcp-ng.org/isos/

    @olivierlambert we may want to offer a link to that under a "Do you need an older installer?" link on the main website?