Skip to content

Commit 139ffec

Browse files
authored
Merge pull request #294 from klihub/fixes/rdt-minimum-version-checl
specs-go: fix minumum version check for IntelRdt.
2 parents cfa2c9f + 09c7768 commit 139ffec

File tree

2 files changed

+66
-0
lines changed

2 files changed

+66
-0
lines changed

pkg/cdi/spec_test.go

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -714,6 +714,63 @@ func TestRequiredVersion(t *testing.T) {
714714
},
715715
expectedVersion: "0.7.0",
716716
},
717+
{
718+
719+
description: "global edit RDT schemata requires v1.1.0",
720+
spec: &cdi.Spec{
721+
ContainerEdits: cdi.ContainerEdits{
722+
IntelRdt: &cdi.IntelRdt{
723+
Schemata: []string{"foo"},
724+
},
725+
},
726+
},
727+
expectedVersion: "1.1.0",
728+
},
729+
{
730+
731+
description: "global edit RDT monitoring requires v1.1.0",
732+
spec: &cdi.Spec{
733+
ContainerEdits: cdi.ContainerEdits{
734+
IntelRdt: &cdi.IntelRdt{
735+
EnableMonitoring: true,
736+
},
737+
},
738+
},
739+
expectedVersion: "1.1.0",
740+
},
741+
{
742+
description: "device edit RDT schemata requires v1.1.0",
743+
spec: &cdi.Spec{
744+
Devices: []cdi.Device{
745+
{
746+
Name: "device0",
747+
ContainerEdits: cdi.ContainerEdits{
748+
IntelRdt: &cdi.IntelRdt{
749+
Schemata: []string{"foo"},
750+
},
751+
},
752+
},
753+
},
754+
},
755+
expectedVersion: "1.1.0",
756+
},
757+
{
758+
759+
description: "device edit RDT monitoring requires v1.1.0",
760+
spec: &cdi.Spec{
761+
Devices: []cdi.Device{
762+
{
763+
Name: "device0",
764+
ContainerEdits: cdi.ContainerEdits{
765+
IntelRdt: &cdi.IntelRdt{
766+
EnableMonitoring: true,
767+
},
768+
},
769+
},
770+
},
771+
},
772+
expectedVersion: "1.1.0",
773+
},
717774
}
718775

719776
for _, tc := range testCases {

specs-go/version.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,15 @@ func requiresV110(spec *Spec) bool {
149149
return true
150150
}
151151
}
152+
153+
for _, dev := range spec.Devices {
154+
if i := dev.ContainerEdits.IntelRdt; i != nil {
155+
if i.Schemata != nil || i.EnableMonitoring {
156+
return true
157+
}
158+
}
159+
}
160+
152161
return false
153162
}
154163

0 commit comments

Comments
 (0)