Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
16 commits
Select commit Hold shift + click to select a range
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,18 @@
#!/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/
}
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