Jarrod Johnson
f6c44922f8
Add support for forced password change
...
ThinkAgile CP storage BMC firmware now requires
a password change be navigated prior to operation.
2020-03-26 14:10:17 -04:00
Jarrod Johnson
3c26beda1d
Fix loss of web connectivity during XCC discovery
...
The password policy was incorrectly logging out in the
middle of the flow when a forced password change occurred.
Fix by externally managing the web session.
2020-02-26 10:00:10 -05:00
Jarrod Johnson
e2d0e49fc7
Add HTTP boot architecture to pxe
...
This paves the way for future response to HTTP boot
2020-02-20 20:36:36 -05:00
Jarrod Johnson
3629cb8ee7
Fix spelling of cumulus
2020-02-19 16:53:35 -05:00
Jarrod Johnson
eae7b3bd80
Add discovery snoop for Cumulus ZTP
...
When a cumulus switch does ZTP, detect
in the discovery facility.
2020-02-19 16:26:33 -05:00
Jarrod Johnson
868367e052
Add sensing of ONIE switches
...
Have nodediscover show detected
ONIE install devices.
2020-02-19 15:20:45 -05:00
Jarrod Johnson
2aa9910d83
Fix XCC discovery issues
...
A couple of issues could occur during discover that should be
stepped over.
2020-01-23 08:45:43 -05:00
Jarrod Johnson
546296ce71
Have the get_webclient always return two elements
...
Some scenario existed where the function could return
None and this could break code expectations that it
always returned a tuple and the first value needs
to be checked for None.
2020-01-08 10:17:06 -05:00
Jarrod Johnson
3660cf18cc
Fix a number of issues
...
For one, there were still bytes v. str for python3 issues in the
certificate exception and credential handling for smm and generic
credential lookup.
There was a python2-ism in lldp that needed to be made 2/3 agnostic
with ord() of a 'bytes' member, converting to bytearray for
normalized behavior.
The discovery core had an issue with chained smms where a set
was used which cannot take a dict, and so it is converted to a list.
If a temporary password is used but the user did not provide a permanent
password that is viable, make the error more explicit.
2019-12-10 11:54:24 -05:00
Jarrod Johnson
078afaf7d7
Make SLP more tolerant of malformed data
...
Unrelated devices may present invalid data
to SLP queries. Have these conditions better tolerated.
2019-12-06 11:24:30 -05:00
Jarrod Johnson
f7fe38f498
Fix problem with reassign and TSM
2019-10-24 10:29:58 -04:00
Jarrod Johnson
5ae949b4eb
Add UUID to TSM discovery
...
The UUID is now available in redfish,
use that to get the UUID.
2019-10-24 10:23:59 -04:00
Jarrod Johnson
f866b7379c
Always relax minimum password interval on auto change
...
The preconfig could interfere with normal operations.
2019-10-22 10:51:41 -04:00
Jarrod Johnson
aab6160d49
Fix compatibility between new and old TSM firmware
2019-10-21 16:20:54 -04:00
Jarrod Johnson
e1dffe7c3a
Fix compatibility with newer TSM firmware
...
TSM stopped accepting url encoded, switch to json. This should work
for older and newer firmware.
2019-10-21 14:39:27 -04:00
Jarrod Johnson
186e89cd87
Fix handling autosense with python3
2019-10-17 09:47:46 -04:00
Jarrod Johnson
4a35cc25f0
Fix TSM setup with python3 and custom credentials
2019-10-15 11:19:04 -04:00
Jarrod Johnson
62084b3605
More fixes for python3/2 compatibility
2019-10-14 15:22:44 -04:00
Jarrod Johnson
bfbde0f7f3
Fix PXE protocol processing under python3
2019-10-11 13:36:16 -04:00
Jarrod Johnson
ba96aea2a6
Fix SR635/SR655 discovery with python3 base
2019-10-11 13:35:46 -04:00
Jarrod Johnson
e2a08e7e73
Fix bug in initial recheck scheduling
...
This was causing rechecktime to not be set correctly.
This caused a trace in python3, but indicates an incorrect
behavior when running under python2
2019-10-11 09:09:42 -04:00
Jarrod Johnson
c6255fa13b
Fix SMM discovery in python3
2019-10-10 17:10:41 -04:00
Jarrod Johnson
2a37d64dc9
Fix XCC discovery in python3
...
Python3 was picky about the strings, normalize key areas
to strings.
2019-10-10 17:03:57 -04:00
Jarrod Johnson
8101672c3a
Fix discovery with python3
2019-10-10 16:49:36 -04:00
Jarrod Johnson
6fb82bbbad
Further Python3 compatibility changes
2019-10-02 11:29:13 -04:00
Jarrod Johnson
90e546bcac
Implement a number of py3 compatible adjustments
2019-10-02 08:58:39 -04:00
Jarrod Johnson
5008128d57
Add IPv6 support to TSM
...
TSM firmware fixes enable IPv6, enable our support of it.
2019-09-19 10:02:40 -04:00
Jarrod Johnson
de8292f6dd
Ignore current channel if current channel is disabled
...
A fluke can cause current channel to be 1 when we are wanting 8.
2019-09-06 13:31:14 -04:00
Jarrod Johnson
8e071a2568
Fix missing import
...
The smm change omitted a required import.
2019-09-05 12:45:29 -04:00
Jarrod Johnson
7d84d0a021
Add network config to SD635/SD655 discovery
...
This completes the most critical portion of SD635/SD655 functionality.
2019-09-05 12:10:58 -04:00
Jarrod Johnson
c5f75bfa15
Fix slowdown when no password change needed
...
If the password was pre-provisioned, accelerate the config
phase of tsm bringup.
2019-09-05 11:10:38 -04:00
Jarrod Johnson
3e1690c860
Add authentication and ipmi configuration to SR635/SR655
...
Network configuration and the lockout policy remain to be configured.
2019-09-04 16:20:31 -04:00
Jarrod Johnson
a3f5630535
Add SR635/SR655 detection
...
Currently merely detects. A discover handler will be next step
to populate UUID and do initial setup.
2019-09-03 15:49:27 -04:00
Jarrod Johnson
97a950b145
Retain XCC IP on discovery if already set
...
Do not change from DHCP if DHCP is working the way intended.
2019-08-28 09:46:35 -04:00
Jarrod Johnson
5794dd7f8c
Add CP storage to discovery
2019-08-22 16:15:01 -04:00
Jarrod Johnson
59d5110b8f
Also enable ipmi if user sets in console.method
2019-08-20 09:29:25 -04:00
Jarrod Johnson
4cdbc7807b
Add thinkagile storage to discovery
...
At least enumerate the ipv4 pieces.
2019-08-19 16:37:14 -04:00
Jarrod Johnson
feecee82db
Mitigate excessive open web sessions
...
Back to back discovery testing would exhaust web slots.
Severely mitigate through being more aggressive about logging out.
2019-08-19 10:44:47 -04:00
Jarrod Johnson
395c0d4697
Preserve IPMI state unless user wants otherwise
...
ALso a draft of navigating a forced password change
in the midst of a pre-hashed password conversion.
2019-08-16 16:33:57 -04:00
Jarrod Johnson
a963a8ca35
Handle forced password change and no IPMI for XCC
...
XCC firmware will start mandating a password change before use.
Additionally, IPMI will be unavailable and will be needed for enabling SMM.
TODO:
-Discover USERID/TempW0rd42 nodes that weren't preconfigged
-Enable IPMI on non-SD530 if hardwaremanagement.method is not redfish.
2019-08-15 16:40:15 -04:00
Jarrod Johnson
8897842fc4
Fix SMM handler when None bmc
...
This fixes a common scenario for using fe80 collection
2019-07-26 13:50:59 -04:00
Jarrod Johnson
a251a538b0
Improve SMM discovery
...
SMM discovery behavior has seemingly gotten more picky with time.
First switch to an IPMI-free if the user has custom password. The
web based approach is much less problematic than SMM IPMI stack in
this context.
If user specifies they want to use default credentials, we have
no choice but to use IPMI. Omit things and shuffle order of operations
to mitigate problems. It isn't perfect, but it does work eventually.
2019-07-26 09:25:19 -04:00
Jarrod Johnson
19c2963cf9
Fix reassign with SMM
...
SMM validation assumes an earlier connection, fix so that it will accept the certificate
if no certificate expected yet.
2019-07-11 15:55:20 -04:00
Jarrod Johnson
0ad0c626c2
Restore password policy set to nodediscover
...
The shift away from IPMI had omitted the password policy set.
Amend the function and restore it to the sequence of events.
2019-07-08 16:25:07 -04:00
Jarrod Johnson
3efc153615
Improve conversion reliability
...
It was frequent that a token expiration would impact attempt to convert
an account. Suppress the token based authentication to more reliably
have a fresh login.
Additionally, mitigate chance of exhausting user login limit.
Finally, switch to a generated password for the temporary account. Should something go awry
between deleting the third-party account and recreating it, this
means the system will have to be reset through OS or F1 menu. However this is better
than the risk of a well known backdoor account being inadvertently
created.
2019-07-03 11:39:36 -04:00
Jarrod Johnson
27410a9b6b
Fix discover of XCC
...
Incorrect module path was indicated.
2019-06-20 10:56:09 -04:00
Jarrod Johnson
2a72a6184d
Fix confluent-wide pauses during redfish
...
The lenovo OEM module was unpatched in import and
thus it inflicted a confluent-wide sleep instead of
a patched time.sleep.
2019-06-12 10:16:19 -04:00
Jarrod Johnson
6de605c298
Switch to python2/3 agnostic lower
...
The string.lower is not in python3
2019-06-04 16:27:20 -04:00
Jarrod Johnson
509f8c30d5
Remove use of IPMI in XCC config
...
The XCC configuration is now entirely
over https and well suited for an ipmi disabled scenario.
2019-05-31 08:50:36 -04:00
Jarrod Johnson
c63c8076bb
Use https to set network on XCC
...
This quite nearly completes the removal
of IPMI requirement during bootstrap.
2019-05-29 16:36:13 -04:00