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
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
a08eace00c
Fix missing import of traceback
2018-06-05 13:08:05 -04:00
Jarrod Johnson
3eed46ec08
Disconnect on loss of ownership
2018-06-02 12:36:20 -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
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
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
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
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
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
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
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
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
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