Skip to content

Commit fccf00f

Browse files
authored
adding virtiofs vol (#11)
Signed-off-by: Steve Fraser <steve@cast.ai>
1 parent f599d8c commit fccf00f

7 files changed

Lines changed: 92 additions & 469 deletions

File tree

.github/workflows/test.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,6 @@ jobs:
1717
- uses: actions/checkout@v2
1818
- uses: actions/setup-go@v2
1919
with:
20-
go-version: '1.19'
20+
go-version: '1.23.1'
2121
- name: Run tests
2222
run: go test ./...

services/microvm/convert.go

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
package microvm
55

66
import (
7-
types "github.com/weaveworks-liquidmetal/controller-pkg/types/microvm"
8-
flintlocktypes "github.com/weaveworks-liquidmetal/flintlock/api/types"
7+
types "github.com/liquidmetal-dev/controller-pkg/types/microvm"
8+
flintlocktypes "github.com/liquidmetal-dev/flintlock/api/types"
99
)
1010

1111
const platformLiquidMetal = "liquid_metal"
@@ -113,15 +113,17 @@ func withAdditionalVolumes(volumes []types.Volume) specOption {
113113
return func(s *flintlocktypes.MicroVMSpec) {
114114
for i := range volumes {
115115
volume := volumes[i]
116-
117116
addVol := &flintlocktypes.Volume{
118117
Id: volume.ID,
119118
IsReadOnly: volume.ReadOnly,
120-
Source: &flintlocktypes.VolumeSource{
121-
ContainerSource: &volume.Image,
122-
},
119+
Source: &flintlocktypes.VolumeSource{},
120+
}
121+
if volume.Image != "" {
122+
addVol.Source.ContainerSource = &volume.Image
123+
}
124+
if volume.VirtioFSPath != "" {
125+
addVol.Source.VirtiofsSource = &volume.VirtioFSPath
123126
}
124-
125127
if volume.MountPoint != "" {
126128
addVol.MountPoint = &volume.MountPoint
127129
}

services/microvm/convert_test.go

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@ import (
66
. "github.com/onsi/gomega"
77
"k8s.io/utils/pointer"
88

9-
"github.com/weaveworks-liquidmetal/controller-pkg/services/microvm/fakes"
10-
"github.com/weaveworks-liquidmetal/controller-pkg/types/microvm"
11-
flintlocktypes "github.com/weaveworks-liquidmetal/flintlock/api/types"
9+
"github.com/liquidmetal-dev/controller-pkg/services/microvm/fakes"
10+
"github.com/liquidmetal-dev/controller-pkg/types/microvm"
11+
flintlocktypes "github.com/liquidmetal-dev/flintlock/api/types"
1212
)
1313

1414
func Test_convertToFlintlockAPI(t *testing.T) {
@@ -145,6 +145,33 @@ func Test_convertToFlintlockAPI(t *testing.T) {
145145
g.Expect(converted.AdditionalVolumes[1].IsReadOnly).To(BeTrue())
146146
},
147147
},
148+
{
149+
name: "withAdditionalVolumes has virtiofs mount",
150+
input: microvm.VMSpec{
151+
AdditionalVolumes: []microvm.Volume{
152+
{
153+
ID: strVal1,
154+
ReadOnly: false,
155+
VirtioFSPath: strVal2,
156+
},
157+
{
158+
ID: strVal3,
159+
Image: strVal4,
160+
ReadOnly: true,
161+
},
162+
},
163+
},
164+
expected: func(g *WithT, converted *flintlocktypes.MicroVMSpec) {
165+
g.Expect(converted.AdditionalVolumes).To(HaveLen(2))
166+
167+
g.Expect(converted.AdditionalVolumes[0].Id).To(Equal(strVal1))
168+
g.Expect(*converted.AdditionalVolumes[0].Source.VirtiofsSource).To(Equal(strVal2))
169+
g.Expect(converted.AdditionalVolumes[0].IsReadOnly).To(BeFalse())
170+
g.Expect(converted.AdditionalVolumes[1].Id).To(Equal(strVal3))
171+
g.Expect(*converted.AdditionalVolumes[1].Source.ContainerSource).To(Equal(strVal4))
172+
g.Expect(converted.AdditionalVolumes[1].IsReadOnly).To(BeTrue())
173+
},
174+
},
148175
{
149176
name: "withAdditionalVolumes, has mountpoint",
150177
input: microvm.VMSpec{

services/microvm/fakes/fake_scope.go

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

services/microvm/go.mod

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,29 @@
1-
module github.com/weaveworks-liquidmetal/controller-pkg/services/microvm
1+
module github.com/liquidmetal-dev/controller-pkg/services/microvm
22

3-
go 1.19
3+
go 1.23
44

55
require (
6+
github.com/liquidmetal-dev/controller-pkg/client v0.0.0-20250206153520-fa7b57540c18
7+
github.com/liquidmetal-dev/controller-pkg/types/microvm v0.0.0-20250207115528-f599d8cc9a1d
8+
github.com/liquidmetal-dev/flintlock/api v0.0.0-20250205095343-755c4154ea88
9+
github.com/liquidmetal-dev/flintlock/client v0.0.0-20250205095343-755c4154ea88
610
github.com/onsi/gomega v1.24.1
7-
github.com/weaveworks-liquidmetal/controller-pkg/client v0.0.0-20230116125931-089fb91de682
8-
github.com/weaveworks-liquidmetal/controller-pkg/types/microvm v0.0.0-20230531120904-dd84ec5eab9f
9-
github.com/weaveworks-liquidmetal/flintlock/api v0.0.0-20230522070730-18c06de56a20
10-
github.com/weaveworks-liquidmetal/flintlock/client v0.0.0-20230522070730-18c06de56a20
1111
github.com/yitsushi/macpot v1.0.2
12-
google.golang.org/protobuf v1.28.1
12+
google.golang.org/protobuf v1.34.1
1313
gopkg.in/yaml.v2 v2.4.0
1414
k8s.io/utils v0.0.0-20221108210102-8e77b1f39fe2
1515
)
1616

1717
require (
18-
github.com/golang/protobuf v1.5.2 // indirect
19-
github.com/google/go-cmp v0.5.9 // indirect
20-
github.com/grpc-ecosystem/grpc-gateway/v2 v2.6.0 // indirect
18+
github.com/google/go-cmp v0.6.0 // indirect
19+
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
2120
github.com/kr/text v0.2.0 // indirect
21+
github.com/rogpeppe/go-internal v1.13.1 // indirect
2222
github.com/stretchr/testify v1.8.0 // indirect
23-
golang.org/x/net v0.8.0 // indirect
24-
golang.org/x/sys v0.6.0 // indirect
25-
golang.org/x/text v0.8.0 // indirect
26-
google.golang.org/genproto v0.0.0-20220616135557-88e70c0c3a90 // indirect
27-
google.golang.org/grpc v1.50.1 // indirect
28-
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
23+
golang.org/x/net v0.26.0 // indirect
24+
golang.org/x/sys v0.21.0 // indirect
25+
golang.org/x/text v0.16.0 // indirect
26+
google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect
27+
google.golang.org/grpc v1.64.1 // indirect
2928
gopkg.in/yaml.v3 v3.0.1 // indirect
3029
)

0 commit comments

Comments
 (0)