From 50302415934d77a8583023a6e268bd4b726c1f75 Mon Sep 17 00:00:00 2001 From: Flavio Percoco Date: Wed, 13 Feb 2019 16:47:53 +0100 Subject: [PATCH] openstack: complete move of OpenStack under the downstream machine api --- docs/user/openstack/README.md | 2 +- pkg/asset/cluster/tfvars.go | 2 +- pkg/asset/machines/master.go | 47 ++------------------- pkg/asset/machines/openstack/machines.go | 16 +++---- pkg/asset/machines/openstack/machinesets.go | 2 +- pkg/asset/manifests/cluster_k8s_io.go | 2 +- 6 files changed, 16 insertions(+), 55 deletions(-) diff --git a/docs/user/openstack/README.md b/docs/user/openstack/README.md index c614e333f52..7f9303d066c 100644 --- a/docs/user/openstack/README.md +++ b/docs/user/openstack/README.md @@ -148,7 +148,7 @@ EOF 2. Add the Secret to the cluster: ``` -$ oc create -n openshift-cluster-api -f secret.yaml +$ oc create -n openshift-machine-api -f secret.yaml ``` ## Using an External Load Balancer diff --git a/pkg/asset/cluster/tfvars.go b/pkg/asset/cluster/tfvars.go index 3a1f365c19d..ac7c0afcb9d 100644 --- a/pkg/asset/cluster/tfvars.go +++ b/pkg/asset/cluster/tfvars.go @@ -138,7 +138,7 @@ func (t *TerraformVariables) Generate(parents asset.Parents) error { }) case none.Name: case openstack.Name: - masters, err := mastersAsset.StructuredMachinesDeprecated() + masters, err := mastersAsset.StructuredMachines() if err != nil { return err } diff --git a/pkg/asset/machines/master.go b/pkg/asset/machines/master.go index 9e55bc75f20..a4ff7b30fcd 100644 --- a/pkg/asset/machines/master.go +++ b/pkg/asset/machines/master.go @@ -28,7 +28,6 @@ import ( awsprovider "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" openstackapi "sigs.k8s.io/cluster-api-provider-openstack/pkg/apis" openstackprovider "sigs.k8s.io/cluster-api-provider-openstack/pkg/apis/openstackproviderconfig/v1alpha1" - clusterapi "sigs.k8s.io/cluster-api/pkg/apis/cluster/v1alpha1" ) // Master generates the machines for the `master` machine pool. @@ -78,7 +77,6 @@ func (m *Master) Generate(dependencies asset.Parents) error { var err error machines := []machineapi.Machine{} - machinesDeprecated := []clusterapi.Machine{} ic := installconfig.Config pool := masterPool(ic.Machines) switch ic.Platform.Name() { @@ -117,11 +115,11 @@ func (m *Master) Generate(dependencies asset.Parents) error { mpool.Set(pool.Platform.OpenStack) pool.Platform.OpenStack = &mpool - machinesDeprecated, err = openstack.Machines(clusterID.ClusterID, ic, &pool, string(*rhcosImage), "master", "master-user-data") + machines, err = openstack.Machines(clusterID.ClusterID, ic, &pool, string(*rhcosImage), "master", "master-user-data") if err != nil { return errors.Wrap(err, "failed to create master machine objects") } - openstack.ConfigMasters(machinesDeprecated, ic.ObjectMeta.Name) + openstack.ConfigMasters(machines, ic.ObjectMeta.Name) default: return fmt.Errorf("invalid Platform") } @@ -137,22 +135,13 @@ func (m *Master) Generate(dependencies asset.Parents) error { Data: data, }} - machinesAll := []runtime.Object{} - for i := range machines { - machinesAll = append(machinesAll, &machines[i]) - } - - for i := range machinesDeprecated { - machinesAll = append(machinesAll, &machinesDeprecated[i]) - } - - count := len(machinesAll) + count := len(machines) if count == 0 { return errors.New("at least one master machine must be configured") } padFormat := fmt.Sprintf("%%0%dd", len(fmt.Sprintf("%d", count))) - for i, machine := range machinesAll { + for i, machine := range machines { data, err := yaml.Marshal(machine) if err != nil { return errors.Wrapf(err, "marshal master %d", i) @@ -242,34 +231,6 @@ func (m *Master) StructuredMachines() ([]machineapi.Machine, error) { return machines, nil } -// StructuredMachinesDeprecated returns master Machine manifest structures. -func (m *Master) StructuredMachinesDeprecated() ([]clusterapi.Machine, error) { - scheme := runtime.NewScheme() - openstackapi.AddToScheme(scheme) - decoder := serializer.NewCodecFactory(scheme).UniversalDecoder( - openstackprovider.SchemeGroupVersion, - ) - - machines := []clusterapi.Machine{} - for i, data := range m.Machines() { - machine := &clusterapi.Machine{} - err := yaml.Unmarshal(data, &machine) - if err != nil { - return machines, errors.Wrapf(err, "unmarshal master %d", i) - } - - obj, _, err := decoder.Decode(machine.Spec.ProviderSpec.Value.Raw, nil, nil) - if err != nil { - return machines, errors.Wrapf(err, "unmarshal master %d", i) - } - - machine.Spec.ProviderSpec.Value = &runtime.RawExtension{Object: obj} - machines = append(machines, *machine) - } - - return machines, nil -} - func masterPool(pools []types.MachinePool) types.MachinePool { for idx, pool := range pools { if pool.Name == "master" { diff --git a/pkg/asset/machines/openstack/machines.go b/pkg/asset/machines/openstack/machines.go index 44969435c8a..a64be44bba9 100644 --- a/pkg/asset/machines/openstack/machines.go +++ b/pkg/asset/machines/openstack/machines.go @@ -4,12 +4,12 @@ package openstack import ( "fmt" + machineapi "github.com/openshift/cluster-api/pkg/apis/machine/v1beta1" "github.com/pkg/errors" corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" openstackprovider "sigs.k8s.io/cluster-api-provider-openstack/pkg/apis/openstackproviderconfig/v1alpha1" - clusterapi "sigs.k8s.io/cluster-api/pkg/apis/cluster/v1alpha1" "github.com/openshift/installer/pkg/types" "github.com/openshift/installer/pkg/types/openstack" @@ -28,7 +28,7 @@ const ( ) // Machines returns a list of machines for a machinepool. -func Machines(clusterID string, config *types.InstallConfig, pool *types.MachinePool, osImage, role, userDataSecret string) ([]clusterapi.Machine, error) { +func Machines(clusterID string, config *types.InstallConfig, pool *types.MachinePool, osImage, role, userDataSecret string) ([]machineapi.Machine, error) { if configPlatform := config.Platform.Name(); configPlatform != openstack.Name { return nil, fmt.Errorf("non-OpenStack configuration: %q", configPlatform) } @@ -43,16 +43,16 @@ func Machines(clusterID string, config *types.InstallConfig, pool *types.Machine if pool.Replicas != nil { total = *pool.Replicas } - var machines []clusterapi.Machine + var machines []machineapi.Machine for idx := int64(0); idx < total; idx++ { az := "" provider, err := provider(clusterID, clustername, platform, mpool, osImage, az, role, userDataSecret) if err != nil { return nil, errors.Wrap(err, "failed to create provider") } - machine := clusterapi.Machine{ + machine := machineapi.Machine{ TypeMeta: metav1.TypeMeta{ - APIVersion: "cluster.k8s.io/v1alpha1", + APIVersion: "machine.openshift.io/v1beta1", Kind: "Machine", }, ObjectMeta: metav1.ObjectMeta{ @@ -64,8 +64,8 @@ func Machines(clusterID string, config *types.InstallConfig, pool *types.Machine "sigs.k8s.io/cluster-api-machine-type": role, }, }, - Spec: clusterapi.MachineSpec{ - ProviderSpec: clusterapi.ProviderSpec{ + Spec: machineapi.MachineSpec{ + ProviderSpec: machineapi.ProviderSpec{ Value: &runtime.RawExtension{Object: provider}, }, // we don't need to set Versions, because we control those via operators. @@ -107,7 +107,7 @@ func provider(clusterID, clusterName string, platform *openstack.Platform, mpool } // ConfigMasters sets the PublicIP flag and assigns a set of load balancers to the given machines -func ConfigMasters(machines []clusterapi.Machine, clusterName string) { +func ConfigMasters(machines []machineapi.Machine, clusterName string) { /*for _, machine := range machines { providerSpec := machine.Spec.ProviderSpec.Value.Object.(*openstackprovider.OpenstackProviderSpec) }*/ diff --git a/pkg/asset/machines/openstack/machinesets.go b/pkg/asset/machines/openstack/machinesets.go index 0063ddaf8cc..58621708ea9 100644 --- a/pkg/asset/machines/openstack/machinesets.go +++ b/pkg/asset/machines/openstack/machinesets.go @@ -42,7 +42,7 @@ func MachineSets(clusterID string, config *types.InstallConfig, pool *types.Mach name := fmt.Sprintf("%s-%s", clustername, pool.Name) mset := clusterapi.MachineSet{ TypeMeta: metav1.TypeMeta{ - APIVersion: "cluster.k8s.io/v1alpha1", + APIVersion: "machine.openshift.io/v1beta1", Kind: "MachineSet", }, ObjectMeta: metav1.ObjectMeta{ diff --git a/pkg/asset/manifests/cluster_k8s_io.go b/pkg/asset/manifests/cluster_k8s_io.go index 009bcfb8e05..3421c42dfa9 100644 --- a/pkg/asset/manifests/cluster_k8s_io.go +++ b/pkg/asset/manifests/cluster_k8s_io.go @@ -53,7 +53,7 @@ func (c *ClusterK8sIO) Generate(dependencies asset.Parents) error { }, ObjectMeta: metav1.ObjectMeta{ Name: installconfig.Config.ObjectMeta.Name, - Namespace: "openshift-cluster-api", + Namespace: "openshift-machine-api", }, Spec: clusterv1a1.ClusterSpec{ ClusterNetwork: *clusterNet,