File tree Expand file tree Collapse file tree
images/virtualization-artifact/pkg/controller/kvbuilder Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -163,6 +163,7 @@ func (b *KVVM) SetCPUModel(class *v1alpha2.VirtualMachineClass) error {
163163 cpu .Model = virtv1 .CPUModeHostPassthrough
164164 case v1alpha2 .CPUTypeModel :
165165 cpu .Model = class .Spec .CPU .Model
166+ cpu .Features = []virtv1.CPUFeature {{Name : HTCPUFeature , Policy : "require" }}
166167 case v1alpha2 .CPUTypeDiscovery , v1alpha2 .CPUTypeFeatures :
167168 cpu .Model = GenericCPUModel
168169 features := make ([]virtv1.CPUFeature , 0 , len (class .Status .CpuFeatures .Enabled )+ 2 )
Original file line number Diff line number Diff line change @@ -229,6 +229,24 @@ func TestSetCPUModel(t *testing.T) {
229229 name := "test-name"
230230 namespace := "test-namespace"
231231
232+ t .Run ("should add required ht feature for model cpu" , func (t * testing.T ) {
233+ builder := NewEmptyKVVM (types.NamespacedName {Name : name , Namespace : namespace }, KVVMOptions {})
234+ class := & v1alpha2.VirtualMachineClass {
235+ Spec : v1alpha2.VirtualMachineClassSpec {
236+ CPU : v1alpha2.CPU {Type : v1alpha2 .CPUTypeModel , Model : "Nehalem" },
237+ },
238+ }
239+
240+ if err := builder .SetCPUModel (class ); err != nil {
241+ t .Fatalf ("SetCPUModel() failed: %v" , err )
242+ }
243+
244+ features := builder .Resource .Spec .Template .Spec .Domain .CPU .Features
245+ if ! containsCPUFeature (features , virtv1.CPUFeature {Name : HTCPUFeature , Policy : "require" }) {
246+ t .Fatalf ("expected required ht feature to be added for model cpu, got %#v" , features )
247+ }
248+ })
249+
232250 t .Run ("should add required ht feature for discovery cpu" , func (t * testing.T ) {
233251 builder := NewEmptyKVVM (types.NamespacedName {Name : name , Namespace : namespace }, KVVMOptions {})
234252 class := & v1alpha2.VirtualMachineClass {
You can’t perform that action at this time.
0 commit comments