If a user requests an interval that is not a whole
number, begin honoring it and adjust the timestamp
precision to indicate milliseconds. Do not bother
with milliseconds on whole number intervals.
Many sensors in nodesensors are not useful except when
evaluated as part of nodehealth. Provide an option to allow people
to skip such sensors. Particularly useful in generating time series CSV
data.
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.
When attributes were specified with an incorrect noderange
it was failing to report the noderange error. If that were
specifically addressed, it would then proceed to erroneously
complain about valid attribute names.
nodelist command would show 'help' with no arguments, but
natural expectation is to list all nodes. Adjust to match
that expectation. If a noderange was somehow problematic,
the output was not appropriate, this too is addressed.
nodeconsole provides a wrapper for confetty offering logical
tab completion for console specifically as well as help
text to explain critical info about using nodeconsole.
nodelist provides functionality analagous to nodels in
xCAT 2.x codebase
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.
Be more sparing with 'ok' and '()' in output. Many of the sensors
have no particular meaning if they are 'ok'.
For a sensor witohut a value, the states are no longer surrounded by
() to reflect that they are more first class rather than describing
a primary value.
nodesensors is not roughly at par with rvitals.
This means more complete handling and recognizing
some of the rvitals shortcuts as well as some mistakes
in the draft. Still lacking are interval/repeat queries.
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