2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-09-21 16:39:32 +00:00
Commit Graph

6910 Commits

Author SHA1 Message Date
Jarrod Johnson ab5e47e6af Fix query to support mac or id as key 2026-09-18 16:59:39 -04:00
Jarrod Johnson fa2232ccff Add auto-register on IP assign 2026-09-18 16:40:10 -04:00
Jarrod Johnson 58e9a11f4c Add nvos onboarding 2026-09-18 16:37:35 -04:00
Jarrod Johnson 043ede7464 Implement lease_time opt in for non-boot dhcp offers 2026-09-18 15:31:12 -04:00
Jarrod Johnson 3dad193926 Fix erroneous cache retention
Do not refresh cache vintage an every access.

Also, give callers finer grained control over cache.
2026-09-18 13:58:05 -04:00
Jarrod Johnson 046ace6dba Improve redfish sensor reading performance
Move to the oem handler and leverage the expansion facility
to speed up supported redfish BMCs.
2026-09-18 13:35:15 -04:00
Jarrod Johnson 79ddd17826 Swallow async timeout in check_fish 2026-09-18 09:22:37 -04:00
Jarrod Johnson bc6b3b5b4c Fix inconsistency in expected confluent directory permissions 2026-09-18 09:02:28 -04:00
Jarrod Johnson e02fe647ac Add lease_time
In preparation for fixed-address DHCP offer support, provide attributes to enable it.
2026-09-17 09:42:52 -04:00
Jarrod Johnson 5dcb1a140c Avoid duplicate of name resolved ip in net config
It was possible for the name resolution to steal an address from another section.

Fix by having explicit IP addressing consume and then
purge any violaters after concurrent evaluation completes.
2026-09-17 08:25:58 -04:00
Jarrod Johnson d793c521fe Decrease max input of ssh connection
Specify connect and login timeouts
to avoid sessions being held open.

Also, in blocking_scan, wrap everything so that finally can ensure the scan is recognized as complete.
2026-09-16 15:41:58 -04:00
Jarrod Johnson 10c822fcd2 Remove disused hashlib 2026-09-16 12:33:09 -04:00
Jarrod Johnson 5803dc8ac5 Change to allow non-mac ids in discovery
Inventing mac addresses for routed discovery is misleading.

Change to a more accurate indication.
2026-09-16 12:30:53 -04:00
Jarrod Johnson 069d010944 Fixup ssh host key CA handling.
Use /etc/ssh/ssh_known_hosts more globally.

Actually store the TOFU behavior by backgrounding the awaitable.
2026-09-15 17:05:46 -04:00
Jarrod Johnson 6cabea665f Start wrapping asyncssh
For auto discovery, banner extraction, and interactive ssh, refactor to commen sshclient class.

This hooks the pubkeys.ssh in a manner compatible with confluent 3.x
2026-09-15 15:45:38 -04:00
Jarrod Johnson 57b74c3d14 Add '-t' for tabular CSV output from collate 2026-09-15 09:40:43 -04:00
Jarrod Johnson e26f94c5e0 Add nvos-switch deteciton
Also, wire up the new generic_eval to the 'register' for routed discovery enhancements.  Inventing a mac address for lack of a better idea.
2026-09-11 19:37:12 -04:00
Jarrod Johnson 23556f4698 Fix potential uninitialized variable in get_switchcreds 2026-09-11 19:34:21 -04:00
Jarrod Johnson e59e274bb4 Prepare to accept custom initial user/password
This allows user extension of systems with initial user/passwords that aren't known to the codebase.
2026-09-11 14:59:54 -04:00
Jarrod Johnson e6aefd39b8 Remove pyrefly directive
Evidently it goes from needing this to needing it not to be ther.
2026-09-11 14:38:27 -04:00
Jarrod Johnson 4f4eeefddb Have rescan -a find generic-ssh, generic-https, and generic-redfish
Going from generic-redfish as most specific, then generic-https, and generic-ssh being for ssh-only targets.

