4561 Commits

Author SHA1 Message Date
Thilo Fromm
d5387aa8a2 checkout: fix typo in update strategy detection
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
2022-01-07 16:10:36 +01:00
Thilo Fromm
758d3ebf07 checkout: helper script for checking out branches and tags
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 16:10:36 +01:00
Thilo Fromm
dfd5ff23a5 Merge pull request #205 from flatcar-linux/scripts
fix sdk_entry.sh setup_board fallout
2022-01-07 13:27:44 +01:00
Thilo Fromm
4c80a20051 sdk_lib/sdk_entry.sh: only call setup_board if /build/... exists
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 13:27:44 +01:00
Thilo Fromm
07a51425d5 sdk_lib/Dockerfile.sdk-import: use root user by default
sdk_entry.sh is expected to be called by the root user, so we set USER
root:root. Also we add a "root" entry to passwd and group since it does
not exist in the SDK tarball.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 13:27:44 +01:00
Thilo Fromm
2981cfdbb4 Merge pull request #207 from flatcar-linux/scripts
sdk_container: better docker / podman detection
2022-01-07 12:19:02 +01:00
Thilo Fromm
aa508a7ea6 sdk_container: better docker / podman detection
In bce3bd9031fa78c79173f29bcac5bc49c81a03b4, we added support for podman
for building and running the SDK container. The presence of podman is
auto-detected in sdk_container_common.sh. However, podman is preverred
over docker, requiring users to use *sudo* (which podman requires and
docker does not).

This change uses docker when present, podman otherwise. It also improves
podman detection - 'podman' uses argv[0] in its version string, so if
'docker' is a symlink to 'podman', 'podman --version' output uses
'docker'. This broke the SDK container on hosts which have a 'docker'
symlink to 'podman' since 'podman' is then run w/o 'sudo'.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-07 12:19:02 +01:00
Kai Lueke
10051f3895 Merge pull request #206 from flatcar-linux/scripts
build_sdk_container_image: force removal of running container
2022-01-07 11:52:02 +01:00
Kai Lueke
b3bd8eba56 build_sdk_container_image: force removal of running container
At least with Podman it's not possible to call "container rm" on a
running container without the force flag.
Add the force flag which is also used elsewhere already.
2022-01-07 11:52:02 +01:00
Kai Lueke
e537a89c5a Merge pull request #199 from flatcar-linux/scripts
run/build_sdk_container: support Podman
2022-01-07 11:51:52 +01:00
Kai Lueke
85bb8bcd1f run/build_sdk_container: support Podman
When the docker wrapper script for Podman is used, we need to
explicitly create a root user container with "sudo podman".
Podman also has its own bridge for root user containers which we need
to detect, and it requires to explicitly say to use the Docker Hub
Caddy image.
Add a "$docker" variable that uses sudo podman as needed, and also
check which bridge interface to use. The filter had to be changed
because it didn't work with Podman. Use the Docker Hub Caddy image
explicitly.
2022-01-07 11:51:52 +01:00
Kai Lueke
4c9c7d0b7a Merge pull request #203 from flatcar-linux/scripts
sdk_lib/sdk_entry: handle permission error for target version file
2022-01-06 19:01:57 +01:00
Kai Lueke
4d0f89724a sdk_lib/sdk_entry: handle permission error for target version file
The creation of the target version file failed:
/home/sdk/sdk_entry.sh: line 32: /build/amd64-usr/etc/target-version.txt: Permission denied
Use root permissions to create the file.
2022-01-06 19:01:57 +01:00
Thilo Fromm
ea0a8f9f3a Merge pull request #201 from flatcar-linux/scripts
sdk_entry.sh: ensure currect binpkg host
2022-01-06 17:13:46 +01:00
Thilo Fromm
6c14ecee3e sdk_entry.sh: ensure currect binpkg host
This change ensures the binpkg host is updated if the board (OS) version
differs from the SDK version.

This is to ensure /build/[arch] uses the correct binary package cache.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-06 17:13:46 +01:00
flatcar-ci
eb37545447 Merge pull request #200 from flatcar-linux/scripts
sdk_lib/sdk_entry.sh: use a login shell to source /etc/profile
2022-01-05 18:15:00 +01:00
flatcar-ci
f37f8e825d sdk_lib/sdk_entry.sh: use a login shell to source /etc/profile
For execution of the compiled binaries in /build/arm64-usr we rely on
qemu-user binfmt emulation and have to tell it where the root is with
QEMU_LD_PREFIX because build systems don't chroot into /build/arm64-usr
themselves (which also works just by chance on amd64 because we have
similar glibc versions and so on). The env var setup was done in
/etc/profile.d/qemu-aarch64.sh but is now not read anymore since the
container runs the shell not as login shell.

