Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
0c32f87
USHIFT-6743: promote Start MicroShift Without Waiting keyword to shar…
agullon May 6, 2026
fd5734c
USHIFT-6743: add shared kustomize-test.resource for manifest test key…
agullon May 6, 2026
ab5625b
USHIFT-6743: add config search path test to show-config.robot
agullon May 6, 2026
4dc04ed
USHIFT-6743: add case-insensitive log level tests
agullon May 6, 2026
6830ffd
USHIFT-6743: add data directory isolation test
agullon May 6, 2026
c7049d6
USHIFT-6743: add drop-in config merge and override tests
agullon May 6, 2026
dc99dde
USHIFT-6743: add configurable kustomize paths and glob scanning tests
agullon May 6, 2026
7165f36
USHIFT-6743: add audit log profile and rotation tests
agullon May 6, 2026
464ac00
USHIFT-6743: add API server readiness rejection test
agullon May 6, 2026
155f558
USHIFT-6743: fix CI failures and rebalance configuration scenarios
agullon May 6, 2026
95b1f2b
USHIFT-6743: add ClusterIP service, SCC admission, CRD validation, an…
agullon May 8, 2026
fd3bfe4
USHIFT-6743: revert scenario splits, move core-api tests to dedicated…
agullon May 11, 2026
071b911
USHIFT-6743: fix configuration1 scenario to run osconfig-lifecycle suite
agullon May 12, 2026
59d3251
USHIFT-6743: revert configuration1 scenario suite path change
agullon May 12, 2026
baa1c62
USHIFT-6743: run osconfig lifecycle test in configuration1 scenario
agullon May 12, 2026
452c5a6
USHIFT-6743: add osconfig lifecycle scripts for EL9 and EL10 scenarios
agullon May 12, 2026
1a476e6
Merge main into USHIFT-6743: resolve osconfig-lifecycle conflict
agullon May 14, 2026
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
7 changes: 7 additions & 0 deletions test/assets/crd-validation/cr-valid.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
apiVersion: ms.qe.com/v1
kind: CronTab
metadata:
name: test-crontab
spec:
cronSpec: "* * * * */5"
image: test-image
26 changes: 26 additions & 0 deletions test/assets/crd-validation/crd.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
name: crontabs.ms.qe.com
spec:
group: ms.qe.com
versions:
- name: v1
served: true
storage: true
schema:
openAPIV3Schema:
type: object
properties:
spec:
type: object
properties:
cronSpec:
type: string
image:
type: string
scope: Namespaced
names:
plural: crontabs
singular: crontab
kind: CronTab
20 changes: 20 additions & 0 deletions test/assets/scc/pod-no-user.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
kind: Pod
apiVersion: v1
metadata:
name: scc-test-pod
labels:
app: scc-test
spec:
terminationGracePeriodSeconds: 0
containers:
- name: test
image: quay.io/microshift/busybox:1.36
command: ["/bin/sh", "-c", "sleep infinity"]
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
21 changes: 21 additions & 0 deletions test/assets/scc/pod-run-as-user-2000.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
kind: Pod
apiVersion: v1
metadata:
name: scc-test-pod-2
labels:
app: scc-test
spec:
terminationGracePeriodSeconds: 0
securityContext:
runAsUser: 2000
containers:
- name: test
image: quay.io/microshift/busybox:1.36
command: ["/bin/sh", "-c", "sleep infinity"]
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
seccompProfile:
type: RuntimeDefault
24 changes: 24 additions & 0 deletions test/assets/scc/pod-security-context.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
kind: Pod
apiVersion: v1
metadata:
name: scc-test-pod-1
labels:
app: scc-test
spec:
terminationGracePeriodSeconds: 0
securityContext:
runAsUser: 1000
fsGroup: 3000
supplementalGroups:
- 2000
containers:
- name: test
image: quay.io/microshift/busybox:1.36
command: ["/bin/sh", "-c", "sleep infinity"]
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
seccompProfile:
type: RuntimeDefault
48 changes: 48 additions & 0 deletions test/resources/kustomize-test.resource
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
*** Settings ***
Documentation Keywords for deploying and cleaning up kustomize test manifests

Resource microshift-host.resource
Resource kubeconfig.resource


*** Keywords ***
Deploy Test Manifests
[Documentation] Create a kustomization that deploys a namespace and configmap
[Arguments] ${manifest_dir} ${namespace} ${configmap_name}=test-configmap
Command Should Work mkdir -p ${manifest_dir}
${kustomization}= Catenate SEPARATOR=\n
... resources:
... - namespace.yaml
... - configmap.yaml
... namespace: ${namespace}
Upload String To File ${kustomization} ${manifest_dir}/kustomization.yaml
${ns_yaml}= Catenate SEPARATOR=\n
... apiVersion: v1
... kind: Namespace
... metadata:
... \ \ name: ${namespace}
Upload String To File ${ns_yaml} ${manifest_dir}/namespace.yaml
${configmap}= Catenate SEPARATOR=\n
... apiVersion: v1
... kind: ConfigMap
... metadata:
... \ \ name: ${configmap_name}
... data:
... \ \ path: ${manifest_dir}
Upload String To File ${configmap} ${manifest_dir}/configmap.yaml

Remove Manifest Directory
[Documentation] Completely remove a manifest directory under /etc/microshift
[Arguments] ${manifest_dir}
Should Not Be Empty ${manifest_dir}
Should Start With ${manifest_dir} /etc/microshift/
Command Should Work rm -rf ${manifest_dir}
Comment thread
coderabbitai[bot] marked this conversation as resolved.

ConfigMap Should Not Exist
[Documentation] Verify the configmap was not created in the namespace
[Arguments] ${namespace} ${configmap_name}=test-configmap
${stdout} ${rc}= Run With Kubeconfig
... oc get configmap ${configmap_name} -n ${namespace}
... allow_fail=True return_rc=True
Should Not Be Equal As Integers ${rc} 0
Should Contain ${stdout} NotFound
14 changes: 14 additions & 0 deletions test/resources/microshift-process.resource
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,20 @@ Disable MicroShift
[Documentation] Disable the MicroShift service
Systemctl disable microshift.service

Start MicroShift Without Waiting For Systemd Readiness
[Documentation] Starts MicroShift without waiting for daemon readiness
... (which happens after all internal services/components declare ready
... (close ready channel)), so it can be interrupted (restarted) mid startup.

${stdout} ${stderr} ${rc}= Execute Command
... systemctl start microshift --no-block
... sudo=True
... return_stdout=True
... return_stderr=True
... return_rc=True
Log Many ${stdout} ${stderr} ${rc}
Should Be Equal As Integers ${rc} 0

Cleanup MicroShift
[Documentation] Cleanup MicroShift data
[Arguments] ${cmd}="--all" ${opt}=${EMPTY}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ scenario_remove_vms() {
}

scenario_run_tests() {
run_tests host1 suites/configuration/
run_tests host1 suites/configuration1/
}
22 changes: 22 additions & 0 deletions test/scenarios-bootc/el10/periodics/el102-src@configuration2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash

# Sourced from scenario.sh and uses functions defined there.

scenario_create_vms() {
prepare_kickstart host1 kickstart-bootc.ks.template rhel102-bootc-source
launch_vm rhel102-bootc
}

scenario_remove_vms() {
remove_vm host1
}

