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 @@ -177,6 +177,10 @@ tests:
steps:
cluster_profile: aws
workflow: openshift-e2e-aws-single-node
- as: e2e-gcp-single-node
steps:
cluster_profile: gcp
workflow: openshift-e2e-gcp-single-node
zz_generated_metadata:
branch: master
org: openshift
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -685,6 +685,75 @@ presubmits:
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )e2e-gcp-op,?($|\s.*)
- agent: kubernetes
always_run: false
branches:
- master
cluster: build01
context: ci/prow/e2e-gcp-single-node
decorate: true
decoration_config:
skip_cloning: true
labels:
ci-operator.openshift.io/prowgen-controlled: "true"
pj-rehearse.openshift.io/can-be-rehearsed: "true"
name: pull-ci-openshift-machine-config-operator-master-e2e-gcp-single-node
optional: true
rerun_command: /test e2e-gcp-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=/usr/local/e2e-gcp-single-node-cluster-profile
- --target=e2e-gcp-single-node
command:
- ci-operator
image: ci-operator:latest
imagePullPolicy: Always
name: ""
resources:
requests:
cpu: 10m
volumeMounts:
- mountPath: /etc/boskos
name: boskos
readOnly: true
- mountPath: /usr/local/e2e-gcp-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: cluster-profile
projected:
sources:
- secret:
name: cluster-secrets-gcp
- configMap:
name: cluster-profile-gcp
- name: pull-secret
secret:
secretName: registry-pull-credentials
- name: result-aggregator
secret:
secretName: result-aggregator
trigger: (?m)^/test( | .* )e2e-gcp-single-node,?($|\s.*)
- agent: kubernetes
always_run: false
branches:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ workflow:
steps:
pre:
- chain: ipi-conf-aws
- ref: single-node-conf
- ref: single-node-conf-aws
- chain: ipi-install
test:
- ref: openshift-e2e-test
Expand Down
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,13 @@
{
"path": "openshift/e2e/gcp/single-node/openshift-e2e-gcp-single-node-workflow.yaml",
"owners": {
"approvers": [
"romfreiman",
"eranco74",
"tsorya",
"osherdp",
"yuvigold",
"omertuc"
]
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
workflow:
as: openshift-e2e-gcp-single-node
steps:
pre:
- chain: ipi-conf-gcp
- ref: single-node-conf-gcp
- chain: ipi-install
test:
- ref: openshift-e2e-test
post:
- chain: gather-network
- chain: gather-core-dump
- chain: ipi-deprovision
documentation: |-
The Openshift E2E Single Node workflow executes the common end-to-end test suite with the a single node cluster.
7 changes: 7 additions & 0 deletions ci-operator/step-registry/single-node/conf/aws/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
Expand Up @@ -26,8 +26,9 @@ if not "controlPlane" in cfg:
cfg["controlPlane"]["replicas"] = 1

# Single Node Openshift requires extra memory and compute resources
assert "aws" in cfg["controlPlane"]["platform"], "Only AWS single-node is supported for now"
cfg["controlPlane"]["platform"]["aws"]["type"] = "'${SINGLE_NODE_AWS_INSTANCE_TYPE}'"
platform = cfg["controlPlane"]["platform"]
assert "aws" in platform
platform["aws"]["type"] = "'${SINGLE_NODE_AWS_INSTANCE_TYPE}'"

# Some workflows do not define any compute machine pools in install-config.yaml
if not "compute" in cfg:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"path": "single-node/conf/single-node-conf-ref.yaml",
"path": "single-node/conf/aws/single-node-conf-aws-ref.yaml",
"owners": {
"approvers": [
"romfreiman",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ref:
as: single-node-conf
as: single-node-conf-aws
from: installer
commands: single-node-conf-commands.sh
commands: single-node-conf-aws-commands.sh
resources:
requests:
cpu: 10m
Expand Down
7 changes: 7 additions & 0 deletions ci-operator/step-registry/single-node/conf/gcp/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,48 @@
#!/bin/bash

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

SINGLE_NODE_GCP_INSTANCE_TYPE="n1-standard-16"

echo "Updating install-config.yaml to a single ${SINGLE_NODE_GCP_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"]
assert "gcp" in platform
platform["gcp"]["type"] = "'${SINGLE_NODE_GCP_INSTANCE_TYPE}'"

# 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/gcp/single-node-conf-gcp-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-gcp
from: installer
commands: single-node-conf-gcp-commands.sh
resources:
requests:
cpu: 10m
memory: 100Mi
documentation: |-
Modifies install-config.yaml to use a single control-plane node and without any workers.