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
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
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
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