23004 Commits

Author SHA1 Message Date
Kai Lüke
e1b5bd784b
Merge pull request #267 from flatcar-linux/tormath1/em
ci-container/test: add equinix-metal test script
2022-05-04 22:40:32 +09:00
Dongsu Park
d9036dbd28 Merge pull request #324 from flatcar-linux/dongsu/gzip-xz-utils
app-arch: update gzip to 1.12, xz-utils to 5.2.5-r2
2022-05-04 10:04:06 +02:00
Kai Lüke
c186f41f56
Merge pull request #312 from flatcar-linux/kai/equinix-metal-arm64
jenkins/kola/packet: try to reduce test time by increasing parallelism
2022-05-04 16:50:42 +09:00
Kai Lueke
60dfe14460 jenkins/kola/packet: try to reduce test time by increasing parallelism
With the limit of 2 parallel tests, meaning 6 machines, the test time
is ~10 hours which is longer than the GC time. It seems that the
regional capacity is not so limited at the moment and we can try to
increase the number of machines.
Adjust the timeout to reflect the GC time and increase the parallel
tests to 3, meaning 9 machines.
2022-05-04 16:50:14 +09:00
Mathieu Tortuyaux
550e702f90 ci-container/test: add equinix-metal test script
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
2022-05-04 16:34:37 +09:00
Kai Lüke
ae1e4de854
Merge pull request #309 from flatcar-linux/mantle-update-main
Upgrade mantle container image to latest HEAD in main
2022-05-04 16:02:09 +09:00
Kai Lueke
bc0e2b521a .github: Update LTS mantle reference
The new LTS release will use the mantle container image.
Add automation to keep it up to date.
2022-05-04 14:33:31 +09:00
Kai Lueke
26432fe63c .github: add cacerts/kernel actions for current LTS
The GitHub Actions were defined for the LTS stream directly but we can
now follow the approach used for the other channels. This means that
in the future we could decide to create new Actions for 2022 by copying
the current one and modifying it when 2023 gets the new current LTS -
anyway some manual work would be required to set up Actions for both
old and new at the same time (we have no "previous" symlink on Origin).
We could retire the old LTS Actions immediately because the releases
don't occur on a fixed schedule but I think the automation is nice to
keep.
2022-05-04 14:24:37 +09:00
Flatcar Buildbot
7db0a98888 Update mantle container image to latest HEAD 2022-05-04 04:52:51 +00:00
flatcar-ci
464f38216e New version: main-3229.0.0-nightly-20220504-0155 2022-05-04 04:52:36 +00:00
Dongsu Park
48f7788853 Merge pull request #1857 from flatcar-linux/linux-5.15.37-main
Upgrade Linux Kernel in main from 5.15.35 to 5.15.37
2022-05-03 16:44:55 +02:00
Kai Lüke
30b7eae418
Merge pull request #307 from flatcar-linux/kai/remove-unused-image-variant
Remove unused image variants
2022-05-03 20:40:02 +09:00
Kai Lueke
6648df57a2 Remove unused image variants
There is no difference anymore between the regular and Pro images.
Remove the definitions and stop building extra images.
2022-05-03 20:30:42 +09:00
flatcar-ci
91e96e1795 New version: main-3228.0.0-nightly-20220503-0155 2022-05-03 04:46:17 +00:00
Dongsu Park
354f881ca3 changelog: add changelog for gzip and xz-utils 2022-05-02 19:31:20 +02:00
Dongsu Park
24f5e0f1a4 Merge pull request #1858 from flatcar-linux/cacerts-3.78-main
Upgrade ca-certificates in main from 3.77 to 3.78
2022-05-02 19:19:20 +02:00
Dongsu Park
1ee44d4820 app-arch/xz-utils: update to xz-utils 5.2.5-r2
Update app-arch/xz-utils to 5.2.5-r2, mainly to address CVE-2022-1271.
2022-05-02 15:24:13 +02:00
Dongsu Park
9f3d4cb779 app-arch/gzip: update to 1.12
Update app-arch/gzip to 1.12, mainly to address CVE-2022-1271.
2022-05-02 15:22:41 +02:00
Dongsu Park
34116db1ff Merge pull request #1849 from flatcar-linux/containerd-1.6.3-main
Upgrade Containerd in main from 1.6.2 to 1.6.3
2022-05-02 15:16:51 +02:00
flatcar-ci
9ffeb450e5 New version: main-3227.0.0-nightly-20220502-0701 2022-05-02 09:59:55 +00:00
Flatcar Buildbot
2c01f8e685 app-misc: Upgrade ca-certificates 3.77 to 3.78 2022-05-02 07:24:12 +00:00
Flatcar Buildbot
fde16102ed sys-kernel: Upgrade Kernel 5.15.35 to 5.15.37 2022-05-02 07:24:00 +00:00
Flatcar Buildbot
59b3d4bacc app-emulation: Upgrade Containerd 1.6.2 to 1.6.3 2022-04-29 08:30:47 +00:00
Kai Lüke
28ee2a3256
Merge pull request #298 from flatcar-linux/kai/test-lts
CI: Support comparing to current LTS and updating from it
2022-04-29 16:34:47 +09:00
flatcar-ci
54b5fedc66 New version: main-3224.0.0-nightly-20220429-0155 2022-04-29 04:49:52 +00:00
Mathieu Tortuyaux
4bd316ac74
Merge pull request #272 from flatcar-linux/tormath1/pxe
ci-automation/vm: build PXE if Equinix Metal is built
2022-04-28 11:52:52 +02:00
Kai Lüke
60d74ceacd
Merge pull request #305 from flatcar-linux/kai/tormath1/pxe-plus-test-script-names
ci-automation/vms: handle platform names and generate the image formats
2022-04-28 18:00:20 +09:00
Kai Lueke
9a98cc2917 ci-automation/vms: handle platform names and generate the image formats
The kola test scripts are named by the platforms. The image naming is
also quite difficult to know and remember, e.g., whether "ami" or
"ami_vmdk" is needed for AWS tests and whether it's "vmware" or
"vmware_ova".