scenario_run_tests() {
run_tests host1 \
suites/configuration2/apiserver-readiness.robot \
suites/configuration2/audit-log.robot \
suites/configuration2/data-dir.robot \
suites/configuration2/drop-in-config.robot \
suites/configuration2/kustomize-sources.robot \
suites/configuration2/logging.robot
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#!/bin/bash

# Sourced from scenario.sh and uses functions defined there.

scenario_create_vms() {
prepare_kickstart host1 kickstart-bootc.ks.template rhel102-bootc-source
launch_vm rhel102-bootc
}

scenario_remove_vms() {
remove_vm host1
}

scenario_run_tests() {
run_tests host1 \
suites/osconfig/lifecycle.robot \
suites/core-api/
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@ scenario_run_tests() {
exit_if_image_not_found "${start_image}"
run_tests host1 \
suites/ipv6/dualstack.robot \
suites/configuration/
suites/configuration1/
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/bash

# Sourced from scenario.sh and uses functions defined there.

start_image="rhel102-bootc-brew-lrel-optional"

scenario_create_vms() {
exit_if_image_not_found "${start_image}"

prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}"
launch_vm rhel102-bootc --network "${VM_DUAL_STACK_NETWORK}" --vm_vcpus 4
}

scenario_remove_vms() {
exit_if_image_not_found "${start_image}"

remove_vm host1
}

scenario_run_tests() {
exit_if_image_not_found "${start_image}"
run_tests host1 \
suites/configuration2/apiserver-readiness.robot \
suites/configuration2/audit-log.robot \
suites/configuration2/data-dir.robot \
suites/configuration2/drop-in-config.robot \
suites/configuration2/kustomize-sources.robot \
suites/configuration2/logging.robot
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,6 @@ scenario_run_tests() {
--variable "PROXY_PORT:9001" \
--variable "PROMETHEUS_HOST:$(hostname)" \
suites/storage/ \
suites/telemetry/telemetry.robot
suites/telemetry/telemetry.robot \
suites/core-api/
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ scenario_remove_vms() {
}

scenario_run_tests() {
run_tests host1 suites/configuration/
run_tests host1 suites/configuration1/
}
22 changes: 22 additions & 0 deletions test/scenarios-bootc/el9/periodics/el98-src@configuration2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#!/bin/bash

# Sourced from scenario.sh and uses functions defined there.

scenario_create_vms() {
prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source
launch_vm rhel98-bootc
}

scenario_remove_vms() {
remove_vm host1
}

scenario_run_tests() {
run_tests host1 \
suites/configuration2/apiserver-readiness.robot \
suites/configuration2/audit-log.robot \
suites/configuration2/data-dir.robot \
suites/configuration2/drop-in-config.robot \
suites/configuration2/kustomize-sources.robot \
suites/configuration2/logging.robot
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#!/bin/bash

# Sourced from scenario.sh and uses functions defined there.

scenario_create_vms() {
prepare_kickstart host1 kickstart-bootc.ks.template rhel98-bootc-source
launch_vm rhel98-bootc
}

scenario_remove_vms() {
remove_vm host1
}

scenario_run_tests() {
run_tests host1 \
suites/osconfig/lifecycle.robot \
suites/core-api/ \
suites/otp-workloads/oc-cli.robot \
suites/otp-workloads/statefulset-pvc.robot
}
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,5 @@ scenario_run_tests() {
exit_if_image_not_found "${start_image}"
run_tests host1 \
suites/ipv6/dualstack.robot \
suites/configuration/
suites/configuration1/
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/bin/bash

# Sourced from scenario.sh and uses functions defined there.

start_image="rhel98-bootc-brew-lrel-optional"

scenario_create_vms() {
exit_if_image_not_found "${start_image}"

prepare_kickstart host1 kickstart-bootc.ks.template "${start_image}"
launch_vm rhel98-bootc --network "${VM_DUAL_STACK_NETWORK}" --vm_vcpus 4
}

scenario_remove_vms() {
exit_if_image_not_found "${start_image}"

remove_vm host1
}

scenario_run_tests() {
exit_if_image_not_found "${start_image}"
run_tests host1 \
suites/configuration2/apiserver-readiness.robot \
suites/configuration2/audit-log.robot \
suites/configuration2/data-dir.robot \
suites/configuration2/drop-in-config.robot \
suites/configuration2/kustomize-sources.robot \
suites/configuration2/logging.robot
}
Original file line number Diff line number Diff line change
Expand Up @@ -25,5 +25,6 @@ scenario_run_tests() {
--variable "PROXY_PORT:9001" \
--variable "PROMETHEUS_HOST:$(hostname)" \
suites/storage/ \
suites/telemetry/telemetry.robot
suites/telemetry/telemetry.robot \
suites/core-api/
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ scenario_remove_vms() {
}

scenario_run_tests() {
run_tests host1 suites/configuration/
run_tests host1 suites/configuration1/
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ scenario_remove_vms() {
}

scenario_run_tests() {
run_tests host1 suites/configuration/
run_tests host1 suites/configuration1/
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ scenario_remove_vms() {
}

scenario_run_tests() {
run_tests host1 suites/configuration/
run_tests host1 suites/configuration1/
}
Loading