liquidmetal-dev / liquidmetal-dev/flintlock

Update the e2es to run with an `additional_volume` spec

Open
#666 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

kind/test lifecycle/stale
Dominant language
Go
Stars
1.5k
Forks
73
Avg merge
17h 24m
Merged PRs (30d)
30

Description

Update the e2es with the following patch:

```diff
diff --git a/test/e2e/utils/utils.go b/test/e2e/utils/utils.go
index 6f631c2..7a92c6b 100644
--- a/test/e2e/utils/utils.go
+++ b/test/e2e/utils/utils.go
@@ -79,7 +79,8 @@ func PidRunning(pid int) bool {

func defaultTestMicroVM(name, namespace string) *types.MicroVMSpec {
var (
- binImage = "ghcr.io/weaveworks-liquidmetal/flintlock-kernel:5.10.77"
+ binImage = "ghcr.io/weaveworks-liquidmetal/firecracker-kernel-bin:5.10.77"
+ modImage = "ghcr.io/weaveworks-liquidmetal/firecracker-kernel-modules:5.10.77"
osImage = "ghcr.io/weaveworks-liquidmetal/capmvm-k8s-os:1.23.5"
)

@@ -100,6 +101,16 @@ func defaultTestMicroVM(name, namespace string) *types.MicroVMSpec {
ContainerSource: pointyString(osImage),
},
},
+ AdditionalVolumes: []*types.Volume{
+ {
+ Id: "modules",
+ IsReadOnly: false,
+ Source: &types.VolumeSource{
+ ContainerSource: pointyString(modImage),
+ },
+ MountPoint: pointyString("/lib/modules/5.10.77"),
+ },
+ },
Interfaces: []*types.NetworkInterface{
{
DeviceId: "eth1",
```

When i have done this so far, something weird has happened when running the tests: the mvm will create, sortof, then flintlock or containerd will go into a really aggressive hot loop somewhere around [here](https://github.com/weaveworks-liquidmetal/flintlock/blob/main/infrastructure/firecracker/provider.go#L118). I wasn't able to grab logs at the time, but if I see it again I will.

I have used this feature a bunch and had zero problem, so I wonder if it is something with the tests?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in test/e2e/utils/utils.go at defaultTestMicroVM and review the proposed AdditionalVolumes entry using the firecracker kernel modules image. Run the e2e tests and inspect infrastructure/firecracker/provider.go around line 118 if the microVM enters the reported hot loop. Done means the e2es run successfully with the additional_volume specification.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
testing
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.