Materials for Tech Summit Ansible Class
Installing Ansible on a Mac Documentation
Ansible Module Documents Used in this Collection
autocmd FileType yaml setlocal ai ts=2 sw=2 et colorcolumn=1,3,5,7,9,11,13 nu
set cc=
{
"repos": [
{
"name":"f5-ansible-ts",
"repo":"https://github.com/mcgonagle/f5-ansible-ts.git",
"branch":"master",
"skip":false,
"skipinstall":true
}
]
}
docker run -p 8080:80 -p 2222:22 --rm -it -v /home/ubuntu/user_repos.json:/tmp/user_repos.json -e SNOPS_GH_BRANCH=develop f5devcentral/f5-super-netops-container:develop-ansible
This Ansible code base comes with a shell helper script that runs the playbooks.
$ANSIBLE_HOME_DIRECTORY/run_ansible.sh --all
$ANSIBLE_HOME_DIRECTORY/run_ansible.sh --onboarding
$ANSIBLE_HOME_DIRECTORY/run_ansible.sh --operation
$ANSIBLE_HOME_DIRECTORY/run_ansible.sh --teardown
Ansible 2.x Order of Variable Precedence
This code base leverages the ansible vault tool and includes an encrypted password protected file. To edit the username and password run:
ansible-vault edit password.yml
The password for the password file is password
This ansible repository is organized into roles. Roles are collections of templates, files, tasks, and variables. Tasks are organized based on the particular module they are implementing. For example, the bigip_device_ntp module is a subdirectory under the onboarding role and has a task set_ntp.yml (roles/tasks/bigip_device_ntp/set_ntp.yml).
The playbooks in in the ansible playbook directory include the roles.
$ANSIBLE_HOME_DIRECTORY/site.yml
$ANSIBLE_HOME_DIRECTORY/playbooks/onboarding.yml
$ANSIBLE_HOME_DIRECTORY/playbooks/operation.yml
$ANSIBLE_HOME_DIRECTORY/playbooks/teardown.yml
$ANSIBLE_HOME_DIRECTORY/playbooks/today.yml
Includes the BigIP Modules and distributes them for use.