Commit Graph

72 Commits

Author SHA1 Message Date
Mathieu Tortuyaux
c193d0894d
ci-automation: add akamai testing
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2025-05-06 13:37:34 +02:00
James Le Cuirot
54027d7488
ci-automation: Set the right parameters for Hyper-V Gen 1/2 on Azure
We still perform some tests using Gen 1 on amd64. Standard_D2s_v6 does
not support this, but v5 will presumably be the last version that does,
so hardcode that case.

For Gen 2, you need to set the SKU for amd64 to work, and it has to use
the gallery like arm64 already does.

Using the gallery is possibly slightly slower, so ideally we would only
upload the image once like we do for AWS, but let's just get it working
for now.

Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
2025-04-15 10:57:17 +01:00
Krzesimir Nowak
37496b3131 ci-automation: Pass image version to kola 2025-03-26 15:26:31 +01:00
Mathieu Tortuyaux
d7f8e23345
testing/openstack: clean everything before testing
It happens that we have some leftovers instances running in an "error"
state (the error comes from the OpenStack scheduled deletion). This
leads to instance creation error during the test because quota limits
are hit.

Let's clean-up everything before running the new tests.

This won't impact tests from other channels as OpenStack is limited to
one CI job at a time.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2025-02-27 13:01:54 +01:00
Mathieu Tortuyaux
0734e0674f
hetzner: use different locations for arm64/amd64
Hetzner is having some capacity issues[^1]:
- amd64: CPX plans (CPX11 to CPX51) - Falkenstein (FSN) and Nuremberg (NBG)
- arm64: CAX plans (CAX11 to CAX41) - Helsinki (HEL) and Nuremberg (NBG)

Let's switch the location:
* Helsinki (hel1) for amd64
* Keep Falkenstein (fsn1) for arm64

[^1]: https://status.hetzner.com/incident/aa5ce33b-faa5-4fd0-9782-fde43cd270cf

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2025-02-11 16:10:57 +01:00
James Le Cuirot
2853c77c66
ci-automation: Allow the arm64 tests to run on qemu_uefi_secure
Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
2024-11-13 12:19:23 +00:00
James Le Cuirot
d67c395456
ci-automation: Include --qemu-ovmf-vars in qemu_update test for arm64
Kola's logic for choosing BIOS vs EFI isn't too smart, and not
specifying --qemu-ovmf-vars leads to it passing -bios to QEMU. This
doesn't make sense for arm64, but it did work anyway with the old
firmware in raw format. The new firmware in QCOW2 format doesn't work
this way.

Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
2024-11-12 11:59:22 +00:00
Sayan Chowdhury
5a2c5c61a8 ci-automation: qemu: Support passing OVMF vars and secure-boot flag
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2024-09-17 11:01:06 +02:00
Mathieu Tortuyaux
ce763ff862
ci-automation: add hetzner testing
No need for garbage collection since one temporary project is allocated with 1h of
lifespan for each run.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Co-authored-by: Julian Tölle <julian.toelle97@gmail.com>
2024-09-06 10:58:51 +02:00
Jeremi Piotrowski
a35bd4cc38 ci-automation/vendor-testing/azure: Allow passing kola vnet
This adds support for providing a value for the newly introduce
--azure-kola-vnet kola parameter through the environment. This parameter is
meant to indicate that kola is running inside of a vnet in Azure and the kola
created storage account will be restricted to being accessed from that vnet.
This lets us disable public access to storage accounts.

Needs a corresponding change to jenkins jobs, because we have no way of
determining what vnet a worker node is connected to programmatically. So it
needs to be defined by the job.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2024-07-05 14:06:49 +02:00
Krzesimir Nowak
50e7dc571c ci-automation: Drop azure auth flags 2024-07-02 17:05:15 +02:00
Sayan Chowdhury
3627046730 ci-automation: Update to include the qemu_uefi_secure test
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
2024-02-26 15:46:13 +01:00
Sayan Chowdhury
16b3a2a10b vendor-testing: Add qemu_uefi_secure, symlinked to qemu.sh
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
2024-02-26 15:46:12 +01:00
Mathieu Tortuyaux
477f03b23f
ci-automation: add brightbox testing
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2023-11-23 18:27:12 +01:00
Thilo Fromm
b33a9089b0 test qemu_update.sh: Add docker btrfs backwards compat test
Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
2023-10-30 17:21:26 +01:00
Thilo Fromm
8ef820ad20 vendor-testing/qemu_update.sh: make update payload configurable
This change makes QEMU_UPDATE_PAYLOAD configurable via
ci-automation/settings.env where it was hard-wired before.

The change also fixes fall-out in qemu_update.sh by ensuring a local tmp
directory is created before it is used by the test.

