2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-07-18 00:16:50 +00:00
Commit Graph

1094 Commits

Author SHA1 Message Date
Jarrod Johnson 7babc503c3 Merge pull request #233 from Obihoernchen/checkipmac2
Warn on conflicting entries in confluent2hosts and confluent2dnsmasq
2026-07-13 08:58:19 -04:00
Jarrod Johnson f4a207ed47 Merge pull request #232 from Obihoernchen/timeout
Add connect timeout option to nodeshell
2026-07-13 08:45:46 -04: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
Markus Hilger 60a00c452b Warn on conflicting entries in confluent2hosts and confluent2dnsmasq
Neither tool detected when the attribute database produces conflicting
name/IP data, silently emitting the conflicts.

confluent2hosts now warns when the same hostname is generated for
multiple different addresses within one address family (dual-stack
IPv4+IPv6 pairs stay silent), which happens naturally in -a mode when a
node has several networks without distinct per-net hostnames.

confluent2dnsmasq now warns when generated reservations share a
hostname across different IPs, reserve the same IP more than once
(dnsmasq refuses to start on a duplicate dhcp-host IP), or reuse a MAC.
2026-07-11 04:29:03 +02:00
Markus Hilger 0f7ba1b70d Add connect timeout option to nodeshell 2026-07-10 04:31:59 +02:00
Jarrod Johnson 12c35f2b96 Merge pull request #230 from Obihoernchen/crossarch
Add cross-architecture image build support to imgutil
2026-07-09 14:43:02 -04:00
Jarrod Johnson beab5cd791 Fix for modern python ioctl
Need to actually feed full buffer into modern python ioctl calls.
2026-07-09 14:13:45 -04:00
Markus Hilger 7633bac055 Add cross-architecture image build support to imgutil
Allow building EL and Ubuntu diskless images for a foreign architecture (e.g.
aarch64 on an x86_64 host) by leveraging qemu-user-static. The target
architecture is detected automatically from a -s source tree (for EL),
or may be requested explicitly with the new --arch option.

When the target differs from the host, dnf/debootstrap is invoked with
--forcearch/--arch and the presence of an enabled binfmt_misc handler
with the F (fix-binary) flag is verified up front, so emulation keeps working
inside the installroot chroot and a missing setup yields an actionable
error instead of a confusing exec failure mid-build.

The image architecture is recorded in confluentimg.buildinfo so that
pack selects the initramfs addons for the image architecture rather
than the build host, and exec of a foreign-arch root performs the same
binfmt check.
2026-07-09 19:11:09 +02:00
Jarrod Johnson b724de4230 Merge pull request #223 from Obihoernchen/showsecret
Add server-side confluentdbutil showattrib subcommand
2026-07-08 17:53:12 -04:00
Markus Hilger 6f11dffae8 Add server-side confluentdbutil showattrib subcommand
Adds `confluentdbutil showattrib <noderange> <attribute>...` to print the
node attribute.

In contrast to nodeattrib it can shows secrets and crypted values with -u flag.
It's server-side only: reads the config store and master key directly, never over
the API.
It's read-only and works without confluentd running.
2026-07-08 19:55:18 +02: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
Markus Hilger f4c43394d8 Fix missing format() leaving {0} literal in error message 2026-07-02 22:07:48 +02:00
Markus Hilger 46ada49401 Remove stray debug write to /etc/whatnowhosts 2026-07-02 22:07:48 +02:00
Markus Hilger 7727cd86fc Fix typos in help text, errors, and log messages 2026-07-02 22:07:27 +02:00
Markus Hilger cfc26f1e60 Fix typos in man pages 2026-07-02 21:52:29 +02:00
Markus Hilger 125b5b3ba2 Extend nodeattrib net.* documentation 2026-07-01 18:21:40 +02:00
Jarrod Johnson 9ec7100042 Merge pull request #216 from Obihoernchen/dnsmasqdhcp
Implement confluent2dnsmasq
2026-06-30 08:25:49 -04:00
Markus Hilger 1129089307 Rename confluent2dnsmasqdhcp -> confluent2dnsmasq 2026-06-30 02:59:12 +02:00
Markus Hilger 6a12b6c977 Use ip route for listen-address and detect missing /prefixlen 2026-06-30 02:55:52 +02:00
Markus Hilger 007b374c73 Implement confluent2dnsmasqdhcp
confleunt2dnsmasqdhcp creates static DHCP entries for dnsmasq
for nodes with defined net.*.hwaddr.
2026-06-30 02:55:23 +02:00
Laurence 00a772785d doc/man: add man pages for previously undocumented client commands
These commands ship in confluent_client/bin but had no .ronn man page, so
they did not appear in the generated documentation. Add man pages matching
the existing style, with synopsis and options taken from each command's
argument parser:

