This docker image contains all required packages to run UCS Manager Ansible playbooks against remote nodes. The container was originally created to overcome managing dependencies within environments without internet access by SDBrett (SDBrett/ucsm-ansible-docker).
The container entrypoint is the ansible-playbook command, allowing additional Ansible arguments to be passed at run time.
There is typically not a need to persist the container after running a playbook, so example run with the --rm flag.
If you're using paths within ansible.cfg for settings such as library, remember that the path is local within the context of the running container.
Run the below command on a docker host
docker pull ciscodevnet/ucsm-ansible
Example commands
Running from within an Ansible playbook directory
docker run --rm \
-v $(pwd):/ansible/playbooks \
-it ciscodevnet/ucsm-ansible
-i inventory site.yml
Running when external to Ansible playbook directory
docker run --rm \
-v /usr/share/my-ucsm-playbook:/ansible/playbooks \
-it ciscodevnet/ucsm-ansible \
-i inventory site.yml \
--check
Run with custom hosts file
docker run --rm \
-v $(pwd):/ansible/playbooks \
-v $(pwd)/hosts:/etc/ansible/hosts \
-it ciscodevnet/ucsm-ansible \
-i inventory site.yml
Using external library path
docker run --rm \
-v $(pwd):/ansible/playbooks \
-v $(pwd)/library:/usr/share/ansible/library \
-it sdbrett\ucsm-ansible \
-i inventory site.yml