starbops / kubevirtbmc

Power management for KubeVirt virtual machines through IPMI
Apache License 2.0
14 stars 1 forks source link

RFE: Upstream KubeBMC into KubeVirt codebase? #1

Open JM1 opened 5 months ago

JM1 commented 5 months ago

Thanks for KubeBMC, @starbops 🤩 It partially solves a long standing KubeVirt issue ☺️

For increased awareness, usage and easier distribution it would be great if KubeBMC would be incorporated into KubeVirt.

starbops commented 5 months ago

Great! I'm delighted that this project addresses some of the issues. I'm willing to assist, so please let me know the next steps or how we should proceed 🙂

JM1 commented 5 months ago

@0xFelix, one of the KubeVirt hackers, knows better but IIUC a potential way forward could be:

  1. Make KubeBMC an official KubeVirt project, i.e. move it under the KubeVirt umbrella aka https://github.com/kubevirt
  2. coordinate with KubeVirt folks to ensure it meets their coding/quality standards,
  3. maybe create an Kubernetes operator for KubeBMC?!?,
  4. integrate it with the existing KubeVirt ecosystem, e.g. Hyperconverged Cluster Operator.

There are many if's (😅), first and foremost your willingness to make it an official part of KubeVirt. But I am sure that official support for IPMI (and Redfish) in KubeVirt would be super beneficial for the community!

0xFelix commented 5 months ago

@JM1 summarized it pretty well. A first good step would be to introduce KubeBMC on kubevirt-dev and to write a proposal for making it part of the KubeVirt project. An important topic is maintenance of this potential subproject. If it becomes part of KubeVirt, you would also be required to maintain it.

starbops commented 5 months ago

Thank you, @JM1 and @0xFelix, for your positive feedback and thoughtful suggestions! I'm absolutely open to contributing KubeBMC to KubeVirt and working towards making it an official part of the project. I appreciate the outlined steps and will start by working on a proposal (is here the right place to send the PR?) and introducing KubeBMC to the kubevirt-dev mailing list.

0xFelix commented 5 months ago

I am pleased to hear that you want to contribute KubeBMC to KubeVirt. I'd start by introducing it on the kubevirt-dev mailing list and asking for feedback on the project. You could outline the steps to make it a part of the KubeVirt project after the introduction. And yes, a proposal in the community repo would be a good next step after that.

lentzi90 commented 3 months ago

With the proposal merged, I guess we should start working on the implementation! :tada: The first step should be the following, from phase 1 in the proposal:

However, some chores need to be done before transferring. For example, the CRD name should be changed from KubeBMC to a more specific one like VirtualMachineBMC, and the API group of the VirtualMachineBMC CRD needs to be replaced with a suitable name conforming to KubeVirt's convention. Also, the code needs to be protected by robust unit tests and integration test plans.

Any volunteers?

starbops commented 3 months ago

@lentzi90 Thanks for bringing this up. I'll create corresponding issues to better track the progress of those tasks. If anyone is interested in any of the items, they can take and start working on it.

dtantsur commented 1 month ago

A small bit of advice from an Ironic community person: don't bother with IPMI. It's a complicated binary protocol, and you'll get diminishing returns out of supporting it compared to the much simpler (HTTP+JSON) Redfish.