2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-11-12 11:06:17 +00:00
Commit Graph

1178 Commits

Author SHA1 Message Date
Markus Hilger 7039706e4d Fix nodeattrib -e for dotted attribute names in asynclient
f9dc92ec fixed this in client.py, but nodeattrib has used asynclient.py
since 76efea7c, so it still sends the underscored name (info_note
instead of info.note) as the attribute, and a missing variable raises a
KeyError instead of a usage error. Port the client.py logic over.
2026-11-01 13:14:10 +01:00
Markus Hilger a9a57fe93b Add opt-in SELinux support to imgutil build for EL images
imgutil build --selinux installs the targeted policy and keeps SELinux enforcing.
imgutil pack labels images that enable SELinux with their own policy.
2026-10-30 20:27:53 +01:00
Markus Hilger dd353aec04 Do not report a cleared diskless profile as completed
A booted diskless node keeps its profile in deployment.pendingprofile
and records it in deployment.profile with state "booted". After
nodedeploy -c clears the pending profile, nodedeploy printed
"completed: <profile> (booted - ...)", although no deployment completed
and the node will not network boot that profile again.

Show "booted, not pending: <profile>" for that case instead.
2026-10-30 09:44:50 +01:00
Jarrod Johnson 0c57184ef1 Fix fish completion packaging for debian friendliness 2026-10-29 14:06:45 -04:00
Jarrod Johnson 302afc5b06 Fix issues with various '/' included in tab completion 2026-10-29 10:12:20 -04:00
Jarrod Johnson 472ea95314 Do not enable mouse tracking in read-only screenshot mode
When resizing, need to only capture mouse if
we are actually set to handle them.
2026-10-29 09:00:47 -04:00
Jarrod Johnson ac1ce55387 Rework drawing and resize in nodeconsole -tv
Move work out of the signal handler

Have the full resize happen in the draw worker.

Have resize events be skipped if the resize doesn't keep up.

After a redraw, discard queue items that would have had wrong geometry.

No more weird lag on resize and no more stray misshapen screenshots after resize.
2026-10-28 17:39:39 -04:00
Jarrod Johnson 7812b90097 Create fish completion files per command, as fish requires 2026-10-28 08:59:56 -04:00
Jarrod Johnson 3ac8539a9d Add fish completions 2026-10-28 08:33:09 -04:00
Jarrod Johnson 2a0ecc1cd6 Fix nodeconsole -tv resize misbehavior
After resize, mouse didn't work.

Also, if resizing during a redraw, bad things would happen. Use the draw_worker to do redraws one at a time.
2026-10-27 15:16:39 -04:00
Jarrod Johnson 310e1dd3c2 Track the relative coordinates
After sizing, report the cursor location and use that to correct for mouse coordinates.

Also, nudge kitty to draw under any text that might appear.
2026-10-27 09:45:40 -04:00
Jarrod Johnson c00230384f Add ssh://' support for CONFLUENT_HOST
This handles Unix domain forwarding over ssh on behalf of the user.

Extends to the nodeconsole -tv, which is particularly handy for faster video (VNC over ssh instead of base64 whole screen updates).
2026-10-26 13:28:36 -04:00
Jarrod Johnson 6426a081c0 Skip writing image data that matches current
For example, when a cursor is blinking and a recording is happening,
we may get the same frame as already on screen.
Skip such an update.
2026-10-26 09:32:42 -04:00
Jarrod Johnson c192fff69a Add click on titlebar behavior
Also, increase drain time as some scenarios still bled notification on the terminal.
2026-10-25 13:45:50 -04:00
Jarrod Johnson 841c0880b2 Fix alignment of mouse movement
Instead of using the total allocated cell region, correct based on the image on screen.
2026-10-25 09:51:04 -04:00
Jarrod Johnson 184e198463 Add some mouse handling
mouse can now set focus (click/ctrl-click)

mouse movement and clicks can be sent through

Still TODO:
Do something with clicks in 'title' area, and see about fixing the misalignment due to image not filling the full cell geometry.
2026-10-25 09:35:46 -04:00
Jarrod Johnson 49a0374d35 Add shift-tab to nodeconsole -tv 2026-10-23 17:06:05 -04:00
Jarrod Johnson 406fe2aff9 Implement an osdeploy export 2026-10-23 09:20:48 -04:00
Jarrod Johnson 220da39877 Request cursor encoding
OpenBMC iKVM injects nonsensical cursor without it.

For now store the cursor, but currently not used.  It's a rare payload so not worth skipping the processing.
2026-10-21 13:29:49 -04:00
Markus Hilger f25d121fc5 Version the Python package rpms with ~dev as well
confluent_client and confluent_server rpms took the PEP 440 version
setup.py needs, 4.0.1.dev5+g..., which rpm sorts after 4.0.1: a
released package did not upgrade a development build of it. Stamp the
rpm with the ~dev form the other packages already use and keep .dev only
for setup.py and the sdist name. The debs already sort right, since
stdeb rewrites .dev to ~dev.
2026-10-15 19:20:16 +02:00
Jarrod Johnson 25ecf590dd Persist error during streaming
Also, do not start input tasks until handshake actually completese.
2026-10-13 10:21:36 -04:00
Jarrod Johnson 5f4b41c501 Cleanup and handle reconnection of nodeconsole -tv
Also fix screenshot to vnconly target
2026-10-13 09:29:08 -04:00
Jarrod Johnson 6d87d3e7a1 Do not print an empty line with empty nodelist 2026-10-12 08:57:47 -04:00
Jarrod Johnson 910aef879c Drop frames when the queue backs up
Avoid accumulating lag when the
2026-10-07 16:36:38 -04:00
Jarrod Johnson 3a9e256869 Add a warning to nodefirmware. 2026-10-05 15:27:25 -04:00
Jarrod Johnson 2f3b074380 Cleanly shut down the drawing thread 2026-10-02 15:23:49 -04:00
Jarrod Johnson ec964e477c Change message on nodedeploy clear
When clearing the pending profile, indicate that action may have taken place.
2026-09-25 12:37:13 -04:00
Markus Hilger c768e0df92 Fix the spelling of nodediscover --aggressive 2026-09-24 17:23:00 +02:00
Jarrod Johnson 5f321a6612 Update man page for nodeconfig. 2026-09-23 09:53:06 -04:00
Jarrod Johnson 9f5873fe19 Implement better indication of pending when available 2026-09-23 09:51:35 -04:00
Jarrod Johnson fd7ee32204 Fix switch/port display in nodediscover 2026-09-21 15:31:25 -04:00
Jarrod Johnson fa2232ccff Add auto-register on IP assign 2026-09-18 16:40:10 -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 57b74c3d14 Add '-t' for tabular CSV output from collate 2026-09-15 09:40:43 -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 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 9af74d9c44 Change Ctrl-Alt-Delete to use <Del> key 2026-09-10 09:40:22 -04:00
Markus Hilger ea435d00a2 Fix SUSE package dependencies and shebangs 2026-09-05 01:05:15 +02:00
Jarrod Johnson 42ac4d064b Merge pull request #286 from Obihoernchen/fix/cli-exit-codes
Set the exit code when a read fails
2026-09-02 10:09:17 -04:00
Markus Hilger 5d7fadf615 Set the exit code when a read fails
nodesensors and nodeconfig printed an error and exited 0, so
`nodesensors n1 && next-step` ran next-step after the read it guarded had
already failed.

nodesensors had three of these: the per-node branch never set the exit code,
the top-level branch beside it read `exitcode |= exitcode`, and a normal
return from main() fell off the end of the file. nodeconfig accumulates with
|= all through its read path except the last line, which assigned, so a
failed bmc configuration read was discarded by the system read after it.

The fixed branches now match how nodehealth and client.py spell the same
thing.
2026-09-01 23:51:10 +02:00
Jarrod Johnson c8bc59472f Fix missing close quote 2026-09-01 10:41:50 -04:00
Jarrod Johnson 0b4123fcc3 Add keystrokes for nodeconsole -tv
This allows ctrl-alt and windows key.
2026-09-01 10:33:57 -04:00
Jarrod Johnson 7a0a2d0e48 Create a copy instead of rename of /etc/hosts
By copying, we leave the /etc/hosts with original ownership/permissions/etc.

Otherwise we create a new /etc/hosts, which is subject to new permissions and such.
2026-08-25 10:35:35 -04:00
Jarrod Johnson 79d4261303 Make dir2img usage look a little nicer 2026-08-21 15:15:33 -04:00
Jarrod Johnson f1961400ec Correct type of maxnodes in some scenarios 2026-08-21 14:57:24 -04:00
Jarrod Johnson 58d36a2b14 When closing connection, don't raise issues about connection being closed in unexpected ways. 2026-08-19 14:01:40 -04:00
Jarrod Johnson ec64a6d46c Change to asyncio based name lookup in various places 2026-08-19 10:28:55 -04:00
Markus Hilger 57b3fae0ed Return the status nodeeventlog worked out
Every error branch set exitcode and the script then ran off the end, so
a node that could not be read, or a log source that matched nothing,
still exited 0.
2026-08-19 15:10:55 +02:00