2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-06-03 01:38:30 +00:00
Commit Graph

6185 Commits

Author SHA1 Message Date
Vinícius Ferrão 1964d4a4ca Fix unbound exception variable in CalledProcessError handler 2026-05-03 12:04:37 -03:00
Vinícius Ferrão aafd6967ba Clean up iothread design rationale comment 2026-05-03 12:04:36 -03:00
Vinícius Ferrão 52f2086319 Replace eventlet CalledProcessError workaround with proper catch
The repr() check existed because eventlet broke normal exception
catching. With eventlet removed, catch CalledProcessError directly.
2026-05-03 01:45:43 -03:00
Vinícius Ferrão 0b1c40aa4a Remove stale comments that restated the obvious
Drop NullLock rationale comment (referenced removed library),
consoleserver greenthread spawn comment, and update syncfiles
CalledProcessError workaround comment.
2026-05-03 01:44:12 -03:00
Vinícius Ferrão b195429d6b Remove python3-eventlet from build deps and clean up stale references
Drop python3-eventlet from the Ubuntu Noble build Dockerfile. Clean up
remaining greenthread/greenlet terminology in comments across aiohmi
IPMI modules, consoleserver, macmap, and the IPMI plugin. Remove a
commented-out GreenPool reference in macmap.
2026-05-02 23:07:54 -03:00
Vinícius Ferrão a69d828e69 Remove eventlet dependency, migrate to asyncio/concurrent.futures
Replace eventlet.greenpool with concurrent.futures.ThreadPoolExecutor
in the BMC discovery script, using as_completed() for proper exception
propagation and main-thread result aggregation to avoid race conditions.

Remove dead eventlet socket compatibility code (.fd attribute checks)
from the IPMI session layer, and clean up stale eventlet references
in comments across the codebase.

Closes: xcat2/confluent#197
2026-05-02 22:56:39 -03:00
Jarrod Johnson b7f6c158ea Switch to homegrown async vnc implementation
The pip ones didn't support tight.

Further, when switching to streaming, they were a bit hiccupy with performance.
2026-05-02 12:37:52 -04:00
Jarrod Johnson 3116416799 First pass at '-v' support 2026-05-02 09:16:35 -04:00
Jarrod Johnson fcb2c3b4f5 Switch to mostly binary image manipulation
This saves a few round trips through base64 and reduce memory footprint.
2026-05-01 15:38:54 -04:00
Jarrod Johnson 490a04f276 Include aarch64 names for key libraries in ubuntu diskless 2026-05-01 14:24:53 -04:00
Jarrod Johnson 08f52b1210 Skip hashing content that didn't come from confluent
For the manifest, only things that *could* be package updated matter.

So add a parameter to let get_hashes skip files that couldn't be related.

This speeds up packimage and rebase dramatically.
2026-05-01 12:30:18 -04:00
Jarrod Johnson f587539c2a Fix missing ubuntu diskless content 2026-05-01 12:13:24 -04:00
Jarrod Johnson d10e49ed0d Bring chrony fixes to other scripts 2026-04-30 11:17:01 -04:00
Jarrod Johnson 98cbd7581a Fix diskless profiles for chrony.conf modification 2026-04-30 10:44:28 -04:00
Jarrod Johnson d03e689660 Fix imgutil async call 2026-04-30 10:26:54 -04:00
Jarrod Johnson 7f604e3e35 Fix async handling of passed file descriptors 2026-04-30 09:25:09 -04:00
Jarrod Johnson bfc27595dc Fold aiohmi into confluent
If someone asks for it independently, we can break it out again.  But for now,
assume it's only for confluent.
2026-04-30 08:48:24 -04:00
Jarrod Johnson ea6ab5dc2a Merge pull request #209 from middelkoopt/tm-el9-aarch64
Fix EL9 aarch support
2026-04-30 08:08:26 -04:00
Timothy Middelkoop a3f40e2982 Fix el8/el9 hook paths corrupted by symlinked el10 in aarch64 spec
In confluent_osdeploy-aarch64.spec.tmpl, el10 was created as a symlink
to el8, so the subsequent `mv el10/initramfs/usr el10/initramfs/var`
inadvertently renamed el8's usr directory, leaving el8 and el9 (also
symlinked to el8) with hooks at var/lib/dracut/hooks/ instead of
usr/lib/dracut/hooks/. Rocky 9 dracut never found the hooks and dropped
to the emergency shell on all aarch64 nodes.

Use `cp -a el8 el10` as the x86_64 spec already does, so the rename
only affects the el10 copy.

Co-authored-by: Claude <noreply@anthropic.com>
Signed-off-by: Timothy Middelkoop <tmiddelkoop@internet2.edu>
2026-04-29 16:36:23 -05:00
Jarrod Johnson 75776b77a3 Provide mechanism for client session loss to trigger a teardown 2026-04-29 15:20:39 -04:00
Jarrod Johnson ee8a8bdac7 Include ommitted file from previous commit 2026-04-29 11:57:09 -04:00
Jarrod Johnson d2f23b475f Fix some failure to await 2026-04-29 11:47:55 -04:00
Jarrod Johnson ae5afc526a Fix missing rsp on return 2026-04-29 11:41:33 -04:00
Jarrod Johnson 78e5301ff8 Fix attempt to await non-async get_nowait. 2026-04-29 11:29:21 -04:00
Jarrod Johnson 5064ac80b9 Fix accidental change of iterating data in ipmi 2026-04-29 10:53:18 -04:00
Jarrod Johnson 27b951b7cb Honor 'Done' message to avoid incurring a delay after task is done. 2026-04-29 09:57:36 -04:00
Jarrod Johnson 34bc45aa9e Allow monitor to read attributes by 'all' resource. 2026-04-29 07:51:42 -04:00
Jarrod Johnson 1f969f2962 Fixes for accel redirect and port forwarding 2026-04-28 16:27:12 -04:00
Jarrod Johnson 347c7fdc1e Fix osdeploy list 2026-04-28 16:08:24 -04:00
Jarrod Johnson 16c99efda7 Correct firmware update through http api 2026-04-28 15:33:18 -04:00
Jarrod Johnson 6421097f32 Fix logging when client ip == server ip 2026-04-28 15:02:12 -04:00
Jarrod Johnson 83ac9af196 Fix for staging in async 2026-04-28 15:02:00 -04:00
Jarrod Johnson 069338baf3 Write to stdout as binary
This allows better redirection.

In python3, must write to sys.stdout.buffer.  AttributeError for the unlikely event of a python2 based node being deployed.
2026-04-28 08:16:05 -04:00
Jarrod Johnson 17d3022caf Implement username by passkey 2026-04-24 15:31:16 -04:00
Jarrod Johnson e44145f978 Simplify webauthn by keeping with webauthn defaults 2026-04-24 11:40:43 -04:00
Jarrod Johnson d97eba787d Fix mistake in spec file 2026-04-24 09:29:57 -04:00
Jarrod Johnson 260443c1d6 Add Ubuntu 26.04 2026-04-24 08:35:27 -04:00
Jarrod Johnson 056d690db0 Fully fix webauthn as implemented 2026-04-23 17:46:34 -04:00
Jarrod Johnson ee32b8cefc Merge pull request #208 from forryz/fix-ubuntu-initramfs-routing
Handle confluent= boot arg and IPv4 NIC autodetect
2026-04-23 13:59:03 -04:00
Jarrod Johnson bf6a097083 Simplify webauthn implementation
Stop tracking sign counters (which weren't used).

Remove various management of transient challenges.

Co-authored-by: Copilot <copilot@github.com>
2026-04-23 12:52:47 -04:00
xu_ren_xian f269200004 Handle confluent= boot arg and IPv4 NIC autodetect
Add support for a confluent=<host> kernel argument in init-premount: configure networking, flush interfaces, autodetect the primary NIC (saved to /tmp/autodetectnic), verify TLS connectivity to the provided server, call the whoami endpoint over TLS to obtain the node name, and write results to /custom-installation/confluent/confluent.info (with fallback to copernicus on failure).

Also update casper-bottom logic to handle IPv4 manager addresses: for IPv6 the manager is still bracketed and scoped interface resolved as before; for IPv4 the script now uses the previously detected NIC (/tmp/autodetectnic) or falls back to an `ip route get <mgr>` lookup to determine DEVICE. This ensures routed IPv4 deployments work correctly.
2026-04-23 23:23:26 +08:00
Jarrod Johnson 82744c5d52 Simplify webauthn code in httpapi
Co-authored-by: Copilot <copilot@github.com>
2026-04-22 14:17:39 -04:00
Jarrod Johnson 96d368fda6 Push second part of the webauthn rework
Co-authored-by: Copilot <copilot@github.com>
2026-04-22 10:58:59 -04:00
Jarrod Johnson 3fecec7743 Change webauthn to aiohttp
Co-authored-by: Copilot <copilot@github.com>
2026-04-22 10:55:49 -04:00
Jarrod Johnson 06786f202c Fix deployment/storage handling 2026-04-22 10:18:32 -04:00
Jarrod Johnson b1568ca01e Fix some issues with remote video forwarding 2026-04-21 12:42:20 -04:00
Jarrod Johnson 2c9b2a93f3 Rework async session handling 2026-04-20 17:05:39 -04:00
Jarrod Johnson 6c6dbf9c2b Fix references to headers 2026-04-20 16:53:57 -04:00
Jarrod Johnson 2835e9e804 Fix references to start_response 2026-04-20 16:39:51 -04:00
Jarrod Johnson bc5f9cf1e8 Fix mistakes in the node apoption samples 2026-04-20 09:45:44 -04:00