@@ -18,7 +18,6 @@ package alibaba
1818
1919import (
2020 "encoding/base64"
21- "encoding/json"
2221 "errors"
2322 "fmt"
2423 "net/http"
@@ -27,7 +26,7 @@ import (
2726 "github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
2827
2928 "github.com/kubermatic/machine-controller/pkg/apis/cluster/common"
30- "github.com/kubermatic/machine-controller/pkg/apis/cluster/v1alpha1"
29+ clusterv1alpha1 "github.com/kubermatic/machine-controller/pkg/apis/cluster/v1alpha1"
3130 cloudprovidererrors "github.com/kubermatic/machine-controller/pkg/cloudprovider/errors"
3231 "github.com/kubermatic/machine-controller/pkg/cloudprovider/instance"
3332 alibabatypes "github.com/kubermatic/machine-controller/pkg/cloudprovider/provider/alibaba/types"
@@ -104,11 +103,11 @@ func New(configVarResolver *providerconfig.ConfigVarResolver) cloudprovidertypes
104103 return & provider {configVarResolver : configVarResolver }
105104}
106105
107- func (p * provider ) AddDefaults (spec v1alpha1 .MachineSpec ) (v1alpha1 .MachineSpec , error ) {
106+ func (p * provider ) AddDefaults (spec clusterv1alpha1 .MachineSpec ) (clusterv1alpha1 .MachineSpec , error ) {
108107 return spec , nil
109108}
110109
111- func (p * provider ) Validate (machineSpec v1alpha1 .MachineSpec ) error {
110+ func (p * provider ) Validate (machineSpec clusterv1alpha1 .MachineSpec ) error {
112111 c , pc , err := p .getConfig (machineSpec .ProviderSpec )
113112 if err != nil {
114113 return fmt .Errorf ("failed to parse config: %v" , err )
@@ -149,7 +148,7 @@ func (p *provider) Validate(machineSpec v1alpha1.MachineSpec) error {
149148 return nil
150149}
151150
152- func (p * provider ) Get (machine * v1alpha1 .Machine , data * cloudprovidertypes.ProviderData ) (instance.Instance , error ) {
151+ func (p * provider ) Get (machine * clusterv1alpha1 .Machine , data * cloudprovidertypes.ProviderData ) (instance.Instance , error ) {
153152 c , _ , err := p .getConfig (machine .Spec .ProviderSpec )
154153 if err != nil {
155154 return nil , cloudprovidererrors.TerminalError {
@@ -195,11 +194,11 @@ func (p *provider) Get(machine *v1alpha1.Machine, data *cloudprovidertypes.Provi
195194 return nil , fmt .Errorf ("instance %v is not ready" , foundInstance .InstanceId )
196195}
197196
198- func (p * provider ) GetCloudConfig (spec v1alpha1 .MachineSpec ) (config string , name string , err error ) {
197+ func (p * provider ) GetCloudConfig (spec clusterv1alpha1 .MachineSpec ) (config string , name string , err error ) {
199198 return "" , "" , nil
200199}
201200
202- func (p * provider ) Create (machine * v1alpha1 .Machine , data * cloudprovidertypes.ProviderData , userdata string ) (instance.Instance , error ) {
201+ func (p * provider ) Create (machine * clusterv1alpha1 .Machine , data * cloudprovidertypes.ProviderData , userdata string ) (instance.Instance , error ) {
203202 c , pc , err := p .getConfig (machine .Spec .ProviderSpec )
204203 if err != nil {
205204 return nil , cloudprovidererrors.TerminalError {
@@ -243,7 +242,7 @@ func (p *provider) Create(machine *v1alpha1.Machine, data *cloudprovidertypes.Pr
243242 return nil , fmt .Errorf ("failed to create instance at Alibaba cloud: %v" , err )
244243 }
245244
246- if err = data .Update (machine , func (updatedMachine * v1alpha1 .Machine ) {
245+ if err = data .Update (machine , func (updatedMachine * clusterv1alpha1 .Machine ) {
247246 if ! kuberneteshelper .HasFinalizer (updatedMachine , finalizerInstance ) {
248247 updatedMachine .Finalizers = append (updatedMachine .Finalizers , finalizerInstance )
249248 }
@@ -259,7 +258,7 @@ func (p *provider) Create(machine *v1alpha1.Machine, data *cloudprovidertypes.Pr
259258 return & alibabaInstance {instance : foundInstance }, nil
260259}
261260
262- func (p * provider ) Cleanup (machine * v1alpha1 .Machine , data * cloudprovidertypes.ProviderData ) (bool , error ) {
261+ func (p * provider ) Cleanup (machine * clusterv1alpha1 .Machine , data * cloudprovidertypes.ProviderData ) (bool , error ) {
263262 foundInstance , err := p .Get (machine , data )
264263 if err != nil {
265264 if err == cloudprovidererrors .ErrInstanceNotFound {
@@ -292,7 +291,7 @@ func (p *provider) Cleanup(machine *v1alpha1.Machine, data *cloudprovidertypes.P
292291 return false , nil
293292}
294293
295- func (p * provider ) MachineMetricsLabels (machine * v1alpha1 .Machine ) (map [string ]string , error ) {
294+ func (p * provider ) MachineMetricsLabels (machine * clusterv1alpha1 .Machine ) (map [string ]string , error ) {
296295 labels := make (map [string ]string )
297296
298297 c , _ , err := p .getConfig (machine .Spec .ProviderSpec )
@@ -304,7 +303,7 @@ func (p *provider) MachineMetricsLabels(machine *v1alpha1.Machine) (map[string]s
304303 return labels , err
305304}
306305
307- func (p * provider ) MigrateUID (machine * v1alpha1 .Machine , new types.UID ) error {
306+ func (p * provider ) MigrateUID (machine * clusterv1alpha1 .Machine , new types.UID ) error {
308307 c , _ , err := p .getConfig (machine .Spec .ProviderSpec )
309308 if err != nil {
310309 return fmt .Errorf ("failed to decode providerconfig: %v" , err )
@@ -337,16 +336,16 @@ func (p *provider) MigrateUID(machine *v1alpha1.Machine, new types.UID) error {
337336 return nil
338337}
339338
340- func (p * provider ) SetMetricsForMachines (machines v1alpha1 .MachineList ) error {
339+ func (p * provider ) SetMetricsForMachines (machines clusterv1alpha1 .MachineList ) error {
341340 return nil
342341}
343342
344- func (p * provider ) getConfig (s v1alpha1 .ProviderSpec ) (* Config , * providerconfigtypes.Config , error ) {
345- if s .Value == nil {
343+ func (p * provider ) getConfig (provSpec clusterv1alpha1 .ProviderSpec ) (* Config , * providerconfigtypes.Config , error ) {
344+ if provSpec .Value == nil {
346345 return nil , nil , errors .New ("machine.spec.providerconfig.value is nil" )
347346 }
348- pconfig := providerconfigtypes. Config {}
349- err := json . Unmarshal ( s . Value . Raw , & pconfig )
347+
348+ pconfig , err := providerconfigtypes . GetConfig ( provSpec )
350349 if err != nil {
351350 return nil , nil , fmt .Errorf ("failed to decode providers config: %v" , err )
352351 }
@@ -355,8 +354,8 @@ func (p *provider) getConfig(s v1alpha1.ProviderSpec) (*Config, *providerconfigt
355354 return nil , nil , errors .New ("operatingSystemSpec in the MachineDeployment cannot be empty" )
356355 }
357356
358- rawConfig := alibabatypes.RawConfig {}
359- if err = json . Unmarshal ( pconfig . CloudProviderSpec . Raw , & rawConfig ); err != nil {
357+ rawConfig , err := alibabatypes .GetConfig ( * pconfig )
358+ if err != nil {
360359 return nil , nil , fmt .Errorf ("failed to decode alibaba providers config: %v" , err )
361360 }
362361
@@ -398,7 +397,8 @@ func (p *provider) getConfig(s v1alpha1.ProviderSpec) (*Config, *providerconfigt
398397 if err != nil {
399398 return nil , nil , fmt .Errorf ("failed to get the value of \" diskSize\" field, error = %v" , err )
400399 }
401- return & c , & pconfig , err
400+
401+ return & c , pconfig , err
402402}
403403
404404func getClient (regionID , accessKeyID , accessKeySecret string ) (* ecs.Client , error ) {
@@ -434,7 +434,7 @@ func getInstance(client *ecs.Client, instanceName string, uid string) (*ecs.Inst
434434 return & response .Instances .Instance [0 ], nil
435435}
436436
437- func (p * provider ) getImageIDForOS (machineSpec v1alpha1 .MachineSpec , os providerconfigtypes.OperatingSystem ) (string , error ) {
437+ func (p * provider ) getImageIDForOS (machineSpec clusterv1alpha1 .MachineSpec , os providerconfigtypes.OperatingSystem ) (string , error ) {
438438 c , _ , err := p .getConfig (machineSpec .ProviderSpec )
439439 if err != nil {
440440 return "" , fmt .Errorf ("failed to get alibaba client: %v" , err )
0 commit comments