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

6948 Commits

Author SHA1 Message Date
Jarrod Johnson ae1afcabf8 Replace generic unsupported error with more specific
The generic error was unclear for a fairly common attempt to check power state.
2026-09-25 16:50:49 -04:00
Jarrod Johnson 03a3786f93 Fix webauthid keyname in user 2026-09-25 16:18:39 -04:00
Jarrod Johnson 2759404f4c Merge remote-tracking branch 'xcat/master' 2026-09-25 16:14:34 -04:00
Jarrod Johnson a31d1a9efa Stub out useless 'system' for SMMv3
SMMv3 is really a BMC without a 'system', reflect that by stubbing out the system information.
2026-09-25 16:13:40 -04:00
Jarrod Johnson 14dd48b026 Merge pull request #305 from Obihoernchen/fix/eureka-oem
Fix MEGWARE EUREKA chassis support
2026-09-25 13:28:11 -04:00
Markus Hilger 913029e19b Send If-Match only with the EUREKA discovery PATCH requests
The password change and the account update set If-Match: * on the
connection itself, and after a forced password change that connection
is handed back, so every later request carried it. Pass the header
with the PATCH alone. Also drop an unused asyncio import.
2026-09-25 19:22:38 +02:00
Markus Hilger 1bf8c01867 Report node health and unreachable nodes from EUREKA health
get_health looked only at each node's State, so an Enabled node whose
Health was Warning or Critical left the chassis reported as ok. It also
skipped a node whose resource could not be read, counting it as
healthy while an unreadable chassis was flagged. Report the node's
Health when it is not OK, and a node that cannot be read as
Unreachable.
2026-09-25 19:22:38 +02:00
Markus Hilger 38e94c73d6 Read EUREKA sensors with $expand when the firmware supports it
The sensor collection has 668 members, and reading each one on its own
takes about 92 seconds and rebuilds on every nodesensors call. Opt in
to $expand=. for that collection, checking once whether the firmware
really inlines the members, so firmware that ignores $expand keeps the
per-member reads.
2026-09-25 19:02:39 +02:00
Markus Hilger 859a8db873 Reseat EUREKA nodes with the Reseat reset type
ForceRestart only restarts the host, so the node BMC kept running and
a reseat did not recover a hung one. The EUREKA firmware provides a
Reseat reset type that removes all power from the slot.
2026-09-25 19:02:39 +02:00
Markus Hilger 7cc8972170 Skip CPU temperatures from unbooted EUREKA node BMCs
A node whose BMC is not reporting returns Reading 0 from its
temperature sensors, dragging averages down with meaningless
values. The ComputerSystem Oem data flags this via HasBMCMetrics;
skip such nodes, and keep collecting when the flag is absent.
2026-09-25 19:02:39 +02:00
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 8057755b15 oMerge remote-tracking branch 'xcat/master' 2026-09-25 13:00:42 -04: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
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 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 9ad123a0e2 Merge pull request #303 from Obihoernchen/fix-aggressive-typo
Fix the spelling of nodediscover --aggressive
2026-09-24 11:25:11 -04:00
Markus Hilger c768e0df92 Fix the spelling of nodediscover --aggressive 2026-09-24 17:23:00 +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 c72821cdfa Restore genesis specific functions
Common functions depend on curl, but genesis cannot
2026-09-23 10:45:37 -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 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 6f8920d47e Fix incorrect name of starmap function 2026-09-22 16:16:52 -04:00
Jarrod Johnson 084cda09d1 Add iPXE spec file
Pull prebuilt from ipxe upstream
2026-09-22 15:42:46 -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 fd7ee32204 Fix switch/port display in nodediscover 2026-09-21 15:31:25 -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