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

Redesign CI #9

Open
richiejp opened this issue Apr 2, 2024 · 5 comments
Open

Redesign CI #9

richiejp opened this issue Apr 2, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@richiejp
Copy link
Contributor

richiejp commented Apr 2, 2024

There are a number of issues to break out here.

  • GPU testing
  • Speed up pulling containers
  • New control plane?

Possibly they all have the same solution or not, it needs to be investigated.

@richiejp richiejp added this to the Post Open Source milestone Apr 2, 2024
@richiejp
Copy link
Contributor Author

richiejp commented Apr 3, 2024

Using GitHub's GPU beta runners the cost per minute is $0.07 and our e2e tests used to take 40 mins, so that is $2.8 per job. Per hour it is $4.2. Also these machines are based on Tesla T2's which are quite old now, although that is perhaps a good thing. Other CI providers have similar or greater costs. The price of an A16 machine on Vultr is $0.5 per hour for comparison, although we may have to manage creating and destroying instances.

That is CPU only as well, once we bring all the dependencies for GPU into the mix then a full run could take longer.

@richiejp
Copy link
Contributor Author

richiejp commented Apr 3, 2024

V100 on DataCrunch (on demand) is $0.88 per hour

@richiejp richiejp added the enhancement New feature or request label Apr 3, 2024
@richiejp richiejp self-assigned this Apr 3, 2024
@richiejp
Copy link
Contributor Author

richiejp commented Apr 3, 2024

One option would be to take a QEMU VM snapshot of a running k3s cluster with the NVIDIA operator installed. Then load the VM snapshot at the start of each test and do the install etc.

Problems:

  • Nested virt unless we are running on baremetal already
  • Host to guest communication could require some networking magic (in the past I have used MACVTAP/MACVLAN)

Pros:

  • Excluding virt and network requirements, not provider specific
  • Could be done locally
  • No boot or installation time for the OS or K3s

@richiejp
Copy link
Contributor Author

richiejp commented Apr 4, 2024

  • QEMU supports port forwarding (I never knew)
  • K3sup for initial image creation or if we can't snapshot

@richiejp
Copy link
Contributor Author

richiejp commented Apr 4, 2024

Seems there is only limited crossover between GPUs supporting virtualization/passthrough and GPUs supported by the operator. Pretty much limited to data center GPUs with passive cooling.

richiejp added a commit that referenced this issue Apr 11, 2024
It's not workable at the moment see: #9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant