Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,15 @@ tests:
steps:
cluster_profile: aws-2
workflow: openshift-upgrade-aws
- always_run: false
as: e2e-aws-ovn-techpreview
optional: true
skip_if_only_changed: ^docs/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|PROJECT|LICENSE)$
steps:
cluster_profile: aws
env:
FEATURE_SET: TechPreviewNoUpgrade
workflow: openshift-e2e-aws-ccm-techpreview
- as: e2e-aws-ovn-cgroupsv2
optional: true
skip_if_only_changed: ^docs/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|PROJECT|LICENSE)$
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,15 @@ tests:
steps:
cluster_profile: aws-2
workflow: openshift-upgrade-aws
- always_run: false
as: e2e-aws-ovn-techpreview
optional: true
skip_if_only_changed: ^docs/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|PROJECT|LICENSE)$
steps:
cluster_profile: aws
env:
FEATURE_SET: TechPreviewNoUpgrade
workflow: openshift-e2e-aws-ccm-techpreview
- always_run: false
as: e2e-azure-manual-oidc
optional: true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,13 @@ tests:
enable:
- observers-resource-watch
workflow: openshift-e2e-aws-single-node
- as: e2e-aws-ccm-techpreview
interval: 168h
steps:
cluster_profile: aws
env:
FEATURE_SET: TechPreviewNoUpgrade
workflow: openshift-e2e-aws-ccm-techpreview
- as: e2e-metal-ovn-single-node-rt-upgrade
interval: 168h
steps:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,81 @@ presubmits:
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )e2e-aws-ovn-cgroupsv2,?($|\s.*)
- agent: kubernetes
always_run: false
branches:
- ^main$
- ^main-
cluster: build03
context: ci/prow/e2e-aws-ovn-techpreview
decorate: true
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: pull-ci-openshift-cloud-provider-aws-main-e2e-aws-ovn-techpreview
optional: true
path_alias: k8s.io/cloud-provider-aws
rerun_command: /test e2e-aws-ovn-techpreview
skip_if_only_changed: ^docs/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|PROJECT|LICENSE)$
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
- --target=e2e-aws-ovn-techpreview
command:
- ci-operator
image: quay-proxy.ci.openshift.org/openshift/ci:ci_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: /secrets/gcs
name: gcs-credentials
readOnly: true
- mountPath: /secrets/manifest-tool
name: manifest-tool-local-pusher
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: manifest-tool-local-pusher
secret:
secretName: manifest-tool-local-pusher
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )e2e-aws-ovn-techpreview,?($|\s.*)
- agent: kubernetes
always_run: false
branches:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,80 @@ presubmits:
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )e2e-aws-ovn,?($|\s.*)
- agent: kubernetes
always_run: false
branches:
- ^main$
- ^main-
cluster: build01
context: ci/prow/e2e-aws-ovn-techpreview
decorate: true
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: pull-ci-openshift-cluster-cloud-controller-manager-operator-main-e2e-aws-ovn-techpreview
optional: true
rerun_command: /test e2e-aws-ovn-techpreview
skip_if_only_changed: ^docs/|\.md$|^(?:.*/)?(?:\.gitignore|OWNERS|PROJECT|LICENSE)$
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
- --target=e2e-aws-ovn-techpreview
command:
- ci-operator
image: quay-proxy.ci.openshift.org/openshift/ci:ci_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: /secrets/gcs
name: gcs-credentials
readOnly: true
- mountPath: /secrets/manifest-tool
name: manifest-tool-local-pusher
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: manifest-tool-local-pusher
secret:
secretName: manifest-tool-local-pusher
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )e2e-aws-ovn-techpreview,?($|\s.*)
- agent: kubernetes
always_run: false
branches:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161167,6 +161167,82 @@ periodics:
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build11
decorate: true
decoration_config:
skip_cloning: true
extra_refs:
- base_ref: master
org: openshift
repo: release
interval: 168h
labels:
ci-operator.openshift.io/cloud: aws
ci-operator.openshift.io/cloud-cluster-profile: aws
ci-operator.openshift.io/variant: nightly-4.21
ci.openshift.io/generator: prowgen
ci.openshift.io/no-builds: "true"
job-release: "4.21"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-release-master-nightly-4.21-e2e-aws-ccm-techpreview
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
- --target=e2e-aws-ccm-techpreview
- --variant=nightly-4.21
command:
- ci-operator
image: quay-proxy.ci.openshift.org/openshift/ci:ci_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: /secrets/gcs
name: gcs-credentials
readOnly: true
- mountPath: /secrets/manifest-tool
name: manifest-tool-local-pusher
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: manifest-tool-local-pusher
secret:
secretName: manifest-tool-local-pusher
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build11
decorate: true
Expand Down
1 change: 1 addition & 0 deletions ci-operator/step-registry/ccm/gather/OWNERS
1 change: 1 addition & 0 deletions ci-operator/step-registry/ccm/gather/service-aws/OWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/bin/bash

#
# ccm-gather-service-aws step collects Load Balancer information from AWS API.
#

set -o nounset
set -o errexit
set -o pipefail

if test ! -f "${KUBECONFIG}"
then
echo "No kubeconfig, so no point in calling ccm-gather-service-aws."
exit 0
fi

if ! command -v aws &>/dev/null; then
echo "AWS CLI not found, skipping..."
exit 0
fi

if test ! -f "${CLUSTER_PROFILE_DIR}/.awscred"; then
echo "No AWS credentials, skipping..."
exit 0
fi

export AWS_SHARED_CREDENTIALS_FILE=${CLUSTER_PROFILE_DIR}/.awscred
export AWS_REGION=${LEASED_RESOURCE}

function gather_lb_info_for_service() {
local service_name=$1
local namespace=$2
local artifact_file="${ARTIFACT_DIR}/${namespace}-${service_name}-loadbalancer.json"

echo "Gathering Service LoadBalancer Hostname of ${namespace}/${service_name} service..."

# Extracts the LB name inferred from the DNS Name of the service.
# AWS standard format is <LB_NAME>-<random-string>.<REGION>.elb.amazonaws.com for Classic Load Balancers,
# and <LB_NAME>-<random-string>.elb.<REGION>.amazonaws.com for Network Load Balancers. Examples:
# For LB_DNS=ad8c6af0820cc462c90934cd3545b5db-3a0f596def7c2ca6.elb.us-east-1.amazonaws.com, LB_NAME=ad8c6af0820cc462c90934cd3545b5db
# For LB_DNS=a3e99bc98a38549e29a699c5f9079bc9-1408355316.us-east-1.elb.amazonaws.com, LB_NAME=a3e99bc98a38549e29a699c5f9079bc9
# For LB_DNS=mrb-v46-4vp9c-ext-6c9f52b5e9195fd4.elb.us-east-1.amazonaws.com, LB_NAME=mrb-v46-4vp9c-ext
LB_DNS=$(oc get svc/"${service_name}" -n "${namespace}" -o jsonpath='{.status.loadBalancer.ingress[0].hostname}')
LB_NAME=$(echo $LB_DNS | sed -e 's/\..*//' -e 's/-[^-]*$//')

echo "Service (${namespace}/${service_name}): LoadBalancer Name=${LB_NAME} Hostname=${LB_DNS}"

# CLB lookup
{
if aws elb describe-load-balancers --load-balancer-names $LB_NAME \
--query 'LoadBalancerDescriptions[0].{LoadBalancerName:LoadBalancerName,DNSName:DNSName,CreatedTime:CreatedTime,AvailabilityZones:AvailabilityZones,SecurityGroups:SecurityGroups,IpAddressType:IpAddressType,Scheme:Scheme}' \
--output json | jq '. + {Type: "Classic"}' > /tmp/output_clb.json; then
echo "CLB found for LoadBalancer Name=${LB_NAME}, saving to ${artifact_file}"
cat /tmp/output_clb.json >> "${artifact_file}"
else
echo "No CLB found for LoadBalancer Name=${LB_NAME}"
fi
} || true

# NLB lookup
{
if aws elbv2 describe-load-balancers --names $LB_NAME \
--query 'LoadBalancers[0].{DNSName:DNSName,CreatedTime:CreatedTime,LoadBalancerName:LoadBalancerName,State:State,Type:Type,AvailabilityZones:AvailabilityZones,SecurityGroups:SecurityGroups,IpAddressType:IpAddressType,Scheme:Scheme}' \
> /tmp/output_nlb.json; then
echo "NLB found for LoadBalancer Name=${LB_NAME}, saving to ${artifact_file}"
cat /tmp/output_nlb.json >> "${artifact_file}"
else
echo "No NLB found for LoadBalancer Name=${LB_NAME}"
fi
} || true
}

# Discovery the Load Balancer hostname of default ingresscontroller service and
# remove the domain from the hostname and AWS-appended random string to get the load balancer name
gather_lb_info_for_service "router-default" "openshift-ingress"
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"path": "ccm/gather/service-aws/ccm-gather-service-aws-ref.yaml",
"owners": {
"approvers": [
"elmiko",
"fedosin",
"joelspeed",
"mandre",
"mdbooth",
"stephenfin"
],
"reviewers": [
"elmiko",
"fedosin",
"joelspeed",
"mandre",
"mdbooth",
"stephenfin"
]
}
}
Loading