Manage Halon nodes from the commandline
A commandline utility for managing Halon nodes and clusters.
- Python 2.7+ or 3.3+
Simply install the halonctl package from pip:
sudo pip install halonctl
To write your own modules or work on the halonctl core, clone this repo, and install it in development mode:
pip install -e .
You are strongly recommended to use a virtualenv to create an isolated environment for development.
- HTTP Keep-Alive is used for all connections, which greatly improves performance, especially noticeable in the cmd module’s interactive mode.
- query module now show affected messages on bulk actions
- stat module, replacing the old queue module
- Quck Connect syntax for nodes you’ll only ever use once
- Added --count flag to the query module
- Added postfix module to simulate commands like qshape
- The queue module - use halonctl queue mail-queue-count instead
- A potential issue involving non-ASCII output from remote shell commands
- --version flag for checking the program version
- A typo causing a crash when an interactive session was resized
- The cmd module’s interactive mode not working on Python 2.7
- Native support for Python 3! No more 2to3 nonsense!
- Full documentation, including docs for module development!
- Interactive mode for the cmd module - you can now run top and hsh!
- History querying and printing specific fields with the query module
- A new “grouped” output mode, usable with the JSON formatter
- A --raw flag for requesting machine-readable rather than human-readable output
- The ability to “dry run”, to test slicing expressions without actually executing anything
- --clear-cache module for clearing the WSDL cache after node updates
- Startup is SO MUCH FASTER, especially with lots of nodes
- Slices now start at 1, for ease of use - update your scripts!
- Nodes are now sliced in the order they’re listed in the configuration
- Modules and formatters are now a whole lot simpler to build
- Occasional ‘ghosting’ in the cmd module
- Inconsistent output from the query module in some circumstances
- A bunch of bugs with the WSDL cache causing the strangest bugs
- More useful error messages for invalid configuration files
- More useful error messages for invalid SSL certificates
- The ability to disable verification of SSL certificates
- Crashes when query got an email with no subject line, or invalid UTF-8
- --debug-hql flag to the query module, which prints executed queries
- Errors from non-action query calls are now printed
- Some query flags not working properly
- query statements with multiple timestamps not being parsed correctly
- A bug sometimes preventing WSDL files from being downloaded
- A bug preventing non-ASCII content from being displayed properly on Python 2
- Python 3 support!
- TextTable dropped for PrettyTable - in other words, tables look different
- Startup time is now constant, rather than linearly increasing with the number of configured nodes
- Sending Ctrl+C’s to commands run through the cmd module now only takes as long as the slowest node
- An awful bug that caused all nodes to report the same data
- cmd module allowing direct execution of remote shell commmands
- Performance and reliability in asynchronous dispatches
- WSDL download errors are now reported at startup
- Stupid bug preventing dict-style cluster initialization from working
- WSDL files are now cached, which shaves off a good couple of seconds per node from program startup.
- Cluster logins now work as intended, even when username and password are gotten from different nodes.
- The Keychain module no longer reports incorrect authentication status in some cases.
- Initial release