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
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
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
fc5472065a
Catch missing '@' in token as invalid token
2018-07-17 11:46:40 -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
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
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