Add the login options to the bash and su calls when starting the
container.
2022-01-05 18:15:00 +01:00
flatcar-ci
4c1ae97bc9 Merge pull request #198 from flatcar-linux/scripts
ci-automation: allow to optionally push and sign the commit
2022-01-05 18:13:59 +01:00
Kai Lueke
266f4802c4 ci-automation: allow to optionally push and sign the commit
For test builds the commit that updates the submodules can be free-
standing but for releases we need to push it to the branch and also
sign the tag.
Add optional arguments that are used by the tag-release script in
flatcar-build-scripts.
2022-01-05 18:13:59 +01:00
Thilo Fromm
7e3fdaf3ae Merge pull request #196 from flatcar-linux/scripts
run_sdk_container: use exact match for existing containers
2022-01-05 15:00:08 +01:00
Thilo Fromm
1573e861f3 run_sdk_container: use exact match for existing containers
run_sdk_container uses the sourcetree version to decide whether to
re-use existing containers or create new ones. However, containers were
not matched by exact name - instead, plain --filter name="..." was used,
leading to prefix matching. This change updates name="..." to use
regular expressions for exact matching.

Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2022-01-05 15:00:08 +01:00
Thilo Fromm
bf20bb3ed6 Merge pull request #197 from flatcar-linux/scripts
build_packages: fix default torcx output root
2022-01-05 14:32:11 +01:00
Thilo Fromm
48a804872d build_packages: fix default torcx output root
In 9fba5789f95bf79a393c5e35cb2346d3900e29ba we introduced
--torcx_output_root as an optional command line parameter
and had it default to "${DEFAULT_BUILD_ROOT}", inadvertently
diverging from the previous default, which was
"${DEFAULT_BUILD_ROOT}/torcx".

This change sets the correct default root "${DEFAULT_BUILD_ROOT}/torcx" to bring
build_packages back into alignment with build_image.
2022-01-05 14:32:11 +01:00
Krzesimir Nowak
a842288aa5 changelog: Add bugfix entry 2021-12-22 17:38:04 +01:00
Krzesimir Nowak
8cf1ebd5a2 *: Replace kinvolk github org with flatcar-linux
Stop relying on github redirects, they are a mixed blessing and using
them broke emerge-gitclone inside dev-container in silent way. The
script could not find a desired revision of portage-stable or
coreos-overlay, because it tried to pull from kinvolk instead of
flatcar-linux github org. The redirects seem to hinder fetching a
specific commit, so the script pulled something else (HEAD or main?).
2021-12-22 17:37:57 +01:00
Thilo Fromm
e7ccf1e1d9 coreos-overlay: bump to latest 3033
Signed-off-by: Thilo Fromm <thilo@kinvolk.io>
2021-12-16 19:02:25 +01:00
Thilo Fromm
49a469a22c
Merge pull request #190 from flatcar-linux/t-lo/sdk-container-release-3033.2.0
New release: stable-3033.2.0
stable-3033.2.0
2021-12-15 10:18:07 +01:00
Thilo Fromm
efdf4daff9 New release: stable-3033.2.0 2021-12-15 09:46:26 +01:00
Dongsu Park
8a602c437e changelog: add bugfix for publishing arm64 Stable images 2021-12-10 14:31:21 +01:00
Dongsu Park
6892eaef62 jenkins: make release.sh publish arm64 for Stable
From flatcar-3033 on, arm64 images are available for Stable channel, we
need to also add arm64 to Stable boards.
2021-12-10 14:31:16 +01:00
Dongsu Park
ab8fc691d1 changelog: add bugfix for publishing arm64 Beta images 2021-12-10 09:52:05 +01:00
Dongsu Park
084ceda84f jenkins: make release.sh publish arm64 for Beta
Now that arm64 images are available for Beta channel, we need to also
add arm64 to Beta boards.
2021-12-10 09:51:57 +01:00
Thilo Fromm
685e95531f
Merge pull request #186 from flatcar-linux/t-lo/sdk-container-for-3033
sdk-container: add scripts for containerised SDK (3033 backport)
2021-12-08 14:00:33 +01:00
Thilo Fromm
4e62a01391 sdk-container: add scripts for containerised SDK
Back-port for flatcar-3033 branch.

This change introduces a containerised SDK as a replacement for cork SDK
operations. It also simplifies versioning by removing the need for
manifest repos as well as usage of the "repo" tool by use of git
submodules for coreos-overlay and portage-stable.

The following feature scripts are added:
- run_sdk_container: Run a command in an SDK container, using the
        current scripts repo + ebuild submodules.
        current scripts repo + ebuild submodules.
- bootstrap_sdk_container / build_sdk_container_image: Bootstrap a new
        SDK and create an SDK container from the resulting SDK tarball.

