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 @@ -151,6 +151,16 @@ tests:
TEST_TYPE: upgrade-conformance
TEST_UPGRADE_OPTIONS: abort-at=random
workflow: openshift-upgrade-aws
- as: e2e-aws-upgrade-single-node
interval: 24h
steps:
cluster_profile: aws
workflow: openshift-upgrade-aws-single-node
- as: e2e-azure-upgrade-single-node
interval: 24h
steps:
cluster_profile: azure4
workflow: openshift-upgrade-azure-single-node
zz_generated_metadata:
branch: master
org: openshift
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5887,6 +5887,81 @@ periodics:
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build02
decorate: true
decoration_config:
skip_cloning: true
extra_refs:
- base_ref: master
org: openshift
repo: release
interval: 24h
labels:
ci-operator.openshift.io/prowgen-controlled: "true"
ci-operator.openshift.io/variant: ci-4.8
job-release: "4.8"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-release-master-ci-4.8-e2e-aws-upgrade-single-node
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-upgrade-single-node-cluster-profile
- --target=e2e-aws-upgrade-single-node
- --variant=ci-4.8
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-upgrade-single-node-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
projected:
sources:
- secret:
name: cluster-secrets-aws
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build02
decorate: true
Expand Down Expand Up @@ -6412,6 +6487,81 @@ periodics:
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build02
decorate: true
decoration_config:
skip_cloning: true
extra_refs:
- base_ref: master
org: openshift
repo: release
interval: 24h
labels:
ci-operator.openshift.io/prowgen-controlled: "true"
ci-operator.openshift.io/variant: ci-4.8
job-release: "4.8"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: periodic-ci-openshift-release-master-ci-4.8-e2e-azure-upgrade-single-node
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-azure-upgrade-single-node-cluster-profile
- --target=e2e-azure-upgrade-single-node
- --variant=ci-4.8
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-azure-upgrade-single-node-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
projected:
sources:
- secret:
name: cluster-secrets-azure4
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
- agent: kubernetes
cluster: build02
decorate: true
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
approvers:
- romfreiman
- eranco74
- tsorya
- osherdp
- yuvigold
- omertuc
- vrutkovs
- wking
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
{
"path": "openshift/upgrade/aws/single-node/openshift-upgrade-aws-single-node-workflow.yaml",
"owners": {
"approvers": [
"romfreiman",
"eranco74",
"tsorya",
"osherdp",
"yuvigold",
"omertuc",
"vrutkovs",
"wking"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
workflow:
as: openshift-upgrade-aws-single-node
steps:
allow_best_effort_post_steps: true
pre:
- ref: ipi-install-hosted-loki
- chain: ipi-conf-aws
- ref: single-node-conf-aws
- chain: ipi-install-stableinitial
test:
- ref: openshift-e2e-test
post:
- chain: gather-network
- chain: gather-core-dump
- chain: ipi-aws-post
dependencies:
OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE: "release:initial"
OPENSHIFT_UPGRADE_RELEASE_IMAGE_OVERRIDE: "release:latest"
env:
TEST_TYPE: upgrade
TEST_SUITE: ""
TEST_UPGRADE_SUITE: ""
TEST_UPGRADE_OPTIONS: ""
TEST_SKIPS: "disruption_tests"
documentation: |-
The Openshift E2E AWS single node workflow executes the upgrade end-to-end test suite on AWS with a default single-node cluster configuration and Loki as log collector, exercising an upgrade during the process.
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is loki is something specific here? Just so i understand, or this is the standard flow

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copied from regular upgrade workflow

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This step would setup promtail on the cluster, sending container and journald logs to the central repo, which can be queried by Grafana.

This is a standard practice for upgrade workflows, as intermediate containers can be lost during reboot (or the node may never come back)

Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"path": "openshift/upgrade/azure/single-node/openshift-upgrade-azure-single-node-workflow.yaml",
"owners": {
"approvers": [
"smarterclayton",
"wking",
"stevekuznetsov",
"vrutkovs",
"abhinavdahiya",
"deads2k",
"crawford",
"ewolinetz",
"csrwng",
"staebler"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
workflow:
as: openshift-upgrade-azure-single-node
steps:
allow_best_effort_post_steps: true
pre:
- ref: ipi-install-hosted-loki
- chain: ipi-conf-azure
- ref: single-node-conf-azure
- chain: ipi-install-stableinitial
test:
- ref: openshift-e2e-test
post:
- chain: gather-network
- chain: gather-core-dump
- chain: ipi-azure-post
dependencies:
OPENSHIFT_INSTALL_RELEASE_IMAGE_OVERRIDE: "release:initial"
OPENSHIFT_UPGRADE_RELEASE_IMAGE_OVERRIDE: "release:latest"
env:
TEST_TYPE: upgrade
TEST_SUITE: ""
TEST_UPGRADE_SUITE: none
TEST_UPGRADE_OPTIONS: ""
TEST_SKIPS: ""
documentation: |-
The Openshift E2E Azure single node workflow executes the upgrade end-to-end test suite on Azure with a default single-node cluster configuration and Loki as log collector, exercising an upgrade during the process.
7 changes: 7 additions & 0 deletions ci-operator/step-registry/single-node/conf/azure/OWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
approvers:
- romfreiman
- eranco74
- tsorya
- osherdp
- yuvigold
- omertuc
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
#!/bin/bash

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

SINGLE_NODE_AZURE_INSTANCE_TYPE="Standard_D32s_v3"
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I expect there to be one set of folks maintaining these single-node conf step(s), so it might we worth a single single-node/conf command instead of the platform-specific sub-steps. On the other hand, I'm not in the maintainer set, so doesn't matter for me ;).


echo "Updating install-config.yaml to a single ${SINGLE_NODE_AZURE_INSTANCE_TYPE} control plane node and 0 workers"

pip3 install pyyaml --user
python3 -c '
import yaml
import sys

input_file = sys.argv[1]
output_file = sys.argv[2] if len(sys.argv) == 3 else sys.argv[1] # Output in-place if destination not given

with open(input_file) as f:
cfg = yaml.safe_load(f)

# Some workflows do not define controlPlane in install-config.yaml
if not "controlPlane" in cfg:
cfg["controlPlane"] = {}

cfg["controlPlane"]["replicas"] = 1

# Single Node Openshift requires extra memory and compute resources
platform = cfg["controlPlane"]["platform"]
if "azure" in platform:
platform["azure"]["type"] = "'${SINGLE_NODE_AZURE_INSTANCE_TYPE}'"
else:
raise ValueError("This step only applies to Azure, please use the correct step for your platform")
Comment thread
vrutkovs marked this conversation as resolved.
Outdated

# Some workflows do not define any compute machine pools in install-config.yaml
if not "compute" in cfg:
cfg["compute"] = [
{
"name": "worker",
"platform": {},
}
]

for machine_pool in cfg["compute"]:
machine_pool["replicas"] = 0

with open(output_file, "w") as f:
yaml.safe_dump(cfg, f)
' "${SHARED_DIR}/install-config.yaml"
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"path": "single-node/conf/azure/single-node-conf-azure-ref.yaml",
"owners": {
"approvers": [
"romfreiman",
"eranco74",
"tsorya",
"osherdp",
"yuvigold",
"omertuc"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
ref:
as: single-node-conf-azure
from: installer
commands: single-node-conf-azure-commands.sh
resources:
requests:
cpu: 10m
memory: 100Mi
documentation: |-
Modifies install-config.yaml to use a single control-plane node and without any workers.