Jarrod Johnson
917a51a406
Error if bind to privileged port fails
2021-04-28 08:37:23 -04:00
Jarrod Johnson
d3fa08d78b
Amend syncfiles to handle directory targets better
...
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.
2021-04-27 12:48:27 -04:00
Jarrod Johnson
38eb88249e
Permit wildcard in syncfiles
...
This was a supported and used feature in xCAT
syncfiles, carry it into confluent syncfiles.
2021-04-27 09:12:11 -04:00
Jarrod Johnson
c333c3eb9c
Fix missing data on XCC discovery
...
The XCC scan now calls the
imm scan to fill out the lost data.
2021-04-26 08:57:52 -04:00
Jarrod Johnson
f32a9a2f08
Rework inline command handling
...
Previously, if hotkey entry
had text data come in, it
would corrupt the state of
the client.
Minimize the corruption and request the server to pause.
2021-04-23 14:22:24 -04:00
Jarrod Johnson
f584b9bc11
Protect against binary sealed data
...
It was detected that binary sealed data
could happen. Ensure that it is str
before passing to configuration.
2021-04-23 14:17:54 -04:00
Jarrod Johnson
affbbcc89b
Fix syncfiles for el7
2021-04-23 12:27:42 -04:00
Jarrod Johnson
45cc4b7788
Add documentation syncfiles examples
...
Also, check to make sure a syncfiles has actual
work to do before triggering a greenthread and
the client to start polling.
2021-04-23 11:09:35 -04:00
Jarrod Johnson
945f108548
Fix inconsistencies between el7 and el8
...
While there are still differences, minimize
the ones that aren't for specific reasons
2021-04-23 09:08:50 -04:00
Jarrod Johnson
1f9c440525
Handle non-utf8 console data
...
Sometimes console uses non-utf8.
Fallback to cp437 when utf8 fails us.
2021-04-22 15:14:52 -04:00
Jarrod Johnson
8397c5defc
Only close datfile if datfile is a file
...
If going by filename alone, there will be
no file handle to close. Correct by not
attempting a close in such a case.
2021-04-22 13:55:10 -04:00
Jarrod Johnson
b7af6b5c27
Add model name to discovery info
...
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.
2021-04-22 13:38:51 -04:00
Jarrod Johnson
c38aac88df
Avoid overwriting customized installdisk or partitioning
2021-04-22 12:12:58 -04:00
Jarrod Johnson
6d1348f5fa
Add pre.d to EL8 profiles
2021-04-22 12:08:25 -04:00
Jarrod Johnson
c05f18d865
Remove abortive custom names for pre.sh.custom
2021-04-22 11:48:05 -04:00
Jarrod Johnson
bf00c75f43
Specify supported protocols to be confluent.console
...
Eventlet will return no supported protocols if
none are specified. Firefox doesn't care, but
chrome rejects such a reply.
2021-04-22 07:44:18 -04:00
Jarrod Johnson
2e04647c95
Add xz to confluent genesis
...
xz provides better compression than gzip, handy
to have as an option.
2021-04-21 16:59:33 -04:00
Jarrod Johnson
479ddd582e
Induce python2 to unicode
...
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.
2021-04-21 15:33:27 -04:00
Jarrod Johnson
d82690f0d9
Fix python3-ism
...
python2 doesn't understand how to return
an iterator from within an iterator.
2021-04-21 13:31:11 -04:00
Jarrod Johnson
34cfd99fd8
Periodic reassimilation
...
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.
2021-04-21 10:30:54 -04:00
Jarrod Johnson
9009f63b2d
Implement websocket based terminal access
2021-04-20 15:49:07 -04:00
Jarrod Johnson
ab6bf82da6
Begin draft work to support websocket
...
First use case will be consoles.
Then we can consider the async case
for smoother async operation as well
though that is less critical.
2021-04-19 17:04:26 -04:00
Jarrod Johnson
0fae615756
Have nodediscover properly set exitcode
...
It was not propogating error to the caller in script context
2021-04-19 08:58:08 -04:00
Jarrod Johnson
37dca72579
Allow managercandidates to limit switch interrogation
...
If a switch is a node and has denoted allowed managers,
do not interrogate that switch if this member is not
permitted.
2021-04-16 14:19:51 -04:00
Jarrod Johnson
1aea406852
Restore error handling to SNMP
...
Properly carry and reconstitute exceptions
used to drive the specific errors.
2021-04-16 14:09:44 -04:00
Jarrod Johnson
374b87e2d7
Offload macmap SNMP activity to an auxillary process
...
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.
2021-04-15 17:22:15 -04:00
Jarrod Johnson
3469c8ab2b
Fix affluent communication
...
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.
2021-04-14 15:51:18 -04:00
Jarrod Johnson
e08ca5fb7e
Have confetty show correct trace more easily
...
In some scenarios, the quitconfetty will overwrite the
stack trace.
Get the relevant trace before trying the quitconfetty, then print
the saved trace.
2021-04-14 10:10:44 -04:00
Jarrod Johnson
23dffe882e
Do a keepalive to track idle, but alive collective
...
When relaying a command, use a keepalive to indicate that
the connection is alive, just not sending data.
2021-04-09 17:27:00 -04:00
Jarrod Johnson
b6fb91b228
Have follower thread avoid killing self
2021-04-09 15:36:35 -04:00
Jarrod Johnson
ac4d1fa8e1
More collective startup/recovery cleanup
...
If assimilated during startup, stop doing startup.
2021-04-09 13:32:32 -04:00
Jarrod Johnson
1d902c4d90
Backoff if trying to find a currently live server
2021-04-09 11:49:56 -04:00
Jarrod Johnson
f11687998f
Fix typo in cosmetic message
2021-04-08 20:48:46 -04:00
Jarrod Johnson
153956b2cd
Further refine collective startup behavior
2021-04-08 18:26:59 -04:00
Jarrod Johnson
64d5081be3
Fix collective retry logic
...
It erroneously treated a thread as a bool, need
to check if None to know if it is scheduled.
2021-04-08 15:56:33 -04:00
Jarrod Johnson
8d16b412ae
Further refine collective start process
...
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.
2021-04-08 13:44:20 -04:00
Jarrod Johnson
c5ec34d5a5
Actually hook in new assimilation behavior
...
Additionally, use collective member name as
tiebreaker if txcount and follower count is
identical.
2021-04-07 13:15:36 -04:00
Jarrod Johnson
6a4086679c
Rework collective assimilation logic
...
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
2021-04-07 13:05:02 -04:00
Jarrod Johnson
3d2422ded3
Coerce iterator to list for length check
2021-04-07 08:40:18 -04:00
Jarrod Johnson
7d0f47bbcb
Correct syntax for measuring collective size
2021-04-07 08:31:29 -04:00
Jarrod Johnson
9a779f2dd2
Improve collective startup behavior
...
Have confluent focus on establishing quorum before
initiating headless console and discovery activity.
2021-04-07 07:58:10 -04:00
Jarrod Johnson
4724d9e45b
Eliminate one source of stale data leaking
...
If nodes are swapped, then clearing the attributes
did not clear some mappings.
2021-04-06 18:19:13 -04:00
Jarrod Johnson
8404ddf3a2
Fix import of sortutil
2021-04-06 10:43:37 -04:00
Jarrod Johnson
872a13589c
Sort collective members
...
Improve consistency of output by sorting the output.
2021-04-06 09:35:34 -04:00
Jarrod Johnson
433a22e6e7
Finish rename of variable
2021-04-06 08:22:51 -04:00
Jarrod Johnson
1f238a3f8b
Fix variable that was not declared after refactor
2021-04-06 08:20:10 -04:00
Jarrod Johnson
670fc87e1d
Address several collective issues
...
When a stream has been deleted from cfgstreams, contiue exception
handling since the desired result.
For connections to a manager, institute a 15 second socket level timeout.
This avoids an abandoned server conversation from locking a colleective member startup.
When scheduling the failover check, first block any redundant attempts to schedule.
Wrap the collective startup in an exception
handler, so that a retry is
more well guaranteed.
2021-04-05 16:39:41 -04:00
Jarrod Johnson
3be3d4a588
Always send null byte out stdout
...
If the buffer doesn't exist or if it does,
either way make sure to write out a null
byte to let the caller know that it
is done.
2021-04-02 14:01:25 -04:00
Jarrod Johnson
14d13749ad
Guarantee consoleserver init before use
...
During a restart, a client may aggressively trigger
console reconnect before the consoleserver starts.
Make sure that the daemon is running and globals
ready before API could possible ask for console.
2021-04-02 13:57:45 -04:00
Jarrod Johnson
92a10ede11
Pull in tmt fixes from Martin Hughes fork
...
Fix SGR being applied and fix default fg/bg color situation.
2021-04-02 13:13:19 -04:00