Skip to content

Commit

Permalink
MGMT-19950: Modify Konflux YAMLs to ocm-2.14 (#912)
Browse files Browse the repository at this point in the history
  • Loading branch information
linoyaslan authored and andrej1991 committed Feb 19, 2025
1 parent 3e2184b commit aa95253
Show file tree
Hide file tree
Showing 9 changed files with 91 additions and 33 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ replace (
github.com/opencontainers/runc => github.com/opencontainers/runc v1.1.12
github.com/openshift/assisted-service/api => github.com/openshift/assisted-service/api v0.0.0-20250128124720-deb4b9451fb1
github.com/openshift/assisted-service/client => github.com/openshift/assisted-service/client v0.0.0-20250128124720-deb4b9451fb1
github.com/openshift/assisted-service/models => github.com/openshift/assisted-service/models v0.0.0-20250128124720-deb4b9451fb1
github.com/openshift/assisted-service/models => github.com/openshift/assisted-service/models v0.0.0-20250204165522-6abd4e7132c7
sigs.k8s.io/cluster-api-provider-aws => github.com/openshift/cluster-api-provider-aws v0.2.1-0.20201022175424-d30c7a274820
sigs.k8s.io/cluster-api-provider-azure => github.com/openshift/cluster-api-provider-azure v0.1.0-alpha.3.0.20201016155852-4090a6970205
)
4 changes: 2 additions & 2 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -624,8 +624,8 @@ github.com/openshift/assisted-service/api v0.0.0-20250128124720-deb4b9451fb1 h1:
github.com/openshift/assisted-service/api v0.0.0-20250128124720-deb4b9451fb1/go.mod h1:tvE25aC7I07Uz2jUt7gH2E8+a1Rw4W7qtW6/EFb8l64=
github.com/openshift/assisted-service/client v0.0.0-20250128124720-deb4b9451fb1 h1:azcSQ+Nwk4zaAYaLUdSGAT9QOWWT1U+7wEbhq0A4rUA=
github.com/openshift/assisted-service/client v0.0.0-20250128124720-deb4b9451fb1/go.mod h1:y+GNZgra/iQDYlacSjgscim8ldrSOMtV3jQaSKC3APc=
github.com/openshift/assisted-service/models v0.0.0-20250128124720-deb4b9451fb1 h1:pLax/FBqclGQeIwu3UNTNCY2ZqFLlurSpSv+za2Ydxk=
github.com/openshift/assisted-service/models v0.0.0-20250128124720-deb4b9451fb1/go.mod h1:bx9NsPeBkhn7az/qFHo3hW8wFqFj4BmT3g1R7wR9gcw=
github.com/openshift/assisted-service/models v0.0.0-20250204165522-6abd4e7132c7 h1:63VZl6P4lNnlPulL4jg9t2SBHrf/ksfJgZ9C6EBl3rw=
github.com/openshift/assisted-service/models v0.0.0-20250204165522-6abd4e7132c7/go.mod h1:bx9NsPeBkhn7az/qFHo3hW8wFqFj4BmT3g1R7wR9gcw=
github.com/openshift/baremetal-runtimecfg v0.0.0-20220211165258-fe92b9507bec h1:1nC/js8H8s+MBzgu20YDSuVw6IF9Ct5HOR1JLxv572Q=
github.com/openshift/baremetal-runtimecfg v0.0.0-20220211165258-fe92b9507bec/go.mod h1:fIhPgDwf2Vm1tIiZ0cFidPw3dS26AKGSRoiIJnlz84o=
github.com/openshift/custom-resource-status v1.1.3-0.20220503160415-f2fdb4999d87 h1:cHyxR+Y8rAMT6m1jQCaYGRwikqahI0OjjUDhFNf3ySQ=
Expand Down
29 changes: 27 additions & 2 deletions src/commands/actions/install_cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,11 @@ func (a *install) Validate() error {
}
}

err = a.validateControlPlaneCount()
if err != nil {
return err
}

return a.validateDisks()
}

Expand All @@ -105,8 +110,15 @@ func (a *install) getFullInstallerCommand() string {
"--agent-image", a.agentConfig.AgentVersion,
}

