2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-08-04 00:17:01 +00:00
Commit Graph

1128 Commits

Author SHA1 Message Date
Markus Hilger cfc4490fe1 Use multi-threaded unsquashfs to extract untethered images
`unsquashfs` can use multiple CPU cores during image extraction, significantly reducing boot time.
For example the whole boot time from PXE to shell on a 8-core VM, from approximately 45 seconds to 20 seconds.

This PR adds `squashfs-tools` as a dependency. Since the package is smaller than 1 MB, the additional image size is justified by the performance improvement.

For backward compatibility, the existing `cp`-based extraction method is used when `unsquashfs` is unavailable, such as with images built before this change.

The extraction logic has also been moved into the common functions and is now shared between EL9, EL10, and Ubuntu.

Both untethered `squashfs` images and `confluent_multisquash` images are supported.

Images must be rebuilt to include `unsquashfs` and benefit from the faster extraction path.
2026-07-16 21:24:58 +02:00
Markus Hilger fa605160e0 Merge branch 'master' into ci 2026-07-14 17:04:16 +02:00
Jarrod Johnson 53172f760f Have the priority models brought out and more documented 2026-07-14 08:30:34 -04:00
Markus Hilger ab6eeb3ced Merge branch 'master' into ruff 2026-07-14 05:28:53 +02:00
Markus Hilger 2af402b13c ruff auto fixes
Apply ruff's safe autofixes.
The changes are mechanical and behaviour-preserving. Issues fixed:

- F401: remove unused imports.
- F841: drop unused local variables and assignments, including discarded
  await/return values, unused "except ... as e" bindings, and unused
  "with ... as name" targets.
- F541: remove the f prefix from f-strings that contain no placeholders.
- E711: compare against None with "is"/"is not" instead of "=="/"!=".
- E712: test truthiness directly instead of comparing to True.
- E713: use "x not in y" instead of "not x in y".
- E714: use "is not" instead of "not ... is".
- E731: convert lambdas bound to a name into def statements.
- W291/W293: trim trailing whitespace on touched lines.
2026-07-14 05:03:58 +02:00
Markus Hilger 69a6714108 Use raw string notation to fix python compile warnings
E.g.: SyntaxError: "\d" is an invalid escape sequence. Did you mean "\\d"? A raw string is also an option.
2026-07-14 01:26:19 +02:00
Jarrod Johnson 6bdd44ffcf Merge pull request #234 from Obihoernchen/netsettings
Add net.extra_settings for passthrough network settings
2026-07-13 08:45:23 -04:00
Markus Hilger 6d606f37f6 Fix Shellcheck errors
Fix SC2045 (error): Iterating over ls output is fragile. Use globs.

Add exception SC2068 exception for confluent_client/confluent_env.sh as this is intended.
SC2068 (error): Double quote array expansions to avoid re-splitting elements.
2026-07-13 05:34:12 +02:00
Markus Hilger 2f006e507f Add net.extra_settings for passthrough network settings
Allow arbitrary per-connection network settings, such as static routes
or a firewalld zone, to be specified as semicolon-delimited key=value
pairs on a net.*.extra_settings attribute. The keys are passed through
to the network backend of the deployed OS in its native syntax: nmcli
properties on NetworkManager systems, netplan YAML paths on netplan
systems, and ifcfg variables on wicked systems.
2026-07-11 20:46:46 +02:00
Jarrod Johnson 263953fc1e Remove nuisance autoncons output when empty
If no serial console detected, don't bother mentioning it.
2026-07-09 14:22:12 -04:00
Jarrod Johnson 5f34fac2bc confluent_nodename variable might not survive to imageboot
Pull it from the confluent.info file.
2026-07-09 14:13:12 -04:00
Jarrod Johnson 0a14e019d0 Skip suse16 diskless for now 2026-07-09 10:47:55 -04:00
Markus Hilger dba2af71c7 Match Apache-2.0 license name with SPDX expressions
For EPEL the official SPDX license expressions have to be used.
Check:

- https://docs.fedoraproject.org/en-US/packaging-guidelines/LicensingGuidelines/
- https://spdx.org/licenses/
- https://docs.fedoraproject.org/en-US/legal/allowed-licenses/
2026-07-07 21:08:43 +02:00
Jarrod Johnson 1feec98edf Ensure install interface comes up in firstboot 2026-07-02 17:51:56 -04:00
Markus Hilger 7727cd86fc Fix typos in help text, errors, and log messages 2026-07-02 22:07:27 +02:00
Jarrod Johnson f6d7a47140 Successfully indicate install_url and TLS setup
While curl and agama download are happy with the CA bundle, zypper was not.  Have pre.sh properly set up the CA certs.

Additionally, indicate the install subdirectory of the repository to agama via it's cmdline conf.
2026-07-02 14:57:26 -04:00
Jarrod Johnson a41e20b1ab Place install_url into agama configuration 2026-07-02 10:19:26 -04:00
Jarrod Johnson 97e0f4d253 Rework autoconsole logic
Match autocons

Skip unless EFI x86_64.

If SPCR, trust it and use that unconditionally.

Otherwise, if only one can respond to TIOCMGET, then use that one.

