Skip to content

Commit 6424c59

Browse files
committed
CNTRLPLANE-706 Build CI to cover Calico CNI test for private HCP on AWS
Exclude the following tests: * Test name: The default cluster RBAC policy should have correct RBAC rules Reason: The test fails as it finds unexpected RBACs from Calico. * Test name: Cluster scoped load balancer healthcheck port and path should be 10256/healthz Reason: Reported https://issues.redhat.com/browse/CNTRLPLANE-788. It's a valid bug in HCP * Test name: Prometheus [apigroup:image.openshift.io] when installed on the cluster should provide named network metrics Reason: Reported projectcalico/calico#10351 against Calico (seem to be breaking the spec) * Test name: Unidling* Reason: Feature not implemented in Calico. * Test name: pod should not start for sysctls not on whitelist [apigroup:k8s.cni.cncf.io] net.ipv4.conf.IFNAME.arp_filter Reason: Calico doesn’t validate sysctl conf against the "allowlist.conf". It has its own way. * Test name: pod should not start for sysctls not on whitelist [apigroup:k8s.cni.cncf.io] net.ipv4.conf.all.send_redirects Reason: Calico doesn’t validate sysctl conf against the "allowlist.conf". It has its own way. * Test name: sysctl allowlist update should start a pod with custom sysctl only when the sysctl is added to whitelist sysctl is added to whitelist Reason: Calico doesn’t validate sysctl conf against the "allowlist.conf". It has its own way. * Disable monitoring test apiserver-incluster-availability Reason: The test reads the KAS URL from .status.apiServerInternalURI of Infrastructure resource named "cluster" but that is in the form of https://api.d560406ce00e8ae40e77.hypershift.local:443 in the hosted cluster and is not reachable. See openshift/origin#29711 More details in https://docs.google.com/document/d/19lYcivp3eRcQQjhDssZnY89nKM_RG84TyVGCeIk5keA/edit?tab=t.0
1 parent 5fa0073 commit 6424c59

File tree

7 files changed

+138
-0
lines changed

7 files changed

+138
-0
lines changed

ci-operator/config/openshift/hypershift/openshift-hypershift-release-4.19__periodics.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,29 @@ tests:
170170
sysctl allowlist update should start a pod with custom sysctl only when the
171171
sysctl is added to whitelist
172172
workflow: hypershift-aws-conformance-calico
173+
- as: e2e-aws-conformance-calico-private
174+
minimum_interval: 168h
175+
steps:
176+
cluster_profile: aws-qe
177+
env:
178+
BASE_DOMAIN: qe.devcluster.openshift.com
179+
HYPERSHIFT_GUEST_INFRA_OCP_ACCOUNT: "true"
180+
TEST_ARGS: --disable-monitor=apiserver-incluster-availability
181+
TEST_SKIPS: The default cluster RBAC policy should have correct RBAC rules\|
182+
Cluster scoped load balancer healthcheck port and path should be 10256/healthz\|
183+
Prometheus \[apigroup:image.openshift.io\] when installed on the cluster should
184+
provide named network metrics\| Unidling \[apigroup:apps.openshift.io\]\[apigroup:route.openshift.io\]
185+
should work with UDP\| Unidling with Deployments \[apigroup:route.openshift.io\]
186+
should work with TCP (when fully idled)\| Unidling \[apigroup:apps.openshift.io\]\[apigroup:route.openshift.io\]
187+
should work with TCP (when fully idled)\| Unidling with Deployments \[apigroup:route.openshift.io\]
188+
should work with UDP\|pod should not start for sysctls not on whitelist \[apigroup:k8s.cni.cncf.io\]
189+
net.ipv4.conf.IFNAME.arp_filter\| pod should not start for sysctls not on
190+
whitelist \[apigroup:k8s.cni.cncf.io\] net.ipv4.conf.all.send_redirects\|
191+
sysctl allowlist update should start a pod with custom sysctl only when the
192+
sysctl is added to whitelist
193+
test:
194+
- chain: hypershift-conformance
195+
workflow: cucushift-installer-rehearse-aws-ipi-calico-hypershift-private-guest
173196
- as: e2e-powervs-ovn
174197
cron: 0 8 * * *
175198
steps:

ci-operator/jobs/openshift/hypershift/openshift-hypershift-release-4.19-periodics.yaml

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,81 @@ periodics:
149149
- name: result-aggregator
150150
secret:
151151
secretName: result-aggregator
152+
- agent: kubernetes
153+
cluster: build01
154+
decorate: true
155+
decoration_config:
156+
skip_cloning: true
157+
extra_refs:
158+
- base_ref: release-4.19
159+
org: openshift
160+
repo: hypershift
161+
labels:
162+
ci-operator.openshift.io/cloud: aws
163+
ci-operator.openshift.io/cloud-cluster-profile: aws-qe
164+
ci-operator.openshift.io/variant: periodics
165+
ci.openshift.io/generator: prowgen
166+
job-release: "4.19"
167+
pj-rehearse.openshift.io/can-be-rehearsed: "true"
168+
minimum_interval: 168h
169+
name: periodic-ci-openshift-hypershift-release-4.19-periodics-e2e-aws-conformance-calico-private
170+
spec:
171+
containers:
172+
- args:
173+
- --gcs-upload-secret=/secrets/gcs/service-account.json
174+
- --image-import-pull-secret=/etc/pull-secret/.dockerconfigjson
175+
- --lease-server-credentials-file=/etc/boskos/credentials
176+
- --report-credentials-file=/etc/report/credentials
177+
- --secret-dir=/secrets/ci-pull-credentials
178+
- --target=e2e-aws-conformance-calico-private
179+
- --variant=periodics
180+
command:
181+
- ci-operator
182+
image: ci-operator:latest
183+
imagePullPolicy: Always
184+
name: ""
185+
resources:
186+
requests:
187+
cpu: 10m
188+
volumeMounts:
189+
- mountPath: /etc/boskos
190+
name: boskos
191+
readOnly: true
192+
- mountPath: /secrets/ci-pull-credentials
193+
name: ci-pull-credentials
194+
readOnly: true
195+
- mountPath: /secrets/gcs
196+
name: gcs-credentials
197+
readOnly: true
198+
- mountPath: /secrets/manifest-tool
199+
name: manifest-tool-local-pusher
200+
readOnly: true
201+
- mountPath: /etc/pull-secret
202+
name: pull-secret
203+
readOnly: true
204+
- mountPath: /etc/report
205+
name: result-aggregator
206+
readOnly: true
207+
serviceAccountName: ci-operator
208+
volumes:
209+
- name: boskos
210+
secret:
211+
items:
212+
- key: credentials
213+
path: credentials
214+
secretName: boskos-credentials
215+
- name: ci-pull-credentials
216+
secret:
217+
secretName: ci-pull-credentials
218+
- name: manifest-tool-local-pusher
219+
secret:
220+
secretName: manifest-tool-local-pusher
221+
- name: pull-secret
222+
secret:
223+
secretName: registry-pull-credentials
224+
- name: result-aggregator
225+
secret:
226+
secretName: result-aggregator
152227
- agent: kubernetes
153228
cluster: build01
154229
decorate: true

ci-operator/step-registry/cucushift/hypershift-extended/calico/health-check/cucushift-hypershift-extended-calico-health-check-commands.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
set -xeuo pipefail
44

5+
if [ -f "${SHARED_DIR}/proxy-conf.sh" ] ; then
6+
source "${SHARED_DIR}/proxy-conf.sh"
7+
fi
8+
59
if [[ -f "${SHARED_DIR}/nested_kubeconfig" ]]; then
610
export KUBECONFIG="${SHARED_DIR}/nested_kubeconfig"
711
fi
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../OWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
../../../OWNERS
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"path": "cucushift/installer/rehearse/aws/ipi/calico/hypershift/private/guest/cucushift-installer-rehearse-aws-ipi-calico-hypershift-private-guest-workflow.yaml",
3+
"owners": {
4+
"approvers": [
5+
"jianlinliu",
6+
"yunjiang29",
7+
"gpei",
8+
"LiangquanLi930",
9+
"mgencur"
10+
],
11+
"reviewers": [
12+
"jianlinliu",
13+
"yunjiang29",
14+
"gpei",
15+
"LiangquanLi930",
16+
"mgencur"
17+
]
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
workflow:
2+
as: cucushift-installer-rehearse-aws-ipi-calico-hypershift-private-guest
3+
steps:
4+
env:
5+
HYPERSHIFT_NETWORK_TYPE: "Other"
6+
HYPERSHIFT_FEATURE_SET: TechPreviewNoUpgrade
7+
pre:
8+
- chain: cucushift-installer-rehearse-aws-ipi-ovn-hypershift-private-provision
9+
- ref: cucushift-hypershift-extended-calico
10+
- ref: cucushift-hypershift-extended-calico-health-check
11+
- chain: cucushift-hypershift-extended-enable-qe-catalogsource
12+
post:
13+
- chain: cucushift-installer-rehearse-aws-ipi-ovn-hypershift-private-deprovision
14+
documentation: |-
15+
This is the workflow to install private Hypershift cluster with Tigera Calico CNI network stack.

0 commit comments

Comments
 (0)