Releases: yadt/yadtshell
"Tyrannical Tarantula" (v1.8.5) - Bugfixes and usability improvements
Changes in this release:
Bug fixes
- The prestart phase now works as intended when specific hosts are being updated only and there are complicated dependencies involved.
- The dump command now accepts arguments as intended.
- Not reaching the target_state is now an
ERROR
entry in the log if and only if this was the last try (and we are giving up).
If there are still tries remaining, it is aWARNING
(as the yadtshell can compensate by retrying).
Previously it was always aWARNING
. - It is now possible to use various special characters (like Umlauts or ® for whatever reason) in lock messages.
Features
- For more convenience, the first error found in the log file (root cause) is now displayed before exiting the yadtshell.
- Information on the yadtshell process is now broadcasted for further use by a
yadtcontroller
.
Theyadtcontroller
can now display the host running its command, the log file path and the affected target.
Misc. improvements
- A warning is now displayed when host URIs from the command line are skipped (due to being unknown or unreachable).
- A warning is now displayed when service or artefact URIs are skipped (due to being invalid).
- The manpage was improved (especially the
unlock
section). - The amount of stacktraces that might transpire to the user has been drastically reduced (still in debug log).
- The error message when no URIs from the command line remain (due to filtering) has been significantly improved (thanks @schlomo !)
Full changelog
Run
git log v1.8.4..v1.8.5
Readonly status (v1.8.4)
Changes in this release:
Bug fixes
- Some errors with a traceback will not be reported more than once anymore.
Features
- Now fetches status of missing service dependencies automatically. Those services are in a read-only state and may not be controlled directly but will satisfy services that depend on them. See the wiki page for more information.
Misc. improvements
- There is now a warning when URIs given on the command line are ignored (read-only services and wildcards, for example)
Full changelog
Run
git log v1.8.3..v1.8.4
Version 1.8.3 from 1st April 2014
Changes in this release:
Bug fixes
- Fixed a bug which could lead to wrong service resolution in some exotic edge cases (749b2d5).
- Ignore messages with spaces now work as expected.
Features
- Now publishes meta-information (error-info) to a yadtcontroller in case of an error. This helps determine which yadt server executed the command, and where the log file can be found.
- Now displays messages for ignored services (just as locked hosts).
- New syntactic sugar while in an interactive session :
using TARGET
will switch to TARGET and fetch a status. See the manpage for more information. - New command,
restart
. See the wiki page.
Misc. improvements
- Log file names can be copy-pasted without using any kind of shell escaping, even when tracking IDs are involved.
- Many internal refactorings and test coverage increases thanks to @matey-jack .
- The manpage (
man yadtshell
) now includes a section on interactive sessions. - New parameter,
session-id
, for automated locking/unlocking (see manpage for reference).
Full changelog
Run
git log v1.7.1..v1.8.3
Version 1.7.1 from 19th December 2013
Changes in this release:
Bug fixes
- Corrected preconditions for actions concerning hosts with no pending updates, but needing a reboot.
- A target definition with only
includes
and an emptyhosts
section no longer leads to errors. - Fixed a lockup that could occur when wildcards were used on a target where unreachable hosts
were found. - Fixed a problem with the rendering of unreachable host URIs.
- There are no longer strange messages on stderr when using the yadtshell without a TTY.
- Error stacktraces have been moved to the debug log (which goes to a file) and removed from the terminal.
Features
-
Cycles in service definitions now lead to a human readable error message.
-
Services are no longer prestarted when
update
is called with specific host URIs.
For instanceupdate host://foo
might prestart the host foo but not the host bar.
-
Services are now ordered according to their dependencies.
A service that needs many services and is needed by few services will appear near the top, while services that need few services and are needed by many services will appear near the bottom. This sorting also applies to services shown by the yadtbroadcaster. -
Minions can now configure a timeout that is suitable for rebooting.
-
Targets can now include other targets.
A target file with the keywordincludes
can be used to link other targets together. -
The info matrix rendering is now terminal-size dependent
When the yadtshell is used from a TTY, the rendering of the info matrix now takes into account the size of the terminal to compute the amount of columns.
Misc. improvements
- The manpage has been improved and is now created with pandoc instead of ronn
- After rebooting a report is now shown.
(time taken, etc)
Full changelog
Run
git log v1.7.0..v1.7.1
Version 1.7.0 from 30th September 2013
Spotlight feature
The YADTshell can now orchestrate host reboots!
Changes in this release:
Bug fixes
- Actions that could not complete now correctly result in an error.
- Fixed an issue where services would fail to start when the host had no updates but the service needed to be restarted due to dependencies.
Features
- Hosts that run an outdated kernel or have pending artefacts which require a reboot are now automatically rebooted during the update phase (provided the
--reboot
flag is present and the host is handled). - Status is now resilient against unreachable hosts, allowing you to continue working on the hosts that are still reachable.
- Now asks for confirmation before an update which induces one or more reboot(s), except when there is no TTY (use
-y
or--forcedyes
to suppress this). yadtshell status
is now performed after each mutation (likestop
orupdate
). Use--no-final-status
to suppress this.- Now only installs the updates that were found at the beginning of a transaction.
info
now displays reboot related information (reboot inducing artefact pending / old kernel running).- SSH multiplexing and demultiplexing is now asynchronous.
init-yadtshell <target>
can now be used to switch to a target immediately, querying the status.- YADT minion compatibility (pure python replacement of the old yadt-client).
Misc. improvements
- Now has a manpage, visit
man yadtshell
for more information. - Improved error messages when an action on a component fails due to an abnormal exit code.
yadtshell dump
andyadtshell info
no longer create log files.- Suppressed warnings about changed SSH keys
- Lock message handling improvements
- New script to analyze dependencies in a target, produces DOT output
- Miscellaneous usability improvements