Signed-off-by: Thilo Fromm <thilofromm@microsoft.com>
2023-10-23 16:05:45 +02:00
Thilo Fromm
e85ca4984c ci-automation: remove torcx artifact handling and tests 2023-10-23 16:05:45 +02:00
Jeremi Piotrowski
fe117dc1d9 ci-automation: Switch to managed identity on azure
Switch to using a managed identity instead of file based credentials for
running kola/ore (not plume). This covers our test subscription, but not our
publishing subscription.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2023-10-04 12:14:09 +02:00
Kai Lueke
ddb808f5c5 GitHub Actions: Use correct version in kola run and skip update test
The kola run didn't pick up the version that was set up in the build
because the git changes from that step are lost.
Redo the version setup in the kola run to use the same version, and
skip the kola update test if no update payload can be found. In the
future we should copy it over from the GitHub Action artifact.
2023-09-08 14:50:43 +02:00
Kai Lueke
995ae2cdbc Support OEM systemd-sysext images and Flatcar extensions
The vendor tools on the OEM partition weren't updated. We now want to
ship them as systemd-sysext images which we can easily update. This
change extends the Flatcar A/B update mechanism to cover the OEM
systemd-sysext images. The same mechanism is also able to support
"official" Flatcar extensions, e.g., a ZFS extension.
2023-09-08 14:50:43 +02:00
Kai Lueke
4653708e82 ci-automation: Add NVIDIA instance type only for amd64
The instance type used for the NVIDIA test is amd64-only.
2023-06-20 12:29:54 +02:00
Sayan Chowdhury
11637c6a6d
Add setup to run the GPU tests on Azure
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
2023-06-16 13:04:09 +05:30
Krzesimir Nowak
a0b195f876 ci-automation: Allow using --devcontainer-file option too
I seem to have problems with getting a network connectivity inside
QEMU vm when running the tests in the azure machine. I don't know
what's the cause, but for the dev container tests these problems can
be worked around by using the locally provided dev container
image. Make it possible by specifying QEMU_DEVCONTAINER_FILE in the
environment.
2023-05-30 15:59:37 +02:00
Thilo Fromm
27d540692f run-kola-tests.yaml: use new artifacts, local web server
This change updates the github actions kola test runner workflow to use
the new, separated artifacts produced by ci.yaml.

Further, it adds a fix for the devcontainer tests. Devcontainer and bin
packages used in the devcontainer tests are now served from a local
temporary web server.

The change also adds the qemu_update test and provides the respective
update payload.

