xenserver / xe-guest-utilities

XenServer guest utilities for unix-like operating systems
BSD 2-Clause "Simplified" License
56 stars 58 forks source link

New upstream guest agent project #118

Open olivierlambert opened 2 years ago

olivierlambert commented 2 years ago

Hello there!

We are organizing with the Xen project to rewrite guest agent from scratch, under the Xen Project umbrella directly (and not only XCP or XenServer).

Goals are:

https://gitlab.com/xen-project/xen-guest-agent

We might put someone dedicated to that, but before doing actual coding, we should probably set up a workgroup between Xen actors interested, to be able to agree on a minimal set of features.

xihuan-citrix commented 2 years ago

Hi @olivierlambert , good idea that we can put the guest agent upstream into xen-project. But why do we need to recreate a new instead of moving the existing one to xen-project?

xihuan-citrix commented 2 years ago

Hi @olivierlambert , there is another question, after putting the guest agent into xen-project, what would benefit for the customer to install the guest agent?

xihuan-citrix commented 2 years ago

Hi @gangj , as the group member, hope you're also aware of this issue.
CC @minli1

olivierlambert commented 2 years ago

Hello @xihuan-citrix

  1. We'd like to write something from scratch for multiple reasons. Some are to simplify it (maybe no daemon, udev might be enough) while raising the overall code quality. Another reason is to be sure we gather specs for everyone needing those tools and implementing it the right way. It's explained in the README file.
  2. The goal is to reduce the burden for distro maintainers. But there's a big consequence for the end user: it means the guest agent will be available directly in every major Linux distro, so for instance a simple apt get install xen-guest-agent will do the trick.

All in all, this is not an "issue" but a great opportunity to do it the right way (ie Open Source for the code, but also easier to contribute for everyone).

Zhengchai commented 2 years ago

This is a good proposal to improve the guest tools. especially the 6 points listed above as goals. We also need to consider the regression ensuring of no / less breaks to any existing commerical products to the customers. Ideally, could we propose and submit PRs to address these goals (on the list) one by one? (i.e. instead of fork, merge a big PR and/or start a new project completely?).

olivierlambert commented 2 years ago

Hi @Zhengchai The goal is to obviously build something that would fit everyone's requirements :)

So the first step that can be done is to write exactly what do you need on your side, then we'll gather requirements from AWS and others. In the end, we'll decide about the best way to achieve it.

I suggest to start creating an issue here: https://gitlab.com/xen-project/xen-guest-agent/-/issues explaining the features needed from the agent on the behalf of Citrix (ie your product point of view). That will be a great starting point!

edit: the goal is not to create a fork, we want to focus first on what people need to decide what's the best course of action next :+1:

olivierlambert commented 7 months ago

Here there!

I forgot to keep you posted, but we are now entering into a final test phase for the new Xen Guest agents: https://gitlab.com/xen-project/xen-guest-agent

We have now dozens and dozens of users giving their feedback, and globally, it works pretty well 👍

There's many improvements vs the Go version (functionally and technically speaking), we'll be happy to have your contributions and feedback in there 🙂 (plus it's directly inside the Xen Project repo).

If you have any questions or if you want to have more details, let me know!

olivierlambert commented 5 months ago

Since there's no reaction, I'm sending a small friendly reminder :) You are very welcome to participate to https://gitlab.com/xen-project/xen-guest-agent

It's working pretty well since few months. We are working on getting things integrated in upstream distro, removing the need for a manual installation on a regular Linux distro. We also started to work on a Windows version.