2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-05-09 02:00:11 +00:00
Commit Graph

695 Commits

Author SHA1 Message Date
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 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