USHIFT-1363: tools to build multiple images for ci#1951
USHIFT-1363: tools to build multiple images for ci#1951openshift-merge-robot merged 10 commits intoopenshift:mainfrom
Conversation
72f7727 to
f9fc47f
Compare
|
@dhellmann: This pull request references USHIFT-1363 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
|
@dhellmann: This pull request references USHIFT-1363 which is a valid jira issue. DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
f9fc47f to
d77f20e
Compare
…stem When we have to get the kubeconfig from a remote system through a port-forwarded connection, we may have to update the connection URL.
…stem When we run the tests on a remote system through a port-forwarded connection, we may have to modify some connection parameters.
cd89147 to
a61f75a
Compare
931ba69 to
866ce46
Compare
5ec860a to
7ca02c1
Compare
dnf is reporting different missing file errors in CI, so retry the command a few times
Define a test harness for running different "scenarios" defined by combining OS images, MicroShift versions, and test suites.
Add image blueprint data for RHEL 9.2 images without MicroShift and with MicroShift 4.13 and the package built from source. Add package sources for fast-datapath and RHOCP 4.13 for dependencies. Add a kickstart template for booting an image from an ostree commit. Add a scenario for running the standard test suite against a host running RHEL 9.2 and MicroShift built from source. Add a scenario for running the upgrade test against a host running RHEL 9.2 and MicroShift built from source.
f448dc2 to
4860f1a
Compare
pmtk
left a comment
There was a problem hiding this comment.
just some nits we can address in separate PR
/lgtm
/hold
| local failed=true | ||
| local deps="libvirt virt-manager virt-install virt-viewer libvirt-client qemu-kvm qemu-img sshpass" | ||
|
|
||
| set +e # retry because we see errors caching different RPMs in CI |
There was a problem hiding this comment.
Which failure is this supposed to prevent? I think if command; then doesn't need this
There was a problem hiding this comment.
I think I had this here before the linter made me use the if statement. I'll take it out in a follow-up.
|
|
||
| # Build all of the needed VMs | ||
| for scenario in scenarios/*.sh; do | ||
| time bash -x ./bin/scenario.sh create "${scenario}" |
There was a problem hiding this comment.
time or /usr/bin/time? /usr/bin/time -v prints some nice stats
There was a problem hiding this comment.
I was mostly curious how long it was taking to make the VMs, so I just wanted clock time. This section is going to be rewritten to run the steps in parallel, and I can use /usr/bin/time -v when I do that.
| local ip="${2}" | ||
|
|
||
| echo "Waiting ${VM_BOOT_TIMEOUT} for greenboot on ${vmname} to complete" | ||
| timeout "${VM_BOOT_TIMEOUT}" bash -c "until ssh redhat@${ip} \"sudo journalctl -n 5 -u greenboot-healthcheck; sudo systemctl status greenboot-healthcheck | grep 'active (exited)'\"; do date; sleep 10; done" |
There was a problem hiding this comment.
It's in a loop, so it shows the last few lines every 10 seconds. I saw a lot of repeated output. I could make it print more lines if you think that would help? Maybe 10?
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: dhellmann, pmtk The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/hold cancel |
|
@dhellmann: The following tests failed, say
Full PR test history. Your PR dashboard. DetailsInstructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here. |
This PR adds a framework for managing "test scenarios". It is possible to independently define images, VMs, and tests, then mix and match them to produce scenarios like "test upgrade and rollback from MicroShift 4.13 to 4.14 on RHEL 9.2". The PR includes a few scenarios as examples. The scripts have been tested on a RHEL hypervisor using remote access similar to what we will do in CI. The next phase of implementation will include some wrappers and integration scripts for linking in to CI, but these scripts are usable as-is for developers to run locally.