2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-09-28 16:20:54 +00:00
Commit Graph

3452 Commits

Author SHA1 Message Date
Markus Hilger e59230c63a Pass rootinfo through to EUREKA OEM handler
The service root was already fetched by the caller; dropping it
forced OEMHandler.create to request /redfish/v1/ again.
2026-09-25 19:02:39 +02:00
Markus Hilger 4d952892b1 Report detail and severity from EUREKA health
get_health collected an issues list but returned it nowhere, and
flattened every problem to Warning. Return the findings as
badreadings using SensorReading, honor verbose, and map chassis
health through _healthmap so Critical is no longer downgraded.
2026-09-25 19:02:39 +02:00
Markus Hilger 5399ba25a0 Fix EUREKA CPU temperature readings
The sensor URL was built as BMC{N}CpuCPU{X}Temp instead of
BMC{N}CPU{X}Temp, so every request returned 404. The entries also
referenced const.SensorUnits, which does not exist, and used a
dict shape the only consumer, get_average_processor_temperature,
cannot read - it expects thermal-style dicts with ReadingCelsius.
2026-09-25 19:02:39 +02:00
Markus Hilger d8f4049115 Fix password change handling in EUREKA discovery
util.json_loads does not exist, so the PasswordChangeRequired flow
raised AttributeError on every 401, silently swallowed by the blanket
except. Use json.loads, which accepts the bytes body directly.
2026-09-25 19:02:39 +02:00
Jarrod Johnson a657c7d64c Merge pull request #304 from Obihoernchen/fix/redfish-health-and-manager
Redfish: tolerate a missing sensor Health and a missing manager
2026-09-25 13:00:16 -04:00
Markus Hilger 40b1bf5e3b Report a missing redfish manager instead of raising TypeError
ManagedBy is optional, and when a system does not link a manager
get_bmcurl() answers None. Most callers passed that straight into a
web request, which failed with "Constructor parameter should be str"
from the url library. Route those callers through bmcinfo(), which now
raises UnsupportedFunctionality so confluent reports it plainly. The
event log falls through to its system and chassis fallback, and
list_media lists nothing, since neither needs a manager.
2026-09-25 17:55:05 +02:00
Jarrod Johnson 4d2bb02ea1 Fix cooltera pdu sensor read 2026-09-25 09:33:01 -04:00
Markus Hilger 5050580bb8 Stop redfish sensor health from raising on a missing Health
SensorReading computed health and states with .get() and then
overwrote both with a strict lookup, so a sensor whose Status lacks
Health, or carries a value outside the health map, raised KeyError
and aborted the whole sensor listing. Keep the tolerant lookup, and
drop the states of a reading that is OK, as the copy in command.py
already does.
2026-09-24 21:47:41 +02:00
Jarrod Johnson 5aecc483e0 Fixup malformed UUID in redfishbmc
Now that redfishbmc is wired up, have it fixup odd formatting of UUID.
2026-09-23 16:03:29 -04:00
Jarrod Johnson 6650a33150 Fix generic-ssh for a number of scenarios 2026-09-23 15:20:39 -04:00
Jarrod Johnson 23e6c70449 Wire up generic redfish device configuration
Have redfishbmc be able to attempt a redfish onboarding.

User must supply initial user and password, since we have no idea about the vendor choices at this level.
2026-09-23 15:08:55 -04:00
Jarrod Johnson 69b0b8462f Fixes for ARM genesis
Do not autocons if we have ttyAMA0

Make sure to use the proper architecture for addons.
2026-09-23 10:41:28 -04:00
Jarrod Johnson 8fa19ada11 Have capitilazition of shim be consistent in genesis 2026-09-23 10:19:59 -04:00
Jarrod Johnson 397df5278f Add ARM genesis 2026-09-23 10:01:17 -04:00
Jarrod Johnson 6f8920d47e Fix incorrect name of starmap function 2026-09-22 16:16:52 -04:00
Jarrod Johnson 2f6b30f7eb Implement preference for iPXE shim
This implements a secureboot compatible flow, even for PXE.

Non secureboot environments suffer one useless transfer, but otherwise should be unaffected.
2026-09-22 15:06:28 -04:00
Jarrod Johnson 0128ee7df6 Properly handle lease renewal
When a fixed address assignment comes for renewal,
do not make it go to rebinding.
2026-09-22 15:02:33 -04:00
Jarrod Johnson dea8b71043 Fix uninitialized niccfg 2026-09-21 13:47:48 -04:00
Jarrod Johnson 57f6c18ebd Fix early handling in Lenovo OEM handling
If mgrinfo is needed, have logic local, to avoid
the mess during early initialization.
2026-09-21 10:16:48 -04:00
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 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 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 f77f0b89a2 Fix broken invocation of get_my_addresses 2026-09-10 10:44:16 -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 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 b4b86ae909 Have auth protocol be selectable
Also, add AES256 to privacy choices.
2026-09-08 16:31:40 -04: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
Markus Hilger 46920e8436 Keep the defaults when localectl reports nothing set
Newer systemd prints '(unset)' where it used to print 'n/a', so an
unset console keymap was handed to the installer verbatim. An unset
System Locale has no '=' either, and the whole line was being taken
as the locale.
2026-09-07 05:18:43 +02:00