Commit graph

38 commits

Author SHA1 Message Date
Tomáš Hozza
8035bd2c56 Test: enable image-installer tests on el10 / c10s
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-23 13:10:53 +02:00
Alexander Todorov
f316ebff9f Define el10 variant for libvirt
Signed-off-by: Tomáš Hozza <thozza@redhat.com>
2024-08-12 08:39:05 +03:00
Alexander Todorov
dedc6c970d Define cs10 variant for libvirt 2024-08-12 08:39:05 +03:00
Alexander Todorov
2a8bd4ce9b Define cleanup() function in outer scope and execute on EXIT
for these 2 scripts we make cleanup() defined in the outer scope and
make sure that it executes on EXIT rather than RETURN which makes it
possible to stick the journalctl killing functionality inside of the
same function.
2024-04-19 13:16:11 +03:00
Achilleas Koutsou
3e0f8a7ac3 test: modify the kickstart file in nightly pipelines
Nightly pipelines test against older osbuild-composer versions so we
need to still modify the kickstart file until the feature reaches the
nightly composes.
2024-03-20 11:45:08 +01:00
Achilleas Koutsou
eccdcfcab0 test: use new installer customizations
Use the new installer customizations to build and boot an unattended
installation and add the users to the sudoers with NOPASSWD enabled.

This is added both to he base installer test (installers.sh) and the
ostree test (ostree-ng.sh).  For the ostree test, we keep the mkksiso
step to retain the remote configuration change.  The modksiso() function
is changed to explicitly read the osbuild.ks file since we don't want to
modify the osbuild-base.ks file and we want to ensure that the kernel
command line argument points to the osbuild.ks file.
2024-03-20 11:45:08 +01:00
Alexander Todorov
d0237daf75 Create a custom group via blueprint in installers.sh test script 2024-03-06 09:09:39 +01:00
Tom Koscielniak
b4dcfc4480 Remove libvirt workaround 2024-03-04 15:39:08 +01:00
Jakub Rusz
04ba4b81d8 Switch testing to 8.10 and 9.4 nightly 2023-11-27 10:04:47 +01:00
Alexander Todorov
164df6ffcb Revert "Add softlockup_all_cpu_backtrace=1 boot argument"
This reverts commit 8aca402dff.
2023-10-02 16:50:32 +02:00
Alexander Todorov
f2f1c8d0f0 Remove deprecated --os-type cli argument
test logs print:

[2023-08-22T10:18:14-04:00] 💿 Install image via installer(ISO) on VM
WARNING  --os-type is deprecated and does nothing. Please stop using it.
2023-09-01 13:22:30 +02:00
Alexander Todorov
8aca402dff Add softlockup_all_cpu_backtrace=1 boot argument
should trigger a kernel trace instead of only warnings
2023-08-28 08:36:07 +03:00
Brian C. Lane
4c7b3dd25a test: Make log errors easier to find
We were using greenprint for failures, which makes it hard to quickly
find where the tests failed. This switches errors to use redprint, and
adds it to places that were simply using echo before doing an exit 1.
2023-08-02 14:46:35 +02:00
Xiaofeng Wang
967570a2a6 test: Add workaround for BZ#2213660 and #2225667 2023-07-26 22:23:41 +08:00
Alexander Todorov
38ed9a39be Start collecting logs from virt-install 2023-07-21 12:11:02 +02:00
Achilleas Koutsou
bf83bbea38 test: move greenprint and redprint functions to shared_lib.sh
Since we're sharing functions between test scripts, move greenprint(),
the most rewritten function in the history of the project, to
shared_lib.sh and source it everywhere.
2022-09-13 16:06:19 +01:00
Achilleas Koutsou
3b14828669 test: new weldr client compatibility for test scripts
- Handle the array responses from the new weldr-client (>= 35.6).
- Move the `get_build_info` function to shared_libs.sh to source and
  reuse in multiple places.
2022-09-13 16:06:19 +01:00
Tomas Hozza
a4b0efb278 provision.sh: add none authentication method for on-premise scenario
`tools/provision.sh` is provisioning SUT always in the same way for
both, the Service scenario and the on-premise scenario. While this is
not causing any issues, it does not realistically represent how we
expect osbuild-composer and worker to be used in these scenarios.

The script currently supports the following authentication options:
- `none`
  - Intended for the on-premise scenario with Weldr API.
  - NO certificates are generated.
  - NO osbuild-composer configuration file is created.
  - NO osbuild-worker configuration file is created. This means that no
    cloud provider credentials are configured directly in the worker.
  - Only the local worker is started and used.
  - Only the Weldr API socker is started.
  - Appropriate repository definitions are copied to
    `/etc/osbuild-composer/repositories/`.
- `jwt`
  - Intended for the Service scenario with Cloud API.
  - Should be the only method supported in the Service scenario in the
    future.
  - Certificates are generated and copied to `/etc/osbuild-composer`.
  - osbuild-composer configuration file is created and configured for
    JWT authentication.
  - osbuild-worker configuration file is created, configured for JWT
    authentication and with appropriate cloud provider credentials.
  - Local worker unit is masked. Only the remote worker is used (the
    socket is started and one remote-worker instance is created).
  - Only the Cloud API socket is started (Weldr API socket is stopped).
  - NO repository definitions are copied to
    `/etc/osbuild-composer/repositories/`.