To address these problems the vms build stage now accepts the platform
names as format input, and for each platform it will automatically
generate the needed image types to run the tests.
2022-04-28 17:15:02 +09:00
Kai Lüke
9c2d5248d6
Merge pull request #306 from flatcar-linux/kai/gc-pipeline
ci-automation/garbage_collect: clean up kola cloud resources
2022-04-28 16:45:14 +09:00
Kai Lueke
c4af762e26 ci-automation/garbage_collect: clean up kola cloud resources
The garbage collect job should also clean up kola resources if a test
job failed to do so due to forced terminator or misbehavior. The
cleanup is done by "ore" which needs credentials like kola.

Run ore from the mantle container image. Unfortunately Docker does not
support Podman's --env-host option and the env vars had to be passed
explicitly. While --env-file=<(env) would work it contains a lot of
variables that cause the container to behave a bit weird.
2022-04-28 16:27:14 +09:00
flatcar-ci
fc2b1b47c5 New version: main-3223.0.0-nightly-20220428-0155 2022-04-28 04:52:28 +00:00
Kai Lüke
4e90dccabe
Merge pull request #303 from flatcar-linux/mantle-update-main
Upgrade mantle container image to latest HEAD in main
2022-04-28 00:16:31 +09:00
Mathieu Tortuyaux
909f276006 Merge pull request #1842 from flatcar-linux/tormath1/ignition
sys-apps/ignition: use upstream
2022-04-27 10:08:54 +02:00
Flatcar Buildbot
0f0c613366 Update mantle container image to latest HEAD 2022-04-27 04:54:50 +00:00
flatcar-ci
0464fd65c3 New version: main-3222.0.0-nightly-20220427-0155 2022-04-27 04:54:33 +00:00
Kai Lüke
e5092b1e49 Merge pull request #1841 from flatcar-linux/kai/add-dnsmasq
Move mantle's dnsmasq dependency to the SDK dependencies
2022-04-26 22:52:24 +09:00
Mathieu Tortuyaux
208574039c sys-apps/ignition: use upstream
use upstream ignition (coreos/ignition) and apply our patches on top of
it.

It's currently done in the same way with coreos/afterburn.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2022-04-26 15:27:23 +02:00
Kai Lueke
8ee228d5ce Move mantle's dnsmasq dependency to the SDK dependencies
The removal of the mantle ebuild file also meant that dnsmasq isn't
installed into the SDK anymore, yet we actually need it to run kola
QEMU tests in the SDK on the original CI pipeline. As long as the
original CI pipeline is kept, we have to keep kola's dependencies
like QEMU and dnsmasq around.
2022-04-26 15:09:13 +09:00
Kai Lueke
856929d357 CI: Support comparing to current LTS and updating from it
When the restriction that the CI can't access the LTS release is gone
we can support to run the image comparison and the kola update test.
2022-04-26 15:00:31 +09:00
flatcar-ci
8aaa851d55 New version: main-3221.0.0-nightly-20220426-0155 2022-04-26 04:52:10 +00:00
Jeremi Piotrowski
fc0fea321c Merge pull request #1839 from flatcar-linux/jepio/add-pahole-deps
Add missing pahole dependencies
2022-04-25 14:28:51 +02:00
Jeremi Piotrowski
c5e7ff8c9e Add missing pahole dependencies
pahole is a build-time dependency of our kernel build, due to us setting
CONFIG_BTF_DEBUG_INFO. If pahole is missing, a `make modules_prepare` with our
kernel config results in symbols in the config changing. This will affect
people building kernel modules against coreos-sources in the developer
container, but not the SDK because pahole is already in sdk-depends.