- confluent2ansible: export node inventory to an Ansible hosts file
- confluent2lxca: export nodes to a Lenovo XClarity Administrator bulk import CSV
- confluent2xcat: export nodes to an xCAT stanza definition (and optional macs.csv)
- dir2img: build a FAT image from a directory for nodemedia upload
- nodecertutil: manage BMC CA certificates and sign BMC certificates
- nodegrouprename: rename a node group
- noderename: rename nodes
2026-06-28 19:22:34 +01:00
Jarrod Johnson 7de61941e1 Change to pandoc for man rendering 2026-06-10 07:44:50 -04:00
Jarrod Johnson e5c550f200 Avoird warning on nodeconsole -tv exit with newer python 2026-06-08 14:30:51 -04:00
Jarrod Johnson ac9fd075b9 Remove use of deprecated get_event_loop 2026-06-04 13:36:11 -04:00
Jarrod Johnson 1aca69fd14 Allow nodedeploy to request http boot specifically 2026-06-04 08:04:45 -04:00
Jarrod Johnson ea693e1246 Add support for http boot
Some redfish require us to be very specific.
2026-06-04 08:04:39 -04:00
Jarrod Johnson 2a84c68ad3 Add support for passing a parameterfile in updates 2026-06-01 19:49:19 -04:00
Jarrod Johnson 2d8698d152 Add missing dependencies for python3-numpy, python3-pillow, and python3-matplotlib 2026-05-22 16:08:23 -04:00
Jarrod Johnson 3fe9bc968f Amend nodeconsole completion 2026-05-14 16:48:31 -04:00
Jarrod Johnson 0026c3f62a Fix pixel format to be RGBA actually 2026-05-14 09:16:52 -04:00
Jarrod Johnson a99f3de910 Implement a headless mode
For automation, this can make more sense.
2026-05-12 14:55:45 -04:00
Jarrod Johnson eebc4ed3c7 Add expression support to the nodeconsole automation 2026-05-12 14:55:39 -04:00
Jarrod Johnson a537a7ba5c Provide automation facility for nodeconsole
Allow nodeconsole to walk console according to a script
2026-05-12 14:55:28 -04:00
Jarrod Johnson 999a824872 Rework input handling by vnc client
Ensure all input order is preserved as it is processed.

Institute a 10ms delay after a key transmit.  This is to prevent overwhelming QEMU console, and improve it for other consoles.

Tested by pasting a large volume of text and seeing that it was intact.
2026-05-08 09:42:19 -04:00
Jarrod Johnson 34f8ad221d Fix shift-enter, and fix SS3 handling in general 2026-05-07 09:28:33 -04:00
Jarrod Johnson 7ba816fc25 Add missing osdeploy initialize options to completion 2026-05-06 10:36:00 -04:00
Jarrod Johnson b3c8cf348c Add completion for nodecertutil 2026-05-05 16:44:35 -04:00
Jarrod Johnson 1d5c5028cf Significantly rework '-tv' titlebar behavior 2026-05-05 16:25:23 -04:00
Jarrod Johnson 0abe252c24 Implement power commands in nodeconsole -tv 2026-05-05 09:49:35 -04:00
Jarrod Johnson b165977870 Disable 'help' text for now, can't be seen.
Also plant a seed for potential titlebar content add.
2026-05-04 19:54:07 -04:00
Jarrod Johnson 9d474591f9 Make 'titlebars' more prominent 2026-05-04 19:44:05 -04:00
Jarrod Johnson c54eb2919a Have nodeconsole cleanly exit 2026-05-04 18:35:57 -04:00
Jarrod Johnson dc627342e9 Fix handling of special keys
Particularly handle alt-arrows
2026-05-04 13:57:07 -04:00
Jarrod Johnson f911198907 Implement keyboard input and focus changes
Replace input handling with an async, this
permitts screen updates while doing commands.

Implement 'send break' (sysrq) and focus move.

Indicate not-yet-active focus with titlebar color.
2026-05-04 12:20:46 -04:00
Jarrod Johnson e55cf43f7a Begin work to add ctrl-e commands to video nodeconsole 2026-05-03 22:37:58 -04:00
Jarrod Johnson 966cb9a01d Fix streaming video behavior on resize 2026-05-03 13:49:40 -04:00
Jarrod Johnson 19d05bd82e Handle desktop resize
Also, remove dead code.

Potentially improve performance by
having numpy do the alpha channel massage.
2026-05-03 13:34:06 -04:00
Jarrod Johnson 98aac78e55 Fix await of vnc client create 2026-05-02 12:41:58 -04:00