- `tls`
  - Intended for the Service scenario with Cloud API.
  - Should eventually go away.
  - Certificates are generated and copied to `/etc/osbuild-composer`.
  - osbuild-composer configuration file is created and configured for
    TLS client cert authentication.
  - osbuild-worker configuration file is created, configured for TLS
    authentication and with appropriate cloud provider credentials.
  - Services and sockets are started as they used to be originally:
    - Both local and remote worker sockets are started.
    - Both Weldr and Cloud API sockets are started.
    - Only the local worker unit will be started automatically.
  - NO repository definitions are copied to
    `/etc/osbuild-composer/repositories/`.
2022-08-04 11:55:43 +02:00
Alexander Todorov
a14b76ef61 tests: Workaround for mkksiso options coming from newer lorax RPM 2022-08-04 10:37:16 +02:00
Jakub Rusz
efbd5ebd7b ci/tests: Change the way artifacts are collected
We want to be able to safely gather any artifacts without worrying about
any possible secrets leaking. Every artifacts that we want to upload
will now have to be placed in /tmp/artifacts which will then be uploaded
to S3 by the executor and link to the artifacts will be provided in the
logs. Only people with access to our AWS account can see them.
2022-07-18 11:33:57 +03:00
Achilleas Koutsou
14aa3b9f54 test: save installer test manifest and build log
Same as with ostree tests.
2022-03-28 14:08:57 +02:00
Juan Abia
4c5de045ff test: add test purpose
Most test scripts don't have any documentation regarding it's purpose,
although it can be guessed by the code. There's value in adding this
small comment.

[skip-ci]
2022-03-09 22:46:25 +01:00
Achilleas Koutsou
85383ca950 test/cases: add centos OS_VARIANTS to installers test
Set conditional OS_VARIANT, copied from ostree-ng.sh.
Add CentOS Stream 9 variant.
2022-02-18 10:39:08 +00:00
Jakub Rusz
98f5623914 test/cases: properly kill journal for installers.sh
CI gets stuck if we don't kill the journal watcher on exit.
See bc1a7dc30c for more info.
2022-01-19 09:59:09 +01:00
Jakub Rusz
5eb8709a18 tests: add sudo to get_metadata function
With new weldr-client package the metadata tar archive created has
permissions set to 600 instead of 644 which causes permission failures
when interacting with it. Adding sudo to resolve that.
2021-12-08 12:12:53 +01:00
Achilleas Koutsou
aea77ed3de test: timestamp messages in test scripts
The commonly used 'greenprint' function now adds a date + timestamp to
each message for debugging and tracking the duration of segments of each
scripts.
2021-10-24 16:13:53 +01:00
Ondřej Budai
4c5d1ae45a test: move env variables into set-env-variables helper
Signed-off-by: Ondřej Budai <ondrej@budai.cz>
2021-09-24 17:03:53 +02:00
Diaa Sami
34342d79e3 don't use non-existent ansible plugin debug 2021-09-10 15:17:54 +02:00
Diaa Sami
f87d8325d9 Allow running script locally without schutzbot 2021-09-10 15:17:54 +02:00
Diaa Sami
12c900ac35 Fix test 2021-09-10 15:17:54 +02:00
Achilleas Koutsou
8af0431883 test/casea: trim installer test blueprint 2021-08-11 01:31:47 +02:00
Achilleas Koutsou
ab264abd76 distro/rhel85: tar-installer -> image-installer
Renamed tar-installer to image-installer.
This is a more appropriate name:
- It disassociates the image type from the "tar" image type. The two
  should not be perceived to be connected.
- It's more descriptive. The format of the payload (tar) isn't relevant
  to the purpose of the image type.
2021-08-11 01:31:47 +02:00
Achilleas Koutsou
a49d28dfc4 test/cases: install python3 for installer test
Required by Ansible to run checks
2021-08-09 07:57:15 +02:00
Achilleas Koutsou
6e8ceb2e41 test/cases: complete installer test
Several changes required to get the installer test working in CI.

Blueprint:
- Add packages for SSH and networking
- Use generated SSH key and username variable for user setup

Kickstart:
- The ISO contains a kickstart file with the `liveimg` command. Instead
  of trying to inject a kickstart during virt-install, we override the
  existing file on the ISO. The `modksiso` function reads a kickstart
  file from an existing ISO, adds commands to make the installation
  fully automatic (partitioning, text --non-interactive) and creates a
  new ISO with the modified kickstart file using mkksiso.
- Simple networking added to kickstart file.
- Kernel command line args for installer added via the mkksiso command
  since the `--cdrom` installation source doesn't support injecting
  command line arguments.

virt-install:
- Using `--cdrom` instead of `--location`: latter was failing to
  install.
- No longer injects a kickstart file (since we handle it separately) and
  doesn't add extra Kernel args.
2021-08-05 16:13:46 +02:00
Juan Abia
c4fa4e4bb7 test: Replace hard coded ssh keys on some test
Generate a new ssh key each time. Only implemented on bash test scripts,
go tests pending.
2021-07-29 09:38:03 +03:00
Achilleas Koutsou
47ae5de5c0 test/cases: stop the spread of the tet typo
Hoping this is the end of this viral typo.
2021-07-24 15:54:00 +02:00
Achilleas Koutsou
6e22e1de64 test/cases: fix installers test
COMPOSE_ID shouldn't be set but taken from the build response
2021-07-02 17:57:22 +02:00
Achilleas Koutsou
a877326671 test: add installer integration test
Builds a tar-installer, installs the OS, boots it, and checks if the
packages selected in the blueprint are installed.
2021-07-01 12:48:32 +02:00