Lastly, the tests now use a local torcx_manifest.json produced by
ci.yaml, which points to a torcx tarball also served by the local
temporary web server.
2023-03-28 10:02:17 +02:00
Kai Lueke
d53d415ef8 Run kola without --qemu-skip-mangle on Jenkins
For the GitHub CI we have to use --qemu-skip-mangle because the LXC
containers don't have access to loop devices. Running with
--qemu-skip-mangle means that the serial console does not get captured
completely because systemd and dracut messages are missing, and thus we
don't catch these errors in kola.
Make the skipping conditional and use it in Jenkins at least for the
nightlies and releases.
2023-03-24 22:17:13 +09:00
Kai Lueke
bc3a9aeacd qemu_update: Add update test from an old release
To ensure that we can update from very old releases, add a test with a
fixed old release, here the Stable release that introduced arm64
support to have the same test logic for both architectures.
2022-11-29 16:51:27 +01:00
Kai Lueke
3cb9736c33 ci-automation: Use plain AMI image for uploads
Recently we ran into sporadic corruption issues for AWS EC2 AMIs.
We use the streamOptimized VMDK format and it seems to cause problems
at the AWS side, regardless if created by qemu-img or vmdk-convert.
Switch to using the plain AMI images for uploading as workaround.
2022-10-28 17:21:39 +02:00
Krzesimir Nowak
06d2aabaa2 ci-automation/vendor-testing/vmware.sh: Fix unbound variable use
This gets triggered when the test is rerun and an existing image is
reused.
2022-10-11 15:25:56 +02:00
Mathieu Tortuyaux
de8b4eae6a
ci-automation: add openstack to tested vendors
Missing link to enable the tests in the Flatcar test suite.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2022-09-29 11:21:25 +02:00
Krzesimir Nowak
24213a5c96 ci-automation: Download correct previous image for LTS release
qemu_update vendor test was downloading a wrong LTS image when it was
testing the old LTS image. This is because it was using a current
symlink, which for LTS channel will always point to the new LTS. Old
LTS is available under current-${YEAR} symlink. We can get the
information about year from the lts-info file.
2022-09-27 11:56:39 +02:00
Krzesimir Nowak
6c77ebde54 ci-automation: Break test cycle properly
Create a tapfile and break out of the loop.
2022-08-31 09:37:18 +02:00
Krzesimir Nowak
73bb00a9d0 ci-automation: Break retest cycle properly in qemu on arm64
Rerunning the test will always yield the same result in this case, so
it's pointless.
2022-08-24 13:48:35 +02:00
Krzesimir Nowak
661a4067a1 ci-automation/vendor-testing/azure.sh: Use an array for extra instance types 2022-08-03 16:23:15 +02:00
Krzesimir Nowak
23a05949c1 ci-automation/vendor-testing/azure.sh: Use proper machine size on arm64 2022-08-03 16:22:38 +02:00
Krzesimir Nowak
4d09ab35d6 ci-automation/vendor-testing/azure.sh: Fix unbound variable use
This gets triggered when the test is rerun and an existing image is
reused.
2022-08-03 15:21:00 +02:00
Krzesimir Nowak
7f5282e259 ci-automation/vendor-testing/azure.sh: Fix hyperv generation argument
The "v" must be a capital letter. It seems that Azure got picker about
parameters it accepts.
2022-08-03 15:21:00 +02:00
Kai Lüke
76b47a00b2
Merge pull request #374 from gabriel-samfira/make-workflow-pluggable
Make the kola test workflow reusable
2022-07-13 18:09:43 +02:00
Gabriel Adrian Samfira
b518c3cdb8
Disable image mangle in qemu tests
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-07-13 14:19:50 +03:00
Gabriel Adrian Samfira
7dc45a4a1f
Make QEMU_UEFI_BIOS configurable
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-07-12 19:46:27 +03:00
Gabriel Adrian Samfira
dc8cf9c18d
Add configuration options to test functions
* Add SKIP_COPY_TO_BINCACHE environment variable that will skip
    uploading test results to bincache. This is useful if we want to
    upload test results as artifacts on github.
  * make QEMU_IMAGE_NAME configurable

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2022-07-11 13:32:25 +03:00
Kai Lueke
ef9b0ff820 ci-automation: Only store compressed images
The new build pipeline compresses images already but uploaded both the
compressed and uncompressed files because the whole build folder gets
uploaded.
Add a new flag "--only_store_compressed" to the image generation which
deletes the uncompressed file after compression is done. Uncompressed
images are still supported if specified in the flag
"image_compression_formats".

Closes https://github.com/flatcar-linux/Flatcar/issues/793
2022-07-05 16:13:22 +02:00
Krzesimir Nowak
cec96aeec5 ci-automation/vendor-testing/azure.sh: Small fixes
Fix some comments, quote some variables.
2022-06-02 18:40:06 +02:00
Kai Lueke
6c0fb8959d ci-automation/vendor-testing/azure.sh: Align timeout with GC duration
The kola test run time shouldn't be longer than the GC duration to
prevent failing tests caused by GC interference.
Align the Azure kola timeout with the GC duration.
2022-06-02 14:08:28 +09:00
Sayan Chowdhury
42608d3c67
ci-automation/azure: Add initial container tests infra for Azure (#274)
The Azure tests use a similar logic as the GCE tests where an the
instance type parameter normally used in AWS/Equinix Metal tests is
here used to specify whether the VM gets started in Gen V1 or V2 mode.

Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
2022-05-27 08:01:59 +02:00
Kai Lüke
42fd4919c4
Merge pull request #331 from flatcar-linux/kai/equinix-metal-refactor
ci-automation/vendor-testing/equinix_metal.sh: Use test framework
2022-05-11 19:12:32 +09:00
Kai Lueke
3fd7825310 ci-automation/vendor-testing/gce.sh: Test GVNIC and break retest cycle
The logic we had in some tests for covering different instance types
now got more easy to reuse for testing the GVNIC mode in GCE.
Align the GCE test with AWS and DigitalOcean to test an additional
"instance type" (here just changing the NIC) and break the retest spin
case it gets called for arm64.
2022-05-11 12:07:58 +09:00
Kai Lueke
9fe14ffe34 ci-automation/vendor-testing/equinix_metal.sh: Use test framework
The test framework from the AWS PR allows us to align the logic which
also addresses some bugs we had here.
Port the Equinix Metal test over to the new framework (and also use
different test basenames per architecture while at it which could
otherwise result in clashes).
2022-05-11 11:39:30 +09:00
Krzesimir Nowak
d60d514482 ci-automation: Make AWS test script to work 2022-05-10 12:46:33 +02:00
Dongsu Park
76abe0d9cb ci-automation: Add WIP AWS test script for CI automation 2022-05-10 12:45:43 +02:00
Krzesimir Nowak
a8ac124d53 ci-automation: Add new vendor test for VMware 2022-05-06 12:57:20 +02:00