if a.installParams.HighAvailabilityMode != nil {
installerCmdArgs = append(installerCmdArgs, "--high-availability-mode", swag.StringValue(a.installParams.HighAvailabilityMode))
if a.installParams.ControlPlaneCount != 0 {
installerCmdArgs = append(installerCmdArgs, "--control-plane-count", strconv.Itoa(int(a.installParams.ControlPlaneCount)))
} else {
switch swag.StringValue(a.installParams.HighAvailabilityMode) {
case models.ClusterHighAvailabilityModeFull:
installerCmdArgs = append(installerCmdArgs, "--control-plane-count", "3")
case models.ClusterHighAvailabilityModeNone:
installerCmdArgs = append(installerCmdArgs, "--control-plane-count", "1")
}
}

if a.installParams.McoImage != "" {
Expand Down Expand Up @@ -272,6 +284,19 @@ func (a *install) validateDisks() error {
return nil
}

func (a *install) validateControlPlaneCount() error {
if a.installParams.ControlPlaneCount < 0 {
return fmt.Errorf("ControlPlaneCount cannot be negative")
}
if a.installParams.ControlPlaneCount == 2 {
return fmt.Errorf("ControlPlaneCount cannot be 2")
}
if a.installParams.ControlPlaneCount > 5 {
return fmt.Errorf("ControlPlaneCount cannot be bigger than 5")
}
return nil
}

func (a *install) pathExists(path string) bool {
if _, err := a.filesystem.Stat(path); os.IsNotExist(err) {
return false
Expand Down
67 changes: 44 additions & 23 deletions src/commands/actions/install_cmd_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,17 @@ var _ = Describe("installer test", func() {
hostId := strfmt.UUID("f7ac1860-92cf-4ed8-aeec-2d9f20b35bab")
bootDevice := "/dev/disk/by-path/pci-0000:00:06.0"
return models.InstallCmdRequest{
BootDevice: swag.String(bootDevice),
CheckCvo: swag.Bool(true),
ClusterID: &clusterId,
HostID: &hostId,
InfraEnvID: &infraEnvId,
ControllerImage: swag.String("localhost:5000/edge-infrastructure/assisted-installer-controller:latest"),
DisksToFormat: []string{},
HighAvailabilityMode: swag.String(models.ClusterHighAvailabilityModeFull),
InstallerArgs: "[\"--append-karg\",\"ip=ens3:dhcp\"]",
InstallerImage: swag.String("quay.io/edge-infrastructure/assisted-installer:latest"),
McoImage: "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:3c30f115dc95c3fef94ea5185f386aa1af8a4b5f07ce8f41a17007d54004e1c4",
BootDevice: swag.String(bootDevice),
CheckCvo: swag.Bool(true),
ClusterID: &clusterId,
HostID: &hostId,
InfraEnvID: &infraEnvId,
ControllerImage: swag.String("localhost:5000/edge-infrastructure/assisted-installer-controller:latest"),
DisksToFormat: []string{},
ControlPlaneCount: int64(3),
InstallerArgs: "[\"--append-karg\",\"ip=ens3:dhcp\"]",
InstallerImage: swag.String("quay.io/edge-infrastructure/assisted-installer:latest"),
McoImage: "quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:3c30f115dc95c3fef94ea5185f386aa1af8a4b5f07ce8f41a17007d54004e1c4",
MustGatherImage: "{\"cnv\":\"registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v2.6.5\"," +
"\"lso\":\"registry.redhat.io/openshift4/ose-local-storage-mustgather-rhel8\"," +
"\"ocp\":\"quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:3c30f115dc95c3fef94ea5185f386aa1af8a4b5f07ce8f41a17007d54004e1c4\"," +
Expand Down Expand Up @@ -111,15 +111,15 @@ var _ = Describe("installer test", func() {
"--cluster-id cd781f46-f32a-4154-9670-6442a367ab81 --host-id f7ac1860-92cf-4ed8-aeec-2d9f20b35bab --boot-device /dev/disk/by-path/pci-0000:00:06.0 " +
"--url http://10.1.178.26:6000 --controller-image localhost:5000/edge-infrastructure/assisted-installer-controller:latest " +
"--agent-image quay.io/edge-infrastructure/assisted-installer-agent:latest " +
"--high-availability-mode Full " +
"--control-plane-count 3 " +
"--mco-image quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:3c30f115dc95c3fef94ea5185f386aa1af8a4b5f07ce8f41a17007d54004e1c4 " +
"--must-gather-image '{\"cnv\":\"registry.redhat.io/container-native-virtualization/cnv-must-gather-rhel8:v2.6.5\"," +
"\"lso\":\"registry.redhat.io/openshift4/ose-local-storage-mustgather-rhel8\",\"ocp\":\"quay.io/openshift-release-dev/ocp-v4.0-art-dev@sha256:3c30f115dc95c3fef94ea5185f386aa1af8a4b5f07ce8f41a17007d54004e1c4\"," +
"\"ocs\":\"registry.redhat.io/ocs4/ocs-must-gather-rhel8\"}' --openshift-version 4.9.24 --insecure --check-cluster-version --installer-args '[\"--append-karg\",\"ip=ens3:dhcp\"]'"))
})

It("ha mode is nil, parameter should be omitted", func() {
installCommandRequest.HighAvailabilityMode = nil
It("control_plane_count is 0, parameter should be omitted", func() {
installCommandRequest.ControlPlaneCount = 0
installCommandLineString = getInstallCommandLineString(installCommandRequest)

action := install{args: []string{installCommandLineString}, filesystem: filesystem, agentConfig: agentConfig}
Expand All @@ -128,11 +128,12 @@ var _ = Describe("installer test", func() {

args := action.Args()
argsAsString := strings.Join(args, " ")
Expect(argsAsString).NotTo(ContainSubstring("--high-availability-mode"))
Expect(argsAsString).NotTo(ContainSubstring("--control-plane-count"))
})

It("ha mode is Full, command line parameter should indicate this", func() {
installCommandRequest.HighAvailabilityMode = swag.String(models.ClusterHighAvailabilityModeFull)
It("if control-plane-count is set, command line parameter should indicate this", func() {
ctrlPlaneCount := int64(4)
installCommandRequest.ControlPlaneCount = ctrlPlaneCount
installCommandLineString = getInstallCommandLineString(installCommandRequest)

action := install{args: []string{installCommandLineString}, filesystem: filesystem, agentConfig: agentConfig}
Expand All @@ -141,11 +142,12 @@ var _ = Describe("installer test", func() {

args := action.Args()
argsAsString := strings.Join(args, " ")
Expect(argsAsString).To(ContainSubstring("--high-availability-mode Full"))
Expect(argsAsString).To(ContainSubstring("--control-plane-count 4"))
})

It("ha mode is None, command line parameter should indicate this", func() {
installCommandRequest.HighAvailabilityMode = swag.String(models.ClusterHighAvailabilityModeNone)
It("if control-plane-count is set to 1, command line parameter should indicate this", func() {
ctrlPlaneCount := int64(1)
installCommandRequest.ControlPlaneCount = ctrlPlaneCount
installCommandLineString = getInstallCommandLineString(installCommandRequest)

action := install{args: []string{installCommandLineString}, filesystem: filesystem, agentConfig: agentConfig}
Expand All @@ -154,7 +156,21 @@ var _ = Describe("installer test", func() {

args := action.Args()
argsAsString := strings.Join(args, " ")
Expect(argsAsString).To(ContainSubstring("--high-availability-mode None"))
Expect(argsAsString).To(ContainSubstring("--control-plane-count 1"))
})

It("high-availability-mode should not be present any more", func() {
ctrlPlaneCount := int64(4)
installCommandRequest.ControlPlaneCount = ctrlPlaneCount
installCommandLineString = getInstallCommandLineString(installCommandRequest)

action := install{args: []string{installCommandLineString}, filesystem: filesystem, agentConfig: agentConfig}
validationError := action.Validate()
Expect(validationError).NotTo(HaveOccurred())

args := action.Args()
argsAsString := strings.Join(args, " ")
Expect(argsAsString).NotTo(ContainSubstring("--high-availability-mode"))
})

It("install ca cert", func() {
Expand Down Expand Up @@ -388,8 +404,13 @@ var _ = Describe("installer test", func() {
_ = getInstall(installCommandRequest, filesystem, true)
})

It("bad HighAvailability", func() {
installCommandRequest.HighAvailabilityMode = swag.String("some string")
It("control-plane-count is set to negative", func() {
installCommandRequest.ControlPlaneCount = int64(-1)
_ = getInstall(installCommandRequest, filesystem, true)
})

It("control-plane-count is set to too big", func() {
installCommandRequest.ControlPlaneCount = int64(6)
_ = getInstall(installCommandRequest, filesystem, true)
})

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit aa95253

Please sign in to comment.