diff --git a/cmd/aws-actuator/utils.go b/cmd/aws-actuator/utils.go index c34c8d7084..9f1ba7ac63 100644 --- a/cmd/aws-actuator/utils.go +++ b/cmd/aws-actuator/utils.go @@ -19,7 +19,7 @@ import ( "github.com/openshift/cluster-api-actuator-pkg/pkg/e2e/framework" machinev1 "github.com/openshift/cluster-api/pkg/apis/machine/v1beta1" machineactuator "sigs.k8s.io/cluster-api-provider-aws/pkg/actuators/machine" - "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" awsclient "sigs.k8s.io/cluster-api-provider-aws/pkg/client" ) @@ -120,7 +120,7 @@ func createActuator(machine *machinev1.Machine, awsCredentials, userData *apiv1. } fakeClient := fake.NewFakeClient(objList...) - codec, err := v1alpha1.NewCodec() + codec, err := v1beta1.NewCodec() if err != nil { return nil, err } diff --git a/cmd/manager/main.go b/cmd/manager/main.go index 4453bf5271..3647898739 100644 --- a/cmd/manager/main.go +++ b/cmd/manager/main.go @@ -23,7 +23,7 @@ import ( _ "k8s.io/client-go/plugin/pkg/client/auth/gcp" "k8s.io/klog" machineactuator "sigs.k8s.io/cluster-api-provider-aws/pkg/actuators/machine" - "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" awsclient "sigs.k8s.io/cluster-api-provider-aws/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/config" "sigs.k8s.io/controller-runtime/pkg/manager" @@ -77,7 +77,7 @@ func main() { } func initActuator(mgr manager.Manager) (*machineactuator.Actuator, error) { - codec, err := v1alpha1.NewCodec() + codec, err := v1beta1.NewCodec() if err != nil { return nil, fmt.Errorf("unable to create codec: %v", err) } diff --git a/hack/boilerplate.go.txt b/hack/boilerplate/boilerplate.go.txt similarity index 92% rename from hack/boilerplate.go.txt rename to hack/boilerplate/boilerplate.go.txt index 6dacee895c..4b76f1fdd8 100644 --- a/hack/boilerplate.go.txt +++ b/hack/boilerplate/boilerplate.go.txt @@ -1,5 +1,5 @@ /* -Copyright 2018 The Kubernetes Authors. +Copyright YEAR The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -12,4 +12,4 @@ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. -*/ \ No newline at end of file +*/ diff --git a/pkg/actuators/machine/actuator.go b/pkg/actuators/machine/actuator.go index 90480d7cbc..21a2ed585d 100644 --- a/pkg/actuators/machine/actuator.go +++ b/pkg/actuators/machine/actuator.go @@ -35,7 +35,7 @@ import ( machinev1 "github.com/openshift/cluster-api/pkg/apis/machine/v1beta1" clustererror "github.com/openshift/cluster-api/pkg/controller/error" apierrors "github.com/openshift/cluster-api/pkg/errors" - providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" "github.com/aws/aws-sdk-go/service/ec2" diff --git a/pkg/actuators/machine/actuator_test.go b/pkg/actuators/machine/actuator_test.go index 52ed5aa2da..9e737a5e97 100644 --- a/pkg/actuators/machine/actuator_test.go +++ b/pkg/actuators/machine/actuator_test.go @@ -14,7 +14,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" machinev1 "github.com/openshift/cluster-api/pkg/apis/machine/v1beta1" - providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" awsclient "sigs.k8s.io/cluster-api-provider-aws/pkg/client" mockaws "sigs.k8s.io/cluster-api-provider-aws/pkg/client/mock" diff --git a/pkg/actuators/machine/instaces_test.go b/pkg/actuators/machine/instaces_test.go index d8564bcb62..e659706c1e 100644 --- a/pkg/actuators/machine/instaces_test.go +++ b/pkg/actuators/machine/instaces_test.go @@ -8,7 +8,7 @@ import ( "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" - providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" "github.com/golang/mock/gomock" mockaws "sigs.k8s.io/cluster-api-provider-aws/pkg/client/mock" diff --git a/pkg/actuators/machine/instances.go b/pkg/actuators/machine/instances.go index 2190cc7776..087d3d57e7 100644 --- a/pkg/actuators/machine/instances.go +++ b/pkg/actuators/machine/instances.go @@ -9,7 +9,7 @@ import ( "github.com/golang/glog" machinev1 "github.com/openshift/cluster-api/pkg/apis/machine/v1beta1" - providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" "github.com/aws/aws-sdk-go/aws" "github.com/aws/aws-sdk-go/service/ec2" diff --git a/pkg/actuators/machine/stubs.go b/pkg/actuators/machine/stubs.go index aafa82b7bb..0e1418d46c 100644 --- a/pkg/actuators/machine/stubs.go +++ b/pkg/actuators/machine/stubs.go @@ -13,7 +13,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" machinev1 "github.com/openshift/cluster-api/pkg/apis/machine/v1beta1" - providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" "sigs.k8s.io/cluster-api-provider-aws/test/utils" ) diff --git a/pkg/actuators/machine/utils.go b/pkg/actuators/machine/utils.go index a06740919c..a3180fd832 100644 --- a/pkg/actuators/machine/utils.go +++ b/pkg/actuators/machine/utils.go @@ -30,7 +30,7 @@ import ( machinev1 "github.com/openshift/cluster-api/pkg/apis/machine/v1beta1" "golang.org/x/net/context" "k8s.io/apimachinery/pkg/types" - providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" awsclient "sigs.k8s.io/cluster-api-provider-aws/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client" ) diff --git a/pkg/actuators/machine/utils_test.go b/pkg/actuators/machine/utils_test.go index 960c04cb58..ed16cd20ed 100644 --- a/pkg/actuators/machine/utils_test.go +++ b/pkg/actuators/machine/utils_test.go @@ -8,7 +8,7 @@ import ( corev1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes/scheme" - providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" "sigs.k8s.io/controller-runtime/pkg/client/fake" ) @@ -21,7 +21,7 @@ func TestProviderConfigFromMachine(t *testing.T) { providerConfig := &providerconfigv1.AWSMachineProviderConfig{ TypeMeta: metav1.TypeMeta{ - APIVersion: "awsproviderconfig.k8s.io/v1alpha1", + APIVersion: "awsproviderconfig.openshift.io/v1beta1", Kind: "AWSMachineProviderConfig", }, InstanceType: "testInstance", diff --git a/pkg/apis/addtoscheme_openshiftawsprovider_v1beta1.go b/pkg/apis/addtoscheme_openshiftawsprovider_v1beta1.go new file mode 100644 index 0000000000..cf53260c4e --- /dev/null +++ b/pkg/apis/addtoscheme_openshiftawsprovider_v1beta1.go @@ -0,0 +1,26 @@ +/* +Copyright 2018 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package apis + +import ( + "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" +) + +func init() { + // Register the types with the Scheme so the components can map objects to GroupVersionKinds and back + AddToSchemes = append(AddToSchemes, v1beta1.SchemeBuilder.AddToScheme) +} diff --git a/pkg/apis/apis.go b/pkg/apis/apis.go new file mode 100644 index 0000000000..e951fcc6f1 --- /dev/null +++ b/pkg/apis/apis.go @@ -0,0 +1,33 @@ +/* +Copyright 2018 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Generate deepcopy for apis +//go:generate go run ../../vendor/k8s.io/code-generator/cmd/deepcopy-gen/main.go -O zz_generated.deepcopy -i ./... -h ../../hack/boilerplate/boilerplate.go.txt + +// Package apis contains Kubernetes API groups. +package apis + +import ( + "k8s.io/apimachinery/pkg/runtime" +) + +// AddToSchemes may be used to add all resources defined in the project to a Scheme +var AddToSchemes runtime.SchemeBuilder + +// AddToScheme adds all Resources to the Scheme +func AddToScheme(s *runtime.Scheme) error { + return AddToSchemes.AddToScheme(s) +} diff --git a/pkg/apis/awsproviderconfig/group.go b/pkg/apis/awsproviderconfig/group.go new file mode 100644 index 0000000000..73a2916a4d --- /dev/null +++ b/pkg/apis/awsproviderconfig/group.go @@ -0,0 +1,18 @@ +/* +Copyright 2018 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Package awsproviderconfig contains awsprovider API versions +package awsproviderconfig diff --git a/pkg/apis/awsproviderconfig/v1alpha1/awsmachineproviderconfig_types.go b/pkg/apis/awsproviderconfig/v1beta1/awsmachineproviderconfig_types.go similarity index 99% rename from pkg/apis/awsproviderconfig/v1alpha1/awsmachineproviderconfig_types.go rename to pkg/apis/awsproviderconfig/v1beta1/awsmachineproviderconfig_types.go index a826bb26a4..8e8b551ca2 100644 --- a/pkg/apis/awsproviderconfig/v1alpha1/awsmachineproviderconfig_types.go +++ b/pkg/apis/awsproviderconfig/v1beta1/awsmachineproviderconfig_types.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package v1alpha1 +package v1beta1 import ( corev1 "k8s.io/api/core/v1" diff --git a/pkg/apis/awsproviderconfig/v1alpha1/doc.go b/pkg/apis/awsproviderconfig/v1beta1/doc.go similarity index 82% rename from pkg/apis/awsproviderconfig/v1alpha1/doc.go rename to pkg/apis/awsproviderconfig/v1beta1/doc.go index c391550798..b23498c738 100644 --- a/pkg/apis/awsproviderconfig/v1alpha1/doc.go +++ b/pkg/apis/awsproviderconfig/v1beta1/doc.go @@ -14,10 +14,10 @@ See the License for the specific language governing permissions and limitations under the License. */ -// Package v1alpha1 contains API Schema definitions for the awsproviderconfig v1alpha1 API group +// Package v1beta1 contains API Schema definitions for the awsproviderconfig v1beta1 API group // +k8s:openapi-gen=true // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig // +k8s:defaulter-gen=TypeMeta -// +groupName=awsproviderconfig.k8s.io -package v1alpha1 +// +groupName=awsproviderconfig.openshift.io +package v1beta1 diff --git a/pkg/apis/awsproviderconfig/v1alpha1/register.go b/pkg/apis/awsproviderconfig/v1beta1/register.go similarity index 83% rename from pkg/apis/awsproviderconfig/v1alpha1/register.go rename to pkg/apis/awsproviderconfig/v1beta1/register.go index 1217f5baa8..9785431541 100644 --- a/pkg/apis/awsproviderconfig/v1alpha1/register.go +++ b/pkg/apis/awsproviderconfig/v1beta1/register.go @@ -16,18 +16,20 @@ limitations under the License. // NOTE: Boilerplate only. Ignore this file. -// Package v1alpha1 contains API Schema definitions for the awsproviderconfig v1alpha1 API group +// Package v1beta1 contains API Schema definitions for the awsproviderconfig v1beta1 API group // +k8s:openapi-gen=true // +k8s:deepcopy-gen=package,register // +k8s:conversion-gen=sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig // +k8s:defaulter-gen=TypeMeta // +groupName=awsproviderconfig.k8s.io -package v1alpha1 +package v1beta1 import ( "bytes" "fmt" + "github.com/ghodss/yaml" + machinev1 "github.com/openshift/cluster-api/pkg/apis/machine/v1beta1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" @@ -37,7 +39,7 @@ import ( var ( // SchemeGroupVersion is group version used to register these objects - SchemeGroupVersion = schema.GroupVersion{Group: "awsproviderconfig.k8s.io", Version: "v1alpha1"} + SchemeGroupVersion = schema.GroupVersion{Group: "awsproviderconfig.openshift.io", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion} @@ -76,8 +78,11 @@ func NewCodec() (*AWSProviderConfigCodec, error) { // DecodeProviderSpec deserialises an object from the provider config func (codec *AWSProviderConfigCodec) DecodeProviderSpec(providerSpec *machinev1.ProviderSpec, out runtime.Object) error { if providerSpec.Value != nil { - _, _, err := codec.decoder.Decode(providerSpec.Value.Raw, nil, out) - if err != nil { + // TODO(vikasc): revert back to using `Decode` once installer and mao have started using + // awsprovider apis pivoted under openshift.io api group + // _, _, err := codec.decoder.Decode(providerSpec.Value.Raw, nil, out) + // if err != nil { + if err := yaml.Unmarshal(providerSpec.Value.Raw, out); err != nil { return fmt.Errorf("decoding failure: %v", err) } } @@ -107,8 +112,11 @@ func (codec *AWSProviderConfigCodec) EncodeProviderStatus(in runtime.Object) (*r // DecodeProviderStatus deserialises the provider status func (codec *AWSProviderConfigCodec) DecodeProviderStatus(providerStatus *runtime.RawExtension, out runtime.Object) error { if providerStatus != nil { - _, _, err := codec.decoder.Decode(providerStatus.Raw, nil, out) - if err != nil { + // TODO(vikasc): revert back to using `Decode` once installer and mao have started using + // awsprovider apis pivoted under openshift.io api group + //_, _, err := codec.decoder.Decode(providerStatus.Raw, nil, out) + if err := yaml.Unmarshal(providerStatus.Raw, out); err != nil { + return fmt.Errorf("decoding failure: %v", err) } } diff --git a/pkg/apis/awsproviderconfig/v1alpha1/register_test.go b/pkg/apis/awsproviderconfig/v1beta1/register_test.go similarity index 97% rename from pkg/apis/awsproviderconfig/v1alpha1/register_test.go rename to pkg/apis/awsproviderconfig/v1beta1/register_test.go index e23a94e979..c742c801e7 100644 --- a/pkg/apis/awsproviderconfig/v1alpha1/register_test.go +++ b/pkg/apis/awsproviderconfig/v1beta1/register_test.go @@ -1,4 +1,4 @@ -package v1alpha1 +package v1beta1 import ( "reflect" @@ -27,7 +27,7 @@ func TestEncodeAndDecodeProviderStatus(t *testing.T) { providerStatus := &AWSMachineProviderStatus{ TypeMeta: metav1.TypeMeta{ Kind: "AWSMachineProviderStatus", - APIVersion: "awsproviderconfig.k8s.io/v1alpha1", + APIVersion: "awsproviderconfig.openshift.io/v1beta1", }, InstanceState: &instanceState, InstanceID: &instanceID, @@ -80,7 +80,7 @@ func TestEncodeAndDecodeProviderSpec(t *testing.T) { providerConfig := &AWSMachineProviderConfig{ TypeMeta: metav1.TypeMeta{ Kind: "AWSMachineProviderConfig", - APIVersion: "awsproviderconfig.k8s.io/v1alpha1", + APIVersion: "awsproviderconfig.openshift.io/v1beta1", }, AMI: AWSResourceReference{ Filters: []Filter{ diff --git a/pkg/apis/awsproviderconfig/v1alpha1/zz_generated.deepcopy.go b/pkg/apis/awsproviderconfig/v1beta1/zz_generated.deepcopy.go similarity index 99% rename from pkg/apis/awsproviderconfig/v1alpha1/zz_generated.deepcopy.go rename to pkg/apis/awsproviderconfig/v1beta1/zz_generated.deepcopy.go index 5af190171b..eae74a6ea9 100644 --- a/pkg/apis/awsproviderconfig/v1alpha1/zz_generated.deepcopy.go +++ b/pkg/apis/awsproviderconfig/v1beta1/zz_generated.deepcopy.go @@ -1,7 +1,7 @@ // +build !ignore_autogenerated /* -Copyright 2018 The Kubernetes Authors. +Copyright 2019 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -15,9 +15,10 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ + // Code generated by main. DO NOT EDIT. -package v1alpha1 +package v1beta1 import ( v1 "k8s.io/api/core/v1" diff --git a/test/machines/utils.go b/test/machines/utils.go index 78dfb006da..d10e87b19f 100644 --- a/test/machines/utils.go +++ b/test/machines/utils.go @@ -9,7 +9,7 @@ import ( "github.com/openshift/cluster-api-actuator-pkg/pkg/e2e/framework" - providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" ) func createSecretAndWait(f *framework.Framework, secret *apiv1.Secret) { diff --git a/test/utils/manifests.go b/test/utils/manifests.go index bc1fb400a9..fef47d75f2 100644 --- a/test/utils/manifests.go +++ b/test/utils/manifests.go @@ -7,7 +7,7 @@ import ( machinev1beta1 "github.com/openshift/cluster-api/pkg/apis/machine/v1beta1" apiv1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1alpha1" + providerconfigv1 "sigs.k8s.io/cluster-api-provider-aws/pkg/apis/awsproviderconfig/v1beta1" awsclient "sigs.k8s.io/cluster-api-provider-aws/pkg/client" )