For generic-https and generic-ssh, the available ports are specified so code can know if https *also* has port 22 available.
2026-09-11 14:06:16 -04:00
Jarrod Johnson fc1790ed80 Fix failing to reference converted LVM name 2026-09-11 10:23:38 -04:00
Jarrod Johnson 208abe5084 Refine vnc recording
Some experimentation shows that 15 fps is more than enough for the vast majority of console activity, so cut back for reduced file size.

Also, the calculation for last frame was incorrect, tracking duration based on when exiting caught up to the queue.  Now add the end time explicitly and use that to reduce last frame lingering.

VP9 is still uncomfortably slow in a default setup, so stick with MP4V despite larger size, user may transcode if they want to make it smaller.
2026-09-11 10:21:15 -04:00
Jarrod Johnson a01f4ef877 Give indication of starting exit process
Particularly if recording the session, exit no longer is instant.  Provide feedback to user that the exit process is being worked.
2026-09-11 09:23:48 -04:00
Jarrod Johnson 65960df93e Begin work on aggressive discovery rescan
This begins to ping everywhere and start evaluating everything.
2026-09-10 16:00:46 -04:00
Jarrod Johnson c7d2e17545 Avoid failure on receiving malformed SOL payload packets
Some devices can emit invalid IPMI packets with missing payloads.  Do not be overly burdened by such packets.
2026-09-10 15:09:32 -04:00
Jarrod Johnson 6e7ea6c8b8 Add ability to record graphics console to video files
Use old mp4v so that it is quick, tolerating huge files
2026-09-10 12:00:42 -04:00
Jarrod Johnson f77f0b89a2 Fix broken invocation of get_my_addresses 2026-09-10 10:44:16 -04:00
Jarrod Johnson 9af74d9c44 Change Ctrl-Alt-Delete to use <Del> key 2026-09-10 09:40:22 -04:00
Jarrod Johnson af36db4824 Add a quick utility function to just use ipv6 multicast to get all possible local peers. 2026-09-09 15:18:35 -04:00
Jarrod Johnson 55b1786a68 Add functions to support broader network scanning
Refactor functions to let netutil depend on neighutil.

Add a suite of functions to take a mac and try to figure out some viable ip for the mac.

Provide a ping6 mainly to support a ping to ff02::1, and follow up with unicast UDP discard packets to trigger neighbor table population.

Try to use the neighbor table to figure out an ip and scope for a mac, preferring LLA.

If this fails, go for a try of converting the mac to lla arithmetically, then try all the nics to see which one seems to work.
2026-09-09 15:13:37 -04:00
Jarrod Johnson ba99818334 Add a ping6 function
This allows ping6 without forking a child.

Particularly useful for getting all link local addresses on a segment.
2026-09-09 11:28:42 -04:00
Jarrod Johnson 131a1b7350 Rename switch util to switchutil instead of netutil
netutil was a confusing name, since two modules had the same name.

Fix it by moving switch related stuff to 'switchutil'.
2026-09-09 10:33:41 -04:00
Jarrod Johnson f3f1e692ea Merge pull request #300 from Obihoernchen/fix/imgutil-chkstat
Actually run chkstat on the SUSE image
2026-09-09 08:32:29 -04:00
Jarrod Johnson 4f7228a8d4 Merge pull request #299 from Obihoernchen/fix/localectl-unset
Keep the defaults when localectl reports nothing set
2026-09-09 08:31:43 -04:00
Jarrod Johnson e5b3b8ce65 Merge pull request #298 from Obihoernchen/fix/suse15-setupssh-chmod
Fix the chmod typo in the SUSE 15 ssh setup
2026-09-09 08:31:02 -04:00
Jarrod Johnson ca6682c3cd Merge pull request #297 from Obihoernchen/sles16-support
Sles16 support
2026-09-09 08:30:38 -04:00
Jarrod Johnson b4b86ae909 Have auth protocol be selectable
Also, add AES256 to privacy choices.
2026-09-08 16:31:40 -04:00
Markus Hilger 399ce08680 Stop loading InfiniBand modules the SUSE 16 media lacks
This reverts commit be6c7a3794.

They do not exist in Leap/SLE 16 installer initrd.
The diskless hook keeps its copies. imgutil's installkernel instmods
all four, so they are in that image and the calls do work there.
2026-09-08 16:03:13 +02:00
Jarrod Johnson d12fc1bc8b Merge pull request #296 from Obihoernchen/fix/suse-packaging
Fix SUSE package dependencies and shebangs
2026-09-08 08:41:46 -04:00
Jarrod Johnson cc689fc9ad Merge pull request #295 from Obihoernchen/fix/pam-service
Link the confluent pam service to wherever sshd's config lives
2026-09-08 08:40:22 -04:00
Markus Hilger 583e2fa321 Import the signing key SLE 16 media ships
Building a SUSE 16 image from SLE media failed every package with
"key ID fec28eaf09d9ea69: NOKEY". Leap publishes that key as
gpg-pubkey-*.asc, which the existing glob picks up; SLE publishes the
same key only as repodata/repomd.xml.key, so nothing was imported.

15 media carries both spellings, so this changes nothing there.
2026-09-07 13:30:11 +02:00
Markus Hilger c66d7bcb7e Give the SUSE 16 initramfs libkmod
udev's kmod builtin dlopens libkmod, and dracut installs it from an
inst_libdir_file line in a module-setup.sh rather than by following
NEEDED. Which module carries that line moved: the dracut on SLE 16
media declares it only in 00systemd, which the diskless module set
never loads, so the image came up with no libkmod, udev autoloaded
nothing, and the guest reached the network scan with only loopback.
Leap's newer dracut also declares it in 95udev-rules, which base
depends on, which is why Leap was unaffected.
2026-09-07 13:30:11 +02:00
Markus Hilger d069328dd2 Put the sshd helpers in the SUSE 16 diskless initramfs
OpenSSH 10 splits each connection into sshd-session and that into
sshd-auth, so the initramfs sshd on 2222 could not serve a single
session. el10 added sshd-session for the same reason.
2026-09-07 07:07:03 +02:00
Markus Hilger d7a25a9933 Use dhcpcd for SUSE 16 diskless
SLES 16 ships no ISC dhclient and nothing provides dhcp-client, so the
image could not be built from SLES media at all. Leap carries dhcpcd
too, so one client covers both. el10 made the same move when RHEL
dropped dhclient.
2026-09-07 07:07:03 +02:00
Markus Hilger edf98e3177 Lock root on SUSE 16 when no password is set
The deploycfg carries the literal 'null', which went into the profile as
a password hash, so the installed root account reported a usable
password instead of a locked one. 15 substitutes '!' for this; the sed
delimiter has to move off '!' to carry it.
2026-09-07 06:14:54 +02:00
Markus Hilger 2e0323e333 Run the SUSE 16 firstboot service only once
15 got this from AutoYaST init-scripts. 16 enables its own unit, so it
has to disable it the way el8 and the diskless profiles do.
2026-09-07 06:14:54 +02:00
Markus Hilger 20563d3c3a Apply installedargs on SUSE 16
Every other profile feeds it to the bootloader; agama takes it as
bootloader.extraKernelParams.
2026-09-07 06:14:54 +02:00
Markus Hilger f742626226 Stop the SUSE 16 install when agama rejects the config
The default Etc/UTC is not in the tzdata list agama validates against,
so the load failed and the install fell through to agama defaults and
still reported completion. Normalize it and halt if the load fails.
2026-09-07 06:14:54 +02:00
Markus Hilger f3ea32bcd3 Say autoinstall where the SUSE 16 pre script means it
The comment came from 15, which rewrote an autoyast profile.
2026-09-07 06:14:54 +02:00