From 5b7002177c46a8af511dabb6639fd1fa7a90916e Mon Sep 17 00:00:00 2001 From: Ori Amizur Date: Wed, 8 Nov 2023 18:42:41 +0200 Subject: [PATCH] NO-JIRA: Enable skip mco reboot functionality only if openshift version is 4.15 and higher --- .../models/feature_support_level_id.go | 5 ++- .../models/feature_support_level_id.go | 5 ++- .../featuresupport/feature_support_level.go | 1 + .../featuresupport/feature_support_test.go | 6 +-- internal/featuresupport/features_misc.go | 42 +++++++++++++++++++ internal/host/hostcommands/install_cmd.go | 6 ++- .../host/hostcommands/install_cmd_test.go | 32 +++++++------- models/feature_support_level_id.go | 5 ++- restapi/embedded_spec.go | 6 ++- swagger.yaml | 1 + .../models/feature_support_level_id.go | 5 ++- 11 files changed, 90 insertions(+), 24 deletions(-) diff --git a/api/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go b/api/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go index 36f7fc3c8a..1076b4a453 100644 --- a/api/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go +++ b/api/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go @@ -92,6 +92,9 @@ const ( // FeatureSupportLevelIDPLATFORMMANAGEDNETWORKING captures enum value "PLATFORM_MANAGED_NETWORKING" FeatureSupportLevelIDPLATFORMMANAGEDNETWORKING FeatureSupportLevelID = "PLATFORM_MANAGED_NETWORKING" + + // FeatureSupportLevelIDSKIPMCOREBOOT captures enum value "SKIP_MCO_REBOOT" + FeatureSupportLevelIDSKIPMCOREBOOT FeatureSupportLevelID = "SKIP_MCO_REBOOT" ) // for schema @@ -99,7 +102,7 @@ var featureSupportLevelIdEnum []interface{} func init() { var res []FeatureSupportLevelID - if err := json.Unmarshal([]byte(`["SNO","VIP_AUTO_ALLOC","CUSTOM_MANIFEST","SINGLE_NODE_EXPANSION","LVM","ODF","LSO","CNV","MCE","NUTANIX_INTEGRATION","BAREMETAL_PLATFORM","NONE_PLATFORM","VSPHERE_INTEGRATION","DUAL_STACK_VIPS","CLUSTER_MANAGED_NETWORKING","USER_MANAGED_NETWORKING","MINIMAL_ISO","FULL_ISO","EXTERNAL_PLATFORM_OCI","DUAL_STACK","PLATFORM_MANAGED_NETWORKING"]`), &res); err != nil { + if err := json.Unmarshal([]byte(`["SNO","VIP_AUTO_ALLOC","CUSTOM_MANIFEST","SINGLE_NODE_EXPANSION","LVM","ODF","LSO","CNV","MCE","NUTANIX_INTEGRATION","BAREMETAL_PLATFORM","NONE_PLATFORM","VSPHERE_INTEGRATION","DUAL_STACK_VIPS","CLUSTER_MANAGED_NETWORKING","USER_MANAGED_NETWORKING","MINIMAL_ISO","FULL_ISO","EXTERNAL_PLATFORM_OCI","DUAL_STACK","PLATFORM_MANAGED_NETWORKING","SKIP_MCO_REBOOT"]`), &res); err != nil { panic(err) } for _, v := range res { diff --git a/client/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go b/client/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go index 36f7fc3c8a..1076b4a453 100644 --- a/client/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go +++ b/client/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go @@ -92,6 +92,9 @@ const ( // FeatureSupportLevelIDPLATFORMMANAGEDNETWORKING captures enum value "PLATFORM_MANAGED_NETWORKING" FeatureSupportLevelIDPLATFORMMANAGEDNETWORKING FeatureSupportLevelID = "PLATFORM_MANAGED_NETWORKING" + + // FeatureSupportLevelIDSKIPMCOREBOOT captures enum value "SKIP_MCO_REBOOT" + FeatureSupportLevelIDSKIPMCOREBOOT FeatureSupportLevelID = "SKIP_MCO_REBOOT" ) // for schema @@ -99,7 +102,7 @@ var featureSupportLevelIdEnum []interface{} func init() { var res []FeatureSupportLevelID - if err := json.Unmarshal([]byte(`["SNO","VIP_AUTO_ALLOC","CUSTOM_MANIFEST","SINGLE_NODE_EXPANSION","LVM","ODF","LSO","CNV","MCE","NUTANIX_INTEGRATION","BAREMETAL_PLATFORM","NONE_PLATFORM","VSPHERE_INTEGRATION","DUAL_STACK_VIPS","CLUSTER_MANAGED_NETWORKING","USER_MANAGED_NETWORKING","MINIMAL_ISO","FULL_ISO","EXTERNAL_PLATFORM_OCI","DUAL_STACK","PLATFORM_MANAGED_NETWORKING"]`), &res); err != nil { + if err := json.Unmarshal([]byte(`["SNO","VIP_AUTO_ALLOC","CUSTOM_MANIFEST","SINGLE_NODE_EXPANSION","LVM","ODF","LSO","CNV","MCE","NUTANIX_INTEGRATION","BAREMETAL_PLATFORM","NONE_PLATFORM","VSPHERE_INTEGRATION","DUAL_STACK_VIPS","CLUSTER_MANAGED_NETWORKING","USER_MANAGED_NETWORKING","MINIMAL_ISO","FULL_ISO","EXTERNAL_PLATFORM_OCI","DUAL_STACK","PLATFORM_MANAGED_NETWORKING","SKIP_MCO_REBOOT"]`), &res); err != nil { panic(err) } for _, v := range res { diff --git a/internal/featuresupport/feature_support_level.go b/internal/featuresupport/feature_support_level.go index 1885bc5841..08cac8a80f 100644 --- a/internal/featuresupport/feature_support_level.go +++ b/internal/featuresupport/feature_support_level.go @@ -16,6 +16,7 @@ var featuresList = map[models.FeatureSupportLevelID]SupportLevelFeature{ models.FeatureSupportLevelIDSINGLENODEEXPANSION: (&SingleNodeExpansionFeature{}).New(), models.FeatureSupportLevelIDMINIMALISO: (&MinimalIso{}).New(), models.FeatureSupportLevelIDFULLISO: (&FullIso{}).New(), + models.FeatureSupportLevelIDSKIPMCOREBOOT: &skipMcoReboot{}, // Network features models.FeatureSupportLevelIDVIPAUTOALLOC: (&VipAutoAllocFeature{}).New(), diff --git a/internal/featuresupport/feature_support_test.go b/internal/featuresupport/feature_support_test.go index 6ac3ebb864..cbf493c36d 100644 --- a/internal/featuresupport/feature_support_test.go +++ b/internal/featuresupport/feature_support_test.go @@ -197,18 +197,18 @@ var _ = Describe("V2ListFeatureSupportLevels API", func() { for _, platform := range platforms { p := platform list := GetFeatureSupportList("dummy", nil, &p) - Expect(len(list)).To(Equal(16)) + Expect(len(list)).To(Equal(17)) } }) It("GetFeatureSupportList 4.12", func() { list := GetFeatureSupportList("4.12", nil, nil) - Expect(len(list)).To(Equal(20)) + Expect(len(list)).To(Equal(21)) }) It("GetFeatureSupportList 4.13", func() { list := GetFeatureSupportList("4.13", nil, nil) - Expect(len(list)).To(Equal(20)) + Expect(len(list)).To(Equal(21)) }) It("GetCpuArchitectureSupportList 4.12", func() { diff --git a/internal/featuresupport/features_misc.go b/internal/featuresupport/features_misc.go index 1dade7eb7b..7c8006f73f 100644 --- a/internal/featuresupport/features_misc.go +++ b/internal/featuresupport/features_misc.go @@ -249,3 +249,45 @@ func (feature *FullIso) getFeatureActiveLevel(_ *common.Cluster, infraEnv *model } return activeLevelNotActive } + +// Skip MCO reboot +type skipMcoReboot struct{} + +func (f *skipMcoReboot) New() SupportLevelFeature { + return &skipMcoReboot{} +} + +func (f *skipMcoReboot) getId() models.FeatureSupportLevelID { + return models.FeatureSupportLevelIDSKIPMCOREBOOT +} + +func (f *skipMcoReboot) GetName() string { + return "Skip MCO reboot" +} + +func (f *skipMcoReboot) getSupportLevel(filters SupportLevelFilters) models.SupportLevel { + enableSkipMcoReboot, err := common.BaseVersionGreaterOrEqual("4.15.0", filters.OpenshiftVersion) + if !enableSkipMcoReboot || err != nil { + return models.SupportLevelUnavailable + } + return models.SupportLevelSupported +} + +func (f *skipMcoReboot) getIncompatibleFeatures(openshiftVersion string) *[]models.FeatureSupportLevelID { + return nil +} + +func (f *skipMcoReboot) getIncompatibleArchitectures(openshiftVersion *string) *[]models.ArchitectureSupportLevelID { + return nil +} + +func (f *skipMcoReboot) getFeatureActiveLevel(cluster *common.Cluster, infraEnv *models.InfraEnv, + clusterUpdateParams *models.V2ClusterUpdateParams, infraenvUpdateParams *models.InfraEnvUpdateParams) featureActiveLevel { + if cluster != nil { + active, err := common.BaseVersionGreaterOrEqual("4.15.0", cluster.OpenshiftVersion) + if err != nil || !active { + return activeLevelNotActive + } + } + return activeLevelActive +} diff --git a/internal/host/hostcommands/install_cmd.go b/internal/host/hostcommands/install_cmd.go index 1e9d141f84..626447b0fc 100644 --- a/internal/host/hostcommands/install_cmd.go +++ b/internal/host/hostcommands/install_cmd.go @@ -12,6 +12,7 @@ import ( "github.com/openshift/assisted-service/internal/common" eventgen "github.com/openshift/assisted-service/internal/common/events" eventsapi "github.com/openshift/assisted-service/internal/events/api" + "github.com/openshift/assisted-service/internal/featuresupport" "github.com/openshift/assisted-service/internal/hardware" "github.com/openshift/assisted-service/internal/host/hostutil" "github.com/openshift/assisted-service/internal/network" @@ -114,7 +115,10 @@ func (i *installCmd) getFullInstallerCommand(ctx context.Context, cluster *commo CheckCvo: swag.Bool(i.instructionConfig.CheckClusterVersion), InstallerImage: swag.String(i.instructionConfig.InstallerImage), BootDevice: swag.String(bootdevice), - EnableSkipMcoReboot: i.enableSkipMcoReboot, + } + if i.enableSkipMcoReboot { + request.EnableSkipMcoReboot = featuresupport.IsFeatureAvailable(models.FeatureSupportLevelIDSKIPMCOREBOOT, + cluster.OpenshiftVersion, swag.String(cluster.CPUArchitecture)) } // those flags are not used on day2 installation diff --git a/internal/host/hostcommands/install_cmd_test.go b/internal/host/hostcommands/install_cmd_test.go index 3e98d7487d..c488f58c25 100644 --- a/internal/host/hostcommands/install_cmd_test.go +++ b/internal/host/hostcommands/install_cmd_test.go @@ -108,16 +108,20 @@ var _ = Describe("installcmd", func() { }) }) DescribeTable("enable MCO reboot values", - func(enableMcoReboot bool) { + func(enableMcoReboot bool, version string, expected bool) { installCommand := NewInstallCmd(common.GetTestLog(), db, mockValidator, mockRelease, instructionConfig, mockEvents, mockVersions, enableMcoReboot) mockValidator.EXPECT().GetHostInstallationPath(gomock.Any()).Return(common.TestDiskId).Times(1) mockGetReleaseImage(1) mockImages(1) + Expect(db.Model(&common.Cluster{}).Where("id = ?", *host.ClusterID).Update("openshift_version", version).Error).ToNot(HaveOccurred()) installCmdSteps, stepErr = installCommand.GetSteps(ctx, &host) - validateInstallCommand(installCommand, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, enableMcoReboot) + validateInstallCommand(installCommand, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, expected, version) }, - Entry("Enbale MCO reboot is false", false), - Entry("Enbale MCO reboot is true", true), + Entry("Enbale MCO reboot is false", false, "4.15.0", false), + Entry("Enbale MCO reboot is true. Lower version", true, "4.14.0", false), + Entry("Enbale MCO reboot is true. Equal version", true, "4.15.0", true), + Entry("Enbale MCO reboot is true. Higher version", true, "4.16.0", true), + Entry("Enbale MCO reboot is true. Empty version", true, "", false), ) It("get_step_one_master_success", func() { @@ -126,7 +130,7 @@ var _ = Describe("installcmd", func() { mockImages(1) installCmdSteps, stepErr = installCmd.GetSteps(ctx, &host) postvalidation(false, false, installCmdSteps[0], stepErr, models.HostRoleMaster) - validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, true) + validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, false, common.TestDefaultConfig.OpenShiftVersion) hostFromDb := hostutil.GetHostFromDB(*host.ID, infraEnvId, db) Expect(hostFromDb.InstallerVersion).Should(Equal(DefaultInstructionConfig.InstallerImage)) }) @@ -139,13 +143,13 @@ var _ = Describe("installcmd", func() { mockImages(3) installCmdSteps, stepErr = installCmd.GetSteps(ctx, &host) postvalidation(false, false, installCmdSteps[0], stepErr, models.HostRoleMaster) - validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, true) + validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, false, common.TestDefaultConfig.OpenShiftVersion) installCmdSteps, stepErr = installCmd.GetSteps(ctx, &host2) postvalidation(false, false, installCmdSteps[0], stepErr, models.HostRoleMaster) - validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host2.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, true) + validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host2.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, false, common.TestDefaultConfig.OpenShiftVersion) installCmdSteps, stepErr = installCmd.GetSteps(ctx, &host3) postvalidation(false, false, installCmdSteps[0], stepErr, models.HostRoleBootstrap) - validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleBootstrap, infraEnvId, clusterId, *host3.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, true) + validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleBootstrap, infraEnvId, clusterId, *host3.ID, common.TestDiskId, nil, models.ClusterHighAvailabilityModeFull, false, common.TestDefaultConfig.OpenShiftVersion) }) It("invalid_inventory", func() { host.Inventory = "blah" @@ -231,7 +235,7 @@ var _ = Describe("installcmd", func() { prepareGetStep(sdb) installCmdSteps, stepErr = installCmd.GetSteps(ctx, &host) postvalidation(false, false, installCmdSteps[0], stepErr, models.HostRoleMaster) - validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, sdb.ID, getBootableDiskNames(disks), models.ClusterHighAvailabilityModeFull, true) + validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, sdb.ID, getBootableDiskNames(disks), models.ClusterHighAvailabilityModeFull, false, common.TestDefaultConfig.OpenShiftVersion) hostFromDb := hostutil.GetHostFromDB(*host.ID, infraEnvId, db) Expect(hostFromDb.InstallerVersion).Should(Equal(DefaultInstructionConfig.InstallerImage)) verifyDiskFormatCommand(installCmdSteps[0], sda.ID, true) @@ -252,7 +256,7 @@ var _ = Describe("installcmd", func() { prepareGetStep(sddd) installCmdSteps, stepErr = installCmd.GetSteps(ctx, &host) postvalidation(false, false, installCmdSteps[0], stepErr, models.HostRoleMaster) - validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, sddd.ID, getBootableDiskNames(disks), models.ClusterHighAvailabilityModeFull, true) + validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, sddd.ID, getBootableDiskNames(disks), models.ClusterHighAvailabilityModeFull, false, common.TestDefaultConfig.OpenShiftVersion) hostFromDb := hostutil.GetHostFromDB(*host.ID, infraEnvId, db) Expect(hostFromDb.InstallerVersion).Should(Equal(DefaultInstructionConfig.InstallerImage)) verifyDiskFormatCommand(installCmdSteps[0], sda.ID, true) @@ -274,7 +278,7 @@ var _ = Describe("installcmd", func() { prepareGetStep(sddd) installCmdSteps, stepErr = installCmd.GetSteps(ctx, &host) postvalidation(false, false, installCmdSteps[0], stepErr, models.HostRoleMaster) - validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, sddd.ID, getBootableDiskNames(disks), models.ClusterHighAvailabilityModeFull, true) + validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, sddd.ID, getBootableDiskNames(disks), models.ClusterHighAvailabilityModeFull, false, common.TestDefaultConfig.OpenShiftVersion) hostFromDb := hostutil.GetHostFromDB(*host.ID, infraEnvId, db) Expect(hostFromDb.InstallerVersion).Should(Equal(DefaultInstructionConfig.InstallerImage)) verifyDiskFormatCommand(installCmdSteps[0], sda.ID, true) @@ -320,7 +324,7 @@ var _ = Describe("installcmd", func() { prepareGetStep(sdb) installCmdSteps, stepErr = installCmd.GetSteps(ctx, &host) postvalidation(false, false, installCmdSteps[0], stepErr, models.HostRoleMaster) - validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, sdb.ID, []string{sda.ID, sdc.ID}, models.ClusterHighAvailabilityModeFull, true) + validateInstallCommand(installCmd, installCmdSteps[0], models.HostRoleMaster, infraEnvId, clusterId, *host.ID, sdb.ID, []string{sda.ID, sdc.ID}, models.ClusterHighAvailabilityModeFull, false, common.TestDefaultConfig.OpenShiftVersion) hostFromDb := hostutil.GetHostFromDB(*host.ID, infraEnvId, db) Expect(hostFromDb.InstallerVersion).Should(Equal(DefaultInstructionConfig.InstallerImage)) verifyDiskFormatCommand(installCmdSteps[0], sda.ID, true) @@ -1187,7 +1191,7 @@ func postvalidation(isstepreplynil bool, issteperrnil bool, expectedstepreply *m } func validateInstallCommand(installCmd *installCmd, reply *models.Step, role models.HostRole, infraEnvId, clusterId, hostId strfmt.UUID, - bootDevice string, bootableDisks []string, haMode string, enableSkipMcoReboot bool) { + bootDevice string, bootableDisks []string, haMode string, enableSkipMcoReboot bool, version string) { ExpectWithOffset(1, reply.StepType).To(Equal(models.StepTypeInstall)) mustGatherImage, _ := installCmd.getMustGatherArgument(defaultMustGatherVersion) request := models.InstallCmdRequest{} @@ -1197,7 +1201,7 @@ func validateInstallCommand(installCmd *installCmd, reply *models.Step, role mod Expect(request.ClusterID.String()).To(Equal(clusterId.String())) Expect(request.HostID.String()).To(Equal(hostId.String())) Expect(swag.StringValue(request.HighAvailabilityMode)).To(Equal(haMode)) - Expect(request.OpenshiftVersion).To(Equal(common.TestDefaultConfig.OpenShiftVersion)) + Expect(request.OpenshiftVersion).To(Equal(version)) Expect(*request.Role).To(Equal(role)) Expect(swag.StringValue(request.BootDevice)).To(Equal(bootDevice)) Expect(request.McoImage).To(Equal(defaultMCOImage)) diff --git a/models/feature_support_level_id.go b/models/feature_support_level_id.go index 36f7fc3c8a..1076b4a453 100644 --- a/models/feature_support_level_id.go +++ b/models/feature_support_level_id.go @@ -92,6 +92,9 @@ const ( // FeatureSupportLevelIDPLATFORMMANAGEDNETWORKING captures enum value "PLATFORM_MANAGED_NETWORKING" FeatureSupportLevelIDPLATFORMMANAGEDNETWORKING FeatureSupportLevelID = "PLATFORM_MANAGED_NETWORKING" + + // FeatureSupportLevelIDSKIPMCOREBOOT captures enum value "SKIP_MCO_REBOOT" + FeatureSupportLevelIDSKIPMCOREBOOT FeatureSupportLevelID = "SKIP_MCO_REBOOT" ) // for schema @@ -99,7 +102,7 @@ var featureSupportLevelIdEnum []interface{} func init() { var res []FeatureSupportLevelID - if err := json.Unmarshal([]byte(`["SNO","VIP_AUTO_ALLOC","CUSTOM_MANIFEST","SINGLE_NODE_EXPANSION","LVM","ODF","LSO","CNV","MCE","NUTANIX_INTEGRATION","BAREMETAL_PLATFORM","NONE_PLATFORM","VSPHERE_INTEGRATION","DUAL_STACK_VIPS","CLUSTER_MANAGED_NETWORKING","USER_MANAGED_NETWORKING","MINIMAL_ISO","FULL_ISO","EXTERNAL_PLATFORM_OCI","DUAL_STACK","PLATFORM_MANAGED_NETWORKING"]`), &res); err != nil { + if err := json.Unmarshal([]byte(`["SNO","VIP_AUTO_ALLOC","CUSTOM_MANIFEST","SINGLE_NODE_EXPANSION","LVM","ODF","LSO","CNV","MCE","NUTANIX_INTEGRATION","BAREMETAL_PLATFORM","NONE_PLATFORM","VSPHERE_INTEGRATION","DUAL_STACK_VIPS","CLUSTER_MANAGED_NETWORKING","USER_MANAGED_NETWORKING","MINIMAL_ISO","FULL_ISO","EXTERNAL_PLATFORM_OCI","DUAL_STACK","PLATFORM_MANAGED_NETWORKING","SKIP_MCO_REBOOT"]`), &res); err != nil { panic(err) } for _, v := range res { diff --git a/restapi/embedded_spec.go b/restapi/embedded_spec.go index 93c5fb6fcd..54d14e9900 100644 --- a/restapi/embedded_spec.go +++ b/restapi/embedded_spec.go @@ -7574,7 +7574,8 @@ func init() { "FULL_ISO", "EXTERNAL_PLATFORM_OCI", "DUAL_STACK", - "PLATFORM_MANAGED_NETWORKING" + "PLATFORM_MANAGED_NETWORKING", + "SKIP_MCO_REBOOT" ] }, "free-addresses-list": { @@ -18031,7 +18032,8 @@ func init() { "FULL_ISO", "EXTERNAL_PLATFORM_OCI", "DUAL_STACK", - "PLATFORM_MANAGED_NETWORKING" + "PLATFORM_MANAGED_NETWORKING", + "SKIP_MCO_REBOOT" ] }, "free-addresses-list": { diff --git a/swagger.yaml b/swagger.yaml index a7debbff0c..4fe28a88fb 100644 --- a/swagger.yaml +++ b/swagger.yaml @@ -4064,6 +4064,7 @@ definitions: - 'EXTERNAL_PLATFORM_OCI' - 'DUAL_STACK' - 'PLATFORM_MANAGED_NETWORKING' + - 'SKIP_MCO_REBOOT' architecture-support-level-id: type: string diff --git a/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go b/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go index 36f7fc3c8a..1076b4a453 100644 --- a/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go +++ b/vendor/github.com/openshift/assisted-service/models/feature_support_level_id.go @@ -92,6 +92,9 @@ const ( // FeatureSupportLevelIDPLATFORMMANAGEDNETWORKING captures enum value "PLATFORM_MANAGED_NETWORKING" FeatureSupportLevelIDPLATFORMMANAGEDNETWORKING FeatureSupportLevelID = "PLATFORM_MANAGED_NETWORKING" + + // FeatureSupportLevelIDSKIPMCOREBOOT captures enum value "SKIP_MCO_REBOOT" + FeatureSupportLevelIDSKIPMCOREBOOT FeatureSupportLevelID = "SKIP_MCO_REBOOT" ) // for schema @@ -99,7 +102,7 @@ var featureSupportLevelIdEnum []interface{} func init() { var res []FeatureSupportLevelID - if err := json.Unmarshal([]byte(`["SNO","VIP_AUTO_ALLOC","CUSTOM_MANIFEST","SINGLE_NODE_EXPANSION","LVM","ODF","LSO","CNV","MCE","NUTANIX_INTEGRATION","BAREMETAL_PLATFORM","NONE_PLATFORM","VSPHERE_INTEGRATION","DUAL_STACK_VIPS","CLUSTER_MANAGED_NETWORKING","USER_MANAGED_NETWORKING","MINIMAL_ISO","FULL_ISO","EXTERNAL_PLATFORM_OCI","DUAL_STACK","PLATFORM_MANAGED_NETWORKING"]`), &res); err != nil { + if err := json.Unmarshal([]byte(`["SNO","VIP_AUTO_ALLOC","CUSTOM_MANIFEST","SINGLE_NODE_EXPANSION","LVM","ODF","LSO","CNV","MCE","NUTANIX_INTEGRATION","BAREMETAL_PLATFORM","NONE_PLATFORM","VSPHERE_INTEGRATION","DUAL_STACK_VIPS","CLUSTER_MANAGED_NETWORKING","USER_MANAGED_NETWORKING","MINIMAL_ISO","FULL_ISO","EXTERNAL_PLATFORM_OCI","DUAL_STACK","PLATFORM_MANAGED_NETWORKING","SKIP_MCO_REBOOT"]`), &res); err != nil { panic(err) } for _, v := range res {