From db510bf2abdd0dfe0ba2bd123516d2dee15a6095 Mon Sep 17 00:00:00 2001 From: cuisongliu Date: Thu, 6 Jan 2022 22:21:02 +0800 Subject: [PATCH] refactor(master): fix aliyun infra (#822) * refactor(master): fix aliyun infra --- pkg/infra/aliyun/ali_provider.go | 13 ++++++++++--- pkg/infra/infra.go | 6 ------ pkg/infra/infra_test.go | 12 ++++++++---- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/pkg/infra/aliyun/ali_provider.go b/pkg/infra/aliyun/ali_provider.go index b679f69a9..acf8b0094 100644 --- a/pkg/infra/aliyun/ali_provider.go +++ b/pkg/infra/aliyun/ali_provider.go @@ -15,9 +15,10 @@ package aliyun import ( - "fmt" "strings" + "github.com/fanux/sealos/pkg/types/validation" + "github.com/fanux/sealos/pkg/logger" "k8s.io/apimachinery/pkg/util/validation/field" @@ -108,8 +109,8 @@ var RecocileFuncMap = map[ActionName]func(provider *AliProvider) error{ host := &h statusIndex := aliProvider.Infra.Status.FindHostsByRoles(h.Roles) if statusIndex < 0 { - errorMsg = append(errorMsg, fmt.Sprintf("infra status not fount in role tag: %v", h.Roles)) - continue + aliProvider.Infra.Status.Hosts = append(aliProvider.Infra.Status.Hosts, v1beta1.HostStatus{Roles: h.Roles}) + statusIndex = len(aliProvider.Infra.Status.Hosts) - 1 } status := &aliProvider.Infra.Status.Hosts[statusIndex] err := aliProvider.ReconcileInstances(host, status) @@ -237,6 +238,12 @@ func (a *AliProvider) Reconcile() error { } func (a *AliProvider) Apply() error { + if err := v1beta1.Default(a.Infra, DefaultInfra); err != nil { + return err + } + if err := validation.ValidateInfra(a.Infra, DefaultValidate); len(err) != 0 { + return err.ToAggregate() + } return a.Reconcile() } diff --git a/pkg/infra/infra.go b/pkg/infra/infra.go index 7661914d1..dda10426f 100644 --- a/pkg/infra/infra.go +++ b/pkg/infra/infra.go @@ -48,12 +48,6 @@ func loadConfig(infra *v2.Infra) { func newAliProvider(infra *v2.Infra) (Interface, error) { aliProvider := new(aliyun.AliProvider) aliProvider.Infra = infra - if err := v2.Default(aliProvider.Infra, aliyun.DefaultInfra); err != nil { - return nil, err - } - if err := validation.ValidateInfra(aliProvider.Infra, aliyun.DefaultValidate); len(err) != 0 { - return nil, err.ToAggregate() - } if err := aliProvider.NewClient(); err != nil { return nil, err } diff --git a/pkg/infra/infra_test.go b/pkg/infra/infra_test.go index 9332450b7..e0447b4ea 100644 --- a/pkg/infra/infra_test.go +++ b/pkg/infra/infra_test.go @@ -61,8 +61,9 @@ func TestAliApply(t *testing.T) { Count: 1, Disks: []v2.Disk{}, OS: v2.OS{ - Name: "ubuntu", + ID: "centos_8_0_x64_20G_alibase_20210712.vhd", }, + EcsType: "ecs.c7a.large", }, }, Provider: aliyun.AliyunProvider, @@ -87,8 +88,9 @@ func TestAliApply(t *testing.T) { Count: 1, Disks: []v2.Disk{}, OS: v2.OS{ - Name: "centos", + ID: "centos_8_0_x64_20G_alibase_20210712.vhd", }, + EcsType: "ecs.c7a.large", }, { Roles: []string{"master", "ssdxxx"}, @@ -97,8 +99,9 @@ func TestAliApply(t *testing.T) { Count: 1, Disks: []v2.Disk{}, OS: v2.OS{ - Name: "ubuntu", + ID: "centos_8_0_x64_20G_alibase_20210712.vhd", }, + EcsType: "ecs.c7a.large", }, } t.Log(fmt.Sprintf("add server:%v", aliProvider.Apply())) @@ -113,8 +116,9 @@ func TestAliApply(t *testing.T) { Count: 1, Disks: []v2.Disk{}, OS: v2.OS{ - Name: "centos", + ID: "centos_8_0_x64_20G_alibase_20210712.vhd", }, + EcsType: "ecs.s6-c1m2.large", }, } t.Log(fmt.Sprintf("delete:%v", aliProvider.Apply()))