Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

E2E: Make go tool for creating BMH VMs #1560

Closed
lentzi90 opened this issue Feb 19, 2024 · 9 comments · Fixed by #1767
Closed

E2E: Make go tool for creating BMH VMs #1560

lentzi90 opened this issue Feb 19, 2024 · 9 comments · Fixed by #1767
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue is ready to be actively worked on.

Comments

@lentzi90
Copy link
Member

User Story

As a developer I would like to have a go module for creating virtualized BMHs, so that this can be easily reused and consumed between repos and scripts.

Detailed Description

Similar to make-virt-host, convert the scripts that we use into a go tool that can be reused for e2e tests, tilt setup and (in the future) CAPM3. The currently used scripts work well but are tricky to reuse. It is doable for e2e and tilt so far but it would be much nicer to have a proper go module for it. That module could then be used also by projects building on BMO, e.g. CAPM3, not to mention downstream projects and "testing environments".

At a high level, I want to be able to

  1. go install a binary for creating VMs that can be used as BMHs
  2. import a go module to do the same in go code
  3. specify some basic parameters for how to configure the VMs (amount of VMs to create, CPU, RAM, disk size, MAC, etc). Some kind of config file would probably make sense for this.

Anything else you would like to add:

I think this is the library we should use: https://gitlab.com/libvirt/libvirt-go-module

/kind feature

@metal3-io-bot metal3-io-bot added kind/feature Categorizes issue or PR as related to a new feature. needs-triage Indicates an issue lacks a `triage/foo` label and requires one. labels Feb 19, 2024
@lentzi90
Copy link
Member Author

/cc @Rozzii
/triage accepted

@metal3-io-bot metal3-io-bot added triage/accepted Indicates an issue is ready to be actively worked on. and removed needs-triage Indicates an issue lacks a `triage/foo` label and requires one. labels Feb 19, 2024
@metal3-io-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues will close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@metal3-io-bot metal3-io-bot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 19, 2024
@mquhuy
Copy link
Member

mquhuy commented May 20, 2024

/remove-lifecycle stale

@metal3-io-bot metal3-io-bot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label May 20, 2024
@Rozzii
Copy link
Member

Rozzii commented May 20, 2024

@lentzi90 should we either reword this or should we create a separate for the KubeVirt approach (if it doesn't exist already, I haven't checked) . As far as I understand right now the main goal would be to bring kube-virt into our dev-env and e2e tests to handle the VMs.

@lentzi90
Copy link
Member Author

I can create a separate for kubevirt, but there is work needed on the kubevirt side before we can start using it. Until we have that, I think this is a good alternative that we could do pretty quickly if prioritized.

@mquhuy
Copy link
Member

mquhuy commented May 21, 2024

/assign

@mquhuy
Copy link
Member

mquhuy commented May 21, 2024

Hi @lentzi90, did you mean to refer to this script instead?

@lentzi90
Copy link
Member Author

Well, the script I linked to calls the script you linked but it also does a few more things that we would need. The go tool would need to do these things also, e.g. handle the network and adding the VMs to sushy-tools or VBMC

@mquhuy
Copy link
Member

mquhuy commented May 21, 2024

Well, the script I linked to calls the script you linked but it also does a few more things that we would need. The go tool would need to do these things also, e.g. handle the network and adding the VMs to sushy-tools or VBMC

Thanks. I just want to make sure, since the script you linked doesn't seem to be needed for tilt setup. Anyway, all the functionalities can fit well in the same module, and we can just call what we need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. triage/accepted Indicates an issue is ready to be actively worked on.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants