2
0
mirror of https://github.com/xcat2/confluent.git synced 2024-11-29 13:00:03 +00:00
Commit Graph

574 Commits

Author SHA1 Message Date
Jarrod Johnson
463f61fac7 Modify XSS-Protection directive 2018-03-12 13:41:18 -04:00
Jarrod Johnson
110820e7b7 Revert "Accommodate XCC firmware behavior"
This reverts commit 9baa1f5652.
2018-03-06 15:52:53 -05:00
Jarrod Johnson
71214eb613 Revert "Correct indentation"
This reverts commit a2163244db.
2018-03-06 15:52:45 -05:00
Jarrod Johnson
7593d21a87 Add missing exceptions import
exc was not imported
2018-03-06 11:25:36 -05:00
Jarrod Johnson
3ae7d85820 Fix confluentdbgcli on screen resize 2018-03-01 13:39:25 -05:00
Jarrod Johnson
0d06eedc81 Move curruuid up so it is always set
If detected pre-discovered, curruuid was not being set correctly
2018-02-28 11:53:03 -05:00
Jarrod Johnson
ca27385eaa Fix confluentdbutil restore with typed attributes
Typed attributes would fail the check.  Additionally, the error itself
was buggy, so fix that while we are at it.
2018-02-27 14:51:37 -05:00
Jarrod Johnson
9269c9feff Provide more reasonable error message to user
If a protocol is unsupported, propogate error message usefully.
2018-02-27 14:51:00 -05:00
Jarrod Johnson
7736056bf2 Fix hangtraces analyzer
With threadid, the analyzer was failing to collapse identical threads.
2018-02-27 11:28:37 -05:00
Jarrod Johnson
530c6553fd Block creation of nodes that can't be in noderanges
Noderange grammar prevents referencing certain nodenames.  Use the
noderange grammar to evaluate any incoming node or group at a very
low level.
2018-02-26 15:47:47 -05:00
Jarrod Johnson
62ac582b61 Provide better reseat error message on non-enclosure
If a user were to try to reseat a node that isn't enclosure based or
at least does not have the configuration, provide a clue as to what
happened.
2018-02-22 14:56:25 -05:00
Jarrod Johnson
d7b3859460 Try to have collate preserve original noderange
When a noderange is given, prepare for a reverse lookup of same nodes,
so collate has a shot of giving back what was put in.
2018-02-14 15:09:21 -05:00
Jarrod Johnson
0fd2d26f82 Add access to nodefirmware shortcut
The nodefirmware can now request firmware more selectively.
2018-02-14 14:38:20 -05:00
Jarrod Johnson
453f6d8016 Catch general SSL errors to BMC
Provide better info on general SSL misbehaviors.
2018-02-13 13:17:29 -05:00
Jarrod Johnson
ee84622e7d Dynamic retry timer
Opportunistically try to be more aggressive, scaling back
with retry number and cluster size.
2018-02-12 14:34:12 -05:00
Jarrod Johnson
cc16aed27a Add ,= and ^= to group management
This greatly simplifies a common group membership task.
2018-02-08 19:30:06 -05:00
Jarrod Johnson
bd5d8c85d8 Add dependencies for the nodeconfig command to work 2018-02-06 08:59:06 -05:00
Jarrod Johnson
0afd9beeac Fix nodeconfig error handling
Additionally, make more strong effort to sort the data.
2018-02-05 15:23:13 -05:00
Jarrod Johnson
685f5c6803 Add system configuration
This gives access to system configuration where available
2018-02-02 16:20:13 -05:00
Jarrod Johnson
7f3763f9eb Clean up media error handling 2018-01-30 15:18:20 -05:00
Jarrod Johnson
ba0e03d454 Provide a catchall for general certificate mismatch
Beyond the special partial cases for firmware/hardware inventory,
provide a catchall for invalid public keys and a message for it.
2018-01-29 14:17:01 -05:00
Jarrod Johnson
e193e92fbf Make TLS errors in hardware/firmware more consistent
Also, place the error near the end where it is more likely to be
noticed, and close to where user would have expected the data to be.
2018-01-29 14:12:34 -05:00
Jarrod Johnson
a7b0a449d6 Put ipmi errors in trace log
Put an end to the 'see stderr log'
2018-01-29 13:21:18 -05:00
Jarrod Johnson
9e467c5e57 Add check for invalid dotted attribute names in expressions
This provides better feedback for typos and mistakes.
2018-01-26 17:00:03 -05:00
Jarrod Johnson
68d469788d Fix use of multi dot attributes in expressions
It was formerly only assuming ability to bisect, now recurse to get the
string out of nested attributes.
2018-01-26 14:29:22 -05:00
Jarrod Johnson
7ea99ecbf5 Improve expression error handling
First, refactor the attrname translation to be in a single method.

Recognize if 'None' comes back rather than a dictionary with na 'value'

Add a proper ValueError if an invalid attribute name is used.

Properly catch and transform ValueErrors in the API
2018-01-26 14:16:23 -05:00
Jarrod Johnson
2628683881 Require minimum pyghmi
Many fixes we rely upon are only found in recent pyghmi.
2018-01-24 13:24:44 -05:00
Jarrod Johnson
e7a70f390e Treat blank setting for gateway same as unset
It was previously trying to use empty string as gateway in some
contexts.
2018-01-24 10:55:03 -05:00
Jarrod Johnson
a2163244db Correct indentation 2018-01-23 15:19:31 -05:00
Jarrod Johnson
f615232a95 Merge branch 'master' of github.com:jjohnson42/confluent 2018-01-23 15:05:33 -05:00
Jarrod Johnson
19e733f325 Ensure fingerprint variable is initialized
During error handling, there were paths where fingerprint was
needed, but not set.  Fix this by getting fingerprint before raising
the exceptions.
2018-01-23 14:34:06 -05:00
Jarrod Johnson
924f679f79 Add ability to delete discovery entry
This allows a full purge without restarting confluent.
2018-01-23 13:27:20 -05:00
Jarrod Johnson
9baa1f5652 Accommodate XCC firmware behavior
It has been observed that a Lenovo XCC can fail to produce the
appropriate attributes in the SLP data.  In such a case, and only if we
are in the preconfig path (which means it is a candidate for discovery),
reset the XCC to try to correct the behavior.
2018-01-23 13:07:59 -05:00
Jarrod Johnson
97401e306b Tolerate disabled IPv4 multicast route
Sometimes the IPv4 multicast route isn't playing ball.  Tolerate such
a scenario and move on.
2018-01-22 11:53:19 -05:00
Jarrod Johnson
48b9d735f2 Avoid empty hwaddr
It has been observed, at least once, for an empty hwaddr to appear.
Take measures to prevent this from occurring and making into the
discovery info.
2018-01-19 10:22:22 -05:00
Jarrod Johnson
76818135a6 Fix getting nodenames based on enclosure uuid
Must listify the output and make sure the previous output is fed into
the second filter.
2018-01-16 13:29:36 -05:00
Jarrod Johnson
0f4940cd7c Tolerate empty string to be blank snmp user
For SNMP password without user, accept '' as a synonym for None
2018-01-16 13:14:13 -05:00
Jarrod Johnson
8226c2bd77 Fix mistakes in the draft discovery code
A couple of blatantly obvious mistakes were made that require fixing.
2018-01-16 12:13:34 -05:00
Jarrod Johnson
a80ae622f6 Skip SMMs without a stored certificate
If something happens to have the right ip, but no stored certificate
because it's not discovered, it was used as a data source if the
addpolicy was lax.  Harden the flow by skipping unverifiable parts
of the chain.
2018-01-16 10:54:42 -05:00
Jarrod Johnson
ea5165d2c5 Fix the TLS verifier to support different fingerprint algos
It was hard baked to sha512.  Now use sha256 if auto-adding,
and use the stored algo as indicator instead.
2018-01-16 10:30:15 -05:00
Jarrod Johnson
30e24cc768 Fix type compatibility with enclosure.bay
enclosure.bay manifests as an int.  Use format() to tolerate either
way.
2018-01-16 10:20:28 -05:00
Jarrod Johnson
b1951b3d86 Add error on older XCC firmware
When we do hit a problem with the chained configuration and older
XCC, log a message to show why discovery will forever fail.
2018-01-16 09:18:30 -05:00
Jarrod Johnson
c649aa2a40 Avoid traceback on older XCC firmware
Older XCC firmware does not provide chassis-uuid.
2018-01-16 09:16:23 -05:00
Jarrod Johnson
e7b97afc3c Address a number of oversights
The null handler case, IPv6 SMM, and SMM cert conversion needed fixes.
2018-01-11 16:48:34 -05:00
Jarrod Johnson
a70e3a2e19 Add ability for physical discovery to not root in switch
This permits a design where the switch can be omitted, but only the
head enclosure manager needs 'manual' intervention.
2018-01-11 10:46:23 -05:00
Jarrod Johnson
a11a0cd543 Accelerate dependent discovery in D2 enclosures
Rather than wait until the next recheck interval, track and trigger
dependent discovery immediately.
2018-01-11 08:41:44 -05:00
Jarrod Johnson
3398acaf52 Match XCC to enclosure in a chained setup
Also apply fixes and lay groundwork for eventual 'secure' discovery
policy.  As such a policy is too limited to be practical at this point
(SMM only) the full deal is postponed until it would be feasible.
2018-01-10 15:53:49 -05:00
Jarrod Johnson
0c0a450fc2 Implement requisite functions to do chain SMM discovery
Hook into the neighbor data and lldp to identify SMMs.

Still need to provide context to the XCCs based on the chassis-uuid
property.
2018-01-09 17:25:31 -05:00
Jarrod Johnson
0337962cd9 Add lenovo-switch to discovery api
This does not actually allow config deployment, but it can help in
ascertaining access for manual access to a switch.

A proper 'handler' will come later to add configuration, probably with
an emphasis on CNOS rather than ENOS.
2018-01-09 09:17:39 -05:00
Jarrod Johnson
9f5b88eb9f Fix nodemedia upload
Implement the tracking properly
2018-01-04 13:39:51 -05:00