2
0
mirror of https://github.com/xcat2/confluent.git synced 2026-05-13 18:04:16 +00:00
Commit Graph

63 Commits

Author SHA1 Message Date
Jarrod Johnson 05a6664165 Add a noderun command
This command enables running various commands against the nodes.
While I was at it, fix permissions on some files in git.
2016-10-06 16:30:29 -04:00
Jarrod Johnson b503d9ca11 Fix nodeeventlog with 'None' entries
Some entries have 'None' fields.  Gracefully tolerate
this scenario.
2016-09-09 09:14:25 -04:00
Jarrod Johnson 958be7d004 Fix 'cd' to /noderange/nr in confetty
The cd performance optimization caused a problem.  This
commit recognizes /noderange/ as special auto-vivifying
directory that must be 'gotten'.
2016-07-14 09:15:49 -04:00
Jarrod Johnson 9a93baed0e Fix handling of unicode data in inventory
It is possible for unicode data to appear in some data values.  Use a unicode
string to hold the value, in case of unicode data coming from server.
2016-05-23 15:36:30 -04:00
Jarrod Johnson 5d105c43e5 Add option to skip numberless
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.
2016-05-12 15:53:55 -04:00
Jarrod Johnson ca91cfb220 Add nodefirmware command
This command currently enumerates current firmware on the target.  In the future it may be extended to update.
2016-05-12 11:04:26 -04:00
Jarrod Johnson b328c53d91 Fix error handling for nodeinventory command
Cleanly handle error messages from server
2016-05-12 10:25:35 -04:00
Jarrod Johnson 129f034c07 Provide some more friendly string values
Some keys from the API are a little weird, provide a mapping for them.
2016-05-12 09:19:30 -04:00
Jarrod Johnson b5fbfe730d Add nodeinventory command
Provide a native confluent client alternative to 'rinv'.
Also add missing flags to nodesetboot.
2016-05-11 17:03:05 -04:00
Jarrod Johnson 16c7429900 Improve interactive performance of 'cd' to slow collections
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.
2016-05-09 15:39:05 -04:00
Jarrod Johnson 14f6fabe0a Do not trigger AttributeError on Null event
In the scenario where event is present but 'None', handle the situation more gracefully, by ignoring it's existance.
2016-05-09 13:59:50 -04:00
Jarrod Johnson fa3a402708 Provide some shortcuts for nodelist
Allow nodelist to request view of a category at a time.
Also recognize 'hm' as shorthand for 'hardwaremanagement'.
2016-04-12 15:18:31 -04:00
Jarrod Johnson 7ff20e3e39 Close shell interface on remote disconnect 2016-03-13 18:48:58 -04:00
Jarrod Johnson 4442ce1c71 No longer break when prompting for name/password
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.
2015-11-10 12:56:04 -05:00
Jarrod Johnson e153e8acd0 Correct indentation in nodeeventlog
Mistakes were present in the whitespace for nodeeventlog, apply correct indentation.
2015-10-19 14:27:11 -04:00
Jarrod Johnson dec0543ce3 Fix nodelist formatting of error
Error needed a newline after message to be clear.
2015-10-19 14:23:02 -04:00
Jarrod Johnson 61a0a66486 Fix nodelist handling of bad noderange
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.
2015-10-19 14:09:37 -04:00
Jarrod Johnson 0bb0368d07 Fix bad or missing noderange behavior in nodelist
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.
2015-10-14 11:07:31 -04:00
Jarrod Johnson 0b7b713f3f Add nodeconsole and nodelist commands
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
2015-10-13 14:12:43 -04:00
Jarrod Johnson b48cd8b685 Implement basic functionality under windows
Windows support by removing pid file, daemonizing, locking,
and other features.  Goal is to have a freezeable payload.
2015-09-23 11:48:17 -04:00
chenglch fde68e1320 Fix 'start console session' command error
Command "confetty start /nodes/<node>/console/session" can
not work correctly. This patch aims to add condition judgement
for this command in confetty.
2015-09-08 22:58:44 -04:00
Jarrod Johnson 88aa696d29 Implement 'nodeeventlog' command
This brings rough parity with reventlog.  Note that format does
change in this case, so full backwards compatibility is not retained.
2015-08-11 15:06:11 -04:00
Jarrod Johnson aa4783672d Fix unicode error in nodehealth output
If unicode data was in the incoming data, string.format would choke.  Make the
string template unicode so that it is able to cope.
2015-07-14 14:13:29 -04:00
Jarrod Johnson 186929d217 Only conditionally import readline
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.
2015-06-26 15:26:44 -04:00
Jarrod Johnson 6204628f43 Add support for inventory
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.
2015-04-27 16:57:52 -04:00
Jarrod Johnson 46b7550a41 Fix confetty live reconnect behavior
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.
2015-03-26 14:03:56 -04:00
Jarrod Johnson 2fe0425191 Have confluent client commands quietly exit on Ctrl-C
Pythons default handling of Ctrl-C is not in line with most command line utilities.
Wrap the exception and imitate more conventional behavior.
2015-03-26 10:38:44 -04:00
Jarrod Johnson 27437048a6 Fix nodehealth silently ignoring errors
nodehealth command did not act on errors.  Add a clause
to handle that data.
2015-03-26 10:17:03 -04:00
Jarrod Johnson 093e9faec4 Fix various client issues
Usage messages when no noderange, consistent use of the environment variables for login,
fix nodehealth when a troublesome sensor has a value.
2015-03-25 17:19:58 -04:00
Jarrod Johnson 802ac6fa66 Add nodeidentify command
Provide xcat-style access to confluent identify capability (rbeacon-alike)
2015-03-25 10:57:57 -04:00
Jarrod Johnson e5c4b92134 Add a nodehealth command
nodehealth grabs the health summary of a node and provides some detail in 'not ok' condition.
2015-03-24 10:42:04 -04:00
Jarrod Johnson 5124802c9c Change nodesensors output
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.
2015-03-24 10:23:18 -04:00
Jarrod Johnson c4510b6a25 Flesh out nodesensors command
Interval sampling, sample count, CSV and non-CSV all working now.
2015-03-24 09:55:35 -04:00
Jarrod Johnson 6a4642e9f5 Functional pass of nodesensors command
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.
2015-03-23 13:49:59 -04:00
Jarrod Johnson 77284af60d Rework multiple node result data
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.
2015-03-23 09:38:56 -04:00
Jarrod Johnson 54d2d2dffa Draft nodesensors command
It's not functional yet, but this command will be the CLI
access to sensor data and collection
2015-03-20 17:09:30 -04:00
Jarrod Johnson 30d34c2527 Fix Unicode error on confetty pipe out
When unicode was encountered, it would through an *encode* error.
Fix that issue.
2015-03-20 17:08:53 -04:00
Jarrod Johnson 41698b2bad Include omitted changes from last commit
I did not include all intended changes in last
commit.
2015-03-19 15:06:31 -04:00
Jarrod Johnson 745679029c Implement xCAT-style short commands
While the confetty interface is explorable,
it is tedious.  Provide shortcuts to
expected capability in the style of
xCAT commands.
2015-03-19 15:05:28 -04:00
Jarrod Johnson 735cc268d1 Have confetty better handle noderange output
Have confetty print_result make a reasonable assumption to
have noderange based output show relevant node and output.
2015-03-16 10:15:27 -04:00
Victor Hu 1f7a0e77d6 On SLES operating systems, hit an error on the shutdown of
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.
2015-02-10 17:18:16 -05:00
Jarrod Johnson d06f5cc966 Provide seamless behavior for non-console activity
When submitting an interactive command and encountering error,
have confetty attempt to self heal and resubmit command.
2015-02-03 13:28:21 -05:00
Jarrod Johnson ae1e3f2b8d Fix tab completion in middle of command
When doing tab completion, ignore content after the current index.
This was confusing the tab completion routine.  Also silently
ignore traces by default
2015-02-03 11:01:05 -05:00
Jarrod Johnson 0cd4ffcd3b Implement client reconnect on server restart
When the server restarts, clients should try to reconnect seamlessly.
Doing so allows maintenance without being overly disruptive to users.
2015-02-03 10:15:08 -05:00
Jarrod Johnon c60d25f0d1 Fix confetty PTY handling in oneshot mode
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.
2015-01-22 11:52:50 -05:00
Jarrod Johnon 14ce9970ad Fix unicode error on stdout piping
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
2015-01-20 16:11:16 -05:00
Jarrod Johnon 384baea038 Handle non-ascii unicode better
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.
2015-01-19 14:45:24 -05:00
Jarrod Johnon 1e8aca1c26 Fix confetty exit on server stop/restart
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.
2014-11-04 10:50:37 -05:00
Jarrod Johnon 9dab77e93c Correct confetty displaying stale error information
After implementing timestamps, error data was erroneously persisted.  Address
by deleting the state once consumed in constructing the relevant status string.
2014-11-04 10:12:37 -05:00
Jarrod Johnon e0e6e36a82 Reference correct dictionary during confetty status update 2014-10-28 16:52:59 -04:00