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

474 Commits

Author SHA1 Message Date
Jarrod Johnson e7c6dfab2b Fix list by invalid type
Rather than list everything, list nothing
when asked to list an invalid type.
2017-10-06 14:02:49 -04:00
Jarrod Johnson fdc4e959f7 Populate nodename on pxe entries when possible
If a PXE is matched by UUID, populate the nodename just like the
serial number and such.
2017-10-05 10:16:49 -04:00
Jarrod Johnson db89cdc62c Add portid and chassisid for cross-reference
In the hypothetical of generating a graph, having a hard assurance
of the required LLDP TLVs can aid in viable code.
2017-10-03 14:57:32 -04:00
Jarrod Johnson 697716b296 Provide a cleaner error on peer not found
Auto-refresh and provide cleaner error on ultimately missing data.
2017-10-03 11:52:28 -04:00
Jarrod Johnson 60b7083dce Handle URL safety of LLDP data
LLDP data does not care about URL safety.  Have a mechanism that
does a pretty good job of translating too and from, at some cost.
2017-10-03 11:23:57 -04:00
Jarrod Johnson f4cfe8758e Fixes to the recent attempt
Names had '/' in it and some assumptions about key were broken.  Correct
the various mistakes.
2017-10-03 10:30:18 -04:00
Jarrod Johnson cc0fc52064 Reuse neighbor data
Improve responsiveness by only refetching data if the data is over
a minute old.
2017-10-03 10:01:57 -04:00
Jarrod Johnson 526eb45969 Fix to match all critera than any.
It was matching *any* of the criteria, it needed to match all.
2017-10-02 17:04:38 -04:00
Jarrod Johnson 3606aab3f0 Only director-ify multiple entry type selectors 2017-10-02 17:01:43 -04:00
Jarrod Johnson eb70b21573 Properly reflect results as collections/directories 2017-10-02 16:56:52 -04:00
Jarrod Johnson e95b5da8b7 Wire up peerid
The entries did not have peerid in them, rectify the oversight.
2017-10-02 16:56:17 -04:00
Jarrod Johnson b5e4d302f9 Actually wire up the parameterized version 2017-10-02 16:53:27 -04:00
Jarrod Johnson 1fb6eb230b Change mind about peerid
Stick to the identifiers mandated by LLDP, and only those to
base the peerid (by-name can help otherwise).
2017-10-02 13:32:56 -04:00
Jarrod Johnson 4236f3fd78 Work on a better neighbor interface
The API was lacking in imagination, flesh it out more.
2017-09-28 17:09:05 -04:00
Jarrod Johnson d4265fa406 Normalize likely HEX strings
Chassis Id and Port Id are highly likely to present as hex strings,
detect and present this case more sanely.
2017-09-28 16:28:33 -04:00
Jarrod Johnson 529e3b2239 Fix a few issues found in testing
Switches need some data sanitized.  Also used IndexError instead of
KeyError, and add handling for interfaces with slashes in the name.
The name 'verified' also fits better than 'authenticated'
2017-09-28 14:27:34 -04:00
Jarrod Johnson 2ed80d86b1 Implement proper neighbor structure
Also fix a bug in macmap and assume SHA auth protocol for SNMPv3
2017-09-27 15:03:09 -04:00
Jarrod Johnson 317809f449 Further refactor and mature neighbor data
At this point, the /networknig/neighbors mostly works...
2017-09-27 14:24:00 -04:00
Jarrod Johnson ea27125587 Begin implementing the 'neighbors' collection
Refactor some common function and list interfaces on a switch
2017-09-26 16:56:45 -04:00
Jarrod Johnson 0741e3953e List switches if known even without macs
The macs was only showing switches with currently known mac address.
Provide all the data (and perhaps a hook to geet errors later).
2017-09-26 12:13:01 -04:00
Jarrod Johnson f44eb412c5 Add /nodes/<node>/forward/web
This facilitates GUI to launch web interface,
even if the target is unreachable.
2017-09-22 13:53:37 -04:00
Jarrod Johnson c571601a29 Add utility library to do port forwarding
This will be useful for creating forwarding for
users.
2017-09-22 10:59:37 -04:00
Jarrod Johnson aa6857b1c7 Do not consider refusal of default creds fatal
During discovery, there's a chance that user/pass already set.
For now, do not fret over this and just silently fail to enable
enclosure manager.
2017-09-19 15:22:40 -04:00
Jarrod Johnson 9c5f50341f Various fixes to the previous attempt 2017-09-18 14:51:43 -04:00
Jarrod Johnson eb1b80f2c9 Get UUID from enclosure and set
During config, take the opportunity to update uuid for enclosure.manager
if possible.
2017-09-15 17:00:36 -04:00
Jarrod Johnson 368666823f Modify get_nodename to search by uuid
Instead of *just* being able to search by uuid for pxe,
add the ability to search by uuid for https things, if no fingerprint
match.

