Jarrod Johnson
a7b11d1e15
Fix closing ipmi session when not mapped
...
When not mapped, a noisy KeyError was occuring. Handle
it to avoid cluttering log if the work is not needed.
2019-12-10 14:38:12 -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
3ab1eb7f01
Add words to nodefirmware man page
...
ipmi versus redfish produces some different behaviors, document
some examples in the man page.
2019-12-04 10:14:23 -05:00
Jarrod Johnson
fbfdc9322b
Raise errors during connection
...
This improves error behavior when login action
encounters an error.
2019-12-04 10:06:18 -05:00
Jarrod Johnson
ef68656bde
Fix nodestorage handling of error
...
Error messages were not properly handled if specific nodes had issues.
Properly provide the error messages.
Additionally, clarify a common uselessly vague error.
2019-12-03 10:04:34 -05:00
Jarrod Johnson
0e04b853f6
Fix common usage of noderange alerts
...
This fixes the usual circumstance of not having keyed input data.
2019-11-21 16:42:03 -05:00
Jarrod Johnson
63256e37b6
Remove some uses of xrange
...
Not friendly to python 3
2019-11-21 16:03:48 -05:00
Jarrod Johnson
a1b81e978b
Pull in websocket client dependency
...
This enables tsmsol plugin
2019-11-20 15:25:11 -05:00
Jarrod Johnson
06c53e9d89
Make the websocket module optional
...
Have tsmsol gracefully degrade for Wheezy, where
it is not relevant to that platform.
2019-11-20 13:53:16 -05:00
Jarrod Johnson
ab0168b2ec
Update man page for nodesupport
...
Correct typo and clarify that plugins may customize
filenames.
2019-11-20 10:48:08 -05:00
Jarrod Johnson
473bb39c54
Fix packaging omission of console plugins
2019-11-20 10:04:38 -05:00
Jarrod Johnson
a48ecd8c78
Add hardware and firmware info to CNOS
...
CNOS devices now have nodefirmware and nodeinventory.
2019-11-15 16:08:28 -05:00
Jarrod Johnson
30398fc434
More explicit follower health checking
...
Be more careful about collective member health assessment,
explicitly closing a follower when it has failure and prefacing
collective commands with a check prior to performing the actual
changes.
2019-11-11 10:49:25 -05:00
Jarrod Johnson
0ed7e4eac3
Merge branch 'master' of github.com:jjohnson42/confluent
2019-11-07 11:26:04 -05:00
Jarrod Johnson
0d2999c7a8
Properly relay errors on console start
...
Rather than always saying console.method is not set, relay
the str of the exception to give a more accurate info.
2019-11-07 11:25:49 -05:00
Jarrod Johnson
75010ac6f0
Guard against accidental node duplication
...
If two nodes have same bmc, block one of them to prevent massive
fluctuation back and forth.
2019-11-07 11:10:26 -05:00
Jarrod Johnson
a748cc3032
Remove incorrect check for HOSTUNREACH
...
This seems incorrect and further redundant with other portions
of the code. This was causing a 'has no len()' error when encountered.
2019-11-05 13:28:12 -05:00
Jarrod Johnson
28bb143880
Recognize drive in rebuilding state
...
The rebuilding state was not recognized, add that state.
2019-11-04 14:16:02 -05:00
Jarrod Johnson
4b6899d4af
Mark node as 'dirty' if it's group is removed
...
Group removal would end up with the on-disk copy not reflecting
the node membership, even though in-memory copy is fine.
Fix by adding the missing dirty mark to the entry.
2019-11-04 13:43:29 -05:00
Jarrod Johnson
a175fd7345
Allow autosuffix to change passed filename
...
The resultant file may deviate and thus the chown
must have the updated name.
2019-10-29 16:06:51 -04:00
Jarrod Johnson
12bd473c0d
Remove stray debug output
2019-10-29 15:50:48 -04:00
Jarrod Johnson
a967c224fe
Add TSMSOL plugin
...
This enables ipmi-free access to TSM SOL console
2019-10-29 15:20:40 -04:00
Jarrod Johnson
72a5f37232
Fix mid-line command completion
...
Use COMP_CWORD instead of -1 to dynamically decide where to
do completion and what candidates to offer
2019-10-24 15:27:17 -04:00
Jarrod Johnson
5c081a8e2c
Remove SYSV init script from RPM packages
...
All supported RPM distros are systemd now...
2019-10-24 12:16:17 -04:00
Jarrod Johnson
c0b69f64b8
Error when noderange tries to use secret
...
secret. cannot be used in expressions, provide
an error in such a case.
2019-10-24 12:04:47 -04: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
cec6918c1a
Support unsupported bad disks
2019-10-23 17:02:37 -04:00
Jarrod Johnson
3df7a36c48
Fix a number of issues with maxnodes
...
Some commands did not function correctly
after modifications.
2019-10-23 16:47:42 -04:00
Jarrod Johnson
559e96f7ff
Fix location of calling the noderange check
2019-10-23 16:27:18 -04:00
Jarrod Johnson
6f568919e1
Correct instance callout
...
The wrong value was called out
2019-10-23 15:57:16 -04:00
Jarrod Johnson
c441739f68
Try a less jarring exit strategy
...
Have client not provide a developer looking trace on abort.
2019-10-23 14:41:57 -04:00
Jarrod Johnson
a43361bb98
Amend the prompt for single node prompting
...
Remove the trailing slash
2019-10-23 14:38:45 -04:00
Jarrod Johnson
620263db3e
Add maxnodes argument to potentially risky commands
...
This uses the client maxnodes check to double check. Useful
for clients that want to sanity check unexpectedly large numbers of
nodes.
2019-10-23 14:20:40 -04:00
Jarrod Johnson
dd096104cc
Provide mechanism to prompt on large noderanges
...
Some commands can add options to prompt, and can have that option be
only activated on noderanges over a
certain size.
2019-10-22 15:49:09 -04:00
Jarrod Johnson
191ae762ab
Use autosuffix feature of pyghmi
...
This produces output that is more consistent with support by vendors.
2019-10-22 15:17:31 -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
97ca6dc48e
Provide more detail on leader when leader is lost
2019-10-21 13:55:43 -04:00
Jarrod Johnson
1d59e1da8c
Fix unicode issues in HTML api explorer
2019-10-17 15:36:51 -04:00
Jarrod Johnson
7e6b4fa4d0
Fix HTML view with unicode
2019-10-17 11:25:03 -04:00
Jarrod Johnson
186e89cd87
Fix handling autosense with python3
2019-10-17 09:47:46 -04:00
Jarrod Johnson
73d6511d9e
Use python3 explicitly for building source
...
The source distrobution on CentOS7 does not work well
with python2. Using python3 to build the dist for python2
and python3 fixes issues with extra data being missed in
packaging.
2019-10-16 13:26:15 -04:00
Jarrod Johnson
065ee48325
Remove non-ascii from man page
2019-10-15 14:00:03 -04:00
Jarrod Johnson
4a35cc25f0
Fix TSM setup with python3 and custom credentials
2019-10-15 11:19:04 -04:00
Jarrod Johnson
ceced11ae8
Fix python3 compatibility issue
2019-10-14 16:28:32 -04:00
Jarrod Johnson
62084b3605
More fixes for python3/2 compatibility
2019-10-14 15:22:44 -04:00
Jarrod Johnson
a84b88e269
Fix mistake in the expression change
2019-10-14 15:02:45 -04:00
Jarrod Johnson
fc626d36ba
Fix greenlet 'isAlive'
...
There is no 'isAlive' in a greenlet.
2019-10-14 13:59:24 -04:00
Jarrod Johnson
606a308046
Fix quorum notification in mixed 2/3 collective
2019-10-14 10:33:13 -04:00
Jarrod Johnson
bed0f76dba
Fix nodeshell/nodersync python3 changes
2019-10-14 09:37:30 -04:00
Jarrod Johnson
8c4d04a7cd
Try utf-8 and fallback to latin1 for 2/3 collective
...
datetime objects are latin1 encoded from python2.
Not an issue for pure python3 or python2 collectives, but
mitigating problems in the mixed environment
2019-10-11 13:58:30 -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
d9f1d6c033
Fix user/password login in python3
...
The forced bytes of the function was incompatible
with str oriented logic later
2019-10-11 13:21:55 -04:00
Jarrod Johnson
1dac61adca
Fix python3 in show user
...
Showing a user was not working in python3
2019-10-11 13:16:38 -04:00
Jarrod Johnson
e008932389
Fix python3 collective leader
...
rpc needs to be fully binary
2019-10-11 11:11:27 -04:00
Jarrod Johnson
b81e5fb3ce
Fix python3 issues with noderun and nodeshell
2019-10-11 09:53:01 -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
eb48728bc1
Have stringify replace by default
...
This allows easier handling of invalid decode
data.
2019-10-11 08:57:18 -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
453c344f7f
Fix audit log for non root usage with python 3
2019-10-10 16:07:45 -04:00
Jarrod Johnson
9eceda0636
Fix non-root user issue with python3
2019-10-10 16:04:23 -04:00
Jarrod Johnson
f28b91499e
Fix console replay with formatting
...
Bold and related items would trigger a problem with python3
2019-10-10 15:01:00 -04:00
Jarrod Johnson
8cab591a8b
Add collective member deletion
...
This allows deletion of a dead member, down to deleting down to non-collective
mode.
2019-10-10 11:30:03 -04:00
Jarrod Johnson
6ce6740b77
Provide deletion of collective member
2019-10-10 08:50:42 -04:00
Jarrod Johnson
8a4a219a14
Fix two more python2 string behavior
...
In python3, bytes[n] is an int, but not in python2.
Sidestep by doing bytearray() for both, which is consistent
between the two.
2019-10-09 15:06:23 -04:00
Jarrod Johnson
a39d45d03c
Fix some more python3 issues
2019-10-09 13:42:17 -04:00
Jarrod Johnson
bc85d93cf4
More Py3 fixes
2019-10-09 11:20:03 -04:00
Jarrod Johnson
1e963106fe
Fix unicode issues with web api
2019-10-09 11:03:30 -04:00
Jarrod Johnson
a9f0e345db
Another set of python3 fixes
2019-10-08 17:10:56 -04:00
Jarrod Johnson
5353b479d9
More python3 fixes
2019-10-08 13:46:44 -04:00
Jarrod Johnson
dbc6747c38
Fix nodebmcreset for python3
2019-10-08 13:43:53 -04:00
Jarrod Johnson
0edd1efe0d
Fix python3 dump_keys
...
When doing format on base64
output, it must be explicitly
coerced into native string
format.
2019-10-08 13:21:34 -04:00
Jarrod Johnson
8e87f5b9e5
Fix python3 issue with base64 and str
2019-10-08 11:20:27 -04:00
Jarrod Johnson
0633b2ca67
Fix syntax error in code
2019-10-08 10:59:44 -04:00
Jarrod Johnson
c1953bdad3
Another set of python 3 compatibility
...
Numerous issues arose, particularly
when participating in a mixed
collective.
2019-10-08 10:45:43 -04:00
Jarrod Johnson
578ba06aa3
Fix python3 problem with octal
2019-10-08 09:06:15 -04:00
Jarrod Johnson
0975881d3b
Add monotonic dependency
2019-10-07 17:06:45 -04:00
Jarrod Johnson
8fc3b7c9c0
Implement cross-python collective compat
...
This enables cross-version compatibility
for a collective.
2019-10-07 15:41:38 -04:00
Jarrod Johnson
6ea6ebd80e
Remove superfluous dependency
2019-10-04 16:49:51 -04:00
Jarrod Johnson
744f8899f7
Merge branch 'py3'
2019-10-04 10:57:07 -04:00
Jarrod Johnson
5c288a27dd
Have EL8 use python3 for confluent
2019-10-04 10:54:20 -04:00
Jarrod Johnson
74f18d5571
Client side py3 changes
2019-10-04 10:37:48 -04:00
Jarrod Johnson
d9be6ae2e9
Close console on disconnect
...
Fixes leftover console on user initiated disconnect.
2019-10-04 09:57:54 -04:00
Jarrod Johnson
59789bae7d
Fix python3 ctypes str usage
...
In python3, the string is likely to be unicode and incompatible
with the libc function. If it isn't bytes, force it to be bytes.
2019-10-03 16:06:15 -04:00
Jarrod Johnson
521be5d44d
Further Python3 compatibility changes
...
With this as well as eficompressor and pyghmi updates, things
seem to be in roughly working order
2019-10-03 15:57:56 -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
147d59cba7
Migrate from PyPAM
...
PyPAM is no longer part of the distributions. Closest match is also not in
the distributions and also contains a security problem without an external
patch, so it is pulled in and pull request with copyright and license
intact.
2019-10-01 11:28:43 -04:00
Jarrod Johnson
6a6fd3184e
Add missing dependencies for EL8
2019-09-30 10:51:26 -04:00
Jarrod Johnson
c532cf9ecf
Add EL8 requires adapting to confluent
2019-09-25 15:38:36 -04:00
Jarrod Johnson
8909fb16d6
Change rpm spec to build using python2
...
This will fix shebang mangling.
2019-09-23 11:11:16 -04:00
Jarrod Johnson
44d6bde3ff
Make /usr/bin/env python point to python2
...
Same as before, more RHEL8 compatibility changes
2019-09-23 11:04:52 -04:00
Jarrod Johnson
56fa13279e
Explicitly indicate use of python2
...
RHEL8 will no longer tolerate implicit use of python.
For now relent to being python2, though ideally one day
it could be either.
Unfortunately, this means once code is ready for python3, we have to
probably implement build time changes for python3 enabled distros
to have different shebangs than python2 distros.
2019-09-23 10:59:00 -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
ed320f4a17
Add 'check' to permit comparison against current value
...
For implementing some security policies, it is useful
to check new value against current value.
2019-09-17 09:48:02 -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
99d01d707f
Fix incorrect bad auth on freshly changed password
...
If the database backing the password had changed but cache hadn't updated,
then the cache miss was taken as always meaning no valid login.
2019-09-05 11:09:11 -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
8d6744947e
Extended bmc config support to redfish
...
Though the underlying library is currenty a stub, bring the
confluent plugin to parity so that nodeconfig works fine
with redfish again.
2019-09-03 11:05:51 -04:00
Jarrod Johnson
21b3c89974
Improve redfish plugin errors and attrib handling
...
Redfish plugin was not handling the various socket error
behaviors correctly.
Additionally, the attribschanged handler was failing to actually
do anything, so commands would gladly reuse an old redfish
object if it were working.
2019-09-03 10:06:18 -04:00
Jarrod Johnson
9718881c7b
Merge branch 'master' of github.com:jjohnson42/confluent
2019-08-30 10:22:59 -04:00
Jarrod Johnson
fcbbdc8a8d
Add python-pyopenssl and python-dateutil deps
...
For wheezy, the only supported user wants to
always have collective capability.
Workaround pyghmi missing the dateutil dependency.
2019-08-30 10:22:17 -04:00
Jarrod Johnson
f03bb36dbe
Fix nodeconfig treatment of bmc attributes
...
Make bmc behave like other categories/settings.
2019-08-29 15:24:14 -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
a0e445d1b1
Force MSS down for forwarded connections
...
Some endpoints may not be able to fully handle the natural
MSS suggested by MTU.
2019-08-28 09:16:42 -04:00
Jarrod Johnson
65629548c9
Add support for new BMC config capabilities
...
This enables nodeconfig -r bmc and nodeconfig bmc.<attr> function.
2019-08-27 14:56:19 -04:00
Jarrod Johnson
6cfbf4533c
Add support for BMC clear and extended attributes
...
This wires up new function in pyghmi.
2019-08-27 14:32:16 -04:00
Jarrod Johnson
5794dd7f8c
Add CP storage to discovery
2019-08-22 16:15:01 -04:00
Jarrod Johnson
48fa74e7a9
Explicitly use utf8 when encode error encountered
...
Some platforms do not naturally do utf-8. This is
pretty much always the answer, so try it if the default
encoding of a platform fails.
2019-08-22 08:57:47 -04:00
Jarrod Johnson
59d5110b8f
Also enable ipmi if user sets in console.method
2019-08-20 09:29:25 -04:00
Jarrod Johnson
051d79727b
Fix sysvinit
...
sysvinit lsb function is 'status_of_proc'
2019-08-20 08:59:01 -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
d95464df6f
Add a non-ip network string xmit concept
2019-08-08 16:14:05 -04:00
Jarrod Johnson
3f6e6d4c39
Support unavailable sensors in redfish
2019-08-08 15:02:26 -04:00
Jarrod Johnson
c3176ab86a
Add blink and identify reporting to redfish
2019-08-05 16:22:50 -04:00
Jarrod Johnson
4dab5fc527
Adapt to RHEL or Debian openssl config locations
2019-08-05 16:16:42 -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
480a747dcf
Merge branch 'master' of github.com:jjohnson42/confluent
2019-07-25 13:10:08 -04:00
Jarrod Johnson
af025f7304
Present log name when provided in nodeeventlog
...
Some managers combine logs, allow disambiguation through including in output.
2019-07-25 13:09:52 -04:00
Jarrod Johnson
21edd82177
Extend generic catches in redfish/ipmi
...
Have it provide more detailed error data at
a glance to short out some debug requirements.
2019-07-25 09:28:55 -04:00
Jarrod Johnson
8641885f86
Fix handling of socket error with neighbor
...
If a system is half up, a different sort of timeout is given.
Handle this and also preserve the original exception better
if not one of these two.
2019-07-25 08:52:47 -04:00
Jarrod Johnson
64cc2416d1
Fix list argument
2019-07-24 15:37:01 -04:00
Jarrod Johnson
2787e1d862
Present more data about missing entries from assign csv
...
When doing an assign on csv, present all the missing entries
rather than stopping on the first.
2019-07-23 11:57:35 -04:00
Jarrod Johnson
514a121c15
Print license install errors when provided
...
When the service gives errors installing keys,
relay them to the user.
2019-07-22 11:21:31 -04:00
Jarrod Johnson
00ce48b046
Fix behavior for bad nodelicense arguments
...
Correctly show help and exit if unrecognized
parameter.
2019-07-22 09:27:31 -04:00
Jarrod Johnson
44929e7975
Fix printing of unicode to pipe
...
nodesensors would have a unicode error on pipe output.
2019-07-19 15:36:43 -04:00
Jarrod Johnson
da82fef0cb
Have nodelist use nodeattrib completion
...
Since nodelist may also show attribute values, use same completion function.
2019-07-19 14:22:19 -04:00
Jarrod Johnson
efcac0b181
Fix nodesensors -n with csv
2019-07-19 14:12:40 -04:00
Jarrod Johnson
46e2f53018
Always use GCM on encrypt
...
Continue to support read using the old scheme, but even when
an integrity key is available, only use it to aid in decrypting
classic format, and always write in new format.
2019-07-17 08:51:06 -04:00
Jarrod Johnson
cf51928b3d
Implement GCM and close gap in the HMAC
...
When generating key material from scratch, skip HMAC and
activate GCM mode.
When using existing CBC/HMAC keys, start covering the IV value
in the HMAC. For compatibility, HMAC validity is checked with
and without IV.
2019-07-16 18:32:23 -04:00
Jarrod Johnson
151ba2e567
Add error messages to nodeattrib clear
...
nodeattrib -c was not reporting useful error information.
2019-07-15 13:28:09 -04:00
Jarrod Johnson
bc87077397
Fix error handling and consistency in networking
...
by-port specification was inconsistent and unhelpful in error between macmap and lldp.
2019-07-15 11:07:59 -04:00
Jarrod Johnson
a77b65737e
Suppress usage on nodefirmware error
...
It is very bizarre to have the usage output
after an error.
2019-07-12 12:10:22 -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
a0ea8eeae3
Fix nodediscover support of bmc_gateway
...
The command expected spaces, but documentation
said underscore, support both old csvs and doc
compliant csvs.
2019-07-11 15:36:31 -04:00
Jarrod Johnson
6ad1ce4df5
Back off concurrent retrieval.
...
Some BMCs are incapable of handling concurrent requests.
This is a blow particularly to high latency management given
Redfish's tendency to require a lot of resource fetches, but
we don't have a particularly discoverable strategy for knowing
in advance whether an implementation is up for some optimization.
2019-07-11 11:41:42 -04:00
Jarrod Johnson
c53264872a
Fix scenario with undefined passlength
...
If passwordcomplexity were requested without a passwordlength,
things would be a problem.
2019-07-11 10:53:43 -04:00
Jarrod Johnson
d9f2c0b266
Correct mistake in setting names
2019-07-11 10:40:49 -04:00
Jarrod Johnson
d528d45820
Add configuration to opt into password policies.
2019-07-11 10:19:46 -04:00
Jarrod Johnson
4eeac8d71a
Explore password evaluation as an option.
...
Password rules may be relevant to some scenarios. In such a case, this
can provide guidance if the BMC does not have such a facility or
alternatively provide friendlier warnings than the BMC provides
around shortcomings of the password.
2019-07-10 15:32:47 -04:00
Jarrod Johnson
6cc0eb0797
Add reassign to nodediscover
...
Allow nodediscover to do 'reassign' to repeat discovery process for a discovered
node, without requiring an additional identifier.
2019-07-09 13:53:30 -04:00
Jarrod Johnson
bfd0de1a4a
Add expiration to more places
2019-07-09 13:26:48 -04:00
Jarrod Johnson
a787ac62c3
Add expiration data from ipmi plugin
...
When pyghmi provides the information, enrich the return
data.
2019-07-09 12:48:56 -04:00
Jarrod Johnson
fd9b4a8650
Add support for expiration data, when available
2019-07-09 10:55:33 -04:00
Jarrod Johnson
373bf3dca7
Remove stray whitespace
...
Fix formatting mistakes
2019-07-09 10:18:34 -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
fbc4fc6846
Make unexpected error more specific
...
Often a usable summary message is obfuscated. Assume the subject line
is safe to relay, but continue to do a more verbose trace.
2019-07-08 14:28:56 -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
b7ff093e48
Fix ubuntu package install location
2019-07-02 14:42:45 -04:00
Jarrod Johnson
7275e98039
Remove IPMI specific parameters to user
...
Users cannot have these settings in redfish
2019-07-01 11:23:28 -04:00
Jarrod Johnson
2b0c50dc23
Refresh connection parameters on retry
...
If the parameters changing cause a login failure,
take the opportunity to refresh that information to work
in the midst of a rediscover, for example.
2019-07-01 09:15:01 -04:00
Jarrod Johnson
54439d5f18
Fix cause of former 'login process died'
...
If a session died without calling logged, the confluent plugin
instance would be orphaned. Detect this situation to trigger a
retry.
2019-07-01 09:05:08 -04:00
Jarrod Johnson
65b4cbe8cc
Revised fix for redfish name missing case
2019-06-28 16:02:19 -04:00
Jarrod Johnson
c8931ae6e7
Revert "Carry fix for null names to redfish"
...
This reverts commit 8bbeeafa49 .
2019-06-28 16:01:26 -04:00
Jarrod Johnson
083f5c8654
Add python-dateutil rpm dependency
2019-06-28 15:41:17 -04:00
Jarrod Johnson
8bbeeafa49
Carry fix for null names to redfish
2019-06-28 15:14:59 -04:00
Jarrod Johnson
422f210f74
Handle adapters with null names
...
Under some situations, null names are given
for adapters, apply generic treatment to such
devices.
2019-06-28 15:13:56 -04:00
Jarrod Johnson
2e6029bd2c
Add a location.height attribute
...
This permits user to specify height for either unsupported systems
or to speed up the rackview drawing.
2019-06-28 09:30:53 -04:00
Jarrod Johnson
81c0adbbe3
More python 3 compatibility fixes
...
Improve more commands and modules to parse and execute under python 3.
2019-06-28 08:51:57 -04:00
Jarrod Johnson
6d5f0cdb16
Make TCP_FASTOPEN opportunistic
...
Certain Linux-like but not Linux environments fail
at this.
2019-06-27 15:36:27 -04:00
Jarrod Johnson
c633286019
Add missing dateutil dependency to apt
2019-06-27 15:31:00 -04:00
Jarrod Johnson
ba113d6445
Fix various python2-isms
...
This is far from a complete python3 support, but it lets a significant volume
of remote commands run under python3
2019-06-27 15:28:59 -04:00
Jarrod Johnson
d2efb16c71
Remove unneeded line
2019-06-27 15:21:35 -04:00
Jarrod Johnson
739e302506
Add an example for just disabling password complexity
2019-06-27 15:20:24 -04:00
Jarrod Johnson
ae181b7753
Improve nodelicense error messages
...
Check and exit should the file or directory not exist.
2019-06-26 13:24:24 -04:00
Jarrod Johnson
b76b415a6e
Update nodelicense man page
2019-06-26 08:45:11 -04:00
Jarrod Johnson
ef2b324eed
Flush csv output per row
...
Improve responsiveness of csv output when piping
2019-06-25 11:03:50 -04:00
Jarrod Johnson
ffe9606de1
Auto-repair 'login process died' condition
...
The cause is still unknown, but we should be able to at least
repair automatically.
2019-06-24 16:34:56 -04:00
Jarrod Johnson
8ed2d5a551
Fix confulent2xcat usage text
...
It was incorrectly referencing ansible.
2019-06-24 14:17:32 -04:00
Jarrod Johnson
3501b3c347
Add state info to all licenses
...
The all resource was not retrieving the licenses.
2019-06-21 15:52:24 -04:00
Jarrod Johnson
e55314d759
Add display of inactive licenses
...
Inactive licenses are also an issue.
2019-06-21 10:17:52 -04:00
Jarrod Johnson
27410a9b6b
Fix discover of XCC
...
Incorrect module path was indicated.
2019-06-20 10:56:09 -04:00
Jarrod Johnson
2db01746d5
Support deletion of licenses from XCC
2019-06-19 16:35:24 -04:00
Jarrod Johnson
208be0beef
Implement nodelicense save
...
Add ability to save licenses from
the XCC.
2019-06-19 15:43:45 -04:00
Jarrod Johnson
d34f8af798
Rework redfish support for user management
...
The redfish user management api couldn't quite be identical,
adjust to the changes.
2019-06-13 15:02:53 -04:00
Jarrod Johnson
b2013e93c5
Mitigate performance impact of oem sensors
...
The sensormap was being regenerated each time a sensor
was asked for. Make the sensor map
a more perisstent fixture.
2019-06-12 14:47:28 -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
7e4dcfa99c
Merge branch 'master' of github.com:jjohnson42/confluent
2019-06-11 11:07:31 -04:00
Jarrod Johnson
ee82831370
Do not flag file: as insecure
...
Locally hosted media should not be considered
insecure.
2019-06-11 11:06:59 -04:00
Jarrod Johnson
0869669ef6
Better isolate system config fault
...
System configuration fault will now be contained to node.
2019-06-07 16:57:03 -04:00
Jarrod Johnson
6a77a13539
Improve error for unserializable collective data
...
XML errors turn out to be unserializable. Catch this general
class of problems and provide a less devastating behavior.
Doing an xml.fromstring('') is an example of how to trigger it.
2019-06-07 16:47:17 -04:00
Jarrod Johnson
56e9a67ef8
Fix boundary issue on oversize file
...
If the logfile is large enough to cause
a struct.error, just force a size
roll and continue.
Also unconditionally unlock the file.
2019-06-07 15:54:12 -04:00
Jarrod Johnson
52d5eb9876
Add stripsize to the redfish plugin
...
Storage creation was not passing through the stripsize parameter.
2019-06-07 09:34:29 -04:00
Jarrod Johnson
b819a488f1
Mirror hotspare handling from ipmi to redfish
...
The redfish plugin should handle the same disk information as ipmi plugin.
2019-06-06 15:13:19 -04:00
Jarrod Johnson
3fc31f7332
Add dedicated hot spare information
...
If an array contains dedicated hot spare, properly
report it alongside the member disks.
2019-06-06 11:37:30 -04:00
Jarrod Johnson
21c3579287
Add setdisk and stripsize
...
More nodestorage improvements.
2019-06-05 15:54:29 -04:00
Jarrod Johnson
4a094f669e
Do not break for zsh users
...
The completion functionality shall be skipped
unless the shell is bash specifically.
2019-06-05 14:27:08 -04:00
Jarrod Johnson
67eecffd29
Force stripsize to numeric
...
This should be a numeric value, even if it came in as a string.
2019-06-05 11:22:35 -04:00
Jarrod Johnson
e288e8bad5
Add stripsize to the input on volume
...
Explictly ensure a stripsize key.
2019-06-05 11:16:44 -04:00
Jarrod Johnson
a8cad7a70f
Add stripsize to API
...
Allow the caller to select a custom stripsize if desired.
2019-06-04 16:33:10 -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
e09c2ed8eb
Support more convoluted detail
...
Some uefi settings details contain
more tricky detail information.
2019-06-03 15:30:32 -04:00
Jarrod Johnson
cd5366e73f
Fix nodeconfig for non-ascii choices
2019-05-31 14:47:07 -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
Jarrod Johnson
6800c8055c
Implement IPMI-free xcc config (work in progress)
2019-05-29 14:31:39 -04:00
Jarrod Johnson
ffc55b1594
Reduce concurrency to redfish targets
...
Some redfish implementations did
not handle a relatively open ended barrage
of concurrent requests. Try limitting to 4 concurrent
requests to evaluate how the implementations handle it.
2019-05-20 11:03:26 -04:00
Jarrod Johnson
481342340e
Fix potential nodesensors crash
...
There is a tiny chance that time will tick between two
calls. This fixes it.
2019-05-16 14:37:18 -04:00
Jarrod Johnson
d33c6be758
Fix forwarder over custom https ports
2019-05-16 14:36:39 -04:00
Jarrod Johnson
44f3630cf5
Further amend formatting of nodestorage manual
2019-05-14 13:56:20 -04:00
Jarrod Johnson
3eaba23e6f
Fix formatting of nodestorage man page
2019-05-14 13:53:28 -04:00
Jarrod Johnson
5ac0a6e650
Fix raid configuration for operator
...
Operator was not allowed to create arrays.
2019-05-14 10:42:42 -04:00
Jarrod Johnson
9ac83665c6
Isolate redfish node errors
...
If code experiences an issue specific to a node, isolate that fault to the node.
2019-05-13 14:37:47 -04:00
Jarrod Johnson
30f9d28c2c
Merge branch 'master' of github.com:jjohnson42/confluent
2019-05-13 13:36:17 -04:00
Jarrod Johnson
0168e46f24
Isolate individual node errors in ipmi plugin
...
If an individual node experiences an unexpected error,
isolate the fallout to that specific node.
2019-05-13 13:35:03 -04:00
Jarrod Johnson
067e99d6ce
Merge branch 'master' of github.com:jjohnson42/confluent
2019-05-10 14:56:48 -04:00
Jarrod Johnson
ad828e609d
Reduce bad default login tries
...
For an SD530 XCC, we would incur 4 attempts at default:
-To pre-config enable SMM, we try once
-Due to pyghmi auto-degrade, try again as oper
-Then during the actual config phase, try again
-Again, try again as oper
Now with pyghmi opt-out, we will force to try only as admin, eliminating the second try.
The SD530 code will now mark that the default creds failed so that
the config phase will know to skip that.
2019-05-10 14:34:39 -04:00
Jarrod Johnson
cc5a5c9972
Fix operator add and delete of nodes
...
This permits operators to run nodedefine and noderemove.
2019-05-10 13:15:19 -04:00
Jarrod Johnson
cd2361b80b
Fix nodediscover clear for operators
...
Operators should be allowed to delete discovery data.
2019-05-10 13:11:04 -04:00
Jarrod Johnson
c042583a64
Add support for CSV formatted data
...
Presume CSV semantics for input.
2019-05-10 11:08:12 -04:00
Jarrod Johnson
e32d3cf4cc
Add auto-index determination to stats
...
This allows it to auto-skip over units, for example.
2019-05-10 10:34:56 -04:00
Jarrod Johnson
2b86c878a8
Cleanly handle bad credentials in redfish
...
Provide a similar experience to the ipmi plugin.
2019-05-07 16:19:30 -04:00
Jarrod Johnson
3564de8c6d
Fix web consoles/shells for operators
...
Operator role needed more permissions to act as expected.
2019-05-07 15:58:34 -04:00
Jarrod Johnson
7b5361a019
Add expressions to Operator role
...
noderun/nodeshell would not work for operators without this.
2019-05-03 09:06:20 -04:00
Jarrod Johnson
65e1dfcc57
Fix nodesensors with redfish plugin
...
redfish plugin does not produce the same data as ipmi,
tolerate that difference.
2019-05-02 10:54:15 -04:00
Jarrod Johnson
ba039e9e3e
Fix nodeeventlog on ipmi devices
...
Changes for redfish broke against ipmi plugin
2019-05-02 10:21:24 -04:00
Jarrod Johnson
a6809aae98
Add Monitor role
...
Add a monitor role that is only viable for monitoring relevant
tasks.
2019-05-02 10:04:40 -04:00
Jarrod Johnson
4d5bfb13bf
Add support for Operator role
...
Support a reduced privilege user that can still perform
most operations, but cannot modify, delete, or add
users/groups to confluent or to BMCs.
2019-05-01 16:57:15 -04:00
Jarrod Johnson
93e9a54e86
Relay redfish error strings to client
...
This provides a much better experience than 'unexpected'
error.
2019-05-01 11:46:02 -04:00
Jarrod Johnson
25028c8acc
Merge branch '2.2.cme'
2019-05-01 09:18:09 -04:00
Jarrod Johnson
906c671d90
Fix misakes in usergroups
...
Deletion was incorrect and restore from json did not work.
2019-04-30 16:18:36 -04:00
Jarrod Johnson
8fbd99cf5c
Fix misakes in usergroups
...
Deletion was incorrect and restore from json did not work.
2019-04-30 16:18:12 -04:00
Jarrod Johnson
c86ac2885f
Fix overly verbose log on client close
...
When a client would close (e.g. an unathenticated nodelist),
a large trace be logged. Fix by returning silently in such a case.
2019-04-30 15:27:50 -04:00
Jarrod Johnson
952fa3d022
Add user groups to confluent
...
This allows a system/ldap group to be used instead of directly
specifying individual authorized users.
2019-04-30 15:27:41 -04:00
Jarrod Johnson
90e0f93d37
Module to assist with advanced user manipulation
...
Currently holds the logic to ascertain the system groups
for a system user.
2019-04-30 15:27:34 -04:00
Jarrod Johnson
d78adc334d
Fix overly verbose log on client close
...
When a client would close (e.g. an unathenticated nodelist),
a large trace be logged. Fix by returning silently in such a case.
2019-04-30 15:03:55 -04:00
Jarrod Johnson
31f2161b57
Add user groups to confluent
...
This allows a system/ldap group to be used instead of directly
specifying individual authorized users.
2019-04-30 14:55:54 -04:00
Jarrod Johnson
571a34cba2
Module to assist with advanced user manipulation
...
Currently holds the logic to ascertain the system groups
for a system user.
2019-04-30 13:23:26 -04:00
Jarrod Johnson
52fa5158f6
Fix display of final bin members in verbose
2019-04-26 16:51:44 -04:00
Jarrod Johnson
907f66ae8b
Have the range be more precise on verbose
2019-04-26 16:43:53 -04:00
Jarrod Johnson
c8c275f804
Fix indentation error
2019-04-26 16:40:47 -04:00
Jarrod Johnson
7a08fee4b5
Actually fix the verbose range
2019-04-26 16:29:33 -04:00
Jarrod Johnson
36f0d888cd
Fix the verbose output boundaries.
2019-04-26 16:17:28 -04:00
Jarrod Johnson
81451a6451
Add options to stats
...
Implement verbose, text plot, and custom select bins
2019-04-26 16:04:01 -04:00
Jarrod Johnson
02eb195e3f
Change topline of script to be consistent
2019-04-25 14:47:20 -04:00
Jarrod Johnson
87e7a90c37
Move stats into the client
...
stats is good enough to be promoted from prototype to a confluent
client component.
2019-04-25 14:46:18 -04:00
Jarrod Johnson
bafc25005f
Flesh out stats with arguments
2019-04-25 14:45:47 -04:00
Jarrod Johnson
33c1137ccf
Remove use of tmp file in stats
2019-04-25 13:59:15 -04:00
Jarrod Johnson
abfeef5a0a
Merge branch '2.2'
2019-04-25 13:53:41 -04:00
Jarrod Johnson
e81579f414
Add a prototype stats command for CLI commands
2019-04-25 13:53:34 -04:00
Jarrod Johnson
47edb1dbd1
Add a prototype stats command for CLI commands
2019-04-25 13:51:50 -04:00
Jarrod Johnson
6a8cb8deaa
Merge branch '2.2'
2019-04-22 13:17:16 -04:00
Jarrod Johnson
c6516f9d62
Support redfish event logs
2019-04-22 12:54:49 -04:00
Jarrod Johnson
72448aa0b4
Disable MIB resolution for raw requests
...
MIB resolution turns out to be rather CPU intensive, and the
current SNMP consumers don't want the resolution anyway.
2019-04-16 08:49:32 -04:00
Jarrod Johnson
6290c169f5
Disable MIB resolution for raw requests
...
MIB resolution turns out to be rather CPU intensive, and the
current SNMP consumers don't want the resolution anyway.
2019-04-16 08:46:50 -04:00
Jarrod Johnson
e5bbd226ff
Add completion for attributes in node*attrib
...
Make some of the tedium of the long attribute names bearable
through tab completion.
2019-04-15 14:01:59 -04:00
Jarrod Johnson
037ed43c70
Merge branch 'master' of github.com:jjohnson42/confluent
2019-04-15 13:48:20 -04:00
Jarrod Johnson
0a816acf4f
Add completion for attributes in node*attrib
...
Make some of the tedium of the long attribute names bearable
through tab completion.
2019-04-15 13:38:56 -04:00
Jarrod Johnson
2c9c778ca7
Fix compatibility without module_type
...
Some vendors do not provide module_type
value. For such vendors, simply omit
the information rather than fail.
2019-04-15 11:08:56 -04:00
Jarrod Johnson
bf005eace6
Merge branch 'master' of github.com:jjohnson42/confluent
2019-04-11 16:27:13 -04:00
Jarrod Johnson
34c6d6a4d7
Choose an easier name for the reader
2019-04-11 16:26:59 -04:00
Jarrod Johnson
b402ddd656
Add more keystrokes and easier use
...
No longer require cbl file be specified manually.
2019-04-11 16:26:14 -04:00
Jarrod Johnson
1ae055fa8f
Add '-n' option to nodeshell and noderun
...
Provide ability to suppress node prefix for nodeshell.
This for example can be a quick 'makehosts' substituted and
similar.
2019-04-11 09:18:37 -04:00
Jarrod Johnson
89cf255ae7
Add '-n' option to nodeshell and noderun
...
Provide ability to suppress node prefix for nodeshell.
This for example can be a quick 'makehosts' substituted and
similar.
2019-04-11 09:17:38 -04:00
Jarrod Johnson
c070148aed
Fix adequate check on inadequate IMMs
2019-04-08 10:15:27 -04:00
Jarrod Johnson
d6097ca706
Merge branch 'master' of github.com:jjohnson42/confluent
2019-04-08 10:15:10 -04:00
Jarrod Johnson
c3eed19309
Fix adequate check on inadequate IMMs
2019-04-08 10:14:49 -04:00
Jarrod Johnson
40dbe63336
Script to disable password expiry after expired on SMM
2019-04-05 16:53:32 -04:00
Jarrod Johnson
d6ecee955b
Skip empty nodes list
...
A noderange based nodegroup would have
the empty nodes list cluttering the output.
Skip empty nodes list in current settings.
2019-04-05 09:37:14 -04:00
Jarrod Johnson
d7d3ae344c
Skip empty nodes list
...
A noderange based nodegroup would have
the empty nodes list cluttering the output.
Skip empty nodes list in current settings.
2019-04-05 09:17:45 -04:00
Jarrod Johnson
5c4944a1e4
Provide a sample script for fixing expired credentials
2019-04-05 08:37:31 -04:00
Jarrod Johnson
06b31f4845
Add man page for collective command
2019-04-04 10:18:34 -04:00
Jarrod Johnson
7fecd0ac5c
Add man page for collective command
2019-04-04 10:18:06 -04:00
Jarrod Johnson
36d5d60edc
Autofill collective.manager on discovery if not set
...
To improve the ease of use, if an administrator has a collective but
does not designate a collective.manager for a node being discovered,
default to the collective member that executes the discovery.
2019-04-04 09:50:26 -04:00
Jarrod Johnson
6e26b19c67
Autofill collective.manager on discovery if not set
...
To improve the ease of use, if an administrator has a collective but
does not designate a collective.manager for a node being discovered,
default to the collective member that executes the discovery.
2019-04-04 09:49:02 -04:00
Jarrod Johnson
16430e1ec9
Enhance collective usage output
...
Collective usage output provided no hints as to how to access more detailed
help. Amend the wording to make this more clear/obvious.
2019-04-03 14:23:50 -04:00
Jarrod Johnson
5d572f17f9
Enhance collective usage output
...
Collective usage output provided no hints as to how to access more detailed
help. Amend the wording to make this more clear/obvious.
2019-04-03 14:23:30 -04:00
Jarrod Johnson
ae49cf290e
Fix key hold-down behavior in cbl reader
...
The retry print could get stuck in loop and the input
could queue up too many keypresses.
2019-04-03 11:44:05 -04:00
Jarrod Johnson
5ead803c8a
Fix up the injected clear delimiting
...
The delimiting was not being navigated correctly.
2019-04-03 10:38:35 -04:00
Jarrod Johnson
7232a0c1b3
Fix SLP hangs on bad targets
...
Have SLP timeout if there are endpoints that can half-hang
a connection.
2019-04-03 08:35:25 -04:00
Jarrod Johnson
dce25d802e
Fix SLP hangs on bad targets
...
Have SLP timeout if there are endpoints that can half-hang
a connection.
2019-04-03 08:34:42 -04:00
Jarrod Johnson
835d1fc0ab
Update the pyopenssl message
...
It makes it more clear that a restart would be
required to pull in updated dependency.
2019-04-02 09:40:18 -04:00
Jarrod Johnson
c28a963d62
Update the pyopenssl message
...
It makes it more clear that a restart would be
required to pull in updated dependency.
2019-04-02 09:39:06 -04:00
Jarrod Johnson
9fd091daad
Tolerate an XCC with downed web service
...
Make the best of the situation by trying to continue
without the policy applied.
2019-04-02 09:37:33 -04:00
Jarrod Johnson
3c21ca8739
Tolerate an XCC with downed web service
...
Make the best of the situation by trying to continue
without the policy applied.
2019-04-02 09:36:37 -04:00
Jarrod Johnson
996b1ba45b
Rework prototype cbl reader
...
It is still not right, but it is a bit easier to work with
to figure out what's wrong with it.
2019-04-01 16:56:14 -04:00
Jarrod Johnson
4af1f998fb
Fix nodeconfig formatting
...
The man page did not have a hard line break.
2019-04-01 14:19:18 -04:00
Jarrod Johnson
b2c1137321
Fix nodeconfig formatting
...
The man page did not have a hard line break.
2019-04-01 14:16:20 -04:00
Jarrod Johnson
d484e9db43
Update log.py comment for accuracy
...
The metadata format was out of date.
2019-04-01 10:35:20 -04:00
Jarrod Johnson
6397709e47
Try to force split across clear screens
2019-03-29 17:07:01 -04:00
Jarrod Johnson
e0c0f0f1f3
Greatly flesh out the cbl reader
2019-03-29 16:01:40 -04:00
Jarrod Johnson
ca29f6ae35
Opportunisticly start mac rescan on rescan
...
While the network rescan might be too slow to hold up
general rescan, at least begin a rescan of switches
when a rescan is requested.
2019-03-29 14:03:00 -04:00
Jarrod Johnson
2c8681a9f3
Opportunisticly start mac rescan on rescan
...
While the network rescan might be too slow to hold up
general rescan, at least begin a rescan of switches
when a rescan is requested.
2019-03-29 14:01:36 -04:00
Jarrod Johnson
b927572872
Sample file for processing CBL files
2019-03-29 11:17:05 -04:00
Jarrod Johnson
b5df380ee4
Update nodeinventory for redfish memory
...
Redfish doesn't present some data that was in the IPMI spec
2019-03-28 13:37:13 -04:00
Jarrod Johnson
5c61430ccc
Add wildcard documentation to noderange man page.
2019-03-28 11:15:28 -04:00
Jarrod Johnson
2b275cd369
Add wildcard documentation to nodeattrib/nodelist
2019-03-28 11:15:23 -04:00
Jarrod Johnson
f79dac7bd2
Add wildcard documentation to noderange man page.
2019-03-28 11:14:29 -04:00
Jarrod Johnson
fc5f16fb01
Add wildcard documentation to nodeattrib/nodelist
2019-03-28 11:12:36 -04:00
Jarrod Johnson
907d25164f
Replace the network error with a local error
...
This is a bit more clear about the cause when local commands fail.
2019-03-28 11:03:57 -04:00
Jarrod Johnson
0b85fab529
Replace the network error with a local error
...
This is a bit more clear about the cause when local commands fail.
2019-03-28 11:03:33 -04:00
Jarrod Johnson
adb4ce919e
Fix nodegrouplist man page
2019-03-28 10:14:30 -04:00
Jarrod Johnson
9379c85d0e
Fix nodegrouplist man page
2019-03-28 10:05:35 -04:00
Jarrod Johnson
11ffa7a091
Fix debian build process
2019-03-26 13:50:15 -04:00
Jarrod Johnson
bacba8972a
Fix debian build process
2019-03-26 13:49:54 -04:00
Jarrod Johnson
5404497e70
Change wheezy to depend on old package name
2019-03-26 13:47:06 -04:00
Jarrod Johnson
70690517de
Change wheezy to depend on old package name
2019-03-26 13:46:39 -04:00
Jarrod Johnson
a3162daf62
Skip pushing static config if config already matches
...
A strategy of manually adding DHCP managed nodes produced static-baking
when not desired. For now skip the baking in if the address matches.
2019-03-26 13:44:24 -04:00
Jarrod Johnson
8c886b751c
Skip pushing static config if config already matches
...
A strategy of manually adding DHCP managed nodes produced static-baking
when not desired. For now skip the baking in if the address matches.
2019-03-26 13:43:30 -04:00
Jarrod Johnson
69630edfa9
Handle more generics from Lenovo Redfish
...
Several generics can come back for adapters, handle them to trigger
pcie enhanced lookup.
2019-03-25 15:45:36 -04:00
Jarrod Johnson
cdce1f1833
Add concurrency pool to pyghmi usage
...
pyghmi adds pool for concurrency, utilize that to accelerate operations
that need multiple resources in parallel.
2019-03-22 15:56:58 -04:00
Jarrod Johnson
48079f297b
Change wheezy name to python-confluent...
2019-03-19 15:03:41 -04:00
Jarrod Johnson
bf24d0f501
Change wheezy name to python-confluent...
2019-03-19 15:03:06 -04:00
Jarrod Johnson
1d6111b8dd
Merge branch 'master' of github.com:jjohnson42/confluent
2019-03-18 15:02:55 -04:00
Jarrod Johnson
e59d237d11
Add draft redfish plugin
...
It can do power, system config, set boot device, identify.
2019-03-18 15:02:21 -04:00
Jarrod Johnson
fb3dc9a200
Merge branch 'master' of github.com:jjohnson42/confluent
2019-03-14 13:07:09 -04:00
Jarrod Johnson
b0d2d44b75
Update to follow DCD
...
The DCD signal can be used to detect remote connect attempt
2019-03-14 13:05:59 -04:00
Jarrod Johnson
f1e83d938b
Add carrier detect to autocons sample
...
For genesis, not necessarily relevant, but may be
very relevant for OS behaviors in other contexts.
2019-03-14 09:33:58 -04:00
Jarrod Johnson
e643b7ed7d
Remove inadvertent duplicate command
...
Harmless, but should be removed.
2019-03-13 15:13:13 -04:00
Jarrod Johnson
163b29a07c
Update autocons.py
...
This is the version that landed in xCAT genesis
2019-03-13 15:05:42 -04:00
Jarrod Johnson
c5fa0bfd79
Draft attempt at autocons utility
...
Make every effort to do early boot console enablement.
2019-03-12 19:31:16 -04:00
Jarrod Johnson
a258653186
Merge branch 'master' of github.com:jjohnson42/confluent
2019-03-11 09:08:28 -04:00
Jarrod Johnson
656e82c3fe
Speed up cnos health and add stubs
...
Add concurrency to accelerate nodehealth and provide stubs
for the as-yet unimplemented functionality.
2019-03-08 16:05:42 -05:00
Jarrod Johnson
898ff065e0
Merge branch 'master' into umaster
2019-03-08 16:04:19 -05:00
Jarrod Johnson
779b5c9ede
Speed up cnos health and add stubs
...
Add concurrency to accelerate nodehealth and provide stubs
for the as-yet unimplemented functionality.
2019-03-08 16:02:52 -05:00
Jarrod Johnson
5be08ddb1d
Fix missing sub-health info on CNOS health
2019-03-08 13:38:38 -05:00
Jarrod Johnson
16abf7cb64
Fix missing sub-health info on CNOS health
2019-03-08 13:38:15 -05:00
Jarrod Johnson
269acf9943
Add CNOS plugin for Lenovo switches
2019-03-08 13:26:34 -05:00
Jarrod Johnson
c649ae5fec
Have it appropriate do IPv4 and IPv6
2019-03-08 13:25:53 -05:00
Jarrod Johnson
c3f2e131b2
Add CNOS plugin for Lenovo switches
2019-03-08 13:25:04 -05:00
Jarrod Johnson
4124e0fcc0
Add ability for noderange to wildcard attrib names
...
Useful for net.*attribs to search when nic is unknown.
2019-03-07 15:20:19 -05:00
Jarrod Johnson
0e2e6267cd
Add ability for noderange to wildcard attrib names
...
Useful for net.*attribs to search when nic is unknown.
2019-03-07 15:19:17 -05:00
Jarrod Johnson
e8119d330d
Add IPv4 search to copernicus search
2019-03-07 10:24:26 -05:00
Jarrod Johnson
5ae6717709
Rename findconfluent
2019-03-07 08:57:52 -05:00
Jarrod Johnson
0cd94447f7
Update to search multiple interfaces
2019-03-06 16:48:37 -05:00
Jarrod Johnson
ce4f8c1837
Sample C code for locating confluent server
2019-03-06 16:22:55 -05:00
Jarrod Johnson
8ad06f79e7
Add nodersync
...
This provides bulk transfer with status to a noderange.
2019-03-04 14:28:52 -05:00
Jarrod Johnson
5481da269e
Merge branch 'master' into 2.2
2019-03-01 15:27:40 -05:00
Jarrod Johnson
6ea307d415
Add nodegrouprename command
2019-03-01 15:27:13 -05:00
Jarrod Johnson
59aa23b2f5
Add noderename command
2019-03-01 15:21:29 -05:00
Jarrod Johnson
4446308030
Add ability to rename nodegroups
...
If we can rename nodes, should be able to rename groups.
2019-03-01 15:03:43 -05:00
Jarrod Johnson
7703c6c2ab
Enable Server Portion of renamae node
...
This plumbs up through the messages and attributes plugin.
2019-03-01 14:37:07 -05:00
Jarrod Johnson
f5b6d434f3
Fix node collection function signature
2019-03-01 13:37:13 -05:00
Jarrod Johnson
8ce5a7dccf
Phase 1 of node rename support
...
Provide foundation for node renaming, including
updating groups and inheritance and notifying collection
watchers of the change, and updating the existing watchers
with the new notification fingerprint.
2019-03-01 13:21:57 -05:00
Jarrod Johnson
23c9e6315a
Update node collection handlers for renamed
...
Rename support will provide a map of old to new name. Have the
existing node collection watchers accept a new argument.
2019-02-28 15:57:35 -05:00
Jarrod Johnson
38f9583be3
Implement direct add switches
...
Allow addition of switches without associated
nodes. This allows populating mac database
without requiring associated nodes.
2019-02-28 13:00:12 -05:00
Jarrod Johnson
1b355ec468
Merge branch 'master' of github.com:jjohnson42/confluent
2019-02-28 12:59:52 -05:00
Jarrod Johnson
2bbf4b9e98
Implement direct add switches
...
Allow addition of switches without associated
nodes. This allows populating mac database
without requiring associated nodes.
2019-02-28 12:59:41 -05:00
Jarrod Johnson
1248894cf3
Amend nodegrouplist command
2019-02-28 10:24:24 -05:00
Jarrod Johnson
c43365d2dd
Merge pull request #102 from andywray/master
...
Add nodegrouplist
Will fix after merge
2019-02-28 10:17:43 -05:00
Jarrod Johnson
4e7c098e75
Remove stub of unimplemented set
...
nodestorage set for manipulating hotspare
and jbod was not done in time.
2019-02-28 09:16:25 -05:00
Jarrod Johnson
ef6c89b883
Add man page for nodestorage
2019-02-28 09:13:57 -05:00
Jarrod Johnson
99c06813d9
Fix clearing validated attributes
...
Attributes that are validated can come
in as None to clear them, accept this
as valid as well.
2019-02-27 14:58:26 -05:00
Jarrod Johnson
686b59c2b4
Friendlier error on read during update
...
Firmware update error now sends a more friendly error to client.
2019-02-26 16:40:06 -05:00
Jarrod Johnson
46b909c291
Document nodesupport download behavior
...
nodesupport downloads locally, and does
not send through the client. Document
the consequence of this for now.
2019-02-26 16:26:07 -05:00
Jarrod Johnson
9abb163c7e
Merge branch 'master' of github.com:jjohnson42/confluent
2019-02-26 15:27:23 -05:00
Jarrod Johnson
7e25dd805f
Update nodesupport usage
...
servicedata is, as yet, mandatory
2019-02-26 15:27:07 -05:00
Jarrod Johnson
31220292e5
Try debian build with minimum on breaks/replaces
2019-02-26 14:22:19 -05:00
Jarrod Johnson
161cf37f46
Fix nodediscover order and csv together
2019-02-26 13:57:11 -05:00
Jarrod Johnson
ad64cda249
Rework transition package logic
2019-02-26 13:39:11 -05:00
Jarrod Johnson
db812ac292
Specify confluent client deb name
2019-02-26 13:02:04 -05:00
Jarrod Johnson
a322118877
Fix debian build
2019-02-26 11:09:23 -05:00
Jarrod Johnson
ebfbbcca23
Fix reference to the logger class
2019-02-26 10:21:12 -05:00
Jarrod Johnson
275525d3f3
Add pointer to omitted option 'all'
...
Nodegroupattrib can take all as an argument, show it in usage.
2019-02-25 15:27:55 -05:00
Jarrod Johnson
938a6e44df
Add checking for noderange conflict
...
A confluent nodegroup may either be a normal static one, which
can be used for attribute inheritence, or a dynamic one, which
cannot be used with static list or static attributes.
Warn the user when they try to set that up to make it more obvious
that the dynamic groups can't do what they are trying to do.
2019-02-25 15:23:54 -05:00
Jarrod Johnson
ca6b203a09
Format console message
...
The message wrapping was very hard to read
on a default 80 wide terminal.
2019-02-22 10:28:10 -05:00
Jarrod Johnson
c478cb5d6e
Update language of empty buffer warning
...
It was confusing and failing to point out
possibilities that were frequently occuring.
2019-02-22 09:36:25 -05:00
Jarrod Johnson
ca9e7d1d93
Attempt to catch filesystem full condition
...
Provide a more obvious behavior when filesystem fills
to explain confluent behavior in this situation.
2019-02-21 16:32:37 -05:00
Jarrod Johnson
2691722f48
Update usage example in nodeconfig
...
Provide a customized usage string to more accurately show
the structure of a nodeconfig command.
2019-02-21 15:02:53 -05:00
Jarrod Johnson
e194222553
Capture trace data on firmware update failure
...
In the event of an unanticipated firmware exception,
capture to log. Expected error conditions should have specific handlers
to avoid the tracellog treatment.
2019-02-21 14:40:32 -05:00
Jarrod Johnson
8f611f0e59
Advertise package name change
...
Have the new package name change in
control to prompt upgrade to do
the right thing.
2019-02-21 10:46:53 -05:00
Jarrod Johnson
1fdcf19563
Merge branch 'master' of github.com:jjohnson42/confluent
2019-02-20 14:13:59 -05:00
Jarrod Johnson
add1a1b32a
Add noderange to nodegroupattrib
...
noderange attribute on group was not
being presented by nodegroupattrib all.
Add the attribute explicitly to handle the
discrepency.
2019-02-20 14:13:48 -05:00
Jarrod Johnson
8abe384e1a
Add notation in expression page about shell conflict
2019-02-14 19:29:56 -05:00
Andy Wray
14577be963
Add nodegrouplist
2019-02-13 15:36:59 -05:00
Jarrod Johnson
e6b8d0dabc
Make dependencies adaptable for wheezy and non-wheezy
...
Newer distributions we have different requirements.
2019-02-12 16:18:21 -05:00
Jarrod Johnson
b1a91ad409
Add support for comments in batch
...
Use # as comment character in nodeconfig batch.
2019-02-12 11:12:47 -05:00
Jarrod Johnson
996fd82920
Provide quality output on list output/default
...
The output is better than default python treatment of list formatting.
2019-02-12 10:09:07 -05:00
Jarrod Johnson
5e6c66826f
Provide error on useless api call
...
If making an api call against a noderange to set attributes and that noderange is blank,
provide feedback to help user know that
nothing happened.
2019-02-11 16:01:30 -05:00
Jarrod Johnson
22d79867c8
Reorganize builddeb to preserve git tree
...
The git tree is needed to successfully build
2019-02-11 15:16:24 -05:00
Jarrod Johnson
52d25d563b
Correct spelling error in builddeb
2019-02-11 14:47:22 -05:00
Jarrod Johnson
68eeb95ea3
Ensure directory exists prior to use
2019-02-11 14:06:28 -05:00
Jarrod Johnson
95d5ff6a4c
Have builddeb move to tmp
...
This avoids build trampling current working tree.
2019-02-11 13:54:49 -05:00
Jarrod Johnson
b42114bea0
Actually apply sed to file
...
The sed was failing to save result to disk.
2019-02-11 11:20:59 -05:00
Jarrod Johnson
e0877bc0b1
Workaround older python lack of SSLEOFError
...
Older python does nat have this exception,
stub it out for older python.
2019-02-11 11:00:47 -05:00
Jarrod Johnson
5289d34206
Fix the exception name in previous commit.
2019-02-11 10:56:29 -05:00
Jarrod Johnson
f7f8247d02
Fallback to older eventlet signature
...
Older eventlet did not understand some arguments
on wsgi. Fallback to not using those arguments
if unavailable.
2019-02-11 10:51:56 -05:00
Jarrod Johnson
57e23a6f52
Add missing dependencies to debian builds
...
Debian builds currently lean on py2dsc, but misses a few key
dependencies.
2019-02-11 10:09:02 -05:00
Jarrod Johnson
73b234d29e
Support pre-cryptography paramiko
...
Older paraiko may be in use that does
not have cryptography requirement, address
error by only conditionally checking cryptography.
2019-02-08 14:43:20 -05:00
Jarrod Johnson
bfe55e276d
Do not try to delete a node if not in discovery data
...
This could produce undesired traces
2019-02-06 09:19:55 -05:00
Jarrod Johnson
44bcca99b6
Delete discovery entries related to deleted node
...
On node deletion, it can be confusing if a stale discovery
entry persists. Delete such entries upon deletion.
2019-02-06 09:15:51 -05:00
Jarrod Johnson
4cb595684e
Fix debian package name
2019-02-05 15:41:03 -05:00
Jarrod Johnson
b153a14ff3
Have builddeb build names consistent with RPM
...
The deb package names and locations were inconsistent
with the RPM based distributions. Correct this behavior.
2019-02-05 13:12:35 -05:00
Jarrod Johnson
b620838189
Move rather than copy output debs
2019-02-05 10:36:06 -05:00
Jarrod Johnson
4540354ff2
Add optional location for builddeb
2019-02-05 10:29:31 -05:00
Jarrod Johnson
74963a73cc
Do cd in the correct location
2019-02-04 15:35:55 -05:00
Jarrod Johnson
9fe200b525
Make sure builddeb goes to top of dir before cleanup
2019-02-04 15:16:52 -05:00
Jarrod Johnson
b07d4e9736
Clean up extracted directory on successful deb
2019-02-04 15:14:39 -05:00
Jarrod Johnson
f649efa110
Add script to build .deb
...
Easier support for debian and ubuntu.
2019-02-04 15:05:36 -05:00
Jarrod Johnson
521013e50a
Implement SMM password policy configuration
...
The discovery.passwordrules is extended to support the SMM
2019-02-01 15:42:44 -05:00
Jarrod Johnson
25c8f93336
Provide error in the console when console.method is unset
...
This was a common mistake, and warranted a more blatantly obvious
output.
2019-02-01 12:49:00 -05:00
Jarrod Johnson
59f00dd10b
Set password before access
...
In at least one scenario, we want the password to be squared away
before we start manipulating the user access level.
2019-01-31 15:59:49 -05:00
Jarrod Johnson
2e93af9b5e
Treat '' same as None for plugin specification
...
From the CLI, both are the same and there is no good reason to
treat them differently from each other.
2019-01-31 15:58:57 -05:00
Jarrod Johnson
337ab3b1a0
Merge branch 'master' of github.com:jjohnson42/confluent
2019-01-31 14:29:03 -05:00
Jarrod Johnson
f4cf74b699
Fix modifying dictionary while iterating
...
Need to make a stable value before iterating to delete.
2019-01-31 14:28:45 -05:00
Jarrod Johnson
085981f74c
Remove spurious debug output
...
Some spurious debug output was injected by mistake.
2019-01-30 13:45:38 -05:00
Jarrod Johnson
8a5f1c6dc5
Parse string arguments to nodes attributes as noderange
...
Since everywhere else accepts noderange, it is a reasonable
expectation for the nodes attribute on nodegroups to also
take a noderange. Correct this inconsistency.
2019-01-30 09:55:38 -05:00
Jarrod Johnson
09cb6963f0
Add attempt to present status data
...
tcons made this attempt, also implement this on a best
effort basis.
2019-01-29 16:02:54 -05:00
Jarrod Johnson
188feec0b4
Repair if transactioncount exists but wrong size
...
If filesystem is full, this could be a side effect that would impact
a later start in a collective context. This mechanism induces repair
from a collective peer.
2019-01-28 16:20:07 -05:00
Jarrod Johnson
1902a333ae
Rework audit on unix socket
...
Capture root in audit and be consistent about audit skipping between
socket and http.
2019-01-28 15:03:45 -05:00
Jarrod Johnson
f6c46ddcb8
Fix checking causing breaking of setting empty
...
Empty values are always valid, do not check those.
2019-01-24 11:18:40 -05:00
Jarrod Johnson
e23253815c
Fix checking code with custom fields
...
For custom fields, do not cause an unexpected errors. The lookup on the
validattrs will now default to nothing found instead of error.
2019-01-24 11:07:58 -05:00
Jarrod Johnson
d979d29b0b
Implement checking of input attributes
...
For attributes that have a well known set of inputs, provide the
data to the messages layer to provide a useful error to the user.
2019-01-22 16:02:17 -05:00
Jarrod Johnson
bca676ed15
Have nodestorage assume show if no args
...
Confluent commands with noderange generally
assume 'get' if no option. Be compliant with
this consistency.
2019-01-18 14:54:55 -05:00
Jarrod Johnson
deed8b4b9b
Fix behavior of SSDP discovery handler
...
It was not tracking multiple peers and it was also
extending the scan longer than needed.
2019-01-17 11:37:09 -05:00
Jarrod Johnson
2c94a10e23
Add complexity and reuse rules to discovery
...
Discovery can now relax two more common policies that have users
wanting to disable them.
2019-01-17 11:02:05 -05:00
Jarrod Johnson
299181223e
Add '-b' option for collate
...
It was requested to be able to designate the 'reference' node for '-d'
comparison. This implements that request.
2019-01-17 10:35:22 -05:00
Jarrod Johnson
1378b01feb
Fix nodeconfig handling of multiple colons
...
If multiple colon designated settings are present, correctly
associate settings with appropriate key.
2019-01-16 11:31:06 -05:00
Jarrod Johnson
18713797b9
Fix pane splitting with large numbers of nodes
...
The tcons logic to select layout each iteration is now replicated,
to avoid too-small panes.
2019-01-15 16:00:39 -05:00
Jarrod Johnson
6588ac0990
Fix nodereseat false success message
...
nodereseat was reporting success when failure was actually encountered.
Address by injecting the node specific error.
2019-01-15 11:51:43 -05:00
Jarrod Johnson
efd13c960f
Add man page for nodelicense
2019-01-14 16:08:48 -05:00
Jarrod Johnson
4f14de0136
Add nodelicense command
...
This provides Bash access to the license management features.
2019-01-14 16:06:13 -05:00
Jarrod Johnson
6cecf6635c
Merge branch 'master' of github.com:jjohnson42/confluent
2019-01-14 16:02:37 -05:00
Jarrod Johnson
5b7807fe3d
Add nodelicense command
...
This provides Bash access to the license management features.
2019-01-14 16:02:15 -05:00
Jarrod Johnson
5f52ee9578
Support unique filenames through attribute expansion
...
Particularly in trying to support license keys, serial number
handling is at least required. Easiest and most powerful and most
consistent path is to use the same attribute expansion as everywhere
else.
2019-01-14 15:41:17 -05:00
Jarrod Johnson
88275f5110
Fix xcc handler on incomplete data
...
A datum may come in without an attribute member at all. Treat
this as 'false', obviously.
2019-01-14 15:37:04 -05:00
Jarrod Johnson
55c5bff0f9
Add support for uploading a license key
...
This provides the most important piece of license key management.
2019-01-14 15:09:49 -05:00
Jarrod Johnson
3782127590
Implement retrieving license info from XCC
...
With changes to pyghmi, we can now get license data. Prepare
API to provide information about the licenses.
2019-01-14 14:55:03 -05:00
Jarrod Johnson
74355bd6f9
Merge branch 'master' of github.com:jjohnson42/confluent
2019-01-14 09:17:01 -05:00
Jarrod Johnson
bc995520b7
Fix confetty tab completion
...
The refactoring to main caused scope of readline to be incorrect.
Pulled the scope back into namespace.
2019-01-14 09:15:59 -05:00
Jarrod Johnson
2d63e68494
Enable support for TCP_FASTOPEN
...
It might matter in some context.
2019-01-10 15:17:34 -05:00
Jarrod Johnson
ceba3ff34f
Fix remote collective console
...
The changes to support size data for ssh was not carried fully
through the proxyconsole object. Fix this support.
2019-01-09 11:34:19 -05:00
Jarrod Johnson
334ec00f3f
Properly report client use of bad async id
...
Previously an expired async id would trigger unexpected error. Now
it returns an error to client and avoids the trace log.
2019-01-08 15:43:41 -05:00
Jarrod Johnson
35380e5bac
Add missing import
...
errno was erroneously omitted from previous commit
2018-12-12 10:15:33 -05:00
Jarrod Johnson
66471624bc
Support caching SDR for pyghmi versions that support it
...
This will improve performance across confluent restarts for commands
like nodesensors, nodehealth, and nodeinventory.
2018-12-12 09:53:36 -05:00
Jarrod Johnson
8a03bc48de
Tentatively store certutil
...
Commit to repository, even though not yet used. It is likely to
be renamed. The purpose is to help generate an appropriate self signed
cert for https including all the ip addresses as subject alternative
names so that names or addresses may be used with installers that
have had the cert injected.
2018-12-11 13:51:46 -05:00
Jarrod Johnson
5831be091a
Auto-rescan on missed manual discovery
...
Same as in the bulk discover support.
2018-12-11 09:17:08 -05:00
Jarrod Johnson
8197c750bb
Add batch support to nodeconfig
2018-12-10 09:47:49 -05:00
Jarrod Johnson
a9f0312acd
Add support for exporting only a mac csv
...
For the specific task of importing mac addresses but not
perturbing other xCAT configuration, provide output that can be used
with tabrestore.
2018-12-07 14:08:34 -05:00
Jarrod Johnson
21700e914a
Add confluent2xcat command
...
Add command for exporting node data as an xCAT stanza file
2018-12-07 13:59:01 -05:00
Jarrod Johnson
5e15ae8e30
Update nodeconsole man page for tiling
2018-12-04 10:41:50 -05:00
Jarrod Johnson
5eef76f5d3
Try a more straightforward use of tiling
...
Rather than retiling for every node, defer tiling until the end.
This dramatically improves the startup time for a moderate number
of systems.
2018-12-03 15:57:08 -05:00
Jarrod Johnson
df72bfa715
Merge branch 'master' of github.com:jjohnson42/confluent
2018-12-03 15:53:24 -05:00
Jarrod Johnson
a6333459c4
Add tile option to nodeconsole
...
This allows nodeconsole to produce the 'tcons' behavior without
xCAT dependency.
2018-12-03 15:53:15 -05:00
Jarrod Johnson
075891bf74
Add option to confetty to help keep terminal open on early exit
...
For contexts where early execution execution almost always means
some sort of error, but the terminal automatically closes,
provide a minimum time to execute option so confetty will
forcibly slow things down in such a likely scenario.
2018-12-03 14:49:19 -05:00
Jarrod Johnson
a937511354
Fix nodesetboot argument parsing
2018-11-30 16:09:47 -05:00
Jarrod Johnson
22503e7e11
Inject blank lines in ansible hosts file
...
This looks a bit more like a natural hosts file.
2018-11-29 15:21:37 -05:00
Jarrod Johnson
01d73308ed
Pull back spurious blank lines
2018-11-29 15:04:56 -05:00
Jarrod Johnson
cb16385ddb
Add confluent2ansible
...
Utility that wil take a noderange and generate an appropriate
ansible hosts file, including carrying over pertinent groups.
2018-11-29 15:04:27 -05:00
Jarrod Johnson
853585f942
Have nodeattrib output be sorted
...
This make nodelist and nodeattrib output much easier to follow.
2018-11-29 10:02:37 -05:00
Jarrod Johnson
53996a1e9d
Increase likelihood of IPMI results being sorted
...
Without incurring execution penalty, endeavor to sort available
data in an opportunistic way. This certainly does not guarantee order,
but it makes it highly likely for quick queries to appear orderly.
2018-11-29 09:43:53 -05:00
Jarrod Johnson
558171124c
Fix nodediscover man page formatting
2018-11-27 16:14:15 -05:00
Jarrod Johnson
05d028e9e9
Fix formatting of nodediscover man page
...
The list of fields could not be nicely nested in ronn,
give up but have hard line breaks as a compromise.
2018-11-27 15:36:36 -05:00
Jarrod Johnson
b0a3bb18fe
Add terminal resizing to http api
...
This enables javascript clients to submit terminal changes.
2018-11-27 09:12:53 -05:00
Jarrod Johnson
7207013abc
Have httpapi be able to accept initial size on consoles
...
consoles and shells can now put into the body parameters including
the width and height.
2018-11-26 16:43:52 -05:00
Jarrod Johnson
b511a02f20
Have correct size on connect for shell session
...
In addition to resize, also support initial size being set
2018-11-26 16:21:31 -05:00
Jarrod Johnson
c60cb3a027
Implement resize from CLI client
...
The CLI resize is wired up for ssh usage. At the time of this commit,
initial size is not handled.
2018-11-26 15:31:36 -05:00
Jarrod Johnson
9f137fa6d4
Begin work to send resize to remote
...
While we do not have a path forward for auto-resize in SOL consoles,
we can provide the capability for ssh consoles. The CLI being enabled
is of course nice, but running ssh directly is still suggested in such
a context and ultimately the Web GUI will be the most prominent
consumer of the information.
2018-11-20 16:01:36 -05:00
Jarrod Johnson
aa92898249
Have nodestorage create optionally read names from args
...
This is more symmetric with the way delete works.
2018-11-19 15:32:03 -05:00
Jarrod Johnson
2cb694b374
Update man page of nodediscover
2018-11-19 14:46:47 -05:00
Jarrod Johnson
24fd1e72e1
Expose advertised, not valided IPs in discovery
...
There are circumstances where the advertised IP is
useful information, even if that IP cannot be validated.
It is also the case that most of the time the advertised IP
is useless if not validated, so it is an optional field.
2018-11-19 14:39:56 -05:00
Jarrod Johnson
5b21a5b2c3
Fix spreadsheet support for the BMC gateway
...
The spreadsheet support used incorrect attribute name.
2018-11-19 09:50:04 -05:00
Jarrod Johnson
c8ad94313e
Provide useful error when trying to delete a volume that doesn't exist
2018-11-16 11:54:46 -05:00
Jarrod Johnson
f71d51769b
Provide clean print of created volumes
...
This presents the returned data in a manner consistent
with nodestorage show
2018-11-16 11:27:26 -05:00
Jarrod Johnson
b5213e6972
Show data about created volumes upon volume completion.
...
Provide concrete feedback as to the results of the creation operation.
2018-11-16 11:19:27 -05:00
Jarrod Johnson
8d72f4d64a
Fix volume name creation
...
The volume names were not being honored, fix passing the arguments.
2018-11-15 16:25:03 -05:00
Jarrod Johnson
fcd46c7b72
Provide cleaner output for nodestorage delete
...
Rather than dumping the structure of the response, provide a consistent
plain text output.
2018-11-15 16:18:24 -05:00
Jarrod Johnson
6efb8ff1b7
Add globbing protection to nodestorage command
...
This mitigates risk of mistargeting a nodestorage command due to
unfortunate bash glob match.
2018-11-15 16:15:01 -05:00
Jarrod Johnson
c227c2353b
Provide better error on nodediscover assign
...
Rather than the rather useless unexpected error, actually
describe specific cases of wrong username or password.
2018-11-15 13:41:48 -05:00
Jarrod Johnson
cb2133e871
Change strategy for pam.d entry
...
The symbolic link did not stay a symbolic link.
Use %post in rpm instead.
2018-11-14 15:11:05 -05:00
Jarrod Johnson
c56c1948a9
Add confluent pam to packaging
...
This enables PAM passwords to work by default,
rather than requiring user to perform more
configuration.
2018-11-14 14:55:26 -05:00
Jarrod Johnson
34b30a1bd8
Rework password authentication
...
Have the cache operate against the sha256 of the passphrase rather
than the passhprase directly (mitigate presence of password in memory).
Pull PAM into the cache behavior to accelerate PAM based usage.
Rearrange things so that both built in confluent and PAM passwords
can be used.
2018-11-14 14:52:03 -05:00
Jarrod Johnson
0e7bfe4f40
Use scanning status to control rescan behaviors
...
This causes the manual assignment to sleep less and for the rescan
command to meaningfully slow down shell requests to provide better sense
of when scan completes.
2018-11-14 14:17:12 -05:00
Jarrod Johnson
a93a759b72
Make /networking/macs data available through nodediscover
...
This will help combine the data together more easily.
2018-11-14 14:11:03 -05:00
Jarrod Johnson
cba514692c
Bring the XCC check fix to IMM
...
The same check that works for XCC should be applied to IMM
2018-11-13 16:17:39 -05:00
Jarrod Johnson
2bb0a70a24
Provide an xid if one is not preserved
...
The SLP xid may be gone in a recheck, default to 42 in such a case.
2018-11-13 16:09:37 -05:00
Jarrod Johnson
1b84cd43fe
Fix the auto-healing support
...
There was a mismatch between the handlers signature and expectation by
the discovery core.
2018-11-13 15:55:24 -05:00
Jarrod Johnson
39839a9f2a
Add auto-healing of incomplete SLP data
...
If a device handler indicates an SLP data as incomplete, schedule a
attempt to fixup that specific one.
2018-11-13 15:37:41 -05:00
Jarrod Johnson
8473cb1cf8
Survive SLP values with =
...
If the slp parsing produces = in the value, ignore it and do best
effort to get the viable data out.
2018-11-09 15:38:40 -05:00
Jarrod Johnson
1a10b5d747
Have confluent2lxca use current config for address
...
In a confluent2lxca scenario, it is highly probably that confluent's
attribute is not viable for LXCA usage (link local address).
Give the current configuration the opportunity to replace the
confluent reference with the current IPv4 of the host.
2018-11-09 08:53:10 -05:00
Jarrod Johnson
82a7012527
Add a command to generate xClarity Administrator import
...
This will generate a bulk import file for use with the xClarity
Administrator appliance.
2018-11-09 08:33:04 -05:00
Jarrod Johnson
199a948b33
Fix ordering without custom field list
...
The order argument only had any meaning when used in custom fields.
Add a loop in the custom field agnostic section of the code to correct
the behavior.
2018-11-09 08:32:28 -05:00
Jarrod Johnson
6fc305d6a0
Add ordering by field to nodediscover list
...
This provides single column sort for more managable listing of
nodediscover items.
2018-11-06 16:34:22 -05:00
Jarrod Johnson
75b6221dcf
Allow requesting custom columns
...
This allows for more data to be presented and some useless data
to be pruned.
2018-11-06 15:52:20 -05:00
Jarrod Johnson
bd5032268e
Fix csv output mode of nodediscover list
...
The changes made for tabulator broke csv output, fix that back.
2018-11-06 15:33:04 -05:00
Jarrod Johnson
0aa0289b06
Clean out dead code
...
There is some dead and commented code to be cleaned out.
2018-11-06 15:30:18 -05:00
Jarrod Johnson
96df7871cb
Convert nodediscover to use Tabulator
...
This opens the path to more customized output and have the appropriate
formatting. Also revise the Tabulator code to more closely match
the original nodediscover list output.
2018-11-06 15:28:27 -05:00
Jarrod Johnson
82ee69b56c
Age out macmap on node database changes
...
This mitigates problems where automation fails to quickly
react to changes/fixes in the net attributes.
2018-11-06 08:18:37 -05:00
Jarrod Johnson
37899ad39e
Do not inject 'None' into builddesc
...
If such data came from remote system, do not cause a stack trace.
2018-11-05 10:43:36 -05:00
Jarrod Johnson
43fb4467b7
Add error if chain goes off into non-existent nodes
...
Various behaviors break if the administrator declares a chain goes
to nowhere, throw up an error and hopefully see it caught to detect
this misconfiguration.
2018-11-02 15:56:34 -04:00
Jarrod Johnson
f5f9403eff
Fix incorrect variable name in nodediscover
...
The field name was incorrectly referencing the last field
rather than the current.
2018-11-02 15:50:02 -04:00
Jarrod Johnson
78e7381442
Add implicit rescan on unmatched csv data
...
If the csv file contains criteria we can't match, implicitly
try a rescan automatically to try to catch it.
2018-11-02 15:18:55 -04:00
Jarrod Johnson
005cefc914
Add volume creation and deletion to nodestorage
2018-11-01 16:59:42 -04:00
Jarrod Johnson
5f38cce51e
Finish nodestorage show
...
It now shows the pertinent details of storage on a node.
2018-11-01 10:43:28 -04:00
Jarrod Johnson
5d358eaeb0
Switch to output format more like nodeinventory
...
Other confluent commands (apart from nodediscovery) set a particular
convention. Go by that convention (at least by default)
2018-10-30 16:28:59 -04:00
Jarrod Johnson
115a6e9dd1
Add helper for tabular output
...
Provide a quick class for auto-sizing tabular output.
2018-10-30 16:23:34 -04:00
Jarrod Johnson
a034d05cc8
Draft tabular output of disk information
...
Print out roughly the data that will be desired in the storage show.
2018-10-30 16:10:37 -04:00
Jarrod Johnson
6378f823f3
Add resource name to the storage messages
...
The storage messages need to have the references preserved
for CLI consumption.
2018-10-30 15:46:54 -04:00
Jarrod Johnson
079dfed11e
Add type to storage messages
...
Storage messages are likely to be grouped together and need
more to disambiguate them.
2018-10-30 15:28:03 -04:00
Jarrod Johnson
d836bf7298
Map health to nagios compatible codes
...
nodehealth adds granularity and health to the return code.
Rather than only reflecting failure running command, also
have nodehealth assign exit code according to the expectations
of nagios.
2018-10-30 13:56:09 -04:00
Jarrod Johnson
25b969a4db
Add 'all' element to configuration/storage
...
Provide a way to provide all the data about storage configuration
in a single call.
2018-10-30 10:25:41 -04:00
Jarrod Johnson
950abde20e
Remove 'all' from storage subelements
...
This concept is potentially problematic, as a volume named 'all' is
valid. Additionally, if really wanting all, the caller probably wants
the full storage configuration, better provide that up a level to
avoid requiring many calls to do that.
2018-10-30 10:05:48 -04:00
Jarrod Johnson
37be696f23
Merge branch 'master' of github.com:jjohnson42/confluent
2018-10-29 14:56:37 -04:00
Jarrod Johnson
73cab3774d
Add support for volume creation
2018-10-26 14:31:28 -04:00
Jarrod Johnson
c2d52d4f83
Add functionality to delete volumes
...
Further enriching the storage api by adding the ability to delete
a volume.
2018-10-25 16:31:32 -04:00
Jarrod Johnson
fd17559a73
Show result of changing disk state.
...
When changing disk state, let the caller know the result explicitly.
2018-10-25 16:11:54 -04:00
Jarrod Johnson
3945ccd5c3
Advance storage configuration API
...
Enumerate disks in an array in disks list.
Add array associated with disk to disk data.
Show detailed data on arrays and volumes.
2018-10-25 16:07:07 -04:00
Jarrod Johnson
7c006b33bc
Implement functionality to configure disks
...
Disks may now have their state changed between hotspare, unconfigured,
and jbod.
2018-10-25 14:48:58 -04:00
Jarrod Johnson
c96b5f0270
Fix spurious trace on immediate exit confetty
...
When confetty exits without doing anything, it causes
sockapi to reference an empty request. Check for that before
checking if it is a collective request.
2018-10-25 14:12:15 -04:00
Jarrod Johnson
7e72240d98
Add protection against duplicate import data
...
nodediscover assign from csv will now guard against human error
in putting the same data in multiple times.
2018-10-25 11:07:56 -04:00
Jarrod Johnson
c150a848fd
Normalize drive state
...
Since drive state is a key api feature, make sure it is normalized
to a set vocabulary.
2018-10-24 16:36:38 -04:00
Jarrod Johnson
bc7a197a8c
Merge branch '18csi'
2018-10-23 09:16:32 -04:00
Jarrod Johnson
6973736c6a
Set password before setting username
...
The BMC is at much higher risk for rejecting the password
(e.g. the password does not pass complexity requirements). If the
username changes, but the password is still default, it is very
confusing. Give the password change the chance to break the
configuration process first.
2018-10-23 09:16:15 -04:00
Jarrod Johnson
d70c3dcad7
Merge branch '18csi'
2018-10-23 09:10:01 -04:00
Jarrod Johnson
f9055a258e
Provide specific completion behavior for noderun/nodeshell
2018-10-23 09:09:03 -04:00
Jarrod Johnson
76a96fa054
Merge branch '18csi'
2018-10-18 15:44:13 -04:00
Jarrod Johnson
c784a4ec9b
Fix noderun output of continuing commands
...
noderun always only output at the end, fix the
mistake in the select statement.
2018-10-18 15:43:57 -04:00
Jarrod Johnson
2ff47b886d
Fix noderun output of continuing commands
...
noderun always only output at the end, fix the
mistake in the select statement.
2018-10-18 15:43:36 -04:00
Jarrod Johnson
51037e2487
Change 'status' to 'state'
...
This is more consistent with several other confluent messages.
2018-10-17 09:37:31 -04:00
Jarrod Johnson
614b916ca4
Merge branch '18csi'
2018-10-16 09:39:00 -04:00
Jarrod Johnson
4077346d30
Rename api from drives to disks
...
It just feels more appropriate to use disks rather than drives.
2018-10-16 09:00:25 -04:00
Jarrod Johnson
8a4bf22a7e
Further flesh out the storage api support
...
Add ability to list arrays and volumes.
2018-10-15 16:27:12 -04:00
Jarrod Johnson
f2dd501de9
Do not proceed to try to upload if file doesn't exist
...
After relaying the error, it went ahead and
attempted the update, contrary to any reasonable expectation.
2018-10-15 11:15:13 -04:00
Jarrod Johnson
f835057ae4
Do not proceed to try to upload if file doesn't exist
...
After relaying the error, it went ahead and
attempted the update, contrary to any reasonable expectation.
2018-10-15 11:14:59 -04:00
Jarrod Johnson
48913218a6
Merge branch 'master' of github.com:jjohnson42/confluent
2018-10-12 15:47:44 -04:00
Jarrod Johnson
a11e4b71ce
Merge branch '18csi'
2018-10-12 15:47:38 -04:00
Jarrod Johnson
e9ba49a4aa
Intercept another 'unexpected error'
...
During a particularly hectic init, Invalid Session ID
may occur if a command is ran particularly early. Intercept
and replace a more clean message.
2018-10-12 15:46:54 -04:00
Jarrod Johnson
deb90fbca9
Fix trace on early console connect
...
If the trace happens before tracelog is ready, just print the output
to the stdout log for now.
2018-10-12 14:56:54 -04:00
Jarrod Johnson
8cae5ea101
Fix trace on early console connect
...
If the trace happens before tracelog is ready, just print the output
to the stdout log for now.
2018-10-12 14:28:21 -04:00
Jarrod Johnson
f830658818
Merge branch '18csi'
2018-10-12 13:33:09 -04:00
Jarrod Johnson
3105b9b1f9
Significantly rework the collective startup behavior
...
One, make the tracking bools enforce a lock to reduce confusion
Treat an initializing peer as failed, to avoid getting too fixated
on an uncertain target.
Make sure that no more than one follower is tried at a time by
killing before starting a new one, and syncing up the configmanager
state
Decline to act on an assimilation request if we are trying to connect
and also if the current leader asks us to connect and we already are.
Avoid calling get_leader while connecting, as that can cause a member
to decide to become a leader while trying to connect, by swapping
the reactions to the connect request.
Avoid trying to assimilate existing followers.
Fix some logging.
2018-10-12 11:45:23 -04:00
Jarrod Johnson
f525c25ba6
Provide more verbose collective logging
...
This helps understand the flow in practice of collective behavior.
2018-10-11 15:15:11 -04:00
Jarrod Johnson
3012de1fe4
Prioritize deletion of transactioncount
...
If the invalidation is incomplete, make sure that transactioncount
is invalidated first to avoid it being able to propogate through
a collective.
2018-10-11 09:16:57 -04:00
Jarrod Johnson
be930fc076
Add missing subsystem marker from a collective log
2018-10-10 16:30:28 -04:00
Jarrod Johnson
2d0199a4e9
Wrap bdb deletion in same lock that sync itself uses
...
If os.remove happens at a bad time, it causes an unfortunate behavior
in dbm. Serialize this sort of operation to avoid the bad behavior.
2018-10-10 15:24:55 -04:00
Jarrod Johnson
6b70a4322a
Fix rollback
...
The fix for the stale data introduced breaking clear rollback
Restore the behavior and make self._cfgstore a somewhat slower property
for now.
2018-10-10 15:22:20 -04:00
Jarrod Johnson
6a784e3a1c
Ensure sync is complete prior to leaving configmanager sync
...
The initialization lock is meant to avoid collective and generic
initialization stepping on each other. This is somewhat reduced in
efficacy if one has a sync running while the other is changing relevant
data.
2018-10-10 14:49:33 -04:00
Jarrod Johnson
3b2b96a4cf
Force fullsync if dead sync thread likely
...
If the sync thread died previously, force the next sync to be full.
2018-10-10 14:32:13 -04:00
Jarrod Johnson
32ddb33de3
Fix error when trying to do fullsync without globals yet
...
If globals is missing, then do not break the sync trying to handle it
2018-10-10 13:11:15 -04:00
Jarrod Johnson
b77ed8dbff
Fix config sync on dead writer
...
The sync thread can die without clearing syncrunning. Make sure that
the thread is alive *and* that the thread has not indicated
intent to give up.
2018-10-10 13:07:27 -04:00
Jarrod Johnson
d5c093a30d
Provide fallback for unexpected reply in collective show
2018-10-10 09:46:01 -04:00
Jarrod Johnson
cf9d2a43e8
Revert "Provide fallback for unexpected reply in collective show"
...
This reverts commit 2f566fb81d .
2018-10-10 09:44:06 -04:00
Jarrod Johnson
2f566fb81d
Provide fallback for unexpected reply in collective show
2018-10-10 09:41:25 -04:00
Jarrod Johnson
92a3b02dc5
Merge branch '18csi'
2018-10-10 09:24:18 -04:00
Jarrod Johnson
94c8cf3ff2
Apply the correct change to collate
2018-10-10 09:24:01 -04:00
Jarrod Johnson
049897fc15
Merge branch '18csi'
2018-10-10 09:21:07 -04:00
Jarrod Johnson
8741a27c24
Merge branch '18csi' of github.com:jjohnson42/confluent into 18csi
2018-10-10 09:09:12 -04:00
Jarrod Johnson
1c494fc4fc
Correct mistake in the collate log support
2018-10-10 09:08:45 -04:00
Jarrod Johnson
1ee418392f
Provide better error behavior on missing collective.manager
...
collective.manager was a blanket response, make it per node and
only triggered by the bad nodes, not the rest.
2018-10-09 15:44:17 -04:00
Jarrod Johnson
2a7eeb6e08
Fix missing argument in calling a function
2018-10-09 15:21:11 -04:00
Jarrod Johnson
5c83c78a90
Add warning on incompatible ssh key with SLES12
2018-10-09 14:44:06 -04:00
Jarrod Johnson
6a466b0100
Avoid proxy consoles generating proxy consoles
...
When the client is a proxy term, disable ability to produce
proxy terminals. This was wreaking havoc with client
count with ghosts and triggering output multiplication.
2018-10-09 13:21:02 -04:00
Jarrod Johnson
67b93ee6b0
Merge branch '18csi'
2018-10-09 09:46:44 -04:00
Jarrod Johnson
6b4a21d613
Add log option to collate for per node logs
2018-10-09 09:37:25 -04:00
Jarrod Johnson
5f46899358
Prevent clear_configuration from invaliding existing ConfigManager
...
Clear out the existing dictionary instead of replacing it.
This prevents configmanager objects from being stuck.
2018-10-08 16:51:58 -04:00
Jarrod Johnson
a3bc17b465
Merge branch '18csi'
2018-10-08 15:56:43 -04:00
Jarrod Johnson
20a37f8db5
Add mention of the -u options to the manpages.
2018-10-08 11:02:33 -04:00
Jarrod Johnson
c6b8aaf372
Fix mistake in the nodegroupdefine man page
2018-10-08 10:57:48 -04:00
Jarrod Johnson
5baab5bef4
Add more stateful to completion
...
Allow it to sense words already used in command. Refactor to common
code for similar ones.
2018-10-08 10:47:38 -04:00
Jarrod Johnson
73c06fd25e
Fix display of error on join of collective
2018-10-08 09:54:03 -04:00
Jarrod Johnson
8d9a082739
Provide better exceptions and propogate them to client on snmp
...
When doing snmp, messages would always go to log only, even if the
user was at the confetty cli. Give user access to knowing the error
impacting the query.
2018-10-04 14:59:25 -04:00
Jarrod Johnson
32602fbba3
Provide interactive handling of key mismatch in ssh sessions
...
Before, ssh would close without so much as a warning, fix this by
dealing with the key data.
2018-10-04 10:23:55 -04:00
Jarrod Johnson
2f616d4586
Better error when collective.manager is set to something invalid
...
If the collective.manager field does not correspond to any collective
manager, give a useful error rather than unexpected error.
2018-10-03 16:23:20 -04:00
Jarrod Johnson
15dc4937ee
Add hyphen options to various completion
2018-10-02 14:44:25 -04:00
Jarrod Johnson
10cb1b77dd
Extend the nodeboot man page
2018-10-02 14:36:07 -04:00
Jarrod Johnson
d86e1fc4eb
Give the cfg init a lock
...
Move collective manager and configmanager to share a configinitlock,
so that bad timings during internal initialization and collective
activity cannot interfere and produce corrupt database.
This became an issue with the fix for 'everything' disappearing.
2018-10-02 10:17:44 -04:00
Jarrod Johnson
29fcd59f8b
Fix usage of check_quorum()
...
It is not a boolean, it is exception driven.
2018-10-01 16:02:45 -04:00
Jarrod Johnson
78a1741e0e
Fix usage of check_quorum()
...
It is not a boolean, it is exception driven.
2018-10-01 16:02:16 -04:00
Jarrod Johnson
4329c1d388
Have collective start bail out if leader
...
Leader should not relinquish if quorum, so don't bother in such
a case.
2018-10-01 15:50:49 -04:00
Jarrod Johnson
c13ebe36ae
Have collective start bail out if leader
...
Leader should not relinquish if quorum, so don't bother in such
a case.
2018-10-01 15:50:31 -04:00
Jarrod Johnson
9495a41f85
Cancel retry if we become leader
...
If an instance is first to start, it's retry should be canceled
when other members prod it to become leader.
2018-10-01 15:29:42 -04:00
Jarrod Johnson
b0b5493ff7
Cancel retry if we become leader
...
If an instance is first to start, it's retry should be canceled
when other members prod it to become leader.
2018-10-01 15:29:18 -04:00
Jarrod Johnson
484435c732
Fix /networking/macs/by-mac
...
The module apimacmap was not correctly scoped.
2018-10-01 14:40:25 -04:00
Jarrod Johnson
326f56219b
Fix /networking/macs/by-mac
...
The module apimacmap was not correctly scoped.
2018-10-01 14:40:02 -04:00
Jarrod Johnson
e098c0ba91
Fix missing tenant argument on user management function
...
The tenant was omitted preventing those particular rpc calls from
working correctly.
2018-10-01 14:04:03 -04:00
Jarrod Johnson
a5d5f4a6a4
Fix missing tenant argument on user management function
...
The tenant was omitted preventing those particular rpc calls from
working correctly.
2018-10-01 14:03:45 -04:00
Jarrod Johnson
61e7c90ad1
Do not restart on intentional kill
...
Additionally, add some output to help filter events log
2018-10-01 10:32:55 -04:00
Jarrod Johnson
51194b275b
Do not restart on intentional kill
...
Additionally, add some output to help filter events log
2018-10-01 09:35:02 -04:00
Jarrod Johnson
e57cdf9a7b
Add more collective event log handling
...
More detail to analyze how the collective membership is handled.
2018-09-27 15:15:05 -04:00
Jarrod Johnson
e634817b34
Add more collective event log handling
...
More detail to analyze how the collective membership is handled.
2018-09-27 15:14:45 -04:00
Jarrod Johnson
10ce7a9de9
Add more logging to collective process
2018-09-27 10:51:06 -04:00
Jarrod Johnson
0724ad812b
Add logging to the assimilation phase of collective
...
When attempting assimilation, provide logging about the attempt.
2018-09-27 10:51:01 -04:00
Jarrod Johnson
a3b0b0240d
Abort assimilation attempt on non-member cleanly
...
If a confluent instance has forgotten the collective, more cleanly
handle the situation, and abort the assimilation rather than assuming
the peer should be leader, unless txcount specifically is called out
as the reason.
2018-09-27 10:50:54 -04:00
Jarrod Johnson
7f06c69d3c
Add more logging to collective process
2018-09-27 10:49:57 -04:00
Jarrod Johnson
b5af770f21
Add logging to the assimilation phase of collective
...
When attempting assimilation, provide logging about the attempt.
2018-09-27 10:38:00 -04:00
Jarrod Johnson
247650868e
Abort assimilation attempt on non-member cleanly
...
If a confluent instance has forgotten the collective, more cleanly
handle the situation, and abort the assimilation rather than assuming
the peer should be leader, unless txcount specifically is called out
as the reason.
2018-09-27 10:30:30 -04:00
Jarrod Johnson
9e8b2dd973
Begin storage configuration support
...
Start by adding a storage oriented configuration area, and have it be
able to list and show detail on disks.
2018-09-26 15:29:29 -04:00
Jarrod Johnson
99fdb20f87
Add nodemedia specific completion
2018-09-21 14:22:46 -04:00
Jarrod Johnson
60bb4c89fb
Add specific completions for nodeboot and nodesetboot
2018-09-21 14:09:49 -04:00
Jarrod Johnson
5d52fd2fc1
Add nodeidentify specific completion
...
Additionally refactor common code into a function
2018-09-21 13:54:43 -04:00
Jarrod Johnson
18bebde337
Disable gssapi in paramiko
...
It is just plain broken, workaround by tanking calls to gssapi prior
to pulling in paramiko.
2018-09-21 13:46:07 -04:00
Jarrod Johnson
c68c4d8cf7
Fix the 'list' subcommand of nodefirmware
...
nodefirmware did not properly set up if 'list' was given
2018-09-21 10:41:15 -04:00
Jarrod Johnson
1de84f0417
Add missing nodesupport man page
2018-09-21 09:57:34 -04:00
Jarrod Johnson
44bf2872b7
Provide more tailored completion for some commands
...
Additionally, modify the nodefirmware command to have a `list`
subcommand, so that tab completion doesn't aggressively send
someone to update.
2018-09-21 09:57:17 -04:00
Jarrod Johnson
c209010126
Add tab completion for bash
...
For interactive bash use, have some completions
2018-09-20 16:02:45 -04:00
Jarrod Johnson
21b4a2f6f3
Merge branch 'master' of github.com:jjohnson42/confluent
2018-09-20 11:05:24 -04:00
Jarrod Johnson
36fc23d692
Avoid VT control codes on exit through pipe
...
Piped commands were subjected to terminal control sequences that
could interfere with desired operation.
2018-09-20 11:05:00 -04:00
Jarrod Johnson
f601032a66
Fix everything group missing if nodegroup created before node
...
everything group was not making it to disk unless a node is created
first. Correctly mark the need for disk sync to fix.
2018-09-14 16:50:20 -04:00
Jarrod Johnson
7c550bd68e
Fix prefix fixup
...
It was not allowing same label across nodes.
2018-09-10 15:09:50 -04:00
Jarrod Johnson
db5f861dc5
Fix introduced typo in error message
2018-09-10 14:25:04 -04:00
Jarrod Johnson
d04be19ae5
Preferentially use a 'name' subfield as 'name'
...
Pyghmi now may suggest a more useful name. The component name
is unique, but 'name' can indicate the common name of things with
multiple instances.
2018-09-07 14:37:02 -04:00
Jarrod Johnson
07532e2a3f
Have nodeinventory disambiguate duplicate labels.
...
The data is still there for putting identical cards together, but
the prefix is unique, particularly important for json mode.
2018-09-07 11:49:13 -04:00
Jarrod Johnson
e7be24d478
Revert "Fix non-unique name for similar inventory items."
...
This reverts commit 47a53a51e4 .
2018-09-07 11:44:01 -04:00
Jarrod Johnson
34b7abcb2d
Change systemd unit to not have PIDFile
...
systemctl restart *always* prints a worrying message
with pidfile.
2018-09-07 11:27:43 -04:00
Jarrod Johnson
47a53a51e4
Fix non-unique name for similar inventory items.
2018-09-07 11:16:09 -04:00
Jarrod Johnson
abc15974da
Merge branch 'master' of github.com:jjohnson42/confluent
2018-09-07 11:11:26 -04:00
Jarrod Johnson
b3bf6929df
Add replacement logic for another generic variant
...
In IMM, PCeGen3 x8 and similar is also possible.
2018-09-06 16:16:26 -04:00
Jarrod Johnson
2a8d61ecf6
Enrich the less than useful 'Adapter' inventory items
...
We can provide DNS provided info about such generic items to
make them look more fleshed out.
2018-09-06 16:10:48 -04:00
Jarrod Johnson
cf3e9037ab
Provide 'discovery.passwordrules'
...
This provides an ability to designate the desired rules that
are applied in the wake of automatic discovery. The most popular
would be 'expiry=no,loginfailures=0'
2018-09-05 15:50:36 -04:00
Jarrod Johnson
03135543a6
Add 'switchuser' and 'switchpass' aliases
2018-09-05 13:51:19 -04:00
Jarrod Johnson
38228ebc9b
Fix the prompting code changes
2018-09-04 11:09:26 -04:00
Jarrod Johnson
d6110c7118
Add -p to nodegroupattrib
...
Also modify the man pages to reflect the updates.
2018-09-04 09:56:51 -04:00
Jarrod Johnson
f92b1ed4a3
Implement ability to prompt for nodeattrib options.
...
For certain attributes, notably passwords, it is sometimes desirable
to prompt interactively to help facilitate keeping such data out of
bash_history, screen sharing, and ps output. -e enables this if the
user is aware of how to use 'read', -p is a quicker way to enable this.
2018-09-04 09:38:01 -04:00
Jarrod Johnson
368087fb51
Have nodeattrib and nodeconfig accept wildcard to select values
2018-08-30 10:14:03 -04:00
Jarrod Johnson
46d62e67de
Do not include advanced in comparedefault by default
...
Advanced settings may do unusual things, only check if explicitly
requested to do so.
2018-08-30 09:58:15 -04:00
Jarrod Johnson
118d1aec0d
Allow nodeboot to harmlessly take -u
...
It doesn't actually change behavior, but request for compatibility
is being honored.
2018-08-30 09:39:20 -04:00
Jarrod Johnson
7c9089c87d
Change nodeconfig -r to take a parameter
...
This opens up for future ability to control the restore to default.
2018-08-30 09:35:16 -04:00
Jarrod Johnson
ba18b9936f
Fix mistakes in previous commit
2018-08-29 15:15:34 -04:00
Jarrod Johnson
3b7ecd0095
Add ability to clear system configuration
...
This provides a method to request the system firmware be restored to
factory defaults.
2018-08-29 14:49:19 -04:00
Jarrod Johnson
19e9583b47
Fix formatting on node*define man page sources
2018-08-28 15:08:03 -04:00
Jarrod Johnson
8352007570
Limit to one active scan at a time
...
Additionally, provide read access to rescan for discovery.
2018-08-28 11:25:48 -04:00
Jarrod Johnson
f7965d235a
Improve /networking/macs API behavior
...
For the 'by-mac', only remove the structure when it is ready for API
view without changing internal view.
For the 'by-switch', do the update per switch and after it's done.
Provide ability to check scan status through reading
/networking/macs/rescan
2018-08-28 11:10:32 -04:00
Jarrod Johnson
6aec9534e7
Fixes for nodesupport
2018-08-23 16:56:40 -04:00
Jarrod Johnson
3ee6334db2
Fix transfer owner argument for servicedata
2018-08-23 16:48:10 -04:00
Jarrod Johnson
582a4de62d
Add CLI and directory support for nodesupport
2018-08-23 16:36:41 -04:00
Jarrod Johnson
c9959d4082
More of the service data retrieval api
...
More progress is made toward the goal
2018-08-23 16:14:49 -04:00
Jarrod Johnson
fa11fb54cb
Add API support for getting service data
...
Service data retrieval is a common activity required
for interacting with support.
2018-08-23 15:39:25 -04:00
Jarrod Johnson
ee3b824870
Add /description to nodes api
2018-08-23 08:44:41 -04:00
Jarrod Johnson
55f5b30369
Merge branch '21'
2018-08-22 16:29:58 -04:00
Jarrod Johnson
784e4bed2f
Force cleanup if follow thread dies of exception
...
If something killed a follow thread, it was not always able to fire the
recovery off. Wrap the risky code in a try statement.
2018-08-20 15:02:34 -04:00
Jarrod Johnson
df7cba00fd
Amend the message on collective failure
2018-08-17 16:45:45 -04:00
Jarrod Johnson
dfb720d0ee
Have collective command warn if the libssl library is not viable
...
Main example is RedHat providing pyOpenSSL of relatively ancient
vintage.
2018-08-17 13:57:13 -04:00
Jarrod Johnson
f5d5cbd67b
Have collective command warn if the libssl library is not viable
...
Main example is RedHat providing pyOpenSSL of relatively ancient
vintage.
2018-08-17 13:56:38 -04:00
Jarrod Johnson
319fec2145
Add advanced to nodeconfig
2018-08-17 11:16:11 -04:00
Jarrod Johnson
8787d23b3a
Add advanced to API for system configuration.
...
pyghmi makes hiding optional advanced settings.
2018-08-17 10:59:50 -04:00
Jarrod Johnson
9b48110155
Do not proceed a logged, but broken session
...
It shouldn't be possible for this to be the case, but out of an
abundance of caution, check for this. So far only produced this by
forcing broken = True in a debug session. Intended to catch an alleged
scenario where console was managing to use a broken session (fixed in
pyghmi) and have confluent also recognize the situation for non-console
usage).
2018-08-16 14:43:16 -04:00
Jarrod Johnson
3064e7bef6
Ensure path is made prior to creating transactioncount
...
Fresh install will be missing /etc/confluent/cfg. Advance the
_mkpath call to fix this problem.
2018-08-08 18:05:45 -04:00
Jarrod Johnson
1d4df8af3a
Fix extraneous error in log on connectivity loss
2018-08-07 15:43:53 -04:00
Jarrod Johnson
2aba6e469c
Correct variable name in the 'connected' fix
2018-08-07 15:31:41 -04:00
Jarrod Johnson
de58593f14
Fix inability to notice underlying broken layers of the SOL
...
Through an unknown set of circumstances, an solconnection could be
stuck 'connecting'. In every case analyzed, the ipmi_session was
broken. Use that to detect a class of failure and react appropriately.
2018-08-07 15:12:53 -04:00
Jarrod Johnson
ecbe1a86b1
Revert "Have nodeconsole restore term on exit"
...
This reverts commit 2972374da8 .
2018-08-02 10:27:37 -04:00
Jarrod Johnson
2972374da8
Have nodeconsole restore term on exit
2018-08-02 10:07:41 -04:00
Jarrod Johnson
81dd6202d3
Fix when rpc has no 'exc' but has 'xid'
2018-07-30 11:26:09 -04:00
Jarrod Johnson
36a202842a
Fix collective on rpc exception
...
Exceptions on collective calls were not correctly handled, fix
the handling so that collective continues and also the calling function
is correctly given the exception.
2018-07-30 09:33:24 -04:00
Jarrod Johnson
6a8e24dd0e
Prioritize interactive feedback part of console handling.
2018-07-26 08:55:25 -04:00
Jarrod Johnson
d3afeb3414
Fix web shell if user hits enter too fast
2018-07-24 17:20:22 -04:00
Jarrod Johnson
1bf4c0ac0a
Have collective coalesce watched updates
...
Particularly chatty output can make collate be unreasonable in
low quality terminals and links. Throttle to about 4 times a second.
2018-07-24 16:50:46 -04:00
Jarrod Johnson
8e422ef822
Fix ssh access
...
Fixed handler (e.g. ssh) did not return console consistent with
the plugin defined handlers.
2018-07-24 16:48:46 -04:00
Jarrod Johnson
f0edbbad39
Have collective show present some info when not in quorum
2018-07-20 14:11:38 -04:00
Jarrod Johnson
5cf1671350
Make the takeover process more deterministic
...
Try to avoid submitting to be a follower while we are currently
becoming a leader
2018-07-20 13:50:42 -04:00
Jarrod Johnson
e5c4219ee9
Reorder certificate check
...
First order of business is to verify certificate before even thinking
about if the request is possible
2018-07-20 13:34:14 -04:00
Jarrod Johnson
3ff7e42074
Change behavior for fallback handling
...
Fallback would do nothing to fix a persistent problem with an IPMI
session. For lack of knowing how to avoid the situation, at least
make changes so it won't go wrong in the future.
2018-07-20 13:20:50 -04:00
Jarrod Johnson
fab177e077
Fix node[group][attrib|define] handling of =
...
Attributes with = in the value were not handled correctly,
fix by only doing one split.
2018-07-20 09:54:17 -04:00
Jarrod Johnson
a1ba5f59a8
Fix collective show on non-collective
2018-07-19 17:21:01 -04:00
Jarrod Johnson
9bcca6bfad
Provide collective show on all members
2018-07-19 17:08:20 -04:00
Jarrod Johnson
96671ace4e
Correct collective show behavior
2018-07-19 16:48:30 -04:00
Jarrod Johnson
bcff3fc962
Improve collective show readability
2018-07-19 16:39:13 -04:00
Jarrod Johnson
54d93571d1
Have leader provide more data in collective show
2018-07-19 16:26:05 -04:00
Jarrod Johnson
f2f902de7b
Have collective show report when collective inactive
...
Collective show was misleading if not in a collective.
2018-07-19 15:59:15 -04:00
Jarrod Johnson
a09792f969
Schedule periodic attempts to restart collective
...
If collective is lost due to connectivity, this will cause
occasional attempts to bring it back.
2018-07-19 15:49:05 -04:00
Jarrod Johnson
7d16c943a8
Handle updating address of collective member on connect
...
If a collective member changes its IP address, update at the next
possible opportunity.
2018-07-19 15:24:08 -04:00
Jarrod Johnson
b053d41cd8
Error on loss of manager in flight
2018-07-19 14:36:23 -04:00
Jarrod Johnson
200569e7af
Merge branch 'master' into clustertime
2018-07-19 13:32:00 -04:00
Jarrod Johnson
c3c0e1570a
Push quorum state to followers
...
The followers need to know quorum state.
2018-07-19 13:27:21 -04:00
Jarrod Johnson
10c82a72b5
Restore message on unreachable collective member
...
The parallel execution had broken how that message transmits.
Bonus, make it a per node error.
2018-07-18 16:49:54 -04:00
Jarrod Johnson
79cdf65a72
Fix SLES sockapi
...
Previous fix was applied to the incorrect section of code
2018-07-18 15:07:22 -04:00
Jarrod Johnson
497ca40492
Do not abort connecting process on bad cert
...
The target may be non-viable, but don't let that ruin the party
for everyone. Let it keep going as if the system were down.
2018-07-18 14:58:16 -04:00
Jarrod Johnson
fd33e6ae01
Fix non-collective confluent mode
...
list_collective returns an iterator, which will be True...
2018-07-18 14:53:23 -04:00
Jarrod Johnson
32f944e67c
Handle unclean loss of current proxy host
...
If transition is less than gentle, provide a path to restore automatic
if it gets moved.
2018-07-18 14:32:39 -04:00
Jarrod Johnson
dcad9f5a75
Add keepalive and acks to collective
...
Detect unplugged condition (eventually).
2018-07-18 13:45:03 -04:00
Jarrod Johnson
2a34388d09
Add -p to man page for nodepower
2018-07-18 11:02:12 -04:00
Jarrod Johnson
6993e0b496
Fix nodepower argument parsing
...
nodepower was assuming that the second parameter was always the
state regardless of option parsing. Use args instead to fix.
2018-07-18 11:00:01 -04:00
Jarrod Johnson
b7fe72673d
Add clear node/group attributes to collective
...
collective was not syncing clear directives.
2018-07-17 15:57:48 -04:00
Jarrod Johnson
0159bf1b1d
Fix typo in error message
2018-07-17 15:39:08 -04:00
Jarrod Johnson
cf9ad11290
Short out operations if in collective mode but no collective.manager
2018-07-17 15:25:12 -04:00
Jarrod Johnson
ddd7ef5eba
Fix proxyconsole break and reopen
2018-07-17 15:05:09 -04:00
Jarrod Johnson
73da8ec8b5
Fix ProxyConsole if self.remote is not yet set
2018-07-17 14:44:59 -04:00
Jarrod Johnson
eac4d97732
Disengage remote console on manager change
...
This results in a more direct treatment of manager change.
2018-07-17 13:10:01 -04:00
Jarrod Johnson
fa9ecfbb94
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-07-17 11:46:53 -04:00
Jarrod Johnson
fc5472065a
Catch missing '@' in token as invalid token
2018-07-17 11:46:40 -04:00
Jarrod Johnson
cb0845596e
Provide explanation about nodemedia list and no media.
2018-07-17 11:20:27 -04:00
Jarrod Johnson
0d936e0059
Ensure no more than one in-flight slave connection from a given follower
...
This will prevent a connection from deregistering itself after the
replacement registers itself.
2018-07-17 10:36:31 -04:00
Jarrod Johnson
a7b8f0ab0c
Parallelize cross-manager requests
...
Rather than doing it at one at a time, parallelize the requests
for improved performance.
2018-07-17 10:07:32 -04:00
Jarrod Johnson
3ab4203104
Explicitly set ECDHE curve
...
Some vintages of the SSL stack require we explicitly request a curve,
so here it is.
2018-07-16 16:23:33 -04:00
Jarrod Johnson
13aa2e9aae
Catch more broad errors
...
Operating on a closed socket is not a socket.error
2018-07-16 11:58:18 -04:00
Jarrod Johnson
7462bc28e8
Use the eventlet socket in configmanager
2018-07-16 10:06:53 -04:00
Jarrod Johnson
18f1c07d65
Change to setting an errstr rather than exception
...
If nodefirmware update has an issue, provide error message instead.
2018-07-16 09:03:02 -04:00
Jarrod Johnson
0016077bee
Ensure that wait_for_sync always does a new sync
...
If a sync is in progress, wait for that to complete.
Then issue the requested *new* sync.
Probably only needed if fullsync, as the one in progress may be a
'dirty' only sync and fullsync would be satisfied by the partial sync
without it, which is bad.
2018-07-13 22:15:38 -04:00
Jarrod Johnson
1dad69097b
Be consistent with sync during load of leader cfg
...
Pass through sync as appropriate.
Also changes meant for previous commit
2018-07-13 21:52:17 -04:00
Jarrod Johnson
fd7c428d1f
Cleanup leftover sockets and more reliably be following or leading
...
Before there was a chance to be in a half state, leading to an inability
to reach consensus on leader.
2018-07-13 21:20:42 -04:00
Jarrod Johnson
80a1bd72e7
Correct arguments for Thread constructor
2018-07-13 15:43:09 -04:00
Jarrod Johnson
042d7ab5cf
Modify clear_commit to use the same thread
...
Additionally, wrap a lock around the dbm operations, in case something
in the future makes a mistake.
2018-07-13 15:27:16 -04:00
Jarrod Johnson
c74fdf5924
More collective join errors
2018-07-13 11:07:39 -04:00
Jarrod Johnson
58bf226d23
Relay error from server about token issue
2018-07-13 10:50:17 -04:00
Jarrod Johnson
6f012b69a1
Provide cleaner message for collective manager being unreachable
2018-07-13 10:43:20 -04:00
Jarrod Johnson
7f1e5d2302
Add explanation of 'all' in nodeattrib man page
2018-07-13 09:57:23 -04:00
Jarrod Johnson
3e2a827ff9
Correct typo in nodeattrib man page
2018-07-13 09:50:08 -04:00
Jarrod Johnson
1d16534c16
If replacing a follower stream, ensure the old one closes
2018-07-13 09:37:00 -04:00
Jarrod Johnson
c80ebb0e8d
Explicitly close connection before replacement
...
If an existing follower is stalled out, close the socket explicitly
to avoid leaving it open in lsof.
2018-07-13 09:14:36 -04:00
Jarrod Johnson
efaf1dae70
Make cfgleader modifications more robust
...
If cfgleader is about to forget a socket, explicitly try to close
it first.
2018-07-13 09:05:28 -04:00
Jarrod Johnson
1de82936ed
Add full sync mode
...
For implementing clear config, all data must be presumed dirty.
2018-07-12 17:06:37 -04:00
Jarrod Johnson
b0c384c9ca
Check quorum on attribute read
...
It's too bizarre for attribute read from api to work
without quorum, could be misleading.
2018-07-12 16:05:04 -04:00
Jarrod Johnson
61dd71778f
Never generate new key on crypt read
...
An autogenerated key on read can never be useful. Instead, let it fail
and assume a repair action is coming.
2018-07-12 15:55:05 -04:00
Jarrod Johnson
0f3014957b
Fix non-ascii unicode handling of consoles
2018-07-12 14:16:44 -04:00
Jarrod Johnson
c925353f02
Fix rollback
...
First the data was not actually being staged in the rollback area.
Secondly, there wasn't an assurance that the disk wouldn't have rollback
committed...
2018-07-12 10:01:32 -04:00
Jarrod Johnson
9edb225bd3
Fix the reference to sync to file
2018-07-12 09:20:41 -04:00
Jarrod Johnson
7cdc3c1400
Implement clear config rollback
...
Should something go awry during config
load, rollback the clear and load.
2018-07-12 08:48:21 -04:00
Jarrod Johnson
bd2a3f14e6
Defer txcount increment until after potential failure
...
This avoids the txcount incrementing when no transaction actually
occurs.
2018-07-12 08:41:07 -04:00
Jarrod Johnson
87d00b7447
Fix typo in manpage for nodeattrib
2018-07-11 16:48:41 -04:00
Jarrod Johnson
beedfb0600
If a drone doesn't exist, treat it as if it's an invalid certificate
2018-07-11 16:29:45 -04:00
Jarrod Johnson
ce59a36351
Avoid excessive syncs on connect
...
This removes some redundancy and avoids writing and loading to disk
during the initialization process.
2018-07-11 16:07:56 -04:00
Jarrod Johnson
a1e612968e
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-07-11 13:44:30 -04:00
Jarrod Johnson
ce1a58bf58
Provide a more specific error when file doesn't exist
...
nodemedia does check locally, but server should also check it, in
case of remote *and* service nodes.
2018-07-11 13:17:37 -04:00
Jarrod Johnson
b386084f2d
Note future enhancement for flattening on collective manager change...
2018-07-11 11:07:59 -04:00
Jarrod Johnson
8e9bcbb44f
Clear txcount on enroll
...
The transaction count on 'join' was being honored as high, when
it never should be.
2018-07-11 09:40:22 -04:00
Jarrod Johnson
704aaeecf9
Tolerate newline in myname
...
vim is quite insistent on adding a newline, tolerate that.
2018-07-11 09:36:51 -04:00
Jarrod Johnson
11968faffc
Numerous fixes to collective
...
If client has higher transaction count, do not close the connection
before extracting peer address.
If our connect session is rudely terminated, abort rather than trying
to continue.
On assimilate failure, ignore a failed assimilate with no data.
Fix problem where a follower getting double deleted was causing an error.
2018-07-10 14:55:57 -04:00
Jarrod Johnson
8769c438c0
Relax cryptodomex requirement
...
We don't *need* the higher version, it just accelerates password auth
if possible. Fix conflict with RH provided package.
2018-07-10 10:10:04 -04:00
Jarrod Johnson
f1489bf527
Add all to SYNOPSIS of nodeattrib
2018-07-09 16:52:07 -04:00
Jarrod Johnson
c03781c022
Add 'all' to usage message of nodeattrib
2018-07-09 16:49:45 -04:00
Jarrod Johnson
298e11f60f
Allow invite from non-leader role
...
A non-leader transaction is modified such that the enroll node
can be connected to the leader and have validation.
2018-07-09 16:40:43 -04:00
Jarrod Johnson
67d6e9a6c7
Add collective show
...
Provide a harmless way to look at collective state
2018-07-09 15:07:24 -04:00
Jarrod Johnson
a4edf9afb8
Rename confluentutil to collective
...
Also adjust output to be a bit more automation friendly.
2018-07-09 13:33:56 -04:00
Jarrod Johnson
2342fe717e
Remove superfluous call to sync to file
...
load_from_json already makes the call, remove the extra call that is
redundant.
2018-07-09 12:59:37 -04:00
Jarrod Johnson
08cf698609
Only conditionally require ffi
...
Only collective mode requires ffi, do not incur requirement for
non-collective mode.
2018-07-09 09:41:10 -04:00
Jarrod Johnson
a905ae4865
Only zap cfgleader if not set
...
stale relay_slaved_requests was trouncing following status, correct
by avoiding zapping that state
2018-07-03 14:43:23 -04:00
Jarrod Johnson
1eaf5357ca
Resolve race conditions on simultaneous collective outage
...
Implement random backoff strategy for serializing connect out and
connect in.
2018-07-03 14:09:09 -04:00
Jarrod Johnson
39378170b1
Add an error if cfgstreams loses a follower
2018-07-03 11:13:23 -04:00
Jarrod Johnson
2156e99ae4
Use alternative name for pycryptodomex
2018-07-03 10:43:05 -04:00
Jarrod Johnson
bba12ed9e7
Update requirements to pull in cryptodomex
2018-07-03 10:32:33 -04:00
Jarrod Johnson
282043ed97
Switch to cryptodome
...
Cryptodome is a modern, but compatible replacement for pycrypto.
We may move to cryptography eventually, but start with this for now
for some nice speedups in some cases.
2018-07-03 10:31:13 -04:00
Jarrod Johnson
09c239b294
Fix memory leaks
...
For one, configmanager was left with stale callback references, clean
those up.
For another, the callback pattern was creating a circular reference that
python memory management couldn't overcome. Break the reference
explicity when an item is disposed of.
2018-07-03 08:58:32 -04:00
Jarrod Johnson
0b26d12837
Fix memory leaks
...
For one, configmanager was left with stale callback references, clean
those up.
For another, the callback pattern was creating a circular reference that
python memory management couldn't overcome. Break the reference
explicity when an item is disposed of.
2018-07-03 08:58:11 -04:00
Jarrod Johnson
956faee052
Correct typo in variable name
2018-06-28 14:12:56 -04:00
Jarrod Johnson
8e77466875
Carry txcount through connect replica
...
The txcount was not up to date when offline updates occurred.
2018-06-28 13:54:31 -04:00
Jarrod Johnson
f01c7e19f7
Fix HA healing problems
...
If we are superior to leader, become leader
When abandoned by a leader, forget the leader.
2018-06-28 13:51:52 -04:00
Jarrod Johnson
5d894912ac
Clean up more potential for CLOSE_WAIT
...
Explicitly close sockets in a few more places.
2018-06-28 10:50:03 -04:00
Jarrod Johnson
93e78d1f03
Fix try_assimilate
...
Also get rid of CLOSE_WAIT in some situations.
2018-06-28 09:53:34 -04:00
Jarrod Johnson
97f932b946
Fix the attempt to assimilate
...
In the wake of leader loss, the assimilate attempt was causing one
of a couple of bad behaviors, a trace if broken and if it should
work, the format of the data payload was incorrect.
2018-06-26 15:29:51 -04:00
Jarrod Johnson
61f24f4d8a
Fix mismatched braces in previous commit
2018-06-26 15:09:17 -04:00
Jarrod Johnson
68a79695fc
Add check for quorum to invite generation process
...
If a would-be collective member has no quorum, provide a clear
message indicating this as an issue.
2018-06-26 14:55:42 -04:00
Jarrod Johnson
401352998c
Correctly show the error on non-leader
...
When non-leader tries to invite, print the error rather than unhelpful
exception with no helpful data.
2018-06-26 14:35:23 -04:00
Jarrod Johnson
9eeede651e
Error when inviting from non leader
2018-06-26 14:24:52 -04:00
Jarrod Johnson
fb98dd5636
Fix packaging issues
2018-06-26 14:12:53 -04:00
Jarrod Johnson
0843b991ea
Isolate following to dedicated greenthread and put fallback to assert leadership
2018-06-26 14:06:01 -04:00
Jarrod Johnson
11e6145a46
Add quorum check to non-config requests
2018-06-26 13:52:20 -04:00
Jarrod Johnson
7433dd3e38
Wrap cfg init on follow in lock
...
Use a lock to provide more atomic behavior for connecting should
something go wrong in calling connect_to_leader incorrectly.
2018-06-26 10:13:27 -04:00
Jarrod Johnson
4de1fea7aa
Implement attempt to assimilate
2018-06-25 17:30:29 -04:00
Jarrod Johnson
f6342dd31f
Allow connect_to_leader to cycle in the parent for loop
...
Startup was foiled when one entry was bad. Also add comments
on invite/join needing to be done from current leader, and the need
for better error messages.
2018-06-25 14:51:39 -04:00
Jarrod Johnson
0499a14fe8
Try to reestablish collective on leader loss
2018-06-25 10:40:29 -04:00
Jarrod Johnson
f301cd272f
Have follower notice lost leader
...
This will mitigate period during which requests
hang instead of error.
2018-06-24 11:08:15 -04:00
Jarrod Johnson
bf4f5ad5ae
Recognize loss of follower as step toward loss of quorum
...
Properly reap the loss of a follower.
2018-06-22 16:17:48 -04:00
Jarrod Johnson
5a5f0169a7
Fix logic on null messages
2018-06-22 15:46:41 -04:00
Jarrod Johnson
03adec089d
Also clear cfgleader when actually becoming leader
2018-06-22 15:26:08 -04:00
Jarrod Johnson
f065fafd61
Clear the quorum block on initial xfer
...
The initial transfer needs to have the configmanager working locally.
2018-06-22 15:23:20 -04:00
Jarrod Johnson
b315042850
Error if starting without quorum
...
If collective mode is present, but no candidates worked, still error
out.
2018-06-22 15:12:42 -04:00
Jarrod Johnson
5588712320
Clear transaction count on config clear
...
A clear configuration should have 0 transactions.
2018-06-22 14:46:52 -04:00
Jarrod Johnson
c6a0aeca3b
Fix dispatch of commands with InputData
...
Inputdata needed to be serialized for the network. Further, had
to have a JSON-safe payload for indicating name for certificate look
up, to avoid doing pickle load on client input prior to client
validation.
2018-06-22 14:41:41 -04:00
Jarrod Johnson
f45228c067
Auto-migrate open console session on loss of management
...
This will keep consoles connected across a manager change. Note
that as it stands, a console session enduring multiple changes will
become increasingly convoluted as the redirect chain will increase
every time, rather than shorting back to the entry point.
2018-06-21 15:14:56 -04:00
Jarrod Johnson
d34e65f9b7
Fix tlvdata handling of unicode input
...
Unicode input is normalized to bytes. Also have to handle python3
not having 'unicode', do a quick change to support that in both.
2018-06-21 14:29:54 -04:00
Jarrod Johnson
baef8c2c42
Connect and fix the proxyconsole
...
This works full duplex for sockapi and read for web consoles.
2018-06-21 13:46:51 -04:00
Jarrod Johnson
1543e145b7
Draft for proxyconsole object for remote use of consoles
...
This would be the stub stand in for the console object to
connect to remote console object rather than local.
2018-06-20 16:36:59 -04:00
Jarrod Johnson
2d403f7d68
Defer import of confluent log
...
confluent.util pulls in log more cleanly, for now rearrange for
easier time running slp test mode.
2018-06-20 14:56:07 -04:00
Jarrod Johnson
78117a1b1a
Draft proxyconsole support for sockapi
...
Foundation for consoleserver to be able to do backend to backend
connections
2018-06-19 16:50:49 -04:00
Jarrod Johnson
624012774c
Discontinue processing on cert mismatch
...
If cert mismatched, the client was shut out, but processing continued,
fix this mistake.
2018-06-19 16:45:06 -04:00
Jarrod Johnson
003358da5f
Discontinue ipmi session on collective manager change
2018-06-19 15:10:59 -04:00
Jarrod Johnson
6b24b9691b
Merge branch 'master' into clustertime
2018-06-19 11:07:53 -04:00
Jarrod Johnson
6ba8ca2fa2
Remove accidental change
...
keepalive was disabled, which negatively impacted
web ui performance. Re-enable.
2018-06-19 11:07:23 -04:00
Jarrod Johnson
38898ca921
Auto-make certificate if missing
...
Automatically fix a missing certificate if this is the case.
2018-06-19 11:05:38 -04:00
Jarrod Johnson
810be71720
Initial support for non-console dispatch
...
For non-exceptional cases, it is now functional.
2018-06-15 15:54:26 -04:00
Jarrod Johnson
b877a95645
Include absent devices in the json of nodeinventory
2018-06-15 11:03:03 -04:00
Jarrod Johnson
efd5732682
Amend json output
...
Have the nodeinventory json output in a bit more directly useful format,
rather than regarding the API structured JSON...
2018-06-15 11:02:57 -04:00
Jarrod Johnson
4906d6e9c4
Add --json to nodeinventory
...
Have nodeinventory have an option to output in json.
2018-06-15 11:02:51 -04:00
Jarrod Johnson
f2500d9d27
Add general confluentutil command
...
This provides util commands to manage certificates and collective
membership.
2018-06-13 16:23:49 -04:00
Jarrod Johnson
0507e89da8
Add ability to skip key backup and interactive password
...
Backups should carefully protect keys.json, but that's only feasible
interactively. However keys don't change, so have a way to combine
protected keys.json with password with relatively safe non-interactive
incremental backups.
2018-06-13 16:22:40 -04:00
Jarrod Johnson
8cea5a4fed
Fix redacted db dump
...
The db dump function did not trigger the init() function.
Rearrange the collective section to occur after a section that does
ensure the configmanager is initted.
2018-06-13 09:15:27 -04:00
Jarrod Johnson
8515d43dad
A shell script to illustrate generating ECDSA key
...
For now put down the openssl commands required to get the key and
certificate available.
2018-06-12 16:57:36 -04:00
Jarrod Johnson
5c12dc2cba
Do not require exactly TLSv1.0
...
This was breaking TLSv1.2.
2018-06-08 10:15:38 -04:00
Jarrod Johnson
a08eace00c
Fix missing import of traceback
2018-06-05 13:08:05 -04:00
Jarrod Johnson
cdb20c0302
Fix missing import of traceback
2018-06-05 13:05:42 -04:00
Jarrod Johnson
3eed46ec08
Disconnect on loss of ownership
2018-06-02 12:36:20 -04:00
Jarrod Johnson
daef9fa60b
Fix confusing nodeconfig error handling
...
Properly react to error conditions
2018-06-01 16:48:34 -04:00
Jarrod Johnson
a7a4ede580
Fix confusing nodeconfig error handling
...
Properly react to error conditions
2018-06-01 16:48:19 -04:00
Jarrod Johnson
a560dc1974
Add timeout on httpapi socket
...
Clients that fail to send any data, or keep a persistent socket
open without using it are killed off.
2018-06-01 16:26:21 -04:00
Jarrod Johnson
e8cea66a85
Add timeout on httpapi socket
...
Clients that fail to send any data, or keep a persistent socket
open without using it are killed off.
2018-06-01 16:25:38 -04:00
Jarrod Johnson
8fc29d1b46
Correctly allow manual discovery through ambiguous situation
...
Manual discovery may 'catch' some incidental data from auto-discovery.
Since the operation is manual, trust the user rather than assume the
user is confused.
2018-06-01 16:09:32 -04:00
Jarrod Johnson
6e0186947f
Correctly allow manual discovery through ambiguous situation
...
Manual discovery may 'catch' some incidental data from auto-discovery.
Since the operation is manual, trust the user rather than assume the
user is confused.
2018-06-01 16:09:13 -04:00
Jarrod Johnson
a45a0e31f1
Merge branch 'master' of github.com:jjohnson42/confluent
2018-06-01 15:54:31 -04:00
Jarrod Johnson
8ea532053e
Add guardrail around slp snoop
...
If a program error should befall our poor slp service, log the issue
and carry on.
2018-06-01 15:54:27 -04:00
Jarrod Johnson
366c955956
Add guardrail around slp snoop
...
If a program error should befall our poor slp service, log the issue
and carry on.
2018-06-01 15:53:52 -04:00
Jarrod Johnson
d968fb6b04
Add TODO note on how to do the collective console sessions
...
We will hove consoleserver abstract this away from sockapi/httpapi
concerns.
2018-05-31 16:22:11 -04:00
Jarrod Johnson
db1d5d6dff
Prepare for request dispatch
...
Sort and exclude nodes that have collective.manager, prepare to relay
for dispatch.
2018-05-31 16:18:58 -04:00
Jarrod Johnson
867dd0dda7
Handle collective.manager being set back to the node
2018-05-31 16:16:03 -04:00
Jarrod Johnson
22b63df036
First pass at suppressing foreign consoles
...
If console session is another node, prevent it from working locally.
Focus first on making sure the wrong nodes don't work before routing.
2018-05-31 15:53:09 -04:00
Jarrod Johnson
54f419d9b4
Add 'collective.manager'
...
For requests that must be routed to a definitive owner (e.g. IPMI),
have an attribute to track the currently responsible server for
singleton operations.
2018-05-31 15:47:19 -04:00
Jarrod Johnson
5d6e241287
Fix deadlock on collective create user
...
There was a call to rpc-out from within a 'true' function, which is bad,
fix this by only calling the 'true' function from 'true' function.
2018-05-30 16:21:40 -04:00
Jarrod Johnson
417bc5acda
Fix incorrect function call for user creation
...
In collective mode, the incorrect rpc call was made
2018-05-30 15:30:27 -04:00
Jarrod Johnson
57ffe166d3
Merge branch 'master' into clustertime
2018-05-25 10:24:34 -04:00
Jarrod Johnson
5718c60a51
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-05-25 10:23:25 -04:00
Jarrod Johnson
31effcc025
Fix mistake in variable name in nodeconfig
2018-05-25 10:22:35 -04:00
Jarrod Johnson
cefca49128
Fix mistake in variable name in nodeconfig
2018-05-25 10:21:34 -04:00
Jarrod Johnson
41a5eaa464
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-05-23 13:02:12 -04:00
Jarrod Johnson
46c4065b81
Correct another typo
2018-05-23 13:02:03 -04:00
Jarrod Johnson
57e323786e
Fix syntax error in the recent code
2018-05-22 11:00:30 -04:00
Jarrod Johnson
3b2a18a650
Merge branch 'master' into clustertime
2018-05-22 10:34:31 -04:00
Jarrod Johnson
3ace7747ab
Fix typo
2018-05-22 10:11:37 -04:00
Jarrod Johnson
8ede0fd8ef
Document {{}} escape on noderun and nodeshell
...
Documentation did not explain that
2018-05-22 09:59:30 -04:00
Jarrod Johnson
be3ecf60a5
Fix bad error message on {} in nodeshell/noderun
...
{} used in awk is likely, give proper error message.
2018-05-22 09:56:53 -04:00
Jarrod Johnson
8807fcfd22
Fix missing portname in lldp data
...
Root cause was pysnmp returning extraneous leftover data causing
calling code to overrite good data.
2018-05-22 09:37:01 -04:00
Jarrod Johnson
33fe0a3db4
Fix wrong port name for G8332
...
Was using the incorrect half of the return, which broke on G8332.
2018-05-22 09:36:55 -04:00
Jarrod Johnson
ca7711b373
Fix missing portname in lldp data
...
Root cause was pysnmp returning extraneous leftover data causing
calling code to overrite good data.
2018-05-22 09:36:09 -04:00
Jarrod Johnson
8b37199654
Fix wrong port name for G8332
...
Was using the incorrect half of the return, which broke on G8332.
2018-05-22 09:34:02 -04:00
Jarrod Johnson
ff2bc89fae
Merge branch 'master' into clustertime
2018-05-21 15:53:48 -04:00
Jarrod Johnson
5fe2d2a31c
Fix unprintable characters in some chassisid
...
Some switches send raw octets back, some printable. Try to normalize
when unprintable chassis id are detected. This is not 100%, if the hex
would be all between 20 and 80 throughout the string, then this will
fail to do the right thing.
Hopefully, the amount of times when lldp partners disagree on how to
implement LLDP-MIB will be limited. Currently it is known than Lenovo
and Juniper switches disagree, and both of those have what would
be unprintable values in the mfg portion of the chassis id.
2018-05-21 15:53:42 -04:00
Jarrod Johnson
a4fed0601c
Fix unprintable characters in some chassisid
...
Some switches send raw octets back, some printable. Try to normalize
when unprintable chassis id are detected. This is not 100%, if the hex
would be all between 20 and 80 throughout the string, then this will
fail to do the right thing.
Hopefully, the amount of times when lldp partners disagree on how to
implement LLDP-MIB will be limited. Currently it is known than Lenovo
and Juniper switches disagree, and both of those have what would
be unprintable values in the mfg portion of the chassis id.
2018-05-21 15:53:12 -04:00
Jarrod Johnson
41298a8e01
Extend collective data functions to more functions
...
Add to users and groups. Refactor reusable code.
Code that remains still looks awfully repetitive though...
2018-05-21 15:46:51 -04:00
Jarrod Johnson
caa4000b7e
Merge branch 'master' into clustertime
2018-05-21 11:49:19 -04:00
Jarrod Johnson
fde2c7a8e0
Fix the encuuid reference
...
encuuid is a list, not the value, so get the first value
rather than try to concatenate the string.
2018-05-18 11:49:06 -04:00
Jarrod Johnson
fbbb5d048f
Fix the encuuid reference
...
encuuid is a list, not the value, so get the first value
rather than try to concatenate the string.
2018-05-18 11:47:34 -04:00
Jarrod Johnson
32d60145f7
Fix typo in discovery core
2018-05-18 10:20:57 -04:00
Jarrod Johnson
1db781852c
Fix typo in discovery core
2018-05-18 10:20:31 -04:00
Jarrod Johnson
0dbf82b0f1
Clean up errors on bad ipv4 addresses
...
confluent errors are better now
2018-05-17 16:24:31 -04:00
Jarrod Johnson
675dc966c7
Clean up errors on bad ipv4 addresses
...
confluent errors are better now
2018-05-17 16:24:06 -04:00
Jarrod Johnson
a9485706d1
Update warning to be commented out, just in case..
2018-05-17 15:40:59 -04:00
Jarrod Johnson
db1ae03415
Sample script for mac to ipv6 translation
...
Useful for some generic applications where nodediscover
does not have full support, but must be used with care
as it doesn't guarantee the mac address is what we expect
it to be.
2018-05-17 15:40:49 -04:00
Jarrod Johnson
9826235d4d
Update warning to be commented out, just in case..
2018-05-17 15:40:20 -04:00
Jarrod Johnson
232140899e
Sample script for mac to ipv6 translation
...
Useful for some generic applications where nodediscover
does not have full support, but must be used with care
as it doesn't guarantee the mac address is what we expect
it to be.
2018-05-17 15:35:52 -04:00
Jarrod Johnson
5dddae0ebf
Cleaner handling of invalid names in restore attempt
...
Detect problems ahead af time and more cleanly print a message.
2018-05-17 14:40:40 -04:00
Jarrod Johnson
39e9bf0be5
Cleaner handling of invalid names in restore attempt
...
Detect problems ahead af time and more cleanly print a message.
2018-05-17 14:40:19 -04:00
Jarrod Johnson
d6b7c536d5
Fix discovery of old SMM firmware
...
Older SMM firmware will not have neighbor data, ignore and move on
in such a case.
2018-05-17 14:21:24 -04:00
Jarrod Johnson
f21db46cdd
Fix discovery of old SMM firmware
...
Older SMM firmware will not have neighbor data, ignore and move on
in such a case.
2018-05-17 14:20:59 -04:00
Jarrod Johnson
2d1ba7cc9b
Merge branch 'master' into clustertime
2018-05-17 13:13:46 -04:00
Jarrod Johnson
22049002bb
Fix exitcode references before use
2018-05-17 11:11:11 -04:00
Jarrod Johnson
727aa9a56c
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-05-16 11:28:08 -04:00
Jarrod Johnson
dcb1c2b32b
Fix load of txcount
...
Mistake caused txcount not to restore from disk.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
d705d6320a
Start setting the stage for leader change on restart
...
Have connect() have a way to recover if leader is dead.
Also these will be involved in configmanager detected loss of leader
2018-05-16 11:27:46 -04:00
Jarrod Johnson
52e2038fdf
Fix transaction count in collective
...
Slave members were not persisting the value to disk
2018-05-16 11:27:46 -04:00
Jarrod Johnson
9d58a2d382
Correct scope of currentleader
2018-05-16 11:27:46 -04:00
Jarrod Johnson
a2187087f7
Fix not having currentleader set
...
A slave node now recognizes itself as such.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
c5b5178f39
Block some early startup problems in collective
2018-05-16 11:27:46 -04:00
Jarrod Johnson
ff026ee034
Include absent devices in the json of nodeinventory
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1cc659a3b0
Amend json output
...
Have the nodeinventory json output in a bit more directly useful format,
rather than regarding the API structured JSON...
2018-05-16 11:27:46 -04:00
Jarrod Johnson
8bc8faf0bc
Add --json to nodeinventory
...
Have nodeinventory have an option to output in json.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1c2c9931a8
Persist the transactioncount
...
Needed for eventually ascertaining the viability in selecting leader.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
778a153170
Correct spelling error
2018-05-16 11:27:46 -04:00
Jarrod Johnson
34c510e30a
Try to persist name as myname
...
hostname may not agree with the name chosen by user, in such a case
persist the name and use that, falling back to gethostname()
as needed.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
d4babbffa4
Check and try to start collective on startup
...
Not yet good enough for a leader to rejoin, but enough for a follower
to rejoin automatically.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1c930eba9d
Have attrib set wait on all collective members
...
This will mean that it is reliable that a nodeattrib ; <command>
in delegation scenarios is guaranteed to execute in order.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
c4b564123f
Allow slave collective drones to set
...
It works (once), but needs xid fix.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
6d728df4dc
Fix reuse of channel for receiving changes
2018-05-16 11:27:46 -04:00
Jarrod Johnson
f1e29393df
Succeed in pushing config to followers from leader
...
Still more work to be done for multiple transactions.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
81bb16476c
Apply changes from leader subscription
2018-05-16 11:27:46 -04:00
Jarrod Johnson
035f10e7d7
Rough draft for ongoing syncronization
...
Putting thoughts down on how xmit will work, will add recv and relay,
do some testing, and then decide how much can be done to apply it neatly
to the various points.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
830e6bb4e4
Clear configuration prior to sync
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1eb542f6a8
Actually execute replicate-on-connect
...
This creates a duplicate of the leader.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
b733049a0c
Add self to collective database
...
Database would omit initial leader otherwise.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
a4d80e4e3a
Fixes to the connect draft
...
Needed to track it's own name, skip the banner and auth message...
2018-05-16 11:27:46 -04:00
Jarrod Johnson
a69b5fbb50
For enroll, track the remote cert special
...
For reconnect, we will have collective objects. However at
enroll time, we need to be special.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
789dfe94d0
Fix missing import of eventlet
...
Unable to spawn the connect thread due to missing import.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
73a376fd74
Fix backup of globals
...
Globals failed to open the backup file as writable, causing failure if
a global had been set.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
57f390fd0a
Draft for starting the databse replication
...
Does not actually heed the data, or implement ongoing relay of data back and forth.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
641bc7344a
Add hooks for collective mode and refactor
...
In support of config replication, need configmanager to do a few things
2018-05-16 11:27:46 -04:00
Jarrod Johnson
af940c972f
Add function to check address equivalence
...
As we start needing to compare addresses, provide a central function
to handle the various oddities associated with that.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
468f00cd1c
Rename 'joinchallenge' to 'enroll'
...
Seems like a better word to use.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
ce635068aa
Begin the 'connect' collective operation
...
First check if we are current leader, reject if not, then if cert
is invalid, reject, then comes the TODO.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
348c6a7c38
Add collective info to DB backup
...
Now persisted to disk *and* accessible to backup.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
a41a42ffd0
Persint collective info to disk
...
Additionally, simplify the concluding steps of the join conversation.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
3a354a6300
Ensure the invitation works out to even multiple of 3 bytes
...
It's cosmetic, but a nice way to avoid '=' in the tokens.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
fb9925bb84
Fix encoding of the response proof
...
The response was not decoded, causing it to always fail.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
78bf1d5acd
Provide more feedback and fix some flow issues
2018-05-16 11:27:46 -04:00
Jarrod Johnson
8165b645d9
Fix invite process and unicode
...
Unicode strings do not fit with our world view, make them bytes.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
c2783b6734
Rename swarm to collective in setup.py.tmpl
2018-05-16 11:27:46 -04:00
Jarrod Johnson
033d59b04a
Afetr some feedback, rename it 'collective'
2018-05-16 11:27:46 -04:00
Jarrod Johnson
4155954d1c
Add swarm to setup.py
...
Make sure the swarm content is actually installed.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1b912c4365
Further advance the swarm concept
...
This marks the start of attempting to connect the invitation
to sockets and using the invitation to measure the certificates as
well as proving client knowledge of an invitation token.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
5f9ee3d3c5
Migrate 'multimanager' to 'swarm'
...
It's easier to say 'swarm' and conveys the sense without confusion
of 'cluster' mode.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
cc9becea3b
Add ability to get client certificates
...
Unfortunately, to pull off the target user experience, we
must register a custom client certificate validation to allow
us to not require a CA.
2018-05-16 11:27:46 -04:00
Jarrod Johnson
1e0cf7e9fb
Create invitation management module
...
This facilitates the generation of invitations and logistics of proving
knowledge of the invitation and the integrity of the certificates.
peercert is to be gotten through getpeercert(binary_form=True) and
local cert through the util function to load from file, since we don't
have another way of getting local certificate.
2018-05-16 11:26:36 -04:00
Jarrod Johnson
7ebe9da24b
Add utility function to get certificate from file
...
This can be used to get our own certificate, for use in the
multimanager membership establishment.
2018-05-16 11:26:36 -04:00
Jarrod Johnson
6cba560f6a
Fix nodeconfig handling of general errors
...
nodeconfig was not handling errors in results well, fix this by
refactoring the nodefirmware facility into it.
2018-05-16 11:21:26 -04:00
Jarrod Johnson
08dcab4c72
Fix load of txcount
...
Mistake caused txcount not to restore from disk.
2018-05-14 16:25:27 -04:00
Jarrod Johnson
4f73ddc41e
Start setting the stage for leader change on restart
...
Have connect() have a way to recover if leader is dead.
Also these will be involved in configmanager detected loss of leader
2018-05-14 16:22:27 -04:00
Jarrod Johnson
7a912b31cb
Fix transaction count in collective
...
Slave members were not persisting the value to disk
2018-05-14 15:35:44 -04:00
Jarrod Johnson
297513bba7
Correct scope of currentleader
2018-05-11 15:03:41 -04:00
Jarrod Johnson
aa2be98dc3
Fix not having currentleader set
...
A slave node now recognizes itself as such.
2018-05-11 15:00:18 -04:00
Jarrod Johnson
3cc9ee1a17
Block some early startup problems in collective
2018-05-11 14:49:46 -04:00
Jarrod Johnson
173f1eaf7e
Include absent devices in the json of nodeinventory
2018-05-11 14:24:47 -04:00
Jarrod Johnson
0d4b1a4213
Amend json output
...
Have the nodeinventory json output in a bit more directly useful format,
rather than regarding the API structured JSON...
2018-05-11 14:18:04 -04:00
Jarrod Johnson
58155a47b5
Add --json to nodeinventory
...
Have nodeinventory have an option to output in json.
2018-05-11 13:49:54 -04:00
Jarrod Johnson
7fa431dbc9
Persist the transactioncount
...
Needed for eventually ascertaining the viability in selecting leader.
2018-05-11 11:53:45 -04:00
Jarrod Johnson
e98ecd9867
Correct spelling error
2018-05-10 16:46:29 -04:00
Jarrod Johnson
5087c8bed5
Try to persist name as myname
...
hostname may not agree with the name chosen by user, in such a case
persist the name and use that, falling back to gethostname()
as needed.
2018-05-10 16:40:13 -04:00
Jarrod Johnson
0477ab7d85
Check and try to start collective on startup
...
Not yet good enough for a leader to rejoin, but enough for a follower
to rejoin automatically.
2018-05-10 16:19:46 -04:00
Jarrod Johnson
267d83e6e4
Have attrib set wait on all collective members
...
This will mean that it is reliable that a nodeattrib ; <command>
in delegation scenarios is guaranteed to execute in order.
2018-05-09 17:01:23 -04:00
Jarrod Johnson
c962d10222
Allow slave collective drones to set
...
It works (once), but needs xid fix.
2018-05-08 16:53:59 -04:00
Jarrod Johnson
e5f553801b
Fix reuse of channel for receiving changes
2018-05-08 13:35:30 -04:00
Jarrod Johnson
d11c716b6a
Succeed in pushing config to followers from leader
...
Still more work to be done for multiple transactions.
2018-05-08 11:33:42 -04:00
Jarrod Johnson
aec4e746e9
Apply changes from leader subscription
2018-05-04 16:12:53 -04:00
Jarrod Johnson
a78aa6816c
Rough draft for ongoing syncronization
...
Putting thoughts down on how xmit will work, will add recv and relay,
do some testing, and then decide how much can be done to apply it neatly
to the various points.
2018-05-04 15:16:30 -04:00
Jarrod Johnson
5abaddfe63
Clear configuration prior to sync
2018-05-04 12:19:45 -04:00
Jarrod Johnson
ecfc56efde
Actually execute replicate-on-connect
...
This creates a duplicate of the leader.
2018-05-03 14:03:56 -04:00
Jarrod Johnson
ecfb4d68c5
Add self to collective database
...
Database would omit initial leader otherwise.
2018-05-03 13:27:48 -04:00
Jarrod Johnson
855241a043
Fixes to the connect draft
...
Needed to track it's own name, skip the banner and auth message...
2018-05-03 13:18:08 -04:00
Jarrod Johnson
ce4c72eae2
For enroll, track the remote cert special
...
For reconnect, we will have collective objects. However at
enroll time, we need to be special.
2018-05-03 11:18:02 -04:00
Jarrod Johnson
c8961377ed
Fix missing import of eventlet
...
Unable to spawn the connect thread due to missing import.
2018-05-01 16:51:57 -04:00
Jarrod Johnson
1b17c42cae
Fix backup of globals
...
Globals failed to open the backup file as writable, causing failure if
a global had been set.
2018-05-01 16:18:31 -04:00
Jarrod Johnson
196e8d0d58
Draft for starting the databse replication
...
Does not actually heed the data, or implement ongoing relay of data back and forth.
2018-04-30 16:20:49 -04:00
Jarrod Johnson
dbb50f0807
Add hooks for collective mode and refactor
...
In support of config replication, need configmanager to do a few things
2018-04-30 16:09:28 -04:00
Jarrod Johnson
1200f7b7a1
Add function to check address equivalence
...
As we start needing to compare addresses, provide a central function
to handle the various oddities associated with that.
2018-04-30 16:08:15 -04:00
Jarrod Johnson
a2a0b5de2c
Rename 'joinchallenge' to 'enroll'
...
Seems like a better word to use.
2018-04-30 11:37:23 -04:00
Jarrod Johnson
c7b01e00b6
Begin the 'connect' collective operation
...
First check if we are current leader, reject if not, then if cert
is invalid, reject, then comes the TODO.
2018-04-26 16:34:54 -04:00
Jarrod Johnson
06fdc648b8
Add collective info to DB backup
...
Now persisted to disk *and* accessible to backup.
2018-04-26 16:03:03 -04:00
Jarrod Johnson
de89803b9c
Persint collective info to disk
...
Additionally, simplify the concluding steps of the join conversation.
2018-04-26 15:48:15 -04:00
Jarrod Johnson
d38d9204a7
Ensure the invitation works out to even multiple of 3 bytes
...
It's cosmetic, but a nice way to avoid '=' in the tokens.
2018-04-26 11:35:06 -04:00
Jarrod Johnson
1deb44021f
Fix encoding of the response proof
...
The response was not decoded, causing it to always fail.
2018-04-25 20:49:08 -04:00
Jarrod Johnson
619bbbca96
Provide more feedback and fix some flow issues
2018-04-25 16:47:42 -04:00
Jarrod Johnson
8246ebdd2b
Fix invite process and unicode
...
Unicode strings do not fit with our world view, make them bytes.
2018-04-25 14:21:12 -04:00
Jarrod Johnson
a94a724fe0
Rename swarm to collective in setup.py.tmpl
2018-04-25 13:31:26 -04:00
Jarrod Johnson
6b9aed3722
Afetr some feedback, rename it 'collective'
2018-04-25 13:01:59 -04:00
Jarrod Johnson
a3de8b9374
Add swarm to setup.py
...
Make sure the swarm content is actually installed.
2018-04-24 15:58:40 -04:00
Jarrod Johnson
c8e5808daf
Further advance the swarm concept
...
This marks the start of attempting to connect the invitation
to sockets and using the invitation to measure the certificates as
well as proving client knowledge of an invitation token.
2018-04-24 14:44:45 -04:00
Jarrod Johnson
f3a0ccbff8
Migrate 'multimanager' to 'swarm'
...
It's easier to say 'swarm' and conveys the sense without confusion
of 'cluster' mode.
2018-04-24 12:59:24 -04:00
Jarrod Johnson
27c1355a4f
Add ability to get client certificates
...
Unfortunately, to pull off the target user experience, we
must register a custom client certificate validation to allow
us to not require a CA.
2018-04-24 11:00:23 -04:00
Jarrod Johnson
7909f9e003
Switch to explicit SSL context when possible
...
This allows more fine grained control over the security parameters of
the TLS connection.
2018-04-23 14:18:51 -04:00
Jarrod Johnson
97d38efb29
Merge branch 'master' into clustertime
2018-04-23 11:13:22 -04:00
Jarrod Johnson
14ff33a44a
Only activate the remote API socket if user makes cert
...
This prevents the useless networking socket from being opened
when it cannot be used. This means most implementations will not
have an extra port to explain unless the user goes through the work
and knows what it would be.
2018-04-20 19:30:15 -04:00
Jarrod Johnson
78bdac474f
Merge branch 'master' into clustertime
2018-04-20 13:25:16 -04:00
Jarrod Johnson
0481f7889b
Make macmap api case insensitive
...
This helps usability of the api.
2018-04-20 13:25:02 -04:00
Jarrod Johnson
123a1a9dc1
Merge branch 'clustertime' of github.com:jjohnson42/confluent into clustertime
2018-04-17 11:10:13 -04:00
Jarrod Johnson
fa24622704
Merge branch 'master' into clustertime
2018-04-17 11:09:59 -04:00
Jarrod Johnson
a1156097d2
Add facility to disable autosense
...
discovery autosense at scale may produce undesirable performance.
Provide an interface to turn off the autosense.
If autosense is off, manual scan can still be performed.
2018-04-13 16:54:27 -04:00
Jarrod Johnson
af72d0e71a
Update the discovery lookup tables on node add/remove
...
This will mitigate stale mappings in the discovery process.
2018-04-12 17:05:06 -04:00
Jarrod Johnson
008f8e22ae
Abort traversing gap in SMM chain
...
Once there is a gap, the next hop in the chain will be ambiguous.
Discovery must always precede from the front-most chassis.
2018-04-12 15:45:07 -04:00
Jarrod Johnson
39ee0da879
Fix makesetup for confluent_client
...
Fixing the redundant __init__.py led to no __init__.py, fix
that mistake.
2018-04-10 16:11:14 -04:00
Jarrod Johnson
fc7b26eaf7
Remove __init__.py from tracking in client
2018-04-10 16:09:26 -04:00
Jarrod Johnson
91238f1dcb
Clean up pure python packaging
...
Fix __init__.py redundancy, update requirements to current state
of affairs.
2018-04-10 16:06:37 -04:00
Jarrod Johnson
7f29d3a48f
Merge branch 'master' into clustertime
2018-04-10 15:11:59 -04:00
Jarrod Johnson
76a4a91351
Fix pyparsing rpm name
...
Accept another likely formulation of an rpm name for
the package.
2018-04-10 15:11:20 -04:00
Jarrod Johnson
5ca52ff03b
Handle interruptions to select such as resize
...
Resize can cause an interrupted operation on stdin, handle that.
2018-04-09 10:48:06 -04:00
Jarrod Johnson
bd40f2f4a6
Fix mistake in indexing of url
2018-03-27 17:11:35 -04:00
Jarrod Johnson
66e8ce2dde
Merge branch 'master' of github.com:jjohnson42/confluent
2018-03-27 16:35:31 -04:00
Jarrod Johnson
3dd86c71fd
Add bmc.hostname to nodeconfig
2018-03-27 16:32:37 -04:00
Jarrod Johnson
f97c39cea4
Add hostname to api
...
The hostname of the BMC is added to the api.
2018-03-27 15:51:14 -04:00
Jarrod Johnson
6671b9aad3
Provide cleaner behavior on timeouts
...
If a timeout occurred outside of a keeplaive, provide
a more consistent message about the situation.
2018-03-23 08:27:27 -04:00
Jarrod Johnson
f88e0bca4c
Fix nodeshell hang on incomplete lines
...
readline would hang because the filehandle was really not ready.
2018-03-19 08:45:13 -04:00
Jarrod Johnson
afd366f134
Create invitation management module
...
This facilitates the generation of invitations and logistics of proving
knowledge of the invitation and the integrity of the certificates.
peercert is to be gotten through getpeercert(binary_form=True) and
local cert through the util function to load from file, since we don't
have another way of getting local certificate.
2018-03-15 19:22:03 -04:00
Jarrod Johnson
ad0a7de1e3
Add utility function to get certificate from file
...
This can be used to get our own certificate, for use in the
multimanager membership establishment.
2018-03-15 18:59:49 -04:00
Jarrod Johnson
026a027603
Fix normalizing unicode in dicts with lists
...
If there's a list in a list, normalize that as well.
2018-03-15 12:55:32 -04:00
Jarrod Johnson
308db99dbb
Fix inconsistent dict member extension
...
If two portions of a list come back piecewise from the plugin that
are both lists, extend them rather than making a nested list.
2018-03-15 12:09:45 -04:00
Jarrod Johnson
a20b0abb43
Do not clear the buffer on superfluous reopen
...
If someone does a reopen, try to preserve the buffer, unless connect
proves there to be a deeper issue. The risk of staleness is low, but
the experience of the whole screen clearing is tricky. This was not
such an issue at the time, but using pyte causes clearbuffer to also
clear connected client terminals.
2018-03-14 17:00:44 -04:00
Jarrod Johnson
7413c44df8
Fix manual discovery
...
In manual discovery, maccount is not a field in the info, as no macmap
processing is done in manual.
2018-03-14 09:27:29 -04:00
Jarrod Johnson
463f61fac7
Modify XSS-Protection directive
2018-03-12 13:41:18 -04:00
Jarrod Johnson
0f60fc6df7
Fix uninitialized self._prevdict
...
self._prevdict was referenced without initialization.
2018-03-07 10:21:35 -05: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
889eda3d96
Merge remote-tracking branch 'upstream/master'
2018-03-06 11:25:54 -05:00
Jarrod Johnson
7593d21a87
Add missing exceptions import
...
exc was not imported
2018-03-06 11:25:36 -05:00
Jarrod Johnson
972801d41f
Merge pull request #95 from aduffy19/nodepowerUpdate
...
Add previous option to nodepower command
2018-03-05 15:44:28 -05:00
Amanda Duffy
b49531dfa5
Add previous option to nodepower command
2018-03-05 15:41:28 -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
74e34f874c
Merge remote-tracking branch 'upstream/master'
2018-02-26 15:49:54 -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
2e3cd53ded
Merge pull request #92 from aduffy19/nodeshellMan
...
Add [options] and -c description to nodeshell and nodemedia man
2018-02-23 15:46:00 -05:00
Amanda Duffy
4cc80f6c40
Add [options] and -c description to nodeshell and nodemedia man
2018-02-23 14:26:40 -05:00
Jarrod Johnson
ff0ab4086a
Merge pull request #91 from andywray/patch-2
...
Update nodemedia man page
2018-02-22 16:36:47 -05:00
andywray
337e8d6337
Update nodemedia man page
...
Fix bolding
2018-02-22 16:36:09 -05:00
Jarrod Johnson
1dd922c262
Merge pull request #90 from andywray/patch-1
...
Update nodemedia man page
2018-02-22 16:20:05 -05:00
andywray
dae6f74acc
Update nodemedia man page
...
Add (insecure) text
2018-02-22 16:19:21 -05:00
Jarrod Johnson
2323afc093
Merge pull request #89 from andywray/master
...
Fix nodemedia man page
2018-02-22 16:05:34 -05:00
andywray
9c9dffc385
Fix nodemedia man page
...
Put newlines in examples
2018-02-22 16:03:41 -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
d473d23725
Add ability to specify attribs from environment
...
This is of particular use for passing passwords safely
into nodeattrib/nodegroupattrib.
2018-02-22 09:55:46 -05:00
Jarrod Johnson
c5ce302717
Add usage back to nodefirmware
...
If the arguments are fruitless, provide a usage message rather than
blank.
2018-02-20 10:17:02 -05:00
Jarrod Johnson
22d79598b3
Fix erroneous parameter parsing
...
The change to add the selective nodefirmware queries incorrectly
mangled update.
2018-02-20 10:10: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
34f03cb217
Update nodefirmware man page
2018-02-14 14:56:45 -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
2bfa890faf
Actually enable ^=
...
It was inadvertently omitted.
2018-02-08 19:50:19 -05:00
Jarrod Johnson
94bce2f65b
Unofficially tolerate pasu and own input
...
If someone tries to use this with pasu syntax, try to do the right
thing. Similarly, if trying to paste the same syntax nodeconfig
uses on output, tolerate that as well.
2018-02-08 19:39:39 -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
414572f626
Fix nodeattrib
...
nodeattrib was broken by the nodeconfig changes
2018-02-08 13:45:17 -05:00
Jarrod Johnson
bac37dfa8d
Update man page content
...
Provide documentation on the nodeconfig command, and fix a typo
2018-02-08 11:32:05 -05:00
Jarrod Johnson
d3783aaa98
Change to shorter 'node' example
...
node or nodename are now acceptable, and {node} is less clumsy.
2018-02-08 11:18:48 -05:00
Jarrod Johnson
7dbdf2a6aa
Add ability to exclude settings
...
This permits nodeconfig to prune out less interesting pieces of data
2018-02-07 15:46:08 -05:00
Jarrod Johnson
d7322f013b
Correct typo
2018-02-06 17:00:45 -05:00
Jarrod Johnson
024d37d633
Add support to show settings detail in nodeconfig
...
settings have lots of text, provide access through '-d' argument
2018-02-06 16:52:13 -05:00
Jarrod Johnson
8ef90a457a
Add comparedefault to nodeconfig command
...
This allows gathering relevant settings that differ from default
2018-02-06 16:31:20 -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
b37ef7e90c
Implement nodeconfig access to system settings
...
First draft
2018-02-02 17:17:02 -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
290ccecfb9
Exit if requested upload file does not exist
...
It was fruitlessly sending to server, when it could detect the problem
up front without bothering the server.
2018-01-29 14:36:44 -05:00
Jarrod Johnson
0431e42452
Do not attempt to list after error
...
On upload/attach errors, do not bother to try to follow up with
list media, as the previous failure is more useful.
2018-01-29 14:21:38 -05:00
Jarrod Johnson
36e68ca852
Fix nodemedia list when errors are present
...
It would assume that databynode is always good news, but error data
can come as well.
2018-01-29 14:19:25 -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
2e7a8bee18
Fix nodemedia silent errors
...
For 'databynode' style responses, error data was suppressed.
Make printerror more thorough at handling such errors.
2018-01-29 11:21:46 -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
49a444959d
Add line wrap to usage error
...
It mixed output with next prompt, which is ugly
2018-01-24 13:42:13 -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
1cf472470e
Add warning if someone tries attach with a file
...
Rather than bother the server, sort out the problem locally.
2018-01-24 13:23:35 -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
4ae32c1219
Merge branch 'master' of github.com:jjohnson42/confluent
2018-01-24 09:58:41 -05:00
Jarrod Johnson
d04f6cc858
Accept '-f' as alias for '-c'
...
In xCAT, '-f' meant 'fanout' and it's harmless for us to support
both.
2018-01-24 09:26:18 -05:00
Jarrod Johnson
03703250e6
Further improve formatting of the discoverystate option
2018-01-23 16:28:07 -05:00
Jarrod Johnson
01dd48ccc2
Fix some man page formatting issues
2018-01-23 16:16:47 -05:00
Jarrod Johnson
91d0c8ed7a
Add flag to request discovered devices by discovery state
...
Also refresh the manpage to reflect the current state of nodediscover
command, and flesh out the discovery states there.
2018-01-23 16:09:17 -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
e7aeece7f4
Add nodediscover clear
...
Provide means of deleting discovery data, particularly to help rescan.
2018-01-23 15:05:24 -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
eccc7803a9
Move the (insecure) output to where promised
2018-01-23 10:36:25 -05:00
Jarrod Johnson
cd260a769e
Fix variable name
...
rsp rather than res was used in one place erroneously
2018-01-23 10:32:48 -05:00
Jarrod Johnson
56b6babed6
Provide insecure warning
...
When certificate validation is not occuring in a secure fashion, make
it obvious to user through '(insecure)' flag. Lay the groundwork for
future update to actually provide a secure attach strategy, once the
firmware is willing.
2018-01-23 10:23:56 -05:00
Jarrod Johnson
37f0345553
Format the complex epilog of nodemedia
...
nodemedia has non-option arguments suggesting need for line wraps.
Provide a custom formatter to enable readable usage.
2018-01-22 16:12:29 -05:00
Jarrod Johnson
98a763eb35
Change detach to detachall
...
It is more clear what detach will do this way. Also block more
attempts.
2018-01-22 15:56:59 -05:00
Jarrod Johnson
9b7db2a924
Explain the sort algorithm on collate
...
Provide a more thorough explanation of the sort algorithm
2018-01-22 15:09:19 -05:00
Jarrod Johnson
87696a7b0d
Add man page for nodemedia
...
Documentation to flesh out the nodemedia command
2018-01-22 14:18:03 -05:00
Jarrod Johnson
c2a15fc74d
Fix typo in nodeconfig man page
...
The man page mispelled the command in the SYNOPSIS
2018-01-22 14:16:04 -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
6444756b3c
Add list to upload command
...
Have the upload command do list at the end to give affirmation of
what happened.
2018-01-17 10:06:54 -05:00
Jarrod Johnson
af82e868d2
Alter nodemedia command
...
Add the glob protection and have attach do a list after.
2018-01-17 10:06:05 -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
8acb59d967
Fix noderun/nodeshell filehandle exhaustion
...
noderun/nodeshell failed to close filehandles on child
exit.
2018-01-11 12:40:53 -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
73f40ecbf8
Add a dir2img command to help with generation of RDOC
...
RDOC requires a valid 'floppy-like' image, this script aids in the
creation of such a thing.
2018-01-04 14:17:27 -05:00
Jarrod Johnson
9f5b88eb9f
Fix nodemedia upload
...
Implement the tracking properly
2018-01-04 13:39:51 -05:00
Jarrod Johnson
3265d812ba
Tweak the media implementation
...
Change key to 'detachall' for now and remove the 'all' argument from
detach.
2018-01-04 13:21:22 -05:00
Jarrod Johnson
673fb02896
Draft nodemedia command
...
Server side still has some limitations, but it functions when
going downhill with a tailwind while spewing error messages.
2018-01-03 15:35:08 -05:00
Jarrod Johnson
0d40a0cac6
Add ability to clear upload progress tracking
...
Remote media uploads could not be cleared, add the ability to do so.
2017-12-08 18:58:04 -05:00
Jarrod Johnson
6845f64d46
Correct spelling of tenant attribute
...
The attribute had been mispelled and needed a fix.
2017-12-08 18:42:08 -05:00
Jarrod Johnson
ade1d93071
Fix strip_node on createdresource
2017-12-08 18:35:39 -05:00
Jarrod Johnson
b18ad89672
Correct some errors in the previous commit
2017-12-08 18:27:35 -05:00
Jarrod Johnson
09d20ea1ff
Add remote media handling to API
2017-12-08 15:03:27 -05:00
Jarrod Johnson
ae39a84a30
Improved unrecognized memory format
2017-12-07 16:54:35 -05:00
Jarrod Johnson
0ae315a12f
Fix bad SPD handling
...
If the memory is not DDR3/DDR4, cease further attempt to format
data.
2017-12-07 16:51:55 -05:00
Jarrod Johnson
60e8338b47
Fix logout
...
The logout was broken by the forwarder security hardening
2017-11-28 15:48:35 -05:00
Jarrod Johnson
8897eb5dcf
Fix user api
...
The user api had been messed up. Correct by using keyword to correctly
place the configmanager argument.
2017-11-28 15:23:27 -05:00
Jarrod Johnson
208eb46cc2
Merge branch 'master' of github.com:jjohnson42/confluent
2017-11-28 13:42:32 -05:00
Jarrod Johnson
2c5432454a
Implement a nicer nodereseat unsupported command
...
This carries the error condition cleanly back to the command line.
2017-11-28 13:42:21 -05:00
Jarrod Johnson
c5dd024557
Move the switch discoverable check for non-SMM into eval_node
...
eval_node can establish that this is a direct discovery attempt.
In that specific context, the check can be performed. Otherwise,
we can't check in this way, but the enclosure manager should raise the
error on behalf of the rest of the situation.
2017-11-27 16:59:13 -05:00
Jarrod Johnson
72af8f1631
Fix custom and net.* attributes for groups and alias clearing
...
The _group function was not using fixup_attribute, add that.
Additionally, on the clear_ functions, use the aliases to make clearing
work with the shorthand as well.
2017-11-27 10:36:29 -05:00
Jarrod Johnson
d69cca46d0
Rework check_globbing to reduce false positives
...
First, globbing can only be the cause of a mess up if the given
noderange is a file that matches.
With this we still have:
for node in $(nodelist compute); do nodepower $node; done
As a potential false positive if any node is a range.
For this, offer suggestion of changing directories.
Also, if it had been:
for NODE in $(nodelist compute); do export NODE; nodepower $NODE; done
Another clause can detect that, which has been added.
2017-11-27 10:04:23 -05:00
Jarrod Johnson
4bef5f7917
Merge branch 'master' of github.com:jjohnson42/confluent
2017-11-15 15:39:06 -05:00
Jarrod Johnson
03293d88b0
Have nodeeventlog print help on incorrect arguments
2017-11-15 15:38:59 -05:00
Jarrod Johnson
b78266eff7
Merge branch 'master' of github.com:jjohnson42/confluent
2017-11-15 09:41:28 -05:00
Jarrod Johnson
e63d7f9fe3
Correct typo in the nodeshell command
...
The November 6th change contained a typo.
2017-11-15 09:41:01 -05:00
Jarrod Johnson
16297b048f
Add nodegroupdefine and nodegroupremove
...
With these, a user can noow largely ignore confetty for most
abosuletly universal functions.
2017-11-14 16:05:03 -05:00
Jarrod Johnson
6d88dbb374
Add missing man pages
...
Several commands did not yet have man pages, address this documentation
issue.
2017-11-14 15:55:03 -05:00
Jarrod Johnson
43c5ecd6ae
Fix missing aliases
2017-11-14 15:16:58 -05:00
Jarrod Johnson
9d2ec60b50
Set executable bits on various commands
2017-11-14 14:59:37 -05:00
Jarrod Johnson
a16d4b12ea
Merge branch 'master' of github.com:jjohnson42/confluent
2017-11-14 14:29:57 -05:00
Jarrod Johnson
76bfb29d60
Try to put the brakes on too many mac discovery attempts
...
In various scenarios, too many macs on a port can be a sign of trouble.
For example, a chained SMM configuration with head on switch port, or
incorrectly pointing a nodes net attributes at a switch uplink port, or
defining SMMs without any nodes, causing XCCs to think they are
rackmount. This sets some sanity value for avoiding problems. This is
of course a mitigation, invalid scenarios could still run afoul of the
limits, but it should catch a large chunk of offending scenarios.
2017-11-14 14:28:31 -05:00
Jarrod Johnson
3e201a5f4f
Back off aborted use of configmanager in nodegroups
...
Currently, we don't need it and the change was half-attempted. Remove
the problematic half that remained.
2017-11-14 12:01:57 -05:00
Jarrod Johnson
0b0f325240
Shorten power check interval
...
The interval can be shorter with little ill-effect.
2017-11-13 14:22:30 -05:00
Jarrod Johnson
29330aee74
Clear [powered off] from screen if state change detected
...
Previously, only transition to powered on was detected. React
to situations where data comes up or power status change.
2017-11-13 14:04:09 -05:00
Jarrod Johnson
78dea26d06
Switch glob suppression to detection
...
The suppression was unable to be accomplished for bash without
somehow otherwise breaking the shell. zsh and csh could be better at
one-off glob disabling though.
2017-11-13 11:49:40 -05:00
Jarrod Johnson
a00747c79c
Update nodeconsole man page
2017-11-10 10:37:48 -05:00
Jarrod Johnson
4bbc05699e
Fixed log age out with size and time rolling
...
There was a problem if both size and time based age out were triggering
and failing to honor backupCount.
2017-11-10 08:48:36 -05:00
Jarrod Johnson
06eb91c355
Fix formatting of nodediscover synopsis
...
Markdown's annoying use of trailing whitespace strikes again.
2017-11-09 16:47:49 -05:00
Jarrod Johnson
5b52582302
Merge branch 'master' of github.com:jjohnson42/confluent
2017-11-09 16:31:29 -05:00
Jarrod Johnson
4de797be05
Add man page for nodediscover
2017-11-09 16:31:11 -05:00
Jarrod Johnson
80864d78b3
Remove unused nestedmode
...
Without the ability to reliably tell a nodename from an input key,
must not do the nestedmode detection.
2017-11-08 13:36:36 -05:00
Jarrod Johnson
cc4950ef75
Opportunistically grab and sort by node
...
If output comes close enough together, make some effort to group it
so that it will have a higher tendency of looking orderly. This of
course only does so when it does not interfere with quickly presenting
the data.
2017-11-06 15:47:59 -05:00
Jarrod Johnson
fcae11bf96
Do natural sort on expression expansion
...
This creates more logical behavior from nodeshell and noderun when
dealing with many nodes, particularly when crossing the concurrency
limit.
2017-11-06 14:57:15 -05:00
Jarrod Johnson
f5889e7029
Add '-c' to manage noderun/nodeshell concurrency
...
Allow user to specify custom parallel count.
2017-11-06 14:51:59 -05:00
Jarrod Johnson
148329dd8e
Implement send resize commands
...
Craft correct stty commands based on terminal size
detected by confluent.
2017-11-06 11:09:55 -05:00
Jarrod Johnson
d9ffa10422
Restore power query function
...
Implement it in a fashion that does not block confetty while long
running power query situations happen.
2017-11-06 10:24:32 -05:00
Jarrod Johnson
a6bae944a2
Explicit dependency version in rpm
...
Installs without update can end up with non-viable old versions.
Force yum to try to update downlevel packages if present.
2017-11-06 09:20:12 -05:00
Jarrod Johnson
65bcb8a35b
Add glob supressing aliases for new commands
...
Also, document what they are for the curious.
2017-11-03 16:59:27 -04:00
Jarrod Johnson
31a2fce521
Add noderemove command
...
Easy deletion of nodes from the confluent database.
2017-11-03 16:54:07 -04:00
Jarrod Johnson
ea49108c78
Add nodedefine command
...
Provide a quick command to define new nodes to confluent direct
from cli without confetty.
2017-11-03 16:39:46 -04:00
Jarrod Johnson
21fce4098b
Add ability to list all configuration supported
2017-11-03 10:36:32 -04:00
Jarrod Johnson
8eca6b156b
Automatically request static when setting ip
...
If someone is setting IP address, they are implying static.
Change that implicit reality to explicit statement.
2017-11-03 10:31:00 -04:00
Jarrod Johnson
7f4ea287bc
Fix issues in expression enabled InputNetworkConfiguration
...
This enables setting using expressions for any network configuration
functionality.
2017-11-03 10:25:26 -04:00
Jarrod Johnson
9f3fe01a49
Evolve the concept, it does not currently work
2017-11-02 17:07:44 -04:00
Jarrod Johnson
de6ecdab38
Start work on nodeconfig command
...
This reworks the client to reuse some bits of nodeattrib, and has
nodeconfig able to read values.
2017-11-01 16:48:17 -04:00
Jarrod Johnson
02018da187
Add aliases to the client library
...
Replicate for the sake of retrieving values by aliased names.
2017-11-01 13:33:57 -04:00
Jarrod Johnson
8bc766e740
Add concept of aliases for setting and expressions
...
For the moment this allows some shortcuts on setting and
expressions for {bmc}. Other attribute aliases may come.
2017-11-01 13:28:46 -04:00
Jarrod Johnson
8c21c59459
Dynamic backoff for switch scan
...
Have switch scan back off propritonate to time it takes to walk the
switches. Avoid being back to back on switch scans.
2017-10-27 16:50:39 -04:00
Jarrod Johnson
d5be1ccf8c
Restrict lifetime of port relay to session
...
If a session is closed, also kill off any associated
relays in progress. One exception, video port relay
in ESTABLISHED is left alone due to limitation, but
at least no new open.
2017-10-27 14:47:10 -04:00
Jarrod Johnson
45b8a18f14
Merge branch 'master' of github.com:jjohnson42/confluent
2017-10-26 13:31:36 -04:00
Jarrod Johnson
d502cd5159
Add nodereseat command to confluent command
2017-10-26 11:48:42 -04:00
Jarrod Johnson
52673a990b
Confluent server side enclosure reseat
...
This provides ability to request reseat of nodes, and redirects it to
the enclosure manager.
2017-10-26 11:45:16 -04:00
Jarrod Johnson
43c60bc180
Add another invalid uuid
...
This is another uuid that will not be unique that may appear in some
systems without a valid uuid.
2017-10-25 16:16:00 -04:00
Jarrod Johnson
c86d9f3e33
More specifically restrict connectivity
...
When serving multiple browser, limit a forwarder to only the specific
client that authorized that forwarder. Previously, one client was
allowed to access another client's forwarding port if it happened to
know the location.
2017-10-23 09:34:29 -04:00
Jarrod Johnson
68221b8158
Provide distinct video forwarding per client ip
...
While we are limited to one 'listen' target at a time, we can
qualiify by the source address to at least provide distinct
behavior depending on the client.
2017-10-23 09:28:24 -04:00
Jarrod Johnson
34fb159801
Restrict forward source ip to requestor
...
This prevents sockets from opening up to the world that could be used
to connect to management interfaces directly, apart from the specific
requestors.
2017-10-22 12:35:12 -04:00
Jarrod Johnson
3372a8401a
Move registration of key handler up to constructor
...
This should be a more bulletproof place to be. Note that it used
to be here and was moved because pyghmi used to call oem_init, but
pyghmi has been changed for a long time to no longer have that
requirement.
2017-10-20 15:18:03 -04:00
Jarrod Johnson
f07a0e333f
Use natural sort in parts of macmap api
...
It was hard to traverse things through default sort, provide
natural sort to node names and port names.
2017-10-20 15:15:59 -04:00
Jarrod Johnson
301014f3b5
Fix nodediscover rescan
...
Actually request that the server do rescan, rather than queueing it up
and failing to transmit.
2017-10-20 13:53:13 -04:00
Jarrod Johnson
aa0255bf62
Limit firmware updates to 256 at a time
...
To keep the concurrent update level to a fairly widely attainable limit,
impose 256 at a time limit. This is a gigantic improvement over most
previous circumstances still, and can comfortably accommodate three of
the most dense racks at a time.
2017-10-20 08:43:43 -04:00
Jarrod Johnson
444ba917eb
Have node*attrib commands error if user does -c and =
...
Can't clear and assign in one go, error for user awareness.
2017-10-19 10:02:30 -04:00
Jarrod Johnson
6659b31106
Provide graceful error message on cert mismatch
...
Firmware update can provide a more clean looking message on the
event of a cert mismatch. Improve polish by doing it this way.
2017-10-18 12:58:21 -04:00
Jarrod Johnson
3e93cb2434
Stub out strip_node for DeletedResource
...
This is only ever a URL at the moment. Do not trigger stack
traces in firmware update by stubbing out the strip_node.
2017-10-18 10:58:17 -04:00
Jarrod Johnson
ffaabd5ae3
Do not process incomplete DIMM info
...
A malformed SPD given by BMC is now presented as Unrecognized,
rather than trying to format data that does not exist.
2017-10-18 09:51:31 -04:00
Jarrod Johnson
d26f6259a7
Add explicit error about certificate mismatch
...
Before we were aborting without info. Now explain the missing
information by including the error explaining why it is missing.
2017-10-17 13:46:40 -04:00
Jarrod Johnson
757df0f571
Reduce noise of one off reading
...
Per request, limit the display precision of floats in the nodesensors
command readout.
2017-10-17 11:32:17 -04:00
Jarrod Johnson
bfc2b65e99
Support 'energy' sensor category
...
Energy is distinct from power, categorize it as such.
2017-10-17 11:07:54 -04:00
Jarrod Johnson
3a1e9fe0bc
Fix typo in function name
2017-10-16 11:21:18 -04:00
Jarrod Johnson
bb03e4a961
Fix HTML view for simple string values
...
Simple string values were incorrectly treated in the HTML view.
Fix it so the data is actually readable.
2017-10-16 10:38:13 -04:00
Jarrod Johnson
f7b5280d6a
Fix HTML view with bool value
...
HTML view was causing internal server errors when the api provided
boolean data
2017-10-16 10:35:47 -04:00
Jarrod Johnson
f1f6c3b066
Correct syntax error
...
The prior commit had a grave syntax error.
2017-10-16 10:30:02 -04:00
Jarrod Johnson
b7b26a1069
Merge branch 'master' of github.com:jjohnson42/confluent
2017-10-16 10:21:15 -04:00
Jarrod Johnson
e3b869fa34
Fix minor formatting issue
2017-10-16 10:21:01 -04:00
Jarrod Johnson
a962a5afc3
Exempt Web Forwarding from CSRF
...
Web forward from popup context requires it be exempt from CSRF
protection. This is harmless (as all GET should be, but erring on side
of caution), so add it to the whitelist of CSRF skipping on a CSRF
enabled client session.
2017-10-16 10:20:49 -04:00
Jarrod Johnson
b2fdaeffe7
Add 'Power' to relevant categories for power
...
While IPMI has no 'Power', some OEM sensors use that
type anyway.
2017-10-13 16:08:59 -04:00
Jarrod Johnson
8694eca40b
Error out a whole noderange if global error occurs
...
For example, nodeboot with invalid argument failed and then proceeded
to 'boot' phase.
2017-10-13 09:08:12 -04:00
Jarrod Johnson
d5efa87288
Add history to the dbg cli helper
...
As long as we are adding readline, history persistence is also really
handy.
2017-10-12 14:15:36 -04:00
Jarrod Johnson
6a39a3f9a2
Fix html api browser add/assign resource
...
The html extraction was unable to process the message.
2017-10-10 09:16:06 -04:00
Jarrod Johnson
9b1e70893b
Merge branch 'master' of github.com:jjohnson42/confluent
2017-10-10 09:13:21 -04:00
Jarrod Johnson
672c127621
Fix error propogation on manual discovery
...
Manual discovery needs to give the user, not the log info about the
failure.
2017-10-06 16:10:47 -04:00
Jarrod Johnson
158a9705db
Support full assign from csv input
2017-10-06 14:34:34 -04:00
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
c891cff926
Phase 1 of bulk assignment
...
Parse CSV and do some validation, next phase will actually
create nodes and assign the discovery.
2017-10-05 16:55:11 -04:00
Jarrod Johnson
a8a32118db
Add the ability to assign
...
Start with the ability to assign one at a time.
2017-10-05 13:52:20 -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
91ff08158f
Add rescan subcommand to nodediscover
...
Allow nodediscover to initiate an active scan.
2017-10-05 10:05:56 -04:00
Jarrod Johnson
79b47bd0b7
Create nodediscover command
...
Provide a command to interact with discovery data in a more convenient
way. This commit comprises at least most of the ability to list and
filter.
2017-10-04 16:27:40 -04:00
Jarrod Johnson
c95d3cf906
Note for future chassis id relationship
2017-10-04 09:43:35 -04:00
Jarrod Johnson
9c6b10a166
Sort output from confetty
...
Sorting can greatly improve the readability of some
confluent functionality.
2017-10-04 09:09:03 -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
e298ead944
Merge branch 'master' into betterneighbor
2017-10-02 13:28:33 -04:00
Jarrod Johnson
c0ab8532df
Fix noderun when invalid noderange passed
...
exitcode was not yet set when starting to be referenced. Initialize to
zero prior to any possible reference to fix.
2017-10-02 09:07:06 -04:00
Jarrod Johnson
4e1ebc290b
Fix noderun when invalid noderange passed
...
exitcode was not yet set when starting to be referenced. Initialize to
zero prior to any possible reference to fix.
2017-10-02 09:06:29 -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
563ee96879
Harden confetty to weird text strings
...
If it can't properly encode to printable, use repr instead.
2017-09-28 16:20:19 -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
dad86242a9
Performance optimize abbreviation
...
Don't abbreviate the same nodes twice when we don't have to.
2017-09-22 10:06:02 -04:00
Jarrod Johnson
a0802dd66e
Add natural sort
...
For output groups with equivalent node counts, sort naturally
by the group text header.
2017-09-22 09:54:28 -04:00
Jarrod Johnson
c966b09581
Fix behavior on firmware update timeout
...
nodefirmware was not handling results where the update couldn't even
start. Handle those errors properly.
2017-09-22 09:32:43 -04:00
Jarrod Johnson
b631699656
Correct incorrect bank parameter on nodefirmware -b
...
The bank should have been 'backup', not 'bank' which makes no sense.
2017-09-22 09:06:42 -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
0db2e1cea6
Add clarification on what noderange is for
2017-09-12 15:29:59 -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
2a0b038c30
Merge pull request #83 from aduffy19/noderange
...
Add noderange man page
2017-08-25 16:42:12 -04:00
Jarrod Johnson
deb2c3a94a
Correct some minor potential issues and add restart on failure
2017-08-25 16:41:22 -04:00
Amanda Duffy
3f1bb1c151
Add noderange man page
2017-08-25 16:39:07 -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
Jarrod Johnson
e1eafa46f9
Be robust in handler init withotu addresses set
2017-08-23 11:16:07 -04:00
Jarrod Johnson
9798f30ef8
Remove codecs getwriter unicode from nodesensors
...
In nodesensors, things are made into binary strings explicitly,
which causes the codecs.getwriter to choke
2017-08-22 16:54:25 -04:00
Jarrod Johnson
d1bafa98bb
Merge branch 'master' of github.com:jjohnson42/confluent
2017-08-22 16:50:20 -04:00
Jarrod Johnson
2cdfa8fcae
Do not let a single node error stop all pending node
...
Isolate faults to single node for better robust behavior.
2017-08-22 16:50:04 -04:00
Jarrod Johnson
b93a2e60d2
Be more selective in IP pruning
...
Only prune known bad IPs, not the whole list
2017-08-22 16:47:56 -04:00
Jarrod Johnson
e478f8aef3
Add --backup to nodefirmware man page
2017-08-16 17:38:52 -04:00
Jarrod Johnson
b35463e594
Implement argument to nodefirmware to backup
2017-08-16 17:33:23 -04:00
Jarrod Johnson
54f25cfa9e
Implement access to other banks
...
Provide backend support for other banks than primary.
2017-08-16 17:30:18 -04:00
Jarrod Johnson
9ff7829373
Fix typo in confetty
...
Strings do not have a startswitch method...
2017-08-16 15:06:48 -04:00
Jarrod Johnson
f3b56cf187
Add abbreviate to man page
...
abbreviate was not in the man page for collate.
2017-08-16 11:34:36 -04:00
Jarrod Johnson
783837b9be
Further collate page formatting fixes
2017-08-16 10:42:44 -04:00
Jarrod Johnson
1b18edcccb
Fix formatting issues in collate man page
2017-08-16 10:31:58 -04:00
Jarrod Johnson
d972e2c12c
Fix man page for section 1
2017-08-16 10:12:03 -04:00
Jarrod Johnson
c5cf829117
Avoid stacktrace on pipe on non-ascii
...
Various commands may (accidentally or intentionally) encounter
non-ascii data. While python stdout without pipe is fine, when piping
it assumes ascii. Fix this to always assume utf-8 explicitly.
2017-08-16 09:57:57 -04:00
Jarrod Johnson
2f55a251cd
Provide more graceful behavior when input has no ': '
...
Rather than do a stacktrace, place such data into an 'UNKNOWN' output
group, like xcoll did.
2017-08-16 09:44:22 -04:00
Jarrod Johnson
d63f6ec9f0
Fix install of collate man page
2017-08-16 09:42:30 -04:00
Jarrod Johnson
9d582262e6
Update man page information
...
Document use of collate and firmware update
2017-08-15 16:17:28 -04:00
Jarrod Johnson
2063436ccc
Reduce context of collate diff
...
diff mode is less useful with superfluous context.
Suppress context to focus more on differences.
2017-08-15 16:11:38 -04:00
Jarrod Johnson
6addd05de2
Stop firmware when 'pending', which is another 'completion'
2017-08-14 17:10:42 -04:00
Jarrod Johnson
28259511ed
Add abbreviate to collate
...
Also, perform natural sort on 'nodenames' when not abbreviating
2017-08-14 15:06:57 -04:00
Jarrod Johnson
0393e55eb1
Implement API for reverse noderange
...
Provide reverse noderange through special
/noderange//abbreviate location. This should enable
collate to abbreviate noderanges.
2017-08-14 14:41:43 -04:00
Jarrod Johnson
f7b964b2ce
Implement feedback on final state of firmware
...
Some things on update are active immediately, others are pending reboot.
Documentation needs to use this to let users know what they need to do
or not need to do after the firmware update.
2017-08-14 10:04:19 -04:00
Jarrod Johnson
da0941c229
Suppress noise of sysctl command
2017-08-11 16:37:09 -04:00
Jarrod Johnson
7cec311b22
Fix sysctl packaging info
2017-08-11 16:11:05 -04:00
Jarrod Johnson
8ada0e7cf4
Read in sysctl tune on install
...
This ensures that the value is ready for slp plugin
2017-08-11 15:45:56 -04:00
Jarrod Johnson
87e2e481c2
Tune the UDP receive buffer
...
We have a sysctl tune file and option to
go higher so that we get more SLP responses.
2017-08-11 15:43:44 -04:00
Jarrod Johnson
38546514e2
Pull UUID into info for rackmount
...
UUID was erroneously not pulled. The block on dense/blade should
only apply to enclosure bay.
2017-08-11 10:07:42 -04:00
Jarrod Johnson
1e54abd29b
Implement reverse noderange
...
This is the library feature. A remote API call will be addded
so that the likes of collate can use it.
2017-08-10 16:45:38 -04:00
Jarrod Johnson
a571faa215
Implement collate command
...
Also adjust output to be less buffered for sake of '-w' and other
pipe commands.
2017-08-09 17:08:52 -04:00
Jarrod Johnson
87da7b62ae
Correct mistake in the model attribute name
...
The info calls it 'modelnumber' rather than 'model'
2017-08-09 14:55:27 -04:00
Jarrod Johnson
8d02d7cc7f
Store serial and model number in id attributes on discovery
2017-08-09 14:31:29 -04:00
Jarrod Johnson
5f1f41b975
Add serial and model number to the id attributes
...
Lay groundwork for pulling this sort of data in on discovery. The plan is that *if* serial numbers will
be used as a cue for discovery, it would be in the context of a nodediscover command.
2017-08-08 15:51:27 -04:00
Jarrod Johnson
7c1bbe1618
Fix error in the usage text of nodeinventory
2017-08-08 15:45:53 -04:00
Jarrod Johnson
76e6f2dd17
Update online usage message for nodeinventory
2017-08-08 11:56:06 -04:00
Jarrod Johnson
67f2282cc4
Update nodeinventory page with new usage info
2017-08-08 11:55:31 -04:00
Jarrod Johnson
b98eea81ad
Add filtering to nodeinventory
...
Allow filtering output by various parameters.
2017-08-08 11:49:50 -04:00
Jarrod Johnson
3bf84ee1e7
Merge branch 'master' of github.com:jjohnson42/confluent
2017-08-08 10:39:49 -04:00
Jarrod Johnson
498803f70a
Fix line wrap in nodebmcreset example
...
Again, the curious behavior of markdown for line break
to be two spaces at the end bites some documentation.
2017-08-08 08:36:21 -04:00
Jarrod Johnson
9ac7158bdd
Fix SMM enablement on XCC in SD530
...
The form factor is, at least in one test, an array, not a string. Just in case, tolerate
either way.
2017-08-07 13:46:14 -04:00
Jarrod Johnson
4110d18f43
Fix exitcode init in noderun
...
The order was incorrect in the code.
2017-08-07 11:42:58 -04:00
Jarrod Johnson
efe3db11ce
Add trigger for restarting on pyghmi updates
...
Often times, a pyghmi update carries the substance of
a patch. Instead of a person having to remember to
manually restart, try to trigger an update to restart
confluent automatically.
2017-08-07 09:51:04 -04:00
Jarrod Johnson
c8fbb58ae9
Correct overzealous deletion
...
Selection error caused if statement to have syntax error.
2017-08-03 09:41:21 -04:00
Jarrod Johnson
05715c6826
Fix noderun in same way as nodeshell
...
noderun had a similar issue about error handling.
2017-08-03 08:40:58 -04:00
Jarrod Johnson
5d7df6dceb
Fix error handling in nodeshell
...
nodeshell needed to process errors correctly, and not assume databynode would be there.
2017-08-03 08:39:04 -04:00
Jarrod Johnson
dbcc33629a
Fix nodeshell overeager parsing
...
In the case of execing to ssh, preserve literal argumants since
ssh is going to parse them. Pre-parsing will cause ssh to strip out spaces, for example.
2017-08-03 08:33:29 -04:00
Jarrod Johnson
085a9fed37
Do not error if debug or usr1 handling is impossible
...
Windows is a limited platform, let it run regardless.
2017-08-02 16:43:08 -04:00
Jarrod Johnson
659c4e4217
Avoid trace on deleted node
...
If a node is deleted, act similar to if it were defined with no console.method, to avoid
superfluous trace output. In the future, it may make sense to filter out nodes with no
console.method earlier, since a fair amount of startup work is done that is ultimately ignored
for situations where console is not enabled.
2017-08-02 10:00:16 -04:00
Jarrod Johnson
28ba40ccfa
Replace SOL locknig with NullLock
...
Again, eventlet monkeypatching of pyghmi seems to be messing up
use of RLocks...
2017-07-31 10:05:50 -04:00
Jarrod Johnson
e2b7440a5c
Put id of thread in the trace
...
When looking at the traces, handy to have ids for each thread for various
purposes.
2017-07-31 10:02:05 -04:00
Jarrod Johnson
a55ba02d11
Merge remote-tracking branch 'upstream/master'
2017-07-28 16:05:45 -04:00
Jarrod Johnson
2ef549c2ae
Correct the NullLock
...
NullLock was not what util.protect was expecting, provide more function calls, all of which do nothing.
2017-07-28 16:05:10 -04:00
Jarrod Johnson
8123a77451
Merge branch 'master' of github.com:jjohnson42/confluent
2017-07-28 15:53:25 -04:00
Jarrod Johnson
9e44087047
Breakup logentries exceeding 65k
...
The data length of a log entry must not exceed 65k. If an attempt is
made to log that much, break it up and duplicate the records. It may make
sense to indicate a continuation explicitly, but for now just extend.
2017-07-28 15:53:07 -04:00
Jarrod Johnson
6e51e02e1b
Merge pull request #81 from aduffy19/nodebmcreset
...
Nodebmcreset
2017-07-27 15:03:08 -04:00
Amanda Duffy
3e90dd6462
Pass sys.exit() an argument
...
Change sys.exit() to sys.exit(success)
2017-07-27 14:31:37 -04:00
Jarrod Johnson
4a929eb9b5
Merge branch 'master' of github.com:jjohnson42/confluent
2017-07-27 09:03:53 -04:00
Jarrod Johnson
858647bb6d
Change to str for exception message
...
str will tend to present a more normal looking error string. Use
that so that a user does not have the impression there is a code
issue on expected errors.
2017-07-27 09:03:36 -04:00
Jarrod Johnson
8a416ccc5e
Correct mistake in core formatting
2017-07-26 16:57:06 -04:00
Jarrod Johnson
12d0fe21cd
Only show error message when errors exist
2017-07-26 16:37:09 -04:00
Jarrod Johnson
7a88a2825d
Add 'update' to nodefirmware
...
nodefirmware can now execute updates on a file by file basis.
2017-07-26 15:54:21 -04:00
Jarrod Johnson
bc9a498683
Provide a library for compact text node data
...
Some processes (e.g. nodefirmware update) warrant a different sort of
strategy to try to abbreviate, where collation falls short. For this,
provide a columnar output that changes to line by line if stdout is not
a terminal.
2017-07-26 15:09:56 -04:00
Jarrod Johnson
b5f016ad50
Provide support for removing update
...
This allows for cancelling and cleanup after reporting.
2017-07-26 14:10:04 -04:00
Jarrod Johnson
eb3f5a8bbc
Provide update status through API
...
Give visibility into the process.
2017-07-26 11:39:27 -04:00
Amanda Duffy
1d0b78267d
Add nodebmcreset command and man page
2017-07-25 17:10:52 -04:00
Jarrod Johnson
a40f015076
Phase 1 of firmware update support
...
Provide ability to launch firmware updates.
Next will be ability to enumerate, monitor, and
delete.
2017-07-25 17:01:32 -04:00
Amanda Duffy
4574d1bcc7
Merge remote-tracking branch 'upstream/master'
2017-07-25 15:40:06 -04:00
Jarrod Johnson
0bf21238aa
Add bay number to IMM and XCC
...
The bay number can be opportunisticly grabbed, provide
that info in the discovery api. In future, should add 'by-bay'
once we have enclosure data as well.
2017-07-25 12:07:18 -04:00
Jarrod Johnson
577456d999
Merge branch 'master' of github.com:jjohnson42/confluent
2017-07-20 11:05:19 -04:00
Jarrod Johnson
1dd40d36a1
Breakup logentries exceeding 65k
...
The data length of a log entry must not exceed 65k. If an attempt is
made to log that much, break it up and duplicate the records. It may make
sense to indicate a continuation explicitly, but for now just extend.
2017-07-20 11:05:06 -04:00
Jarrod Johnson
ba9ea1acd8
Treat empty string same as undefined
...
If an administrator clears the cert fingerprint, they will
likely set it to ''. In such a case, go down the 'no fingerprint'
path rather than reject it.
2017-07-20 10:20:22 -04:00
Jarrod Johnson
60756d9b41
Fix handling of numeric enclosure.bay
...
enclosure.bay is integer rather than string now. Fix the filter
to use format, which is more robust in numeric versus string anyway.
Also, consistently make the underlying data integer rather than
sometimes string.
2017-07-20 10:12:53 -04:00
Jarrod Johnson
2795dfe7b9
Only mod noderange if bad nodes detected
...
This was triggering a defect in noderange. The
defect should be fixed, but in the meantime,
avoid tripping over it and looking weird anyway.
2017-07-18 15:37:37 -04:00
Jarrod Johnson
a922de2ed6
Have nodeboot continue on non-failed nodes
...
If even one of a noderange failed to complete the
set boot device step, none would progress. Change
the behavior so that exit code still happens and
processing does stop on timed out nodes, but go
ahead and reboot those that were fine.
2017-07-18 14:17:46 -04:00
Jarrod Johnson
5a2e4a669b
Add a library for confluent version of 'xcoll'
...
Add a diff function with colorized intra-line diff info
2017-06-29 16:58:02 -04:00
Jarrod Johnson
c2115f4df9
Fix get/set global with the stateless mode change
...
Since supporting stateless made the init() optional, the *_global functions
would not work if called first. Correct this oversight.
2017-06-29 13:08:23 -04:00
Jarrod Johnson
fa6650a072
Non-linux fallback for list_interface_indexes()
...
When errors suggest we are not in linux, make a best
effort using netifaces.
2017-06-29 10:33:10 -04:00
Jarrod Johnson
1116fed1e7
Minor style fix
2017-06-29 10:24:13 -04:00
Jarrod Johnson
0745ab0fdf
Auto-encode unicode if needed
...
If unicode comes in to be crypted and fails, be explicit about utf-8 encoding.
2017-06-29 10:20:24 -04:00
Jarrod Johnson
aeb3bd2444
Add a stateless configmanager mode
...
Certain embodiments of confluent may not
want to persist configuration. Enable
an opt-in full-volatile config mode.
2017-06-29 10:17:17 -04:00
Jarrod Johnson
5dc2d8c8be
Prefer SLP data on probe if available
...
Avoid attempting login on probe if at all possible.
2017-06-28 16:21:57 -04:00
Jarrod Johnson
dc23793d32
Reorder SLP services
...
Make the most important one likely to be first, so that the
attributes filled out later to fixate on the most relevant.
2017-06-28 16:20:58 -04:00
Jarrod Johnson
3bcf236744
Fix serial numbers with leading spaces
...
Sometimes the string may have leading spaces, remove those for sane presentation.
2017-06-28 10:13:50 -04:00
Jarrod Johnson
ea9caa470b
Fix unexpected error on retrieving nodegroup attributes
...
Detect and more specifically report error message when an unknown group
is used for nodegroup commands.
2017-06-27 15:06:59 -04:00
Jarrod Johnson
a894624403
Fix python 2.6 compatibility in log
...
python 2.6 requires a numeric argument to {}
2017-06-27 14:48:33 -04:00
Jarrod Johnson
a3c06a00bf
Fix confetty behavior when TERM not set
...
Particularly in non-interactive ssh, TERM is not set.
Assume empty string if TERM is not set.
2017-06-27 14:04:26 -04:00
Jarrod Johnson
86ed339b48
Add localonly mode to SLP
...
Sometimes in a likely mismatched IP situation, some SLP things will manage to reply and slow
down. For now in the case of mismatched IPv4 being likely, provide a mode fixated on link local.
2017-06-26 09:30:23 -04:00
Jarrod Johnson
ff6e4d7ab6
Fix up slp.py for windows compatibility
...
python in Windows does not have a required constant
in socket, hard bake the value if not defined in the module.
2017-06-26 09:23:41 -04:00
Jarrod Johnson
8126ec3791
Implement 'memory' console.logging scheme
...
Provide way for VT to be maintained without log to file.
2017-06-26 09:18:30 -04:00
Jarrod Johnson
8fab1ce9eb
Fix permissions on buildindex.sh
2017-06-26 08:46:22 -04:00
Jarrod Johnson
9078fb01c4
Fix missing data from 1.5.0 merge
2017-06-23 08:45:34 -04:00
Jarrod Johnson
e4186841b4
Correct the stub functions to work
2017-06-22 15:50:24 -04:00
Jarrod Johnson
1526a9b92d
Add functions to stub out globbing
...
noderanges use [], and bash can do undesirable things.
Since these commands by and large do not reference files,
or at least files likely to be globbed, disable globbing.
2017-06-22 15:42:30 -04:00
Jarrod Johnson
bc1b1a9676
Update nodeshell documentation on stdout/stderr
2017-06-21 14:30:54 -04:00
Jarrod Johnson
f4267e6013
Add missing files from the ThinkSystem merge
2017-06-21 14:02:59 -04:00
Jarrod Johnson
e0cc67f57a
Implement Lenovo Thinksystem and discovery support
2017-06-20 14:56:24 -04:00
Jarrod Johnson
6117a90372
Provide a script to summarize hangtraces files
2017-05-22 09:25:51 -04:00
Jarrod Johnson
5d1423d5ce
Merge pull request #80 from duxd2/patch-1
...
Update MANIFEST.in
2017-05-09 08:38:38 -04:00
michael.du
2055c6d698
Update MANIFEST.in
...
fix the issue which failed to compile the confluent_client, it is due to the add confluent_env.csh in profile, but not add it in MANIFEST
2017-05-09 13:28:57 +08:00
Jarrod Johnson
44892ae1f9
Merge pull request #79 from ocfplc/csh_profile
...
Add csh environment
2017-05-03 08:58:41 -04:00
arif
812e34f59b
Add csh/tcsh profile in /etc/profile.d
2017-05-03 13:21:36 +01:00
Amanda Duffy
3a53b2c014
Merge remote-tracking branch 'refs/remotes/xcat2/master'
2017-05-02 15:44:56 -04:00
Jarrod Johnson
168f60de06
Merge pull request #78 from aduffy19/power-off-detection
...
Add power off detection
2017-05-02 15:35:39 -04:00
Amanda Duffy
f4c191c280
Fix power off detection
2017-05-02 15:30:39 -04:00
Amanda Duffy
443b678d8a
Add power off detection
2017-05-02 14:54:18 -04:00
Jarrod Johnson
2bc7a0c21f
Change permissions of nodeshell
2017-04-27 16:49:05 -04:00
Jarrod Johnson
e429a703e2
Merge pull request #77 from aduffy19/nodeshell
...
Nodeshell
2017-04-27 16:45:33 -04:00
Amanda Duffy
342c1fb499
Add nodeshell
2017-04-27 16:44:19 -04:00
Amanda Duffy
d79e117c55
Merge remote-tracking branch 'refs/remotes/xcat2/master'
2017-04-27 16:31:45 -04:00
Jarrod Johnson
e96b869206
Merge pull request #76 from jjohnson42/reworkworkers
...
Replace login event mechanism
2017-04-26 14:35:29 -04:00
Jarrod Johnson
68037473d0
Replace login event mechanism
...
Provide a different scheme that does not involve a wait(), if by chance
the flow dies without getting back to our thread. wait() has no timeout
so this is a strategy to cope by making sure we hang for no longer than
3 minutes, which is well beyond any time a login should possibly take.
2017-04-26 14:26:00 -04:00
Jarrod Johnson
0e5ac5c683
Merge pull request #75 from jjohnson42/reworkworkers
...
Add a recourse to drain queue
2017-04-25 16:51:32 -04:00
Jarrod Johnson
6ab4d3c886
Add a recourse to drain queue
...
While it may not have been possible in eventlet for this to happen,
strictly speaking if it were a thread, it could exit during check for
liveness and leave data on the queue.
To be careful, also drain the queue after all children dead.
2017-04-25 16:48:35 -04:00
Jarrod Johnson
5471aca5b4
Merge pull request #74 from jjohnson42/reworkworkers
...
Rework IPMI workers
2017-04-25 15:29:14 -04:00
Jarrod Johnson
cf97bbe299
Rework ipmi worker management
...
Provide a more concrete measurement of
children, rather than relying upon a
sentinel value on the queue. It seems
that even using 'finally' didn't assure
that we always get that sentinel value
before a worker dies. Sentinel value
still used to avoid a long wait in the
usual case.
2017-04-25 15:27:29 -04:00
Jarrod Johnson
f91ee5bcdd
Merge pull request #73 from alin37/master
...
Fix nodelist to use correct number of arguments
2017-04-25 13:39:47 -04:00
Allen Lin37
ca25e9fa78
Fix nodelist to use correct number of arguments
2017-04-25 13:38:01 -04:00
Jarrod Johnson
b14a53a226
Merge remote-tracking branch 'upstream/master'
2017-04-20 16:26:16 -04:00
Jarrod Johnson
b597702146
Merge pull request #71 from alin37/master
...
Adding nodegroupattrib
2017-04-20 16:06:49 -04:00
Allen Lin37
b64858e0b3
Removing unnecessary case if groups ever has a key of 'value'
2017-04-20 15:41:11 -04:00
Jarrod Johnson
50e85df33c
Merge remote-tracking branch 'upstream/master'
2017-04-20 14:59:27 -04:00
Jarrod Johnson
f6a0500e4a
Merge pull request #72 from aduffy19/nodeidentify
...
Nodeidentify
2017-04-20 14:33:06 -04:00
Amanda Duffy
27294103cf
Complain if not enough args
2017-04-20 14:30:33 -04:00
Amanda Duffy
ec90ef889b
Merge remote-tracking branch 'refs/remotes/xcat2/master'
2017-04-20 14:19:33 -04:00
Allen Lin37
86e502a47a
remove debug and fixing issue checking attribute
2017-04-13 22:07:47 -04:00
Allen Lin37
2042bcb8f0
updating server side for use with nodegroupattrib
2017-04-13 17:36:41 -04:00
Allen Lin
43211cf9a7
Updating file permissions on nodegroupattrib and nodeattrib
2017-04-12 10:50:44 -04:00
Allen Lin37
db15992894
Adding nodegroupattrib to update nodegroups
2017-04-12 10:36:27 -04:00
chenglch
d4329ab0f1
Merge pull request #69 from jjohnson42/unbufferedlogs
...
Change the stdout/stderr/trace logs to not buffer things over time
2017-04-12 10:38:19 +08:00
Jarrod Johnson
e230f803ce
Correct missing argument
...
__new__ was missed in the last commit.
2017-04-11 15:42:16 -04:00
Jarrod Johnson
3cae3ed983
Merge remote-tracking branch 'upstream/master' into unbufferedlogs
2017-04-11 14:42:03 -04:00
Jarrod Johnson
2c3127418a
Merge remote-tracking branch 'upstream/master'
2017-04-11 14:41:40 -04:00
Jarrod Johnson
563a2b11c3
Change the stdout/stderr/trace logs to not buffer things over time
...
If something went completely off the rails, it could easily fill up lots of memory with log entries in the 2 seconds it
would buffer. For now disable the buffering on key debug logs, as the main purpose was reducing IOPs in the per-node
console logs anyway. A future behavior may be to also limit the size and/or number of outstanding log entries before
committing to disk.
2017-04-11 14:40:05 -04:00
Jarrod Johnson
cff2c22fda
Merge pull request #68 from alin37/master
...
refactoring nodelist and nodeattrib to use common code
2017-04-07 09:34:15 -04:00
Allen Lin37
cfd8ac4c75
refactoring nodelist and nodeattrib to use common code
2017-04-06 11:30:08 -04:00
Jarrod Johnson
236d889d5d
Fix error on 'isset' data
...
isset data is to be redacted. This handles that
situation, and also provides a repr if all else fails.
2017-03-05 09:20:50 -05:00
Jarrod Johnson
919dab9b55
Create auth multiprocessing pool on demand
...
Most of the time, we don't need this pool. Create when needed,
and clean up after 30 seconds of inactivity. This avoids a slow
shutdown that was due to core python hanging in help_finish_stuff,
and as a bonus means most of the time, one only sees one confluent
process, which has been a source of questions already.
2017-03-05 08:28:35 -05:00
Jarrod Johnson
eb18796d94
Merge pull request #67 from alin37/master
...
Fix nodelist and nodeattrib to read attributes in groups
2017-03-03 13:22:14 -05:00
Allen Lin37
fd64a2e68c
Fix nodelist and nodeattrib to read attributes in groups
2017-03-03 13:10:29 -05:00
Jarrod Johnson
43b51eec20
Be more friendly about shlex parsing errors
...
If user provides bad input, be more helpful and
less fatalistic.
2017-03-01 10:31:00 -05:00
Jarrod Johnson
011ba66314
Add a -u option for symmetry with rsetboot
...
If people want to alias xCAT commands, then this
is required for compatibility.
2017-03-01 10:24:23 -05:00
Jarrod Johnson
49b3ca7381
Merge pull request #66 from alin37/master
...
Adding nodeattrib
2017-02-28 14:06:38 -05:00
Allen Lin37
16f2a2b1eb
Updated for broken expressions
2017-02-28 13:51:36 -05:00
Allen Lin37
f2bbb7c355
Merge branch 'master' of https://github.com/alin37/confluent
2017-02-28 13:43:08 -05:00
Allen Lin37
c78b7fa146
Adding nodeattrib to change and update node attributes
2017-02-28 13:42:39 -05:00
Allen Lin37
1b44d2d781
Setting nodeattrib default to show current
2017-02-28 13:42:39 -05:00
Allen Lin37
2d8004000d
Adding nodeattrib to list and update attributes
2017-02-28 13:42:39 -05:00
Allen Lin37
b714cfdf0f
Adding nodeattrib to change and update node attributes
2017-02-28 13:27:22 -05:00
Allen Lin37
60a1ba77b7
Setting nodeattrib default to show current
2017-02-17 10:46:57 -05:00
Allen Lin37
bbfed443fc
Adding nodeattrib to list and update attributes
2017-02-17 10:44:25 -05:00
Jarrod Johnson
f3cfe4ee26
Change strategy for stale data protection
...
Rather than assuming a global state, have the generator react to
GeneratorExit and clean itself up.
2017-02-15 10:58:08 -05:00
Jarrod Johnson
2dcdfe58c3
Merge remote-tracking branch 'upstream/master'
2017-02-15 10:47:04 -05:00
Jarrod Johnson
2e547129d1
Merge branch 'master' of github.com:jjohnson42/confluent
2017-02-15 10:46:34 -05:00
Jarrod Johnson
b39ae42955
Add debug of broken expression to nodelist
...
If an expression is invalid, have nodelist give the error data
allowing the user to see and potentially take action.
2017-02-15 10:46:27 -05:00
Jarrod Johnson
9e593f0554
Clean up nodepower
...
nodepower boot and reset output was misleading.
2017-02-15 10:46:27 -05:00
Jarrod Johnson
ecc6bcf96c
Add the util to the setup.py
...
Previously packaging was missing the new utility
2017-02-15 10:46:27 -05:00
Jarrod Johnson
6ad383c6ad
Assure deterministic enumeration of areas
...
nodegroup must be restored first.
2017-02-15 10:46:27 -05:00
Jarrod Johnson
446d2270c9
Give a friendlier message on restore of redact DB
...
A redacted dump will not have a keys.json file, which
is natural. Replace 'file not found' with a message
indicating the possibility of a redacted dump.
2017-02-15 10:46:27 -05:00
Jarrod Johnson
5395f97a21
Do not write out keys when redacting
...
It's silly to store keys when redact is requested
2017-02-15 10:46:27 -05:00
Jarrod Johnson
04781e0ece
Actually hook up the redact feature
2017-02-15 10:46:27 -05:00
Jarrod Johnson
9bd0b7af9d
Make confluentdbutil executable
2017-02-15 10:46:27 -05:00
Jarrod Johnson
ae806e55b0
Add a utility to frontend DB dump/restore
...
This exposes the library functions as a utility
2017-02-15 10:46:26 -05:00
Jarrod Johnson
393ea41696
Implement restore from db
...
This provides at least restore for the primary tenant (the only tenant currently used by anyone)
2017-02-15 10:46:26 -05:00
Jarrod Johnson
b87cb87c2a
Flesh out the restoration of the master keys
...
With this commit, the key portion of import should be complete.
2017-02-15 10:46:26 -05:00
Jarrod Johnson
a91d7047b2
Start work on a db restore
...
Start by parsing the previously dumped key data, since the key data requires special handling.
2017-02-15 10:46:26 -05:00
Jarrod Johnson
638842beec
Fix no password backup
...
If password=None was supplied, it would fail. Now accomodate unprotected keys.
2017-02-15 10:46:26 -05:00
chenglch
5678942186
Merge pull request #65 from jjohnson42/handleinflight
...
Protect against stale data in new requests
2017-02-14 15:03:32 +08:00
Jarrod Johnson
f46269a6f2
Add debug of broken expression to nodelist
...
If an expression is invalid, have nodelist give the error data
allowing the user to see and potentially take action.
2017-02-10 16:41:47 -05:00
Jarrod Johnson
583e3474ac
Do not yield data to discard
2017-02-10 11:37:56 -05:00
Jarrod Johnson
ffbe1ab156
Protect against stale data in new requests
...
If a caller (reasonably) broke out of a loop, a subsequent call would get old data.
Protect against this by discarding data not consumed if previously called.
2017-02-10 11:20:39 -05:00
Jarrod Johnson
9e4bb84932
Merge branch 'master' into dbbackrestore
2017-02-07 13:02:48 -05:00
Jarrod Johnson
ffd1bdfae3
Clean up nodepower
...
nodepower boot and reset output was misleading.
2017-02-02 17:00:09 -05:00
Jarrod Johnson
02dd29b027
Add the util to the setup.py
...
Previously packaging was missing the new utility
2017-01-31 15:38:54 -05:00
Jarrod Johnson
3b38d8ac43
Assure deterministic enumeration of areas
...
nodegroup must be restored first.
2017-01-30 16:38:43 -05:00
Jarrod Johnson
c381fefc49
Give a friendlier message on restore of redact DB
...
A redacted dump will not have a keys.json file, which
is natural. Replace 'file not found' with a message
indicating the possibility of a redacted dump.
2017-01-30 16:27:49 -05:00
Jarrod Johnson
a288136a80
Do not write out keys when redacting
...
It's silly to store keys when redact is requested
2017-01-30 16:13:49 -05:00
Jarrod Johnson
cbc0ffbc1c
Actually hook up the redact feature
2017-01-30 16:12:49 -05:00
Jarrod Johnson
cfc6fd04fc
Make confluentdbutil executable
2017-01-30 16:10:01 -05:00
Jarrod Johnson
4a4b1a623f
Add a utility to frontend DB dump/restore
...
This exposes the library functions as a utility
2017-01-30 16:08:28 -05:00
Jarrod Johnson
f1867f900d
Implement restore from db
...
This provides at least restore for the primary tenant (the only tenant currently used by anyone)
2017-01-30 15:31:36 -05:00
Jarrod Johnson
12ed7c50fb
Merge branch 'dbbackrestore' of github.com:jjohnson42/confluent into dbbackrestore
2017-01-30 09:10:51 -05:00
Jarrod Johnson
85205867b3
Flesh out the restoration of the master keys
...
With this commit, the key portion of import should be complete.
2017-01-27 16:50:03 -05:00
Jarrod Johnson
60c1cab56f
Merge branch 'master' into dbbackrestore
2017-01-27 16:27:34 -05:00
Jarrod Johnson
15c84e8a9b
Modify setup.py.tmpl to be adaptive
...
This should prevent forgetting to add content to
setup.py moving forward.
2017-01-27 15:23:16 -05:00
Jarrod Johnson
1028f1cb60
Have nodeboot be executable
2017-01-27 14:48:09 -05:00
Jarrod Johnson
f245680732
Rename nodeboot.py to nodeboot
...
No point in having '.py' extensions
2017-01-27 14:29:55 -05:00
Jarrod Johnson
6007a923a9
Merge pull request #63 from aduffy19/master
...
update power menu
2017-01-27 14:28:45 -05:00
Amanda Duffy
36bc81448e
Fix missing ] and add entries to printed menu
2017-01-27 14:25:42 -05:00
Jarrod Johnson
612350ca65
Provide for a terminal session to process normal commands
...
If it is not one of the 'special' terminal ones, assume it's a normal one. Recurse into
the process request to handle it as a separate request.
2017-01-27 14:18:22 -05:00
Jarrod Johnson
d07e5a08c9
Provide for a terminal session to process normal commands
...
If it is not one of the 'special' terminal ones, assume it's a normal one. Recurse into
the process request to handle it as a separate request.
2017-01-27 14:17:29 -05:00
Amanda Duffy
8599485d56
Merge remote-tracking branch 'origin/master'
2017-01-27 13:44:37 -05:00
Amanda Duffy
fdf74dbf11
Add power options for console commands
2017-01-27 13:44:12 -05:00
Jarrod Johnson
d2e8fa6521
Start work on a db restore
...
Start by parsing the previously dumped key data, since the key data requires special handling.
2017-01-27 11:20:55 -05:00
Jarrod Johnson
eca18a451b
Fix no password backup
...
If password=None was supplied, it would fail. Now accomodate unprotected keys.
2017-01-27 10:09:15 -05:00
Jarrod Johnson
bc5efa8a7e
Try restarting confluent if running on update
...
This mitigates chance of confluent being stale.
2017-01-20 15:50:12 -05:00
Jarrod Johnson
486c322233
Have binding network sockets occur in a retry loop
...
There seems to be scenarios where a previously used socket won't open up immediately. Retry when
this is detected.
2017-01-17 13:59:22 -05:00
Jarrod Johnson
548e4404ce
Fix confluent startup error if dead
...
Clean up stale dbg.sock if present rather than fail to start. Also, if the pid indicated in pid file doesn't exist, ignore
the pidfile contents.
2017-01-06 13:43:02 -05:00
Jarrod Johnson
99e97fe5c4
Add the noderun command to the manifest
...
The noderun command was not being packaged. Correct the
oversight so that it will be in packages.
2017-01-06 13:29:25 -05:00
Jarrod Johnson
8c13e738c0
Make usage/help more consistent across the commands
...
Have every client command run argparse to get a chance at '-h'. When
lacking arguments, always use print_help() to provide detail rather than usage.
2017-01-06 13:28:28 -05:00
Jarrod Johnson
5ffc2c298b
Correct mixup of parentheses and brackets
2017-01-04 09:56:31 -05:00
Jarrod Johnson
7bf8242aba
Assign self.ipmicmd in case we are reusing an existing object that is already logged.
2017-01-04 09:45:19 -05:00
Jarrod Johnson
b3c28ad33e
Defer assigning of self.ipmicmd until login
...
Wait until logged in to assign. This way we have confirmation that ipmicmd is viable before trying to use it.
2017-01-04 09:17:07 -05:00
Jarrod Johnson
e7bdb5ee7d
Defer TLS key handler registration
...
Wait until the object is logged in before trying to set
the key handler. It carries some prerequisite on talking
to the BMC, so it is better handled in the logged handler.
2017-01-03 16:00:27 -05:00
Amanda Duffy
bdde7e719d
Provide a command, nodeboot, to combine setboot and power commands.
2016-12-02 15:06:33 -05:00
Jarrod Johnson
8eef064b9f
Provide more useful error on socket error
...
If a socket error occurred that wasn't -2, the client would get an error
about KeyError, which wouldn't be helpful. raise the unhandled exception
to provide more informative data in case of an issue.
2016-12-02 10:35:24 -05:00
Jarrod Johnson
cb8cd29022
Add two more man page sources
2016-12-01 16:37:50 -05:00
Jarrod Johnson
c016c55340
Add HTTP/1.0 cache suppression
...
There is not a single client that will ever talk
to this service that would not support HTTP/1.1.
However, do this to satisfy a scanner.
2016-11-30 11:42:50 -05:00
Jarrod Johnson
d2156f3d67
Move the anti-referrer login to only logout
...
This has no functional difference, just a cosmetic
difference that does not give the erroneous impression
a logout actually occurred. This does mean that if a browser
disables cookies and uses the api explorer, there would
be an opportunity for a CSRF.
2016-11-30 10:15:44 -05:00
Jarrod Johnson
bf8dff90f3
Provide CSRF protection to logout resource
...
Though more annoying than harmful, guard against CSRF succeeding
against the logout resource.
2016-11-30 10:04:25 -05:00
Jarrod Johnson
004d40e7ca
Implement more CSRF countermeasures
...
At some expense of convenience, make it difficult
for CSRF to succeed even against the API explorer
for most people. User/Password will now only be
accepted on hitting enter in the address bar rather
than following any link.
2016-11-30 09:57:58 -05:00
Jarrod Johnson
ac084b212e
Merge branch 'nodeexec'
2016-11-29 10:50:32 -05:00
Jarrod Johnson
7557136d5d
Add a number of security headers
...
There are a number of headers security scanners expect.
Explicitly declare how strict browser should be with
responses.
2016-11-29 10:49:02 -05:00
Amanda Duffy
aeb0b5bb24
Provide a command, nodeboot, to combine setboot and power commands.
2016-11-08 15:15:14 -05:00
Jarrod Johnson
70762d3f6c
Undo accidental change to nodesetboot
2016-11-08 14:51:57 -05:00
Jarrod Johnson
eeb668bdfa
Correct formatting page in nodesensors man page
2016-11-08 14:50:10 -05:00
Jarrod Johnson
61bd415ec4
Make confluent depend on python-dns
...
Fedora and family naming convention removes
'python' from the 'dnspython' name. Work
within that standard to improve compatibility
with epel and such.
2016-11-07 14:07:12 -05:00
Jarrod Johnson
107337fdba
Merge branch 'master' of github.com:jjohnson42/confluent
2016-11-07 10:19:41 -05:00
Jarrod Johnson
eb02247a58
Fix consistency of sessionid
...
Regardless of whether the client uses it as a session id
or not, the fact remains a sessionid is assigned.
Pass the session id in the auth data even if the client
did not send it.
2016-11-07 10:18:32 -05:00
Jarrod Johnson
53904a2a5a
Revert "Remove 'path' condition for session cookie"
...
This reverts commit 0ad4ae90c9 .
2016-11-01 13:45:33 -04:00
Jarrod Johnson
5881ad8b68
Support sub-second interval
...
If a user requests an interval that is not a whole
number, begin honoring it and adjust the timestamp
precision to indicate milliseconds. Do not bother
with milliseconds on whole number intervals.
2016-10-25 14:38:31 -04:00
Jarrod Johnson
e0211fd8d8
Merge branch 'avoidrecursereplay'
2016-10-25 14:38:04 -04:00
Jarrod Johnson
0ad4ae90c9
Remove 'path' condition for session cookie
...
The cookie had an unnecessary limitation. path need not be specified,
and it is possible for a client to request in a way that fails the criteria.
2016-10-21 09:56:14 -04:00
Jarrod Johnson
6f9bdf4a7c
Create multiple files on roll conflict
...
Rather than removing the previous file, append a digit
to denote extra log files sharing the same roll date.
2016-10-18 11:28:47 -04:00
Jarrod Johnson
4eaab9db37
Avoid inifinite replay loop on bad previouslogfile
...
If circumstances result in a log file after rollover
pointing at itself, break out rather than looping trying
to get the same data from itself.
2016-10-18 11:18:57 -04:00
Jarrod Johnson
92fa2bf4d9
Add a number of security headers
...
There are a number of headers security scanners expect.
Explicitly declare how strict browser should be with
responses.
2016-10-13 11:08:05 -04:00
Jarrod Johnson
7f9394b33a
Handle events without timestamps
...
If an event is missing a timestamp, omit rather than stack trace
2016-10-11 16:46:01 -04:00
Jarrod Johnson
05a6664165
Add a noderun command
...
This command enables running various commands against the nodes.
While I was at it, fix permissions on some files in git.
2016-10-06 16:30:29 -04:00
Jarrod Johnson
457f1fe30b
Provide resource to allow clients to expand custom expressions
...
Clients may now format a string as if it were to be an expression for an attribute,
and have the server evaluate it using the same engine without passing through the
attribute engine. This makes it easier, for example, to do nodeexec n1-n4 ipmitool -H {hardwaremanagement.manager}
2016-10-06 15:51:07 -04:00
Jarrod Johnson
2efadf21b5
Begin writing man pages
...
Provide a couple of man pages to get started on the effort
to provide man pages for the commands.
2016-10-04 15:10:53 -04:00
Jarrod Johnson
bb38ff4588
Fix auto-version build
...
The build autoversion was not correct. Use
git describe instead to be more complete.
2016-09-30 13:12:40 -04:00
Jarrod Johnson
d4ffc41451
Provide means of asynchttp of passing exceptions
...
This allows client code to be actually same when
using synchronous versus asynchonous.
2016-09-28 15:00:49 -04:00
Jarrod Johnson
fbd5059ade
Unconditionally register key handler
...
For reasons not entirely understood, we can
have an ipmi command object without registering
a key handler. Unconditionally register the key handler
on each use of the command object. This still saves the
network load of logging in, so it's not a terrible workaround.
2016-09-28 14:59:43 -04:00
Jarrod Johnson
baf8587759
Have the confluent message populate 'errorcode'
...
This allows web code framework to correctly handle responses
in noderange/async as if they were traditional straightforward rest calls.
2016-09-26 16:00:00 -04:00
Jarrod Johnson
7eb881d7e5
Add API code values to confluent messages
...
When a message is used that would raise an exception in a singleton
case, make available the appropriate apicode in contexts that would be
relevant (namely multi-node operations and all asynchttp).
2016-09-23 16:44:02 -04:00
Jarrod Johnson
9f0daf324e
Refactor error code into exceptions
...
This makes the exceptions more self describing and simplifies httpapi and sockapi.
An important step to improve asynchttp conveyance of error data that would normally
be an http error in synchronous operation.
2016-09-23 16:32:53 -04:00
Jarrod Johnson
ddbc155d6b
Merge pull request #61 from aduffy19/fixIndexOutOfRangeError
...
Add exception check if passvalues is empty
2016-09-23 09:48:35 -04:00
Amanda Duffy
9d86ffee92
Add exception check if passvalues is empty
2016-09-22 16:58:00 -04:00
Jarrod Johnson
1286f8af3c
Add facility for Anti-CSRF measures
...
Enable a WebUI to request an auth token. This will allow it to indicate it is running in a browser and have the server implement protections such that
other software in the browser cannot send arbitrary requests into the server API.
This is implemented in a backward compatible fashion, allowing, for example, purely non-browser clients to ignore the CSRF protection as
it doesn't apply to that use case.
2016-09-22 11:09:05 -04:00
Jarrod Johnson
d183ef768d
Defer console startup until after API startup
...
Consoles starting up would potentially delay API availaility. Change
by having the API having ample time to startup, then commence the
busy work of starting cnosole sessions.
2016-09-13 11:33:53 -04:00
Jarrod Johnson
d19fdad0ba
Avoid double-disconnect behavior
...
Do a better job of cleanly handling scenarios
where disconnect would come from a session currently
disconnected. Inside the ipmi plugin, suppress a
disconnect event if one has been sent. Inside
consoleserver, surpress logging a disconnect when
already disconnected.
Originally was going to skip the reconnect, but that would
mitigate recovery. Hopefully supressing the duplicate
disconnect in ipmi plugin, and some fixes in pyghmi will
avoid a 'double connect' scenario.
2016-09-12 14:35:27 -04:00
Jarrod Johnson
b503d9ca11
Fix nodeeventlog with 'None' entries
...
Some entries have 'None' fields. Gracefully tolerate
this scenario.
2016-09-09 09:14:25 -04:00
Jarrod Johnson
9e4ee7bb31
Fix conflicts with system python modules
...
If python system module had a name that conflicted in some way
with a plugin, the plugin load would fail. Fix this by prioritizing
the plugin path over system locations. Also, to avoid the breakage
going the other way, remove the plugindir from the system path when
that particular directory is done.
2016-08-29 09:56:21 -04:00
Jarrod Johnson
4d04c1fb18
Add break and reopen to http consoles
...
HTTP console API did not have a means to send break
or request session reopen. Rectify this discrepency
by adding an 'action' key to request certain console
specific actions. In retrospect, closing the session
should have just been an 'action', but leaving things
as-is.
2016-08-23 14:04:20 -04:00
Jarrod Johnson
1085e342fd
Make missing NTP server return 404
...
Before it was returning 500 because of index out of range
if a client was pulling an index unconditionally.
2016-08-08 09:11:59 -04:00
Jarrod Johnson
05e642ada5
Do not overwrite 'login' prompt in ssh plugin
...
ssh plugin was sending backspaces without bound, causing
deletion of the login prompt.
2016-08-04 16:44:18 -04:00
Jarrod Johnson
00da61b981
Enable backspace for ssh user/pass prompt
...
When prompting for username and password,
make backspace work fine.
2016-08-03 13:49:27 -04:00
Jarrod Johnson
786a1ec93e
Fix a couple of formatting issues
2016-07-19 09:15:45 -04:00
Jarrod Johnson
27524ab3ce
Merge pull request #60 from jjohnson42/switchsupport
...
Provide function to interrogate ethernet switches for location
2016-07-18 10:33:22 -04:00
Jarrod Johnson
7b160bd99c
Fix namesmatch to actually return True
...
In the common case, we were falling through the bottom
without an explicit return. Restructure things to both
explicitly return and look a bit more sane.
2016-07-15 16:47:42 -04:00
Jarrod Johnson
9516efd74a
Merge branch 'master' into switchsupport
2016-07-14 11:01:07 -04:00
Jarrod Johnson
5410b394f2
Fix 'unset' on noderange
...
The Attributes management class was making shared shallow
copies. This caused a problem when attributes class assumed
it could modify the result. Correct by providing a deep copy
of that node's data when it is requested.
2016-07-14 09:56:40 -04:00
Jarrod Johnson
801a4c4b1e
Merge branch 'switchsupport' of github.com:jjohnson42/confluent into switchsupport
2016-07-14 09:28:00 -04:00
Jarrod Johnson
29da853bcf
Add mac map lookup against config to get node
...
This brings things right to the level of xCAT in
terms of underlying capability. mac addresses have both
an all inclusive list of ports it is found on, and any nodes
that it matches. It goes another step further by logging errors
when ambiguity is detected (either verbatim config conflict or
ambiguous result based on 'namesmatch' and the switch config).
2016-07-14 09:27:15 -04:00
Jarrod Johnson
7a72de6033
Improve behavior of mac map
...
One, include a number of 'fellow' mac addresses on the same port.
Another, allow a mac to appear on multiple ports and have that
reflected in the data structure. Also capture errors to trace
log rather than hanging up on unexpected cases.
2016-07-14 09:27:15 -04:00
Jarrod Johnson
b9733b3e0e
Provide config enabled switch mapping
...
Wire up the singleton switch search function to a function that
extracts list of switches and relevant auth data from the config
engine. Add attributes to allow indication by hardware management
port connection. The OS nics will be added later for in-band discovery,
but that's of limited value until PXE support anyway.
This time, the update function is a generator that yields as a sign to caller
that the mac map has had at least a partial update to be considered.
2016-07-14 09:27:15 -04:00
Jarrod Johnson
4aeb7e1df5
Provide a simple global 'log' function
...
As we implement internal processes with automation,
provide a hook for code to convey information about
situations encountered during background activity.
Ultimately, it is intended to hook event forwarders
for things like syslog/email/etc
2016-07-14 09:27:15 -04:00
Jarrod Johnson
147b3952e0
Implement the next layer of switch discovery
...
Refactor the snmputil to be object oriented to simplify upstream code. Implement
a method to generate a mac address to ifName/ifDescr for a given switch.
2016-07-14 09:27:15 -04:00
Jarrod Johnson
54e135f210
Add a util function for SNMP
...
On the path to instrumenting network switches, first
we'll add some framework for SNMP. Given that we are
using eventlet and thus we need a patchable SNMP,
we employ PySNMP, despite it being a bit peculiar.
This commit tucks away the oddness and makes it
pretty easy to use for our purposes.
2016-07-14 09:27:15 -04:00
Jarrod Johnson
958be7d004
Fix 'cd' to /noderange/nr in confetty
...
The cd performance optimization caused a problem. This
commit recognizes /noderange/ as special auto-vivifying
directory that must be 'gotten'.
2016-07-14 09:15:49 -04:00
Jarrod Johnson
7a4c9a1fc0
Add mac map lookup against config to get node
...
This brings things right to the level of xCAT in
terms of underlying capability. mac addresses have both
an all inclusive list of ports it is found on, and any nodes
that it matches. It goes another step further by logging errors
when ambiguity is detected (either verbatim config conflict or
ambiguous result based on 'namesmatch' and the switch config).
2016-07-14 08:55:50 -04:00
Jarrod Johnson
9764a02419
Improve behavior of mac map
...
One, include a number of 'fellow' mac addresses on the same port.
Another, allow a mac to appear on multiple ports and have that
reflected in the data structure. Also capture errors to trace
log rather than hanging up on unexpected cases.
2016-06-30 15:54:18 -04:00
Jarrod Johnson
f539a4e4b6
Provide config enabled switch mapping
...
Wire up the singleton switch search function to a function that
extracts list of switches and relevant auth data from the config
engine. Add attributes to allow indication by hardware management
port connection. The OS nics will be added later for in-band discovery,
but that's of limited value until PXE support anyway.
This time, the update function is a generator that yields as a sign to caller
that the mac map has had at least a partial update to be considered.
2016-06-29 16:32:46 -04:00
Jarrod Johnson
6b5f437a1c
Provide a simple global 'log' function
...
As we implement internal processes with automation,
provide a hook for code to convey information about
situations encountered during background activity.
Ultimately, it is intended to hook event forwarders
for things like syslog/email/etc
2016-06-29 11:29:05 -04:00
Jarrod Johnson
8387f0e13e
Implement the next layer of switch discovery
...
Refactor the snmputil to be object oriented to simplify upstream code. Implement
a method to generate a mac address to ifName/ifDescr for a given switch.
2016-06-29 11:26:46 -04:00
Jarrod Johnson
ee679b745e
Add a util function for SNMP
...
On the path to instrumenting network switches, first
we'll add some framework for SNMP. Given that we are
using eventlet and thus we need a patchable SNMP,
we employ PySNMP, despite it being a bit peculiar.
This commit tucks away the oddness and makes it
pretty easy to use for our purposes.
2016-06-28 14:21:21 -04:00