Cisco IOS EEM script that creates missing SSH keys on router reboot
event manager applet EEM_SSH_Keygen event timer cron cron-entry "@reboot" action 0.0 info type routername action 0.1 set status "none" action 1.0 cli command "enable" action 2.0 cli command "show ip ssh | include ^SSH" action 2.1 regexp "([ED][^ ]+)" "$_cli_result" result status action 3.0 if $status eq Disabled action 3.1 cli command "configure terminal" action 3.2 cli command "crypto key generate rsa mod 2048 label $_info_routername" action 3.3 cli command "end" action 3.4 end
Archive download-sw options
# archive download-sw ? /allow-feature-upgrade Allow installation of image with different feature sets /directory Specify a directory for images /force-reload Unconditionally reload system after successful sw upgrade /force-ucode-reload Upgrade UCODE after successful sw upgrade and before an unconditional reload /imageonly Load only the IOS image(s) /leave-old-sw Leave old sw installed after successful sw upgrade /no-set-boot Don't set BOOT -- leave existing boot config alone /no-version-check skip version check that prevents incompatible image install /overwrite OK to overwrite an existing image /reload Reload system (if no unsaved config changes) after successful sw upgrade /safe Always load before deleting old version /upgrade-ucode Upgrade UCODE after successful sw upgrade (no reload)
Formatting Ansible Playbook Outputs
Output generated by ansible-playbook can be formatted using
callback plugins included
in Ansible distribution. The selective callback is particularly useful, as it allows
you to control what is displayed with the
tags: [ print_action ] attribute. Unfortunately,
it outputs additional codes for formatting and colorizing the output.
I ended up working around this by copying selective.py to the directory callback_plugins
in the playbook directory, editing it, and changing
return msg to:
if DONT_COLORIZE: return msg.encode('utf-8')
The environment variable ANSIBLE_SELECTIVE_DONT_COLORIZE can now be used to toggle the formatting of output messages, greatly enhancing the readability of the Ansible output in a web browser. I am now playing with outputting HTML text where each output category (‘changed’, ‘failed’, ‘skipped’, etc.) is mapped to its own CSS div class.