By default, pyparsing consumes only as much of the
input as matches the grammar. Tell it to consume all
of the noderange and error if there's more string than
matches our grammar.
The previous 30 seconds was a good amount to
wait for everything but a graceful shutdown.
The new 5 minute wait is too long to wait to
find out a system can't turn on.
Apply the 5 minute wait only on clean shutdown
request.
The 'profile' variable notably induces dracut to be excruciatingly slow,
mitigate chance by putting confluent before apikey, mgr, and profile.
Further, it has been requested to have the scripts use same name on
server for directory moving forward. Implement this request while
allowing existing OS profiles to keep working.
We normally use UUID, on a broken platform with bad UUID,
user may need to use hwaddr. This was supposed to work, but
didn't. Fix it to work correctly.
Rather than using symlinks for directories, recursively recreate tree
and symlink only the non-directory
entries.
This improves mixing and matching
files and directories to target a directory.
Sometimes the model name is
useful criteria for evaluating systems,
and the model number isn't
quite that handy.
For XCC, we can provide this data too. Provide it in xcc scan
method and then offer it up to clients.
eventlet will treat str as binary,
correct by forcing unicode.
For python3, it is a no-op, but
python2 needs it to pass the 'text_type' check in eventlet.
Have leader periodically try to
assimilate offline members.
This will recover from some scenarios
where a rogue non-quorum collective
or a stray non-collective state
persists.
This doesn't make the code more efficient, but it
keeps it from slowing down the main process
and allows it to leverage an additional core
to do the work.
Still needs work to restore the error reporting.
Affluent would hang on error, particularly
certificate problem. Fix by catching and being
explicit about the error, and generically
fixing the arguments for 'get' to have
the inntended timeout.
Serialize assimilation, do not induce activity that may have been
aborted by an earlier chain.
Further, accelerate initial startup by making potential timeouts
occur concurrently, rather than sequentially.
Followers will only depart if their current leader
is assimilated.
Leaders with quorum will refuse assimilation and instruct
member trying to assimilate to join it.
Leaders without quorum will either follow the assimilation leader
or refuse, depending on who has highest transaction count, and if
a tie, which has the larger set of followers