While we do not have a path forward for auto-resize in SOL consoles,
we can provide the capability for ssh consoles. The CLI being enabled
is of course nice, but running ssh directly is still suggested in such
a context and ultimately the Web GUI will be the most prominent
consumer of the information.
Sometimes a collection will be slow. Don't inflict the 'cd' with the slowness, defer until actually
asked to do something that would enumerate said collection. Accomplish this by checking for
the 'cd' target in it's parent collection, rather than asking to list its contents.
In the confetty CLI, readline clear history was done as
part of login process. Since readline is not a given
to accomodate scripting behaviors, no longer do the
clear_history(). The concern I had was that
the password might have gotten into history, but that
seems to not be the case.
Command "confetty start /nodes/<node>/console/session" can
not work correctly. This patch aims to add condition judgement
for this command in confetty.
If stdout is not a tty, do not import readline. import
readline by itself can cause terminal control characters
to appear in the stdout. Avoid this by only importing if
there seems to be a sign it is connected to a terminal.
Present 'inventory/hardware/all/' hierarchy. Currently
only ipmi and 'all/all' works. The data structure may be amended in
the very near future as well.
If on a remote socket, socket.error could be thrown. A mistake was
made where the Python2.x behavior of ',' on an except clause without
parenthesis misinterpreted socket.error as a variable name to store
instance of socket.gaierror. Put Parentheses in to declare the desired
behavior.
Before there was some awkward ambiguity between top level
key names and node names. For example a node named 'error'
would be tricky. Address that by allocating a 'databynode'
top level container to clarify the namespace of keys is
nodenames specifically. Use this to simplify code that
tried to workaround the ambiguity.
confluent when we call tcgetattr() with the following:
termios.error: (25, 'Inappropriate ioctl for device')
Before calling tcgetattr, check that the file descriptor
is a tty.
When doing tab completion, ignore content after the current index.
This was confusing the tab completion routine. Also silently
ignore traces by default
When asked to execute a command, do not mess with the terminal
in a way that would incur SIGTTOU when run in background. This
means that a backgrounded confetty can actually exit rather
than block waiting to be run in foreground. This won't work
with running a *console* in background, but that really doesn't
make any sense.
When confetty runs in a UTF-8 terminal, things are fine. However python
assumes ascii only when piped. Catch the situation and force utf-8
encoding rather than erroring out in such a circumstance
Clarify that the data is in UTF-8 where applicable. It is expected
that clients are capable of handling UTF-8 for now. Additionally,
the HTML api explorer handling of numeric data is fixed.
When the behavior fix for exiting on error was put in, it caused it to fail
exiting when remote disconnects. Address by showing that the console
is definitely not active as well as exit being required now.
After implementing timestamps, error data was erroneously persisted. Address
by deleting the state once consumed in constructing the relevant status string.
The buffer age was not working as intended
The fix to exit on error exited overly eagerly
The log replay failed to report a third value if file did not exist.
For certain scenarios (e.g. wcons), having a path to get in and communicate data from the outside.
For starters, have a 'GETWINID' directive for wcons to use to fetch the unambiguous window id
to use for xwininfo tricks. TODO includes concepts from xtcd.pl that enabled things like warr