Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[OCPSTRAT-506] Azure Managed Identity (Workload Identity) Support #41121

Merged
merged 5 commits into from Jul 14, 2023
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -1857,6 +1857,18 @@ tests:
test:
- chain: openshift-e2e-test-qe-destructive
workflow: cucushift-installer-rehearse-azure-ipi-vmgenv1
- as: azure-ipi-workload-identity-tp-p1-f14
cron: 54 19 8,23 * *
steps:
cluster_profile: azure-qe
env:
BASE_DOMAIN: qe.azure.devcluster.openshift.com
E2E_RUN_TAGS: '@amd64 and @azure-ipi and @network-ovnkubernetes and not @fips'
FEATURE_SET: TechPreviewNoUpgrade
TAG_VERSION: '@4.14'
test:
- chain: openshift-e2e-test-qe
workflow: cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity
- as: azure-ipi-workers-rhel8-p2-f14
cron: 13 20 11,26 * *
steps:
Expand Down
Expand Up @@ -1590,6 +1590,22 @@ tests:
test:
- chain: openshift-e2e-test-qe-destructive
workflow: cucushift-installer-rehearse-azure-ipi-usertags
- as: azure-ipi-workload-identity-tp-p1-f14
cron: 17 17 9,24 * *
steps:
cluster_profile: azure-qe
dependencies:
OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE: release:arm64-latest
env:
BASE_DOMAIN: qe.azure.devcluster.openshift.com
COMPUTE_NODE_TYPE: Standard_D4ps_v5
E2E_RUN_TAGS: '@arm64 and @azure-ipi and @network-ovnkubernetes and not @fips'
FEATURE_SET: TechPreviewNoUpgrade
OCP_ARCH: arm64
TAG_VERSION: '@4.14'
test:
- chain: openshift-e2e-test-qe
workflow: cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity
- as: azure-upi-p3-f28
cron: 17 17 19 * *
steps:
Expand Down
Expand Up @@ -37575,6 +37575,88 @@ periodics:
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build03
cron: 54 19 8,23 * *
decorate: true
decoration_config:
skip_cloning: true
extra_refs:
- base_ref: release-4.14
org: openshift
repo: openshift-tests-private
labels:
ci-operator.openshift.io/cloud: azure4
ci-operator.openshift.io/cloud-cluster-profile: azure-qe
ci-operator.openshift.io/variant: amd64-nightly
ci.openshift.io/generator: prowgen
job-release: "4.14"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-openshift-tests-private-release-4.14-amd64-nightly-azure-ipi-workload-identity-tp-p1-f14
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
- --oauth-token-path=/usr/local/github-credentials/oauth
- --report-credentials-file=/etc/report/credentials
- --secret-dir=/secrets/ci-pull-credentials
- --secret-dir=/usr/local/azure-ipi-workload-identity-tp-p1-f14-cluster-profile
- --target=azure-ipi-workload-identity-tp-p1-f14
- --variant=amd64-nightly
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/azure-ipi-workload-identity-tp-p1-f14-cluster-profile
name: cluster-profile
- mountPath: /secrets/gcs
name: gcs-credentials
readOnly: true
- mountPath: /usr/local/github-credentials
name: github-credentials-openshift-ci-robot-private-git-cloner
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-azure-qe
- name: github-credentials-openshift-ci-robot-private-git-cloner
secret:
secretName: github-credentials-openshift-ci-robot-private-git-cloner
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build03
cron: 11 3 13,28 * *
Expand Down Expand Up @@ -63215,6 +63297,88 @@ periodics:
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build03
cron: 17 17 9,24 * *
decorate: true
decoration_config:
skip_cloning: true
extra_refs:
- base_ref: release-4.14
org: openshift
repo: openshift-tests-private
labels:
ci-operator.openshift.io/cloud: azure4
ci-operator.openshift.io/cloud-cluster-profile: azure-qe
ci-operator.openshift.io/variant: arm64-nightly
ci.openshift.io/generator: prowgen
job-release: "4.14"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-openshift-tests-private-release-4.14-arm64-nightly-azure-ipi-workload-identity-tp-p1-f14
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
- --oauth-token-path=/usr/local/github-credentials/oauth
- --report-credentials-file=/etc/report/credentials
- --secret-dir=/secrets/ci-pull-credentials
- --secret-dir=/usr/local/azure-ipi-workload-identity-tp-p1-f14-cluster-profile
- --target=azure-ipi-workload-identity-tp-p1-f14
- --variant=arm64-nightly
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/azure-ipi-workload-identity-tp-p1-f14-cluster-profile
name: cluster-profile
- mountPath: /secrets/gcs
name: gcs-credentials
readOnly: true
- mountPath: /usr/local/github-credentials
name: github-credentials-openshift-ci-robot-private-git-cloner
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-azure-qe
- name: github-credentials-openshift-ci-robot-private-git-cloner
secret:
secretName: github-credentials-openshift-ci-robot-private-git-cloner
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build03
cron: 17 17 19 * *
Expand Down
@@ -0,0 +1,16 @@
approvers:
- jianlinliu
- Amoghrd
- yunjiang29
- mgahagan73
- MayXuQQ
- huangmingxia
- jianping-shu
reviewers:
- jianlinliu
- Amoghrd
- yunjiang29
- mgahagan73
- MayXuQQ
- huangmingxia
- jianping-shu
@@ -0,0 +1,23 @@
{
"path": "cucushift/installer/rehearse/azure/ipi/cco-manual-workload-identity/cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity-workflow.yaml",
"owners": {
"approvers": [
"jianlinliu",
"Amoghrd",
"yunjiang29",
"mgahagan73",
"MayXuQQ",
"huangmingxia",
"jianping-shu"
],
"reviewers": [
"jianlinliu",
"Amoghrd",
"yunjiang29",
"mgahagan73",
"MayXuQQ",
"huangmingxia",
"jianping-shu"
]
}
}
@@ -0,0 +1,15 @@
workflow:
as: cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity
steps:
pre:
- chain: cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity-provision
post:
- chain: cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity-deprovision
documentation: |-
The IPI workflow provides provision- and deprovision- steps that provision and
deprovision an OpenShift cluster with AZURE workload identity, allowing job authors
to inject their own end-to-end test logic.
All modifications to this workflow should be done by modifying the
` cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity-{provision,deprovision}`
chains to allow other workflows to mimic and extend this base workflow without
a need to backport changes.
@@ -0,0 +1,16 @@
approvers:
- jianlinliu
- Amoghrd
- yunjiang29
- mgahagan73
- MayXuQQ
- huangmingxia
- jianping-shu
reviewers:
- jianlinliu
- Amoghrd
- yunjiang29
- mgahagan73
- MayXuQQ
- huangmingxia
- jianping-shu
@@ -0,0 +1,23 @@
{
"path": "cucushift/installer/rehearse/azure/ipi/cco-manual-workload-identity/deprovision/cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity-deprovision-chain.yaml",
"owners": {
"approvers": [
"jianlinliu",
"Amoghrd",
"yunjiang29",
"mgahagan73",
"MayXuQQ",
"huangmingxia",
"jianping-shu"
],
"reviewers": [
"jianlinliu",
"Amoghrd",
"yunjiang29",
"mgahagan73",
"MayXuQQ",
"huangmingxia",
"jianping-shu"
]
}
}
@@ -0,0 +1,7 @@
chain:
as: cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity-deprovision
steps:
- chain: cucushift-installer-rehearse-azure-ipi-deprovision
- ref: ipi-conf-azure-oidc-creds-deprovision
documentation: |-
The chain destroys resources created by "cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity-provision".
@@ -0,0 +1,16 @@
approvers:
- jianlinliu
- Amoghrd
- yunjiang29
- mgahagan73
- MayXuQQ
- huangmingxia
- jianping-shu
reviewers:
- jianlinliu
- Amoghrd
- yunjiang29
- mgahagan73
- MayXuQQ
- huangmingxia
- jianping-shu
@@ -0,0 +1,23 @@
{
"path": "cucushift/installer/rehearse/azure/ipi/cco-manual-workload-identity/provision/cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity-provision-chain.yaml",
"owners": {
"approvers": [
"jianlinliu",
"Amoghrd",
"yunjiang29",
"mgahagan73",
"MayXuQQ",
"huangmingxia",
"jianping-shu"
],
"reviewers": [
"jianlinliu",
"Amoghrd",
"yunjiang29",
"mgahagan73",
"MayXuQQ",
"huangmingxia",
"jianping-shu"
]
}
}
@@ -0,0 +1,12 @@
chain:
as: cucushift-installer-rehearse-azure-ipi-cco-manual-workload-identity-provision
steps:
- chain: ipi-conf-azure
- ref: ipi-conf-manual-creds
- ref: ipi-conf-azure-oidc-creds-provision
- ref: ipi-conf-azure-provisioned-resourcegroup
huangmingxia marked this conversation as resolved.
Show resolved Hide resolved
- ref: ipi-conf-manual-creds-remove-unnecessary-creds
- chain: ipi-install
- ref: enable-qe-catalogsource
documentation: |-
Create an IPI cluster with AZURE workload identity for QE e2e tests.