Switch Calico integration tests to k8s v1.24

This commit is contained in:
Ciprian Hacman 2022-05-21 10:43:13 +02:00
parent dcc3d3c46b
commit f5954e1388
3 changed files with 75 additions and 55 deletions

View File

@ -181,11 +181,13 @@ func (i *integrationTest) withAddons(addons ...string) *integrationTest {
} }
const ( const (
dnsControllerAddon = "dns-controller.addons.k8s.io-k8s-1.12"
awsCCMAddon = "aws-cloud-controller.addons.k8s.io-k8s-1.18" awsCCMAddon = "aws-cloud-controller.addons.k8s.io-k8s-1.18"
awsEBSCSIAddon = "aws-ebs-csi-driver.addons.k8s.io-k8s-1.17" awsEBSCSIAddon = "aws-ebs-csi-driver.addons.k8s.io-k8s-1.17"
leaderElectionAddon = "leader-migration.rbac.addons.k8s.io-k8s-1.23" calicoAddon = "networking.projectcalico.org-k8s-1.23"
certManagerAddon = "certmanager.io-k8s-1.16" certManagerAddon = "certmanager.io-k8s-1.16"
ciliumAddon = "networking.cilium.io-k8s-1.16"
dnsControllerAddon = "dns-controller.addons.k8s.io-k8s-1.12"
leaderElectionAddon = "leader-migration.rbac.addons.k8s.io-k8s-1.23"
) )
// TestMinimal runs the test on a minimum configuration, similar to kops create cluster minimal.example.com --zones us-west-1a // TestMinimal runs the test on a minimum configuration, similar to kops create cluster minimal.example.com --zones us-west-1a
@ -325,7 +327,7 @@ func TestMinimalIPv6Private(t *testing.T) {
// TestMinimalIPv6Calico runs the test on a minimum IPv6 configuration with Calico // TestMinimalIPv6Calico runs the test on a minimum IPv6 configuration with Calico
func TestMinimalIPv6Calico(t *testing.T) { func TestMinimalIPv6Calico(t *testing.T) {
newIntegrationTest("minimal-ipv6.example.com", "minimal-ipv6-calico"). newIntegrationTest("minimal-ipv6.example.com", "minimal-ipv6-calico").
withAddons(awsCCMAddon, awsEBSCSIAddon, calicoAddon, dnsControllerAddon). withAddons(calicoAddon, awsCCMAddon, awsEBSCSIAddon, dnsControllerAddon, leaderElectionAddon).
runTestTerraformAWS(t) runTestTerraformAWS(t)
newIntegrationTest("minimal-ipv6.example.com", "minimal-ipv6-calico").runTestCloudformation(t) newIntegrationTest("minimal-ipv6.example.com", "minimal-ipv6-calico").runTestCloudformation(t)
} }
@ -405,21 +407,17 @@ func TestPrivateFlannel(t *testing.T) {
runTestTerraformAWS(t) runTestTerraformAWS(t)
} }
const calicoAddon = "networking.projectcalico.org-k8s-1.16"
// TestPrivateCalico runs the test on a configuration with private topology, calico networking // TestPrivateCalico runs the test on a configuration with private topology, calico networking
func TestPrivateCalico(t *testing.T) { func TestPrivateCalico(t *testing.T) {
newIntegrationTest("privatecalico.example.com", "privatecalico"). newIntegrationTest("privatecalico.example.com", "privatecalico").
withPrivate(). withPrivate().
withAddons(calicoAddon, dnsControllerAddon). withAddons(calicoAddon, awsCCMAddon, awsEBSCSIAddon, dnsControllerAddon, leaderElectionAddon).
runTestTerraformAWS(t) runTestTerraformAWS(t)
newIntegrationTest("privatecalico.example.com", "privatecalico"). newIntegrationTest("privatecalico.example.com", "privatecalico").
withPrivate(). withPrivate().
runTestCloudformation(t) runTestCloudformation(t)
} }
const ciliumAddon = "networking.cilium.io-k8s-1.16"
func TestPrivateCilium(t *testing.T) { func TestPrivateCilium(t *testing.T) {
newIntegrationTest("privatecilium.example.com", "privatecilium"). newIntegrationTest("privatecilium.example.com", "privatecilium").
withPrivate(). withPrivate().

View File

@ -8,12 +8,6 @@ spec:
loadBalancer: loadBalancer:
type: Public type: Public
class: Network class: Network
kubernetesApiAccess:
- 0.0.0.0/0
- ::/0
sshAccess:
- 0.0.0.0/0
- ::/0
channel: stable channel: stable
cloudConfig: cloudConfig:
awsEBSCSIDriver: awsEBSCSIDriver:
@ -30,25 +24,33 @@ spec:
- instanceGroup: master-us-test-1a - instanceGroup: master-us-test-1a
name: us-test-1a name: us-test-1a
name: events name: events
iam: {} iam:
allowContainerRegistry: true
legacy: false
kubelet: kubelet:
anonymousAuth: false anonymousAuth: false
kubernetesVersion: v1.21.0 kubernetesApiAccess:
- 0.0.0.0/0
- ::/0
kubernetesVersion: v1.24.0
masterInternalName: api.internal.minimal-ipv6.example.com masterInternalName: api.internal.minimal-ipv6.example.com
masterPublicName: api.minimal-ipv6.example.com masterPublicName: api.minimal-ipv6.example.com
networkCIDR: 172.20.0.0/16 networkCIDR: 172.20.0.0/16
networking: networking:
calico: {} calico: {}
nonMasqueradeCIDR: ::/0 nonMasqueradeCIDR: ::/0
topology: sshAccess:
masters: public - 0.0.0.0/0
nodes: public - ::/0
subnets: subnets:
- cidr: 172.20.32.0/19 - cidr: 172.20.32.0/19
ipv6CIDR: 2001:db8:0:111::/64 ipv6CIDR: 2001:db8:0:111::/64
name: us-test-1a name: us-test-1a
type: Public type: Public
zone: us-test-1a zone: us-test-1a
topology:
masters: public
nodes: public
--- ---
@ -56,34 +58,42 @@ apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup kind: InstanceGroup
metadata: metadata:
creationTimestamp: "2016-12-10T22:42:28Z" creationTimestamp: "2016-12-10T22:42:28Z"
name: nodes
labels: labels:
kops.k8s.io/cluster: minimal-ipv6.example.com kops.k8s.io/cluster: minimal-ipv6.example.com
spec:
associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: t2.medium
maxSize: 2
minSize: 2
role: Node
subnets:
- us-test-1a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2016-12-10T22:42:28Z"
name: master-us-test-1a name: master-us-test-1a
labels:
kops.k8s.io/cluster: minimal-ipv6.example.com
spec: spec:
associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21 image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: m3.medium instanceMetadata:
httpPutResponseHopLimit: 1
httpTokens: required
machineType: t3.medium
maxSize: 1 maxSize: 1
minSize: 1 minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: master-us-test-1a
role: Master role: Master
subnets: subnets:
- us-test-1a - us-test-1a
---
apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup
metadata:
creationTimestamp: "2016-12-10T22:42:28Z"
labels:
kops.k8s.io/cluster: minimal-ipv6.example.com
name: nodes
spec:
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: t3.medium
maxSize: 1
minSize: 1
nodeLabels:
kops.k8s.io/instancegroup: nodes
role: Node
subnets:
- us-test-1a

View File

@ -4,9 +4,11 @@ metadata:
creationTimestamp: "2016-12-12T04:13:14Z" creationTimestamp: "2016-12-12T04:13:14Z"
name: privatecalico.example.com name: privatecalico.example.com
spec: spec:
kubernetesApiAccess:
- 0.0.0.0/0
channel: stable channel: stable
cloudConfig:
awsEBSCSIDriver:
enabled: true
cloudControllerManager: {}
cloudProvider: aws cloudProvider: aws
configBase: memfs://clusters.example.com/privatecalico.example.com configBase: memfs://clusters.example.com/privatecalico.example.com
etcdClusters: etcdClusters:
@ -18,10 +20,15 @@ spec:
- instanceGroup: master-us-test-1a - instanceGroup: master-us-test-1a
name: us-test-1a name: us-test-1a
name: events name: events
iam: {} iam:
allowContainerRegistry: true
legacy: false
kubelet: kubelet:
anonymousAuth: false anonymousAuth: false
kubernetesVersion: v1.21.0 kubernetesApiAccess:
- 0.0.0.0/0
- ::/0
kubernetesVersion: v1.24.0
masterInternalName: api.internal.privatecalico.example.com masterInternalName: api.internal.privatecalico.example.com
masterPublicName: api.privatecalico.example.com masterPublicName: api.privatecalico.example.com
networkCIDR: 172.20.0.0/16 networkCIDR: 172.20.0.0/16
@ -30,9 +37,7 @@ spec:
nonMasqueradeCIDR: 100.64.0.0/10 nonMasqueradeCIDR: 100.64.0.0/10
sshAccess: sshAccess:
- 0.0.0.0/0 - 0.0.0.0/0
topology: - ::/0
masters: private
nodes: private
subnets: subnets:
- cidr: 172.20.32.0/19 - cidr: 172.20.32.0/19
name: us-test-1a name: us-test-1a
@ -42,6 +47,9 @@ spec:
name: utility-us-test-1a name: utility-us-test-1a
type: Utility type: Utility
zone: us-test-1a zone: us-test-1a
topology:
masters: private
nodes: private
--- ---
@ -49,13 +57,15 @@ apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup kind: InstanceGroup
metadata: metadata:
creationTimestamp: "2016-12-12T04:13:15Z" creationTimestamp: "2016-12-12T04:13:15Z"
name: master-us-test-1a
labels: labels:
kops.k8s.io/cluster: privatecalico.example.com kops.k8s.io/cluster: privatecalico.example.com
name: master-us-test-1a
spec: spec:
associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21 image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: m3.medium instanceMetadata:
httpPutResponseHopLimit: 1
httpTokens: required
machineType: t3.medium
maxSize: 1 maxSize: 1
minSize: 1 minSize: 1
role: Master role: Master
@ -68,13 +78,15 @@ apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup kind: InstanceGroup
metadata: metadata:
creationTimestamp: "2016-12-12T04:13:15Z" creationTimestamp: "2016-12-12T04:13:15Z"
name: nodes
labels: labels:
kops.k8s.io/cluster: privatecalico.example.com kops.k8s.io/cluster: privatecalico.example.com
name: nodes
spec: spec:
associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21 image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: t2.medium instanceMetadata:
httpPutResponseHopLimit: 3
httpTokens: required
machineType: t3.medium
maxSize: 2 maxSize: 2
minSize: 2 minSize: 2
role: Node role: Node
@ -88,13 +100,13 @@ apiVersion: kops.k8s.io/v1alpha2
kind: InstanceGroup kind: InstanceGroup
metadata: metadata:
creationTimestamp: "2016-12-14T15:32:41Z" creationTimestamp: "2016-12-14T15:32:41Z"
name: bastion
labels: labels:
kops.k8s.io/cluster: privatecalico.example.com kops.k8s.io/cluster: privatecalico.example.com
name: bastion
spec: spec:
associatePublicIp: true associatePublicIp: true
image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21 image: kope.io/k8s-1.4-debian-jessie-amd64-hvm-ebs-2016-10-21
machineType: t2.micro machineType: t3.micro
maxSize: 1 maxSize: 1
minSize: 1 minSize: 1
role: Bastion role: Bastion