The following additions have been made to SDK scripts:
- setup_board: add --pkgdir parameter to use a custom binary packge
  directory.
2021-12-07 19:40:32 +01:00
Dongsu Park
b2da998bc1 jenkins: override PARALLEL_TESTS for ARM servers in da11
We override `PARALLEL_TESTS`, because kola run with PARALLEL_TESTS >= 4
causes the tests to provision >= 12 ARM servers at the same time. As the
da11 region does not have that many free ARM servers, the whole tests
will fail. With PARALLEL_TESTS=2 the total number of servers stays < 10.
In addition, we override `timeout` to 10 hours, because it takes more
than 8 hours to run all tests only with 2 tests in parallel.
2021-11-26 15:51:42 +01:00
Mathieu Tortuyaux
2cd9ef35de
kola/packet: override EM region for ARM64 server
Equinix Metal ARM server are not yet hourly available in the default `sv15` region
so we override the `PACKET_REGION` to `Dallas` since it's available in this region.
We do not override `PACKET_REGION` for both board on top level because we need to keep proximity
for PXE booting.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
beta-3033.1.1
2021-11-22 20:01:49 +01:00
Kai Lueke
1908337c60 Merge pull request #176 from flatcar-linux/scripts
jenkins/kola/packet: Remove c3.small.x86 to try running cl.internet
beta-3033.1.0 alpha-3033.0.0
2021-10-22 18:26:26 +02:00
Sayan Chowdhury
43f130f15a jenkins/kola/packet: Remove c3.small.x86 to try running cl.internet
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
2021-10-22 18:26:26 +02:00
Kai Lueke
a9c9117cfe Merge pull request #175 from flatcar-linux/scripts
jenkins/kola/aws.sh: use larger arm64 instance type for kubeadm
2021-10-21 14:12:23 +02:00
Kai Lueke
6fae8cd26a jenkins/kola/aws.sh: use larger arm64 instance type for kubeadm
Currently the kubeadm tests fail on arm64 because the instance type
only offers 1 vCPU:
cluster.go:117: error execution phase preflight: [preflight] Some fatal errors occurred:
cluster.go:117: [ERROR NumCPU]: the number of available CPUs 1 is less than the required 2

Switch to the next larger instance type which has 2 vCPUS.
2021-10-21 14:12:23 +02:00
Sayan Chowdhury
a55c032af6
Merge pull request #174 from flatcar-linux/scripts
packet: Update the base URL to point to bucket.release.f-ln
2021-10-21 17:28:30 +05:30
Sayan Chowdhury
343fc74dc7
packet: Update the base URL to point to bucket.release.f-ln
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
2021-10-21 17:28:27 +05:30
Sayan Chowdhury
1d08569d84
Merge pull request #173 from flatcar-linux/scripts
do: Update the base URL to point to bucket.release.f-ln
2021-10-21 12:21:16 +05:30
Sayan Chowdhury
45f5638cf7
do: Update the base URL to point to bucket.release.f-ln
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
2021-10-21 12:21:11 +05:30
Mathieu Tortuyaux
2a44ca59f3
Merge pull request #172 from flatcar-linux/tormath1/fix-qemu-common-arm
jenkins/kola: fix qemu test execution
2021-10-19 12:08:40 +02:00
Mathieu Tortuyaux
5c304ffac9
jenkins/kola/qemu: run update_chroot only for amd
if the test is ran for ARM64, there is no need to run `update_chroot`
since there is no SDK.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2021-10-19 11:29:56 +02:00
Kai Lüke
df63e60b94
Merge pull request #170 from flatcar-linux/kai/use-supplied-sdk-path
jenkins: use the SDK_URL_PATH path for DOWNLOAD_ROOT_SDK
2021-10-15 16:06:24 +02:00
Kai Lueke
a668d961a9 jenkins: use the SDK_URL_PATH path for DOWNLOAD_ROOT_SDK
The SDK can either be a release SDK or a dev build SDK which are stored
in different paths. DOWNLOAD_ROOT_SDK should be based on the
SDK_URL_PATH value which indicates whether it's a release or dev build
path.
2021-10-15 14:35:08 +02:00
Mathieu Tortuyaux
97de2c4301
Merge pull request #169 from flatcar-linux/tormath1/fix-sdk-download
jenkins/sdk: download SDK Digest to prevent twice downloading
2021-10-14 17:40:45 +02:00
Mathieu Tortuyaux
46a03d3940
jenkins/sdk: download SDK Digest to prevent twice downloading
bootstrap_sdk runs catalyst.sh which will try to download the SDK if the
verify digest fails.
Importing the DIGEST allows to skip this step and to continue with the
previously downloaded SDK.

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2021-10-14 17:39:59 +02:00