diff --git a/internal/featuresupport/feature_support_test.go b/internal/featuresupport/feature_support_test.go index c84425964a2..60df45cdd6e 100644 --- a/internal/featuresupport/feature_support_test.go +++ b/internal/featuresupport/feature_support_test.go @@ -112,6 +112,30 @@ var _ = Describe("V2ListFeatureSupportLevels API", func() { } }) + Context("Test LSO CPU compatibility", func() { + feature := models.FeatureSupportLevelIDLSO + It("LSO IsFeatureAvailable", func() { + Expect(IsFeatureAvailable(feature, "Does not matter", swag.String(models.ClusterCPUArchitecturePpc64le))).To(Equal(true)) + Expect(IsFeatureAvailable(feature, "Does not matter", swag.String(models.ClusterCPUArchitectureX8664))).To(Equal(true)) + Expect(IsFeatureAvailable(feature, "Does not matter", swag.String(models.ClusterCPUArchitectureS390x))).To(Equal(true)) + Expect(IsFeatureAvailable(feature, "Does not matter", swag.String(models.ClusterCPUArchitectureArm64))).To(Equal(false)) + }) + It("LSO GetSupportLevel on architecture", func() { + featureSupportParams := SupportLevelFilters{OpenshiftVersion: "Any", CPUArchitecture: swag.String(models.ClusterCPUArchitectureX8664)} + Expect(GetSupportLevel(feature, featureSupportParams)).To(Equal(models.SupportLevelSupported)) + + featureSupportParams.CPUArchitecture = swag.String(models.ClusterCPUArchitectureS390x) + Expect(GetSupportLevel(feature, featureSupportParams)).To(Equal(models.SupportLevelSupported)) + + featureSupportParams.CPUArchitecture = swag.String(models.ClusterCPUArchitecturePpc64le) + Expect(GetSupportLevel(feature, featureSupportParams)).To(Equal(models.SupportLevelSupported)) + + featureSupportParams.CPUArchitecture = swag.String(models.ClusterCPUArchitectureArm64) + Expect(GetSupportLevel(feature, featureSupportParams)).To(Equal(models.SupportLevelUnavailable)) + }) + + }) + Context("GetCpuArchitectureSupportList", func() { It("GetCpuArchitectureSupportList for openshift version 4.6", func() { openshiftVersion := "4.6" diff --git a/internal/featuresupport/features.go b/internal/featuresupport/features.go index 45587bce7fb..7b007f9fd54 100644 --- a/internal/featuresupport/features.go +++ b/internal/featuresupport/features.go @@ -678,8 +678,6 @@ func (feature *LsoFeature) getIncompatibleFeatures() *[]models.FeatureSupportLev func (feature *LsoFeature) getIncompatibleArchitectures(_ *string) *[]models.ArchitectureSupportLevelID { return &[]models.ArchitectureSupportLevelID{ - models.ArchitectureSupportLevelIDS390XARCHITECTURE, - models.ArchitectureSupportLevelIDPPC64LEARCHITECTURE, models.ArchitectureSupportLevelIDARM64ARCHITECTURE, } }