Skip to content

Commit

Permalink
Add new job to test clusterNetwork CIDR expansion
Browse files Browse the repository at this point in the history
- this is periodic only running on Sat/Sun/Tue/Thur 3am PST for
  4.13+
- uses custom ClusterNetwork config (not openshift default) to
  bring up a cluster with only enough IP space for 8 nodes
- scales to 9 nodes and checks that 9th node cannot join due
  to exhausted IP space
- modifies the ClusterNetwork CIDR mask so that there are now
  more IPs available
- validates that the new node is assigned a subnet and
  in ready state
- runs standard e2e tests

- Also does a small refactor of the ovn-conf-custom-cidr
  workflow to take parameters instead of hardcoded values
  allowing other workflows to use it for their own purposes.

Signed-off-by: Jamo Luhrsen <jluhrsen@gmail.com>
  • Loading branch information
jluhrsen committed Mar 22, 2023
1 parent ee1cfc1 commit 03a941b
Show file tree
Hide file tree
Showing 16 changed files with 451 additions and 3 deletions.
Expand Up @@ -220,6 +220,11 @@ tests:
- ref: ovn-sdn-migration-feature-migration-validate-multicast
- ref: openshift-e2e-test
workflow: openshift-e2e-aws
- as: e2e-aws-ovn-clusternetwork-cidr-expansion
cron: 0 3 * * 0,2,4,6
steps:
cluster_profile: aws
workflow: openshift-e2e-aws-cidr-expansion
- as: e2e-aws-ovn-single-node
optional: true
steps:
Expand Down
Expand Up @@ -220,6 +220,11 @@ tests:
- ref: ovn-sdn-migration-feature-migration-validate-multicast
- ref: openshift-e2e-test
workflow: openshift-e2e-aws
- as: e2e-aws-ovn-clusternetwork-cidr-expansion
cron: 0 3 * * 0,2,4,6
steps:
cluster_profile: aws
workflow: openshift-e2e-aws-cidr-expansion
- as: e2e-aws-ovn-single-node
optional: true
steps:
Expand Down
Expand Up @@ -221,6 +221,11 @@ tests:
- ref: ovn-sdn-migration-feature-migration-validate-multicast
- ref: openshift-e2e-test
workflow: openshift-e2e-aws
- as: e2e-aws-ovn-clusternetwork-cidr-expansion
cron: 0 3 * * 0,2,4,6
steps:
cluster_profile: aws
workflow: openshift-e2e-aws-cidr-expansion
- as: e2e-aws-ovn-single-node
optional: true
steps:
Expand Down
@@ -0,0 +1,71 @@
periodics:
- agent: kubernetes
cluster: build05
cron: 0 3 * * 0,2,4,6
decorate: true
extra_refs:
- base_ref: master
org: openshift
repo: cluster-network-operator
labels:
ci-operator.openshift.io/cloud: aws
ci-operator.openshift.io/cloud-cluster-profile: aws
ci.openshift.io/generator: prowgen
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-cluster-network-operator-master-e2e-aws-ovn-clusternetwork-cidr-expansion
spec:
containers:
- args:
- --gcs-upload-secret=/secrets/gcs/service-account.json
- --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson
- --lease-server-credentials-file=/etc/boskos/credentials
- --report-credentials-file=/etc/report/credentials
- --secret-dir=/secrets/ci-pull-credentials
- --secret-dir=/usr/local/e2e-aws-ovn-clusternetwork-cidr-expansion-cluster-profile
- --target=e2e-aws-ovn-clusternetwork-cidr-expansion
command:
- ci-operator
image: ci-operator:latest
imagePullPolicy: Always
name: ""
resources:
requests:
cpu: 10m
volumeMounts:
- mountPath: /etc/boskos
name: boskos
readOnly: true
- mountPath: /secrets/ci-pull-credentials
name: ci-pull-credentials
readOnly: true
- mountPath: /usr/local/e2e-aws-ovn-clusternetwork-cidr-expansion-cluster-profile
name: cluster-profile
- mountPath: /secrets/gcs
name: gcs-credentials
readOnly: true
- mountPath: /etc/pull-secret
name: pull-secret
readOnly: true
- mountPath: /etc/report
name: result-aggregator
readOnly: true
serviceAccountName: ci-operator
volumes:
- name: boskos
secret:
items:
- key: credentials
path: credentials
secretName: boskos-credentials
- name: ci-pull-credentials
secret:
secretName: ci-pull-credentials
- name: cluster-profile
secret:
secretName: cluster-secrets-aws
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
@@ -0,0 +1,71 @@
periodics:
- agent: kubernetes
cluster: build05
cron: 0 3 * * 0,2,4,6
decorate: true
extra_refs:
- base_ref: release-4.13
org: openshift
repo: cluster-network-operator
labels:
ci-operator.openshift.io/cloud: aws
ci-operator.openshift.io/cloud-cluster-profile: aws
ci.openshift.io/generator: prowgen
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-cluster-network-operator-release-4.13-e2e-aws-ovn-clusternetwork-cidr-expansion
spec:
containers:
- args:
- --gcs-upload-secret=/secrets/gcs/service-account.json
- --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson
- --lease-server-credentials-file=/etc/boskos/credentials
- --report-credentials-file=/etc/report/credentials
- --secret-dir=/secrets/ci-pull-credentials
- --secret-dir=/usr/local/e2e-aws-ovn-clusternetwork-cidr-expansion-cluster-profile
- --target=e2e-aws-ovn-clusternetwork-cidr-expansion
command:
- ci-operator
image: ci-operator:latest
imagePullPolicy: Always
name: ""
resources:
requests:
cpu: 10m
volumeMounts:
- mountPath: /etc/boskos
name: boskos
readOnly: true
- mountPath: /secrets/ci-pull-credentials
name: ci-pull-credentials
readOnly: true
- mountPath: /usr/local/e2e-aws-ovn-clusternetwork-cidr-expansion-cluster-profile
name: cluster-profile
- mountPath: /secrets/gcs
name: gcs-credentials
readOnly: true
- mountPath: /etc/pull-secret
name: pull-secret
readOnly: true
- mountPath: /etc/report
name: result-aggregator
readOnly: true
serviceAccountName: ci-operator
volumes:
- name: boskos
secret:
items:
- key: credentials
path: credentials
secretName: boskos-credentials
- name: ci-pull-credentials
secret:
secretName: ci-pull-credentials
- name: cluster-profile
secret:
secretName: cluster-secrets-aws
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
@@ -0,0 +1,71 @@
periodics:
- agent: kubernetes
cluster: build05
cron: 0 3 * * 0,2,4,6
decorate: true
extra_refs:
- base_ref: release-4.14
org: openshift
repo: cluster-network-operator
labels:
ci-operator.openshift.io/cloud: aws
ci-operator.openshift.io/cloud-cluster-profile: aws
ci.openshift.io/generator: prowgen
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-cluster-network-operator-release-4.14-e2e-aws-ovn-clusternetwork-cidr-expansion
spec:
containers:
- args:
- --gcs-upload-secret=/secrets/gcs/service-account.json
- --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson
- --lease-server-credentials-file=/etc/boskos/credentials
- --report-credentials-file=/etc/report/credentials
- --secret-dir=/secrets/ci-pull-credentials
- --secret-dir=/usr/local/e2e-aws-ovn-clusternetwork-cidr-expansion-cluster-profile
- --target=e2e-aws-ovn-clusternetwork-cidr-expansion
command:
- ci-operator
image: ci-operator:latest
imagePullPolicy: Always
name: ""
resources:
requests:
cpu: 10m
volumeMounts:
- mountPath: /etc/boskos
name: boskos
readOnly: true
- mountPath: /secrets/ci-pull-credentials
name: ci-pull-credentials
readOnly: true
- mountPath: /usr/local/e2e-aws-ovn-clusternetwork-cidr-expansion-cluster-profile
name: cluster-profile
- mountPath: /secrets/gcs
name: gcs-credentials
readOnly: true
- mountPath: /etc/pull-secret
name: pull-secret
readOnly: true
- mountPath: /etc/report
name: result-aggregator
readOnly: true
serviceAccountName: ci-operator
volumes:
- name: boskos
secret:
items:
- key: credentials
path: credentials
secretName: boskos-credentials
- name: ci-pull-credentials
secret:
secretName: ci-pull-credentials
- name: cluster-profile
secret:
secretName: cluster-secrets-aws
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
1 change: 1 addition & 0 deletions ci-operator/step-registry/ipi/aws/cidr-expansion/OWNERS
@@ -0,0 +1,12 @@
{
"path": "openshift/e2e/aws/cidr-expansion/openshift-e2e-aws-cidr-expansion-workflow.yaml",
"owners": {
"approvers": [
"deads2k",
"dgoodwin",
"stbenjam",
"vrutkovs",
"wking"
]
}
}
@@ -0,0 +1,22 @@
workflow:
as: openshift-e2e-aws-cidr-expansion
steps:
env:
CLUSTER_NETWORK_CIDR: 10.128.0.0/23
CLUSTER_NETWORK_HOST_PREFIX: 26
pre:
- chain: ipi-conf-aws
- ref: ovn-conf-custom-cidr
- chain: ipi-install
test:
- ref: ovn-clusternetwork-cidr-expansion
- ref: openshift-e2e-test
post:
- chain: gather-core-dump
- chain: ipi-aws-post
documentation: |-
This workflow will configure custom values for the clusterNetwork CIDR mask (/23) and the
hostPrefix (/26) which allows for 512 total IPs w/ 64 IPs per node resulting in 8 nodes
max. The clusternetwork-cidr-expansion test step will modify (expand) the total IPs and
scale to more worker nodes. Finally the standard e2e-test step will run

0 comments on commit 03a941b

Please sign in to comment.