Skip to content
This repository was archived by the owner on Apr 7, 2020. It is now read-only.

Commit b3241f0

Browse files
authored
Merge pull request #505 from rfranzke/feature/corev1beta1
Adapt extensions to be able to work with all versions of `core.gardener.cloud` API group
2 parents 4c3d2be + 7929426 commit b3241f0

File tree

288 files changed

+33734
-1547
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

288 files changed

+33734
-1547
lines changed

Makefile

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,6 @@ docker-images: docker-image-hyper
7979
revendor:
8080
@GO111MODULE=on go mod vendor
8181
@GO111MODULE=on go mod tidy
82-
# Remove conversion files to prevent cyclic dependencies between Gardener and Extension APIs.
83-
# This is needed as long as we migrate from gardener/v1beta1 to core/v1alpha1 APIs.
84-
# This can be removed again as soon as the old gardener/v1beta1 API group is deleted.
85-
@rm -f vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/zz_generated.conversion.go
86-
@rm -f vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/conversions.go
87-
@rm -f vendor/github.com/gardener/gardener/pkg/apis/garden/v1beta1/zz_generated.conversion.go
88-
@rm -f vendor/github.com/gardener/gardener/pkg/apis/garden/v1beta1/conversions.go
89-
sed -i 's/, addConversionFuncs)/\)/g' vendor/github.com/gardener/gardener/pkg/apis/core/v1alpha1/register.go
9082

9183
.PHONY: start-os-coreos
9284
start-os-coreos:

controllers/networking-calico/docs/usage-as-end-user.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Using the Networking Calico extension with Gardener as end-user
22

