xcp-ng / xenopsd-ng

Building a PoC reimplementing xenopsd in another language
GNU Affero General Public License v3.0
7 stars 1 forks source link

xenopsd-ng

Context

Following Xen community discussions around the futur of Xen toolstack, it was decided:

Those requirements are making impossible the usage of xenopsd as-is. However, the concept itself is interesting, and people would like to discover more how it works, with a proof-of-concept showing how to achieve basic operations.

Objectives

In short, the goal is to start reimplementing xenopsd in another language. "To start" because it's only an evaluation, and it might expose other problems on the lower level. This was a major concern: there's some cleaning and choices to make on Xen level itself (ed note: at libxc level I suppose?).

So this is a kind of "parallel" work between reimplementing and doing some work in Xen itself when we spot suboptimal cases.

Architecture objective

Current API status

Languages

There's no community consencus yet on choosing the new xenopsd-ng language. This is why we'll try to implement PoC in different languages. This will probably help us to choose what's the best fit before going for a definitive decision.

Right now, the ideal language wouldn't require any big effort to integrate a new feature vertically (from Xen to the API), so it means the result should be:

Possible languages

For all of them: we need to evaluate if it fits for the role in the "global" aspect (writing an API that can be big)

Go

Pros:

Cons:

Rust

Pros:

Cons:

C

Pros:

Cons:

Python

Pros:

Cons: