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.
imgutil build --selinux installs the targeted policy and keeps SELinux enforcing.
imgutil pack labels images that enable SELinux with their own policy.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.