From a791a6f725b16672ebdf03fe62db99247da71062 Mon Sep 17 00:00:00 2001 From: Christy Norman Date: Tue, 15 Feb 2022 15:28:54 -0600 Subject: [PATCH] Add IBM Power VS: cluster assets For more background on IPI on Power VS, refer to the enhancement proposal here: openshift/enhancements#736 Signed-off-by: Christy Norman --- pkg/asset/cluster/metadata.go | 4 ++++ pkg/asset/cluster/powervs/powervs.go | 21 +++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 pkg/asset/cluster/powervs/powervs.go diff --git a/pkg/asset/cluster/metadata.go b/pkg/asset/cluster/metadata.go index fadc5b71057..8a0540d4406 100644 --- a/pkg/asset/cluster/metadata.go +++ b/pkg/asset/cluster/metadata.go @@ -17,6 +17,7 @@ import ( "github.com/openshift/installer/pkg/asset/cluster/libvirt" "github.com/openshift/installer/pkg/asset/cluster/openstack" "github.com/openshift/installer/pkg/asset/cluster/ovirt" + "github.com/openshift/installer/pkg/asset/cluster/powervs" "github.com/openshift/installer/pkg/asset/cluster/vsphere" "github.com/openshift/installer/pkg/asset/ignition/bootstrap" "github.com/openshift/installer/pkg/asset/installconfig" @@ -31,6 +32,7 @@ import ( nonetypes "github.com/openshift/installer/pkg/types/none" openstacktypes "github.com/openshift/installer/pkg/types/openstack" ovirttypes "github.com/openshift/installer/pkg/types/ovirt" + powervstypes "github.com/openshift/installer/pkg/types/powervs" vspheretypes "github.com/openshift/installer/pkg/types/vsphere" ) @@ -93,6 +95,8 @@ func (m *Metadata) Generate(parents asset.Parents) (err error) { metadata.ClusterPlatformMetadata.VSphere = vsphere.Metadata(installConfig.Config) case alibabacloudtypes.Name: metadata.ClusterPlatformMetadata.AlibabaCloud = alibabacloud.Metadata(installConfig.Config) + case powervstypes.Name: + metadata.ClusterPlatformMetadata.PowerVS = powervs.Metadata(installConfig.Config, installConfig.PowerVS) case nonetypes.Name: default: return errors.Errorf("no known platform") diff --git a/pkg/asset/cluster/powervs/powervs.go b/pkg/asset/cluster/powervs/powervs.go new file mode 100644 index 00000000000..9fadf5b601f --- /dev/null +++ b/pkg/asset/cluster/powervs/powervs.go @@ -0,0 +1,21 @@ +// Package powervs extracts Power VS metadata from install configurations. +package powervs + +import ( + "context" + + icpowervs "github.com/openshift/installer/pkg/asset/installconfig/powervs" + "github.com/openshift/installer/pkg/types" + "github.com/openshift/installer/pkg/types/powervs" +) + +// Metadata converts an install configuration to PowerVS metadata. +func Metadata(config *types.InstallConfig, meta *icpowervs.Metadata) *powervs.Metadata { + cisCRN, _ := meta.CISInstanceCRN(context.TODO()) + + return &powervs.Metadata{ + CISInstanceCRN: cisCRN, + Region: config.Platform.PowerVS.Region, + Zone: config.Platform.PowerVS.Zone, + } +}