pahole is now an (explicit) BDEPEND of all the coreos-kernel/coreos-modules
packages, and we'll make it an RDEPEND of coreos-sources so that it is pulled
in whenever it might be necessary.  Also add it to the coreos-dev package so
that it is included in developer container by default, uncompressed size
increase is <1MB.
2022-04-25 14:28:02 +02:00
Jeremi Piotrowski
76c3130791 x11-drivers/nvidia-drivers: add more device node creation
This is the fallback path that nvidia publishes for verifying device node
creation was successful. It now handles multiple gpus and creating the
nvidia-uvm node, with a dynamic major.

The weird thing is that nvidia-smi and nvidia-modprobe also create some device
nodes and files under /dev, but this does not appear to be well documented. So
keep the static creation.
2022-04-25 14:24:22 +02:00
Jeremi Piotrowski
a6c4454b36 x11-drivers/nvidia-drivers: rework install paths of files to match OS
This involves putting libraries under /usr/lib64 and kernel modules under
/usr/lib/module. This is an experiment at making the nvidia installation work
as a sysext as well, but there are still some issues around that. The major
issue was that `systemd-sysext refresh` would remove the OEM symlink and I
don't feel comfortable with `systemctl restart systemd-sysext` from within
another unit.

If anyone wants to try it, it's now a matter of:

  ln -s /opt/nvidia/current /run/extensions/nvidia-driver

Bonus points for moving nvidia binaries from /opt/bin to
/opt/nvidia/current/usr/bin.
2022-04-25 14:00:09 +02:00
Jeremi Piotrowski
08b86ad7dd x11-drivers/nvidia-drivers: keep developer container image read-only
Since we no longer need to run emerge in the developer container, we can as
well just treat the developer container more like a container image and use an
ephemeral overlay.
2022-04-25 13:54:51 +02:00
Jeremi Piotrowski
d01ecae74c x11-drivers/nvidia-drivers: make service re-entrant
Currently the setup-nvidia script fails when re-executed. It should work in
cases when the driver is already built and just needs to be loaded, or when it
needs to be rebuilt for a new kernel (but driver version may not have changed).

To make this work, several changes where necessary:

* `./nvidia*.run -x -s` fails when already unpacked. Allow it so that we can
  rebuild
* there are several module dependencies for nvidia modules that are implicit,
  related to i2c/ipmi. Probe those explicitly.
* `[ -f /dev/nvidia* ]` fails because those are character devices, so need a
  `[ -c ...]` check.
* `nvidia-modprobe` previously always failed, because it doesn't actually know
  the location of the modules and can only call modprobe (modprobe looks into
  /lib/modules/). We now explicitly probe the important modules, at that point
  nvidia-modprobe just creates additional device nodes.
* `is_nvidia_installation_required` checks whether building and loading is needed.
  Factor out the loading check so that we can reload the module after an update.
2022-04-25 12:35:29 +02:00
Jeremi Piotrowski
67bf5476c3 x11-drivers/nvidia-drivers: use versioned developer container filenames
Currently the script will reuse a developer container that was downloaded once,
without ensuring that the same version is used as the running image. This works
on the first boot, but wouldn't be correct after an OS update.

To resolve this, add a version number to the downloaded filename, and check for
the versioned dev container file. When the file is missing we also cleanup all
other dev container files via glob remove.
2022-04-25 10:34:43 +02:00
Jeremi Piotrowski
a4ac14c66c x11-drivers/nvidia-drivers: use lbzip2 to speed up developer container decompression 2022-04-25 10:26:36 +02:00
Jeremi Piotrowski
d6ea20ddd6 x11-drivers/nvidia-drivers: allow user to override nvidia-metadata
...by providing /etc/flatcar/nvidia-metadata. Newer driver packages do not
support some older Nvidia cards. An example is the Tesla K80 cards in
Standard_NC6 VMs on Azure, which are only supported up to the 470.x driver
version. To allow users to continue using those, give them a way to override
the driver version through /etc/flatcar/nvidia-metadata. For example, this
entry could be used to pin a specific driver version:

NVIDIA_DRIVER_VERSION=470.103.01
2022-04-25 10:22:45 +02:00
Jeremi Piotrowski
85f7b86c00 x11-drivers/nvidia-drivers: build driver against /lib/modules
There are two ways to build the nvidia-driver - either against a full kernel
source tree in /usr/src/linux, or against a slim kernel-devel equivalent in
/lib/modules/*/build. The /lib/modules/*/build is provided by
sys-kernel/coreos-module, see `install_build_source`. The interesting thing is
that in absence of --kernel-source-path, nvidia-installer will autodetect which
to use and already builds against /lib/modules/*/build on Flatcar right now. By
passing --kernel-name, we make that choice explicit and this allows us to skip
the emerge steps of the build.

Since this runs in the developer container, there is also no point in trying to
execute systemctl or depmod, so pass the flags to disable usage of those.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2022-04-25 09:53:24 +02:00