3-
The [`core.gardener.cloud/v1alpha1.Shoot` resource](https://github.com/gardener/gardener/blob/master/example/90-shoot.yaml) declares a `networking` field that is meant to contain network-specific configuration.
3+
The [`core.gardener.cloud/v1beta1.Shoot` resource](https://github.com/gardener/gardener/blob/master/example/90-shoot.yaml) declares a `networking` field that is meant to contain network-specific configuration.
44

55
In this document we are describing how this configuration looks like for Calico and provide an example `Shoot` manifest with minimal configuration that you can use to create a cluster.
66

controllers/networking-calico/pkg/controller/status.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ package controller
1717
import (
1818
"context"
1919

20-
gardencorev1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1"
20+
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
2121

2222
calicov1alpha1 "github.com/gardener/gardener-extensions/controllers/networking-calico/pkg/apis/calico/v1alpha1"
2323
extensionscontroller "github.com/gardener/gardener-extensions/pkg/controller"
@@ -38,8 +38,8 @@ func (a *actuator) updateProviderStatus(
3838

3939
return extensionscontroller.TryUpdateStatus(ctx, retry.DefaultBackoff, a.client, network, func() error {
4040
network.Status.ProviderStatus = &runtime.RawExtension{Object: status}
41-
network.Status.LastOperation = extensionscontroller.LastOperation(gardencorev1alpha1.LastOperationTypeReconcile,
42-
gardencorev1alpha1.LastOperationStateSucceeded,
41+
network.Status.LastOperation = extensionscontroller.LastOperation(gardencorev1beta1.LastOperationTypeReconcile,
42+
gardencorev1beta1.LastOperationStateSucceeded,
4343
100,
4444
"Calico was configured successfully")
4545
return nil

controllers/provider-alicloud/docs/usage-as-end-user.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Using the Alicloud provider extension with Gardener as end-user
22

3-
The [`core.gardener.cloud/v1alpha1.Shoot` resource](https://github.com/gardener/gardener/blob/master/example/90-shoot.yaml) declares a few fields that are meant to contain provider-specific configuration.
3+
The [`core.gardener.cloud/v1beta1.Shoot` resource](https://github.com/gardener/gardener/blob/master/example/90-shoot.yaml) declares a few fields that are meant to contain provider-specific configuration.
44

55
In this document we are describing how this configuration looks like for Alicloud and provide an example `Shoot` manifest with minimal configuration that you can use to create an Alicloud cluster (modulo the landscape-specific information like cloud profile names, secret binding names, etc.).
66

controllers/provider-alicloud/pkg/alicloud/client/client.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,12 @@ import (
1919
"fmt"
2020
"net/http"
2121

22+
"github.com/gardener/gardener-extensions/controllers/provider-alicloud/pkg/alicloud"
23+
2224
"github.com/aliyun/alibaba-cloud-sdk-go/services/ecs"
2325
"github.com/aliyun/alibaba-cloud-sdk-go/services/sts"
2426
alicloudvpc "github.com/aliyun/alibaba-cloud-sdk-go/services/vpc"
2527
"github.com/aliyun/aliyun-oss-go-sdk/oss"
26-
"github.com/gardener/gardener-extensions/controllers/provider-alicloud/pkg/alicloud"
27-
2828
corev1 "k8s.io/api/core/v1"
2929
"sigs.k8s.io/controller-runtime/pkg/client"
3030
)

controllers/provider-alicloud/pkg/apis/alicloud/validation/controlplane.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ package validation
1717
import (
1818
apisalicloud "github.com/gardener/gardener-extensions/controllers/provider-alicloud/pkg/apis/alicloud"
1919

20-
gardencorev1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1"
20+
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
2121
apivalidation "k8s.io/apimachinery/pkg/api/validation"
2222
"k8s.io/apimachinery/pkg/util/validation/field"
2323
)
2424

2525
// ValidateControlPlaneConfig validates a ControlPlaneConfig object.
26-
func ValidateControlPlaneConfig(controlPlaneConfig *apisalicloud.ControlPlaneConfig, region string, regions []gardencorev1alpha1.Region) field.ErrorList {
26+
func ValidateControlPlaneConfig(controlPlaneConfig *apisalicloud.ControlPlaneConfig, region string, regions []gardencorev1beta1.Region) field.ErrorList {
2727
allErrs := field.ErrorList{}
2828

2929
if len(controlPlaneConfig.Zone) == 0 {
@@ -36,15 +36,15 @@ func ValidateControlPlaneConfig(controlPlaneConfig *apisalicloud.ControlPlaneCon
3636
}
3737

3838
// ValidateControlPlaneConfigUpdate validates a ControlPlaneConfig object.
39-
func ValidateControlPlaneConfigUpdate(oldConfig, newConfig *apisalicloud.ControlPlaneConfig, region string, regions []gardencorev1alpha1.Region) field.ErrorList {
39+
func ValidateControlPlaneConfigUpdate(oldConfig, newConfig *apisalicloud.ControlPlaneConfig, region string, regions []gardencorev1beta1.Region) field.ErrorList {
4040
allErrs := field.ErrorList{}
4141

4242
allErrs = append(allErrs, apivalidation.ValidateImmutableField(newConfig.Zone, oldConfig.Zone, field.NewPath("zone"))...)
4343

4444
return allErrs
4545
}
4646

47-
func validateZoneConstraints(regions []gardencorev1alpha1.Region, region, zone, oldZone string) (bool, []string) {
47+
func validateZoneConstraints(regions []gardencorev1beta1.Region, region, zone, oldZone string) (bool, []string) {
4848
if zone == oldZone {
4949
return true, nil
5050
}

controllers/provider-alicloud/pkg/apis/alicloud/validation/controlplane_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import (
1818
apisalicloud "github.com/gardener/gardener-extensions/controllers/provider-alicloud/pkg/apis/alicloud"
1919
. "github.com/gardener/gardener-extensions/controllers/provider-alicloud/pkg/apis/alicloud/validation"
2020

21-
gardencorev1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1"
21+
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
2222
. "github.com/onsi/ginkgo"
2323
. "github.com/onsi/gomega"
2424
. "github.com/onsi/gomega/gstruct"
@@ -30,10 +30,10 @@ var _ = Describe("ControlPlaneConfig validation", func() {
3030
region = "foo"
3131
zone = "some-zone"
3232

33-
regions = []gardencorev1alpha1.Region{
33+
regions = []gardencorev1beta1.Region{
3434
{
3535
Name: region,
36-
Zones: []gardencorev1alpha1.AvailabilityZone{
36+
Zones: []gardencorev1beta1.AvailabilityZone{
3737
{Name: zone},
3838
},
3939
},

controllers/provider-alicloud/pkg/controller/controlplane/valuesprovider.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ import (
2727
"github.com/gardener/gardener-extensions/pkg/controller/controlplane/genericactuator"
2828
"github.com/gardener/gardener-extensions/pkg/util"
2929

30-
v1alpha1constants "github.com/gardener/gardener/pkg/apis/core/v1alpha1/constants"
30+
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
3131
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
3232
"github.com/gardener/gardener/pkg/utils/chart"
3333
"github.com/gardener/gardener/pkg/utils/secrets"
@@ -45,8 +45,8 @@ import (
4545

4646
var controlPlaneSecrets = &secrets.Secrets{
4747
CertificateSecretConfigs: map[string]*secrets.CertificateSecretConfig{
48-
v1alpha1constants.SecretNameCACluster: {
49-
Name: v1alpha1constants.SecretNameCACluster,
48+
v1beta1constants.SecretNameCACluster: {
49+
Name: v1beta1constants.SecretNameCACluster,
5050
CommonName: "kubernetes",
5151
CertType: secrets.CACert,
5252
},
@@ -59,11 +59,11 @@ var controlPlaneSecrets = &secrets.Secrets{
5959
CommonName: "system:cloud-controller-manager",
6060
Organization: []string{user.SystemPrivilegedGroup},
6161
CertType: secrets.ClientCert,
62-
SigningCA: cas[v1alpha1constants.SecretNameCACluster],
62+
SigningCA: cas[v1beta1constants.SecretNameCACluster],
6363
},
6464
KubeConfigRequest: &secrets.KubeConfigRequest{
6565
ClusterName: clusterName,
66-
APIServerURL: v1alpha1constants.DeploymentNameKubeAPIServer,
66+
APIServerURL: v1beta1constants.DeploymentNameKubeAPIServer,
6767
},
6868
},
6969
&secrets.ControlPlaneSecretConfig{
@@ -72,11 +72,11 @@ var controlPlaneSecrets = &secrets.Secrets{
7272
CommonName: "system:csi-attacher",
7373
Organization: []string{user.SystemPrivilegedGroup},
7474
CertType: secrets.ClientCert,
75-
SigningCA: cas[v1alpha1constants.SecretNameCACluster],
75+
SigningCA: cas[v1beta1constants.SecretNameCACluster],
7676
},
7777
KubeConfigRequest: &secrets.KubeConfigRequest{
7878
ClusterName: clusterName,
79-
APIServerURL: v1alpha1constants.DeploymentNameKubeAPIServer,
79+
APIServerURL: v1beta1constants.DeploymentNameKubeAPIServer,
8080
},
8181
},
8282
&secrets.ControlPlaneSecretConfig{
@@ -85,11 +85,11 @@ var controlPlaneSecrets = &secrets.Secrets{
8585
CommonName: "system:csi-provisioner",
8686
Organization: []string{user.SystemPrivilegedGroup},
8787
CertType: secrets.ClientCert,
88-
SigningCA: cas[v1alpha1constants.SecretNameCACluster],
88+
SigningCA: cas[v1beta1constants.SecretNameCACluster],
8989
},
9090
KubeConfigRequest: &secrets.KubeConfigRequest{
9191
ClusterName: clusterName,
92-
APIServerURL: v1alpha1constants.DeploymentNameKubeAPIServer,
92+
APIServerURL: v1beta1constants.DeploymentNameKubeAPIServer,
9393
},
9494
},
9595
&secrets.ControlPlaneSecretConfig{
@@ -98,11 +98,11 @@ var controlPlaneSecrets = &secrets.Secrets{
9898
CommonName: "system:csi-snapshotter",
9999
Organization: []string{user.SystemPrivilegedGroup},
100100
CertType: secrets.ClientCert,
101-
SigningCA: cas[v1alpha1constants.SecretNameCACluster],
101+
SigningCA: cas[v1beta1constants.SecretNameCACluster],
102102
},
103103
KubeConfigRequest: &secrets.KubeConfigRequest{
104104
ClusterName: clusterName,
105-
APIServerURL: v1alpha1constants.DeploymentNameKubeAPIServer,
105+
APIServerURL: v1beta1constants.DeploymentNameKubeAPIServer,
106106
},
107107
},
108108
&secrets.ControlPlaneSecretConfig{
@@ -111,11 +111,11 @@ var controlPlaneSecrets = &secrets.Secrets{
111111
CommonName: "system:csi-resizer",
112112
Organization: []string{user.SystemPrivilegedGroup},
113113
CertType: secrets.ClientCert,
114-
SigningCA: cas[v1alpha1constants.SecretNameCACluster],
114+
SigningCA: cas[v1beta1constants.SecretNameCACluster],
115115
},
116116
KubeConfigRequest: &secrets.KubeConfigRequest{
117117
ClusterName: clusterName,
118-
APIServerURL: v1alpha1constants.DeploymentNameKubeAPIServer,
118+
APIServerURL: v1beta1constants.DeploymentNameKubeAPIServer,
119119
},
120120
},
121121
}
@@ -219,7 +219,7 @@ func NewValuesProvider(logger logr.Logger) genericactuator.ValuesProvider {
219219
}
220220
}
221221

222-
// valuesProvider is a ValuesProvider that provides AWS-specific values for the 2 charts applied by the generic actuator.
222+
// valuesProvider is a ValuesProvider that provides Alicloud-specific values for the 2 charts applied by the generic actuator.
223223
type valuesProvider struct {
224224
genericactuator.NoopValuesProvider
225225
decoder runtime.Decoder
@@ -372,7 +372,7 @@ func getControlPlaneChartValues(
372372
"podNetwork": extensionscontroller.GetPodNetwork(cluster),
373373
"podAnnotations": map[string]interface{}{
374374
"checksum/secret-cloud-controller-manager": checksums["cloud-controller-manager"],
375-
"checksum/secret-cloudprovider": checksums[v1alpha1constants.SecretNameCloudProvider],
375+
"checksum/secret-cloudprovider": checksums[v1beta1constants.SecretNameCloudProvider],
376376
"checksum/configmap-cloud-provider-config": checksums[alicloud.CloudProviderConfigName],
377377
},
378378
},
@@ -387,7 +387,7 @@ func getControlPlaneChartValues(
387387
"checksum/secret-csi-provisioner": checksums["csi-provisioner"],
388388
"checksum/secret-csi-snapshotter": checksums["csi-snapshotter"],
389389
"checksum/secret-csi-resizer": checksums["csi-resizer"],
390-
"checksum/secret-cloudprovider": checksums[v1alpha1constants.SecretNameCloudProvider],
390+
"checksum/secret-cloudprovider": checksums[v1beta1constants.SecretNameCloudProvider],
391391
},
392392
},
393393
}

controllers/provider-alicloud/pkg/controller/controlplane/valuesprovider_test.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ import (
2323
extensionscontroller "github.com/gardener/gardener-extensions/pkg/controller"
2424
mockclient "github.com/gardener/gardener-extensions/pkg/mock/controller-runtime/client"
2525

26-
gardencorev1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1"
27-
v1alpha1constants "github.com/gardener/gardener/pkg/apis/core/v1alpha1/constants"
26+
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
27+
v1beta1constants "github.com/gardener/gardener/pkg/apis/core/v1beta1/constants"
2828
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
2929
"github.com/golang/mock/gomock"
3030
. "github.com/onsi/ginkgo"
@@ -57,7 +57,7 @@ var _ = Describe("ValuesProvider", func() {
5757
Spec: extensionsv1alpha1.ControlPlaneSpec{
5858
Region: "eu-central-1",
5959
SecretRef: corev1.SecretReference{
60-
Name: v1alpha1constants.SecretNameCloudProvider,
60+
Name: v1beta1constants.SecretNameCloudProvider,
6161
Namespace: namespace,
6262
},
6363
ProviderConfig: &runtime.RawExtension{
@@ -89,25 +89,25 @@ var _ = Describe("ValuesProvider", func() {
8989

9090
cidr = "10.250.0.0/19"
9191
cluster = &extensionscontroller.Cluster{
92-
Shoot: &gardencorev1alpha1.Shoot{
92+
Shoot: &gardencorev1beta1.Shoot{
9393
ObjectMeta: metav1.ObjectMeta{
9494
Name: "myshoot",
9595
},
96-
Spec: gardencorev1alpha1.ShootSpec{
97-
Networking: gardencorev1alpha1.Networking{
96+
Spec: gardencorev1beta1.ShootSpec{
97+
Networking: gardencorev1beta1.Networking{
9898
Pods: &cidr,
9999
},
100-
Kubernetes: gardencorev1alpha1.Kubernetes{
100+
Kubernetes: gardencorev1beta1.Kubernetes{
101101
Version: "1.14.0",
102102
},
103103
},
104104
},
105105
}
106106

107-
cpSecretKey = client.ObjectKey{Namespace: namespace, Name: v1alpha1constants.SecretNameCloudProvider}
107+
cpSecretKey = client.ObjectKey{Namespace: namespace, Name: v1beta1constants.SecretNameCloudProvider}
108108
cpSecret = &corev1.Secret{
109109
ObjectMeta: metav1.ObjectMeta{
110-
Name: v1alpha1constants.SecretNameCloudProvider,
110+
Name: v1beta1constants.SecretNameCloudProvider,
111111
Namespace: namespace,
112112
},
113113
Type: corev1.SecretTypeOpaque,
@@ -118,13 +118,13 @@ var _ = Describe("ValuesProvider", func() {
118118
}
119119

120120
checksums = map[string]string{
121-
v1alpha1constants.SecretNameCloudProvider: "8bafb35ff1ac60275d62e1cbd495aceb511fb354f74a20f7d06ecb48b3a68432",
122-
alicloud.CloudProviderConfigName: "08a7bc7fe8f59b055f173145e211760a83f02cf89635cef26ebb351378635606",
123-
"cloud-controller-manager": "3d791b164a808638da9a8df03924be2a41e34cd664e42231c00fe369e3588272",
124-
"csi-attacher": "2da58ad61c401a2af779a909d22fb42eed93a1524cbfdab974ceedb413fcb914",
125-
"csi-provisioner": "f75b42d40ab501428c383dfb2336cb1fc892bbee1fc1d739675171e4acc4d911",
126-
"csi-snapshotter": "bf417dd97dc3e8c2092bb5b2ba7b0f1093ebc4bb5952091ee554cf5b7ea74508",
127-
"csi-resizer": "5df115bd53f09da2d6d27bfb048c14dabd14a66608cfdba5ecd2d0687889cc6a",
121+
v1beta1constants.SecretNameCloudProvider: "8bafb35ff1ac60275d62e1cbd495aceb511fb354f74a20f7d06ecb48b3a68432",
122+
alicloud.CloudProviderConfigName: "08a7bc7fe8f59b055f173145e211760a83f02cf89635cef26ebb351378635606",
123+
"cloud-controller-manager": "3d791b164a808638da9a8df03924be2a41e34cd664e42231c00fe369e3588272",
124+
"csi-attacher": "2da58ad61c401a2af779a909d22fb42eed93a1524cbfdab974ceedb413fcb914",
125+
"csi-provisioner": "f75b42d40ab501428c383dfb2336cb1fc892bbee1fc1d739675171e4acc4d911",
126+
"csi-snapshotter": "bf417dd97dc3e8c2092bb5b2ba7b0f1093ebc4bb5952091ee554cf5b7ea74508",
127+
"csi-resizer": "5df115bd53f09da2d6d27bfb048c14dabd14a66608cfdba5ecd2d0687889cc6a",
128128
}
129129

130130
configChartValues = map[string]interface{}{

controllers/provider-alicloud/pkg/controller/infrastructure/actuator_test.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ import (
3737
"github.com/gardener/gardener-extensions/pkg/mock/go-logr/logr"
3838
realterraformer "github.com/gardener/gardener-extensions/pkg/terraformer"
3939
"github.com/gardener/gardener-extensions/pkg/util/chart"
40-
gardencorev1alpha1 "github.com/gardener/gardener/pkg/apis/core/v1alpha1"
40+
gardencorev1beta1 "github.com/gardener/gardener/pkg/apis/core/v1beta1"
4141

4242
"github.com/aliyun/alibaba-cloud-sdk-go/services/vpc"
4343
extensionsv1alpha1 "github.com/gardener/gardener/pkg/apis/extensions/v1alpha1"
@@ -150,8 +150,8 @@ var _ = Describe("Actuator", func() {
150150
accessKeyID = "accessKeyID"
151151
accessKeySecret = "accessKeySecret"
152152
cluster = controller.Cluster{
153-
Shoot: &gardencorev1alpha1.Shoot{
154-
Spec: gardencorev1alpha1.ShootSpec{
153+
Shoot: &gardencorev1beta1.Shoot{
154+
Spec: gardencorev1beta1.ShootSpec{
155155
Region: region,
156156
},
157157
},

0 commit comments

Comments
 (0)