This allows remote xcc setup to follow in the wake of a pxe attempt.
2017-09-15 12:00:10 -04:00
Jarrod Johnson d8216f2472 Add another invalid UUID
All spaces is yet another bad UUID that has cropped up...
2017-09-15 11:14:00 -04:00
Jarrod Johnson 6a1f7e7fa4 Fix for incorrect uuid format
In the slp data, the data is an array, make it a string first.
2017-09-11 16:42:56 -04:00
Jarrod Johnson e2e4c8c7e1 Add SMM UUID to info when available 2017-09-11 15:21:55 -04:00
Jarrod Johnson ee7e044ad8 Add missing socket import
The Non-sysfs fallback needs to have socket imported to function
2017-09-05 11:20:42 -04:00
Jarrod Johnson 12cbfff24f Fix for unexpected entries in /sys/class/net
For example, in a bonding configuration there is a file there, not just
directories with ifindex entries.
2017-09-05 09:19:15 -04:00
Jarrod Johnson 8774ae0305 Avoid linking obviously bad UUIDs
If UUID is obviously bad, do more to ignore it when linking data
2017-08-26 23:20:45 -04:00
Jarrod Johnson cb00c5d35d Place limits on discovery resource consumption
Situation of filehandle exhaustion was seen.  In the scenario observed,
multiple connections to the same target were seen.  So:

1) Backout the recheck block and replace with more comprehensively
placed semaphore.

2) Place a discovery pool limit of 500 to generally constrain things.

3) Further limit things to one detected thread per mac address
2017-08-26 22:45:36 -04:00
Jarrod Johnson deb2c3a94a Correct some minor potential issues and add restart on failure 2017-08-25 16:41:22 -04:00
Jarrod Johnson 0e708f4b26 Back off https recheck
With various fixes, it does not make as much sense to be so aggressive
with rechecking https assuming we sense something prior to https
being up.
2017-08-25 09:24:21 -04:00
Jarrod Johnson 5c93976bdb Fix errant certificate handling
Non-replacement detection was being treated as replacement.  Correct
that mistake.
2017-08-24 16:57:06 -04:00
Jarrod Johnson 312af72d9f Fix policy handling if not set 2017-08-24 16:34:57 -04:00
Jarrod Johnson 19f75474fc Fix db restore reliability if replacing existing
If there is an existing DB, there were race conditions in loading the
restore.  Fix by clearing the existing DB once the viability of the
restore dataset has been established
2017-08-24 16:04:04 -04:00
Jarrod Johnson 695e038ced Skip attempt to fixup custom attributes 2017-08-24 16:01:00 -04:00
Jarrod Johnson a98d8dc43c Provide capture of PXE mac addresses to net*.hwaddr
This provides a persistent store of PXE mac addresses for consumption
by other provisioning systems that are generally MAC centric.
2017-08-24 15:42:40 -04:00
Jarrod Johnson 69cbeecf1b Correct fixup for untyped data 2017-08-24 13:44:21 -04:00
Jarrod Johnson 5cd461c6ad Add understanding of net.* attributes to fixup
net.* are special, add them to the fxup so that the bootable attribute
is correctly amended.
2017-08-24 13:26:38 -04:00
Jarrod Johnson de30c53d21 Add net.*.bootable
Provide a flag to indicate that a nic entry is meant to hold
a bootable network interface, for purpose of holding a PXE detected
mac.
2017-08-24 13:15:32 -04:00
Jarrod Johnson a599c346f8 Add support for boolean attributes
Normalize likely textual input to a boolean, but otherwise treat such
data in the same manner as a string.
2017-08-24 13:14:23 -04:00
Jarrod Johnson 1e88ce2d41 Flesh out pxe client info if matching discovery data found
While we cannot get serial number and model number in a PXE request,
if there is a matching uuid, fill in the data from the match.  Also
provide info on the related macs so that info can be correlated in more
complex ways (e.g. which mac is pxe, which mac is BMC, which IP goes
where, etc.)
2017-08-24 10:23:43 -04:00
Jarrod Johnson d337de671e Add missing uuid list generator link
The UUID mapping was not connected fully to the API.
2017-08-23 15:52:20 -04:00
Jarrod Johnson 68c7ab4c90 Add ability to group discovery by uuid
API adds 'by-uuid', which helps group BMC and PXE together to make
relationship clear.
2017-08-23 15:41:16 -04:00
Jarrod Johnson 4af5e2d615 Correct uuid retrieval mistake 2017-08-23 13:17:18 -04:00
Jarrod Johnson 299c5c4e71 Add UUID to returned discovery data when available 2017-08-23 12:57:34 -04:00
Jarrod Johnson e5c330bb1c Be less verbose about non-viable data in periodic recheck
If we have a device that has aged out of usable addresses, do not pester
log about this incessantly.
2017-08-23 12:47:44 -04:00