Run this before a controller is allowed to hold production credentials for the
first time, and again after any change to its Python environment, its
collections or its ansible.cfg. Run it on the controller itself, as the
account that runs the automation - not as your own user, and not under sudo.
Several items check file modes and configuration resolution, and both answers
change with the account.
What a failure means
The controller is the one machine in the estate that can reach every other
machine with elevated privilege. A weakness here is not a controller problem,
it is a fleet problem: whoever holds the controller holds every host in the
inventory. Treat every critical item as blocking, and resolve it before the
controller is given a production vault password.
The warn items are about whether you will be able to reconstruct what
happened afterwards. They do not stop a run, they stop an investigation.
Access this needs
Reading the vault password file mode, the SSH key modes and last output all
require the automation account. logrotate and filesystem checks need read
access to /etc. Nothing in this checklist writes anything, and nothing in it
contacts a managed node.
Where the evidence goes
Capture the full output into the commissioning ticket for the controller, with the date and the account it was run as. The two items with no command - out-of-band access and a tested rebuild - are attested by a named person, not by a command, so record who attested them.
Sign-off
- Operator: _________________ Date: ___________
- Reviewer: ________________ Date: ___________