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