From 4e673a239c9ad99e37f1b4a4f3d997eeb0b3789e Mon Sep 17 00:00:00 2001 From: Amoghrd Date: Tue, 14 Jun 2022 16:34:17 -0400 Subject: [PATCH] Azure MAG fullyprivate --- ...tests-master__installer-rehearse-4.12.yaml | 7 ++ ...t-verification-tests-master-periodics.yaml | 75 +++++++++++++++++++ .../azure/mag/ipi/fullyprivate/OWNERS | 12 +++ ...ag-ipi-fullyprivate-workflow.metadata.json | 19 +++++ ...e-azure-mag-ipi-fullyprivate-workflow.yaml | 9 +++ .../mag/ipi/fullyprivate/deprovision/OWNERS | 12 +++ ...llyprivate-deprovision-chain.metadata.json | 19 +++++ ...ag-ipi-fullyprivate-deprovision-chain.yaml | 9 +++ .../mag/ipi/fullyprivate/provision/OWNERS | 12 +++ ...fullyprivate-provision-chain.metadata.json | 19 +++++ ...-mag-ipi-fullyprivate-provision-chain.yaml | 27 +++++++ .../azuremag/ipi-conf-azuremag-commands.sh | 17 +++++ .../conf/azuremag/ipi-conf-azuremag-ref.yaml | 10 ++- 13 files changed, 244 insertions(+), 3 deletions(-) create mode 100644 ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/OWNERS create mode 100644 ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-workflow.metadata.json create mode 100644 ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-workflow.yaml create mode 100644 ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/OWNERS create mode 100644 ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision-chain.metadata.json create mode 100644 ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision-chain.yaml create mode 100644 ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/OWNERS create mode 100644 ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision-chain.metadata.json create mode 100644 ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision-chain.yaml diff --git a/ci-operator/config/openshift/verification-tests/openshift-verification-tests-master__installer-rehearse-4.12.yaml b/ci-operator/config/openshift/verification-tests/openshift-verification-tests-master__installer-rehearse-4.12.yaml index 68d7155019b92..c1813fe43ad50 100644 --- a/ci-operator/config/openshift/verification-tests/openshift-verification-tests-master__installer-rehearse-4.12.yaml +++ b/ci-operator/config/openshift/verification-tests/openshift-verification-tests-master__installer-rehearse-4.12.yaml @@ -47,6 +47,13 @@ tests: env: BASE_DOMAIN: qe.azure.devcluster.openshift.com workflow: cucushift-installer-rehearse-azure-ipi-sdn +- as: installer-rehearse-azure-mag + interval: 960h + steps: + cluster_profile: azuremag-qe + env: + BASE_DOMAIN: qemag.azure.devcluster.openshift.com + workflow: cucushift-installer-rehearse-azure-mag-ipi-fullyprivate - as: installer-rehearse-gcp interval: 960h steps: diff --git a/ci-operator/jobs/openshift/verification-tests/openshift-verification-tests-master-periodics.yaml b/ci-operator/jobs/openshift/verification-tests/openshift-verification-tests-master-periodics.yaml index 71378c4d1e48d..cdf895b8a89f8 100644 --- a/ci-operator/jobs/openshift/verification-tests/openshift-verification-tests-master-periodics.yaml +++ b/ci-operator/jobs/openshift/verification-tests/openshift-verification-tests-master-periodics.yaml @@ -1049,6 +1049,81 @@ periodics: - name: result-aggregator secret: secretName: result-aggregator +- agent: kubernetes + cluster: build05 + decorate: true + decoration_config: + skip_cloning: true + extra_refs: + - base_ref: master + org: openshift + repo: verification-tests + interval: 960h + labels: + ci-operator.openshift.io/cloud: azuremag + ci-operator.openshift.io/cloud-cluster-profile: azuremag-qe + ci-operator.openshift.io/variant: installer-rehearse-4.12 + ci.openshift.io/generator: prowgen + job-release: "4.12" + pj-rehearse.openshift.io/can-be-rehearsed: "true" + name: periodic-ci-openshift-verification-tests-master-installer-rehearse-4.12-installer-rehearse-azure-mag + 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/installer-rehearse-azure-mag-cluster-profile + - --target=installer-rehearse-azure-mag + - --variant=installer-rehearse-4.12 + 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/installer-rehearse-azure-mag-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-azuremag-qe + - name: pull-secret + secret: + secretName: registry-pull-credentials + - name: result-aggregator + secret: + secretName: result-aggregator - agent: kubernetes cluster: build05 decorate: true diff --git a/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/OWNERS b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/OWNERS new file mode 100644 index 0000000000000..880bba8d12bee --- /dev/null +++ b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/OWNERS @@ -0,0 +1,12 @@ +approvers: +- jianlinliu +- Amoghrd +- yunjiang29 +- mgahagan73 +- MayXuQQ +reviewers: +- jianlinliu +- Amoghrd +- yunjiang29 +- mgahagan73 +- MayXuQQ diff --git a/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-workflow.metadata.json b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-workflow.metadata.json new file mode 100644 index 0000000000000..87bb02d11f759 --- /dev/null +++ b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-workflow.metadata.json @@ -0,0 +1,19 @@ +{ + "path": "cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-workflow.yaml", + "owners": { + "approvers": [ + "jianlinliu", + "Amoghrd", + "yunjiang29", + "mgahagan73", + "MayXuQQ" + ], + "reviewers": [ + "jianlinliu", + "Amoghrd", + "yunjiang29", + "mgahagan73", + "MayXuQQ" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-workflow.yaml b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-workflow.yaml new file mode 100644 index 0000000000000..8b91201e1d030 --- /dev/null +++ b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-workflow.yaml @@ -0,0 +1,9 @@ +workflow: + as: cucushift-installer-rehearse-azure-mag-ipi-fullyprivate + steps: + pre: + - chain: cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision + post: + - chain: cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision + documentation: |- + This is the workflow to trigger Prow's rehearsal test when submitting installer steps/chain/workflow diff --git a/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/OWNERS b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/OWNERS new file mode 100644 index 0000000000000..880bba8d12bee --- /dev/null +++ b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/OWNERS @@ -0,0 +1,12 @@ +approvers: +- jianlinliu +- Amoghrd +- yunjiang29 +- mgahagan73 +- MayXuQQ +reviewers: +- jianlinliu +- Amoghrd +- yunjiang29 +- mgahagan73 +- MayXuQQ diff --git a/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision-chain.metadata.json b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision-chain.metadata.json new file mode 100644 index 0000000000000..6508043dd799f --- /dev/null +++ b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision-chain.metadata.json @@ -0,0 +1,19 @@ +{ + "path": "cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision-chain.yaml", + "owners": { + "approvers": [ + "jianlinliu", + "Amoghrd", + "yunjiang29", + "mgahagan73", + "MayXuQQ" + ], + "reviewers": [ + "jianlinliu", + "Amoghrd", + "yunjiang29", + "mgahagan73", + "MayXuQQ" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision-chain.yaml b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision-chain.yaml new file mode 100644 index 0000000000000..3a1f587b72ea7 --- /dev/null +++ b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/deprovision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision-chain.yaml @@ -0,0 +1,9 @@ +chain: + as: cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-deprovision + steps: + - chain: gather-network + - chain: gather-core-dump + - chain: ipi-deprovision + - ref: azure-deprovision-resourcegroup + documentation: |- + Destroy cluster diff --git a/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/OWNERS b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/OWNERS new file mode 100644 index 0000000000000..880bba8d12bee --- /dev/null +++ b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/OWNERS @@ -0,0 +1,12 @@ +approvers: +- jianlinliu +- Amoghrd +- yunjiang29 +- mgahagan73 +- MayXuQQ +reviewers: +- jianlinliu +- Amoghrd +- yunjiang29 +- mgahagan73 +- MayXuQQ diff --git a/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision-chain.metadata.json b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision-chain.metadata.json new file mode 100644 index 0000000000000..bcede4a75cacc --- /dev/null +++ b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision-chain.metadata.json @@ -0,0 +1,19 @@ +{ + "path": "cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision-chain.yaml", + "owners": { + "approvers": [ + "jianlinliu", + "Amoghrd", + "yunjiang29", + "mgahagan73", + "MayXuQQ" + ], + "reviewers": [ + "jianlinliu", + "Amoghrd", + "yunjiang29", + "mgahagan73", + "MayXuQQ" + ] + } +} \ No newline at end of file diff --git a/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision-chain.yaml b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision-chain.yaml new file mode 100644 index 0000000000000..369262be6f9c8 --- /dev/null +++ b/ci-operator/step-registry/cucushift/installer/rehearse/azure/mag/ipi/fullyprivate/provision/cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision-chain.yaml @@ -0,0 +1,27 @@ +chain: + as: cucushift-installer-rehearse-azure-mag-ipi-fullyprivate-provision + steps: + - ref: azure-provision-resourcegroup + - ref: azure-provision-vnet + - ref: azure-provision-nat + - chain: azure-provision-bastionhost + - ref: proxy-config-generate + - chain: ipi-conf-azuremag + - ref: ipi-conf-azure-provisionednetwork + - ref: ipi-install-rbac + - ref: openshift-cluster-bot-rbac + - ref: ipi-install-install + - ref: enable-qe-catalogsource + - ref: ipi-install-times-collection + env: + - name: OUTBOUND_TYPE + default: "UserDefinedRouting" + documentation: "Routing strategy" + - name: OUTBOUND_UDR_TYPE + default: "NAT" + documentation: "The outbound type of networking provisioned" + - name: PUBLISH + default: "Internal" + documentation: "How to expose the user-facing endpoints like the Kubernetes API" + documentation: |- + Create a FullyPrivate IPI cluster on Azure MAG for QE e2e tests. diff --git a/ci-operator/step-registry/ipi/conf/azuremag/ipi-conf-azuremag-commands.sh b/ci-operator/step-registry/ipi/conf/azuremag/ipi-conf-azuremag-commands.sh index 70b6e25951fb3..80934acca863e 100755 --- a/ci-operator/step-registry/ipi/conf/azuremag/ipi-conf-azuremag-commands.sh +++ b/ci-operator/step-registry/ipi/conf/azuremag/ipi-conf-azuremag-commands.sh @@ -41,3 +41,20 @@ compute: azure: type: ${COMPUTE_NODE_TYPE} EOF + +if [ -z "${OUTBOUND_TYPE}" ]; then + echo "Outbound Type is not defined" +else + if [ X"${OUTBOUND_TYPE}" == X"UserDefinedRouting" ]; then + echo "Writing 'outboundType: UserDefinedRouting' to install-config" + PATCH="${SHARED_DIR}/install-config-outboundType.yaml.patch" + cat > "${PATCH}" << EOF +platform: + azure: + outboundType: ${OUTBOUND_TYPE} +EOF + yq-go m -x -i "${CONFIG}" "${PATCH}" + else + echo "${OUTBOUND_TYPE} is not supported yet" || exit 1 + fi +fi diff --git a/ci-operator/step-registry/ipi/conf/azuremag/ipi-conf-azuremag-ref.yaml b/ci-operator/step-registry/ipi/conf/azuremag/ipi-conf-azuremag-ref.yaml index f059adc2124d4..3783f231f5fc2 100644 --- a/ci-operator/step-registry/ipi/conf/azuremag/ipi-conf-azuremag-ref.yaml +++ b/ci-operator/step-registry/ipi/conf/azuremag/ipi-conf-azuremag-ref.yaml @@ -1,9 +1,9 @@ ref: as: ipi-conf-azuremag from_image: - namespace: origin - name: centos - tag: '8' + namespace: ocp + name: "4.12" + tag: upi-installer commands: ipi-conf-azuremag-commands.sh resources: requests: @@ -33,5 +33,9 @@ ref: documentation: |- This value represents the the DNS zone that is configured in the azure portal, and it will be used in the base_domain field of the install-config.yaml file. + - name: OUTBOUND_TYPE + default: "" + documentation: |- + This value represents the routing strategy used to connect the cluster to the internet documentation: |- The IPI Azure configure step generates the Azure-specific install-config.yaml contents based on the cluster profile and optional input files.