If multiple can respond, but exactly one shows carrier, use that.
2026-06-25 16:41:14 -04:00
Jarrod Johnson e748a97eae Only count copernicus replies that have OK status 2026-06-25 15:08:23 -04:00
Jarrod Johnson 7845376eaf Fix debian deployment on slow network link up
When network link was slow to establish, it would fall right through
the network initilalization code.

Now keep working it until a result is acheived.
2026-06-25 08:36:37 -04:00
Jarrod Johnson 8fdf3a9abe Do not set 0.0.0.0 gateway 2026-06-24 15:58:45 -04:00
Jarrod Johnson 701a9a7268 Adjustments for Suse 16.1 beta 2026-06-22 09:59:40 -04:00
Jarrod Johnson a117aace05 Fix suse16 firstboot behavior 2026-06-16 16:37:31 -04:00
Jarrod Johnson b89cba1643 Fix non-bonding configuration of ubuntu 2026-06-16 12:41:30 -04:00
Jarrod Johnson 8f2b044cc9 Make SUSE16 support adaptive to SLES/Leap 2026-06-16 10:49:14 -04:00
Jarrod Johnson 1afba4ecaa Add initprofile for suse profiles 2026-06-15 14:13:09 -04:00
Jarrod Johnson 0b6e5fa63e More work on SUSE16 deployment 2026-06-15 14:04:35 -04:00
Jarrod Johnson af84c6c45b Further implement SUSE16 deployment 2026-06-12 16:51:46 -04:00
Jarrod Johnson 8b5147a321 Actually put the common copy of functions in 2026-06-12 16:17:34 -04:00
Jarrod Johnson 0645788b0d Rework functions to be common file 2026-06-12 16:06:06 -04:00
Jarrod Johnson c33a9730f2 Iterate SUSE16 deployment support 2026-06-12 15:30:12 -04:00
Jarrod Johnson f58cc7d984 Fix sed invocation with slashes in the value 2026-06-12 14:08:51 -04:00
Jarrod Johnson 7ddd18391d Commence work on autoinstall scripts for SUSE16 2026-06-12 13:29:29 -04:00
Jarrod Johnson 1fc1f47e00 Preserve a breadcrumb to indicate autocons results to live env 2026-06-12 08:10:32 -04:00
Jarrod Johnson 1042404a38 Move getinstalldisk for all the Linux into a common place
esxi is the only one with a different version
2026-06-12 07:45:41 -04:00
Jarrod Johnson 033b2e4e3f Make it possible for a common script to be superseded by a profile specific script 2026-06-12 07:43:11 -04:00
Jarrod Johnson f30e2135d5 Store inst.script where Suse16 agama will actually read it
Agama ignores the dracut cmdline.d and uses only /proc/cmdline

Good news is they have their own agama.conf and they append to it rather than rewrite it.
2026-06-12 07:42:10 -04:00
Jarrod Johnson d71d66eb43 Add hook to run custom install logic 2026-06-11 19:17:32 -04:00
Jarrod Johnson ad48b718a1 Fixup aspects of Ubuntu diskless boot
For one, ensure a unique machine-id.  Broadly should be done, but critical for bonds to have unique mac
addressses in event of booting a captured image.

Fix ubuntu slow boot due to waiting forever for a network config. Have the transient network config bake into netplan for
a first pass before confignet comes along to do full configuration.

Clean up spurious error messages about grep true: and device busy on mounting overlay.
2026-06-11 15:42:03 -04:00
Jarrod Johnson d4310cefa1 Remove modprobe errors and influence OpenSUSE to actually start agama 2026-06-11 10:36:01 -04:00
Jarrod Johnson 9ae1925e82 Remove stray . from SUSE16 bootstrap 2026-06-11 09:20:17 -04:00
Jarrod Johnson 9ce0dd0d6c Have SUSE16 root parameter match documentation 2026-06-11 09:09:09 -04:00
Jarrod Johnson ecc001d3c4 Activate networking in initramfs 2026-06-11 09:01:50 -04:00
Jarrod Johnson 178defc0f5 Advance Suse16 implementation 2026-06-11 08:19:46 -04:00
Jarrod Johnson 8088c7af94 Amend suse16 bootstrap
While suse resembles EL more closely, it doesn't have python that early.

Switch to clortho/shell/curl instead
2026-06-10 16:20:13 -04:00
Jarrod Johnson 1fb0f59e74 Add suse16 to the os categories in spec file 2026-06-10 13:51:19 -04:00
Jarrod Johnson 48f75cc506 Begin SUE 16 support work 2026-06-10 13:25:17 -04:00
Jarrod Johnson 96780eb975 Have apiclient and copernicus try port 1900, but accept if they cannot. 2026-06-07 07:45:09 -04:00
Jarrod Johnson 3809fb8f84 Merge pull request #214 from Obihoernchen/confignet
confignet: Fix interface type detection for IB VFs
2026-06-01 19:30:13 -04:00
Jarrod Johnson 431d4992e0 Fixes for confignet for Ubuntu
Try to find various layers of network config and normalize.

Ultimately, after post subiquity will do some things and easiest to fix in firstboot instead.
2026-06-01 19:15:52 -04:00