I was working on a new Ansible role last week and was having problems with Test Kitchen. The issue I was having was that Test Kitchen was unable to pull in dependencies from GitLab for the Ansible role I was developing. Here is the error message I was seeing:
[WARNING]: - rsyslog was NOT installed successfully: - command git clone https://gitlab.logicnow.com/ansible-roles/rsyslog.git rsyslog failed in directory /tmp/tmpEaRVAA (rc=128) I realized that on our internal, private GitLab server a repo needed to be changed from Private to Public....
User Management with Ansible
The contents of this article originally appeared on DZone
A few weeks ago, one of my DevOps counterparts was working on building out a new environment for one of our applications. This deployment included a new Puppet server (we are in an orchestration/configuration management state of flux) and my teammate was having some issues provisioning users (I did not ask why nor did I really care). My teammate asked if I could help with some Ansible knowledge....
Ansible lineinfile be damned
The Ansible lineinfile module is designed to search a file for a line, and ensure that it is present or absent. lineinfile is very effective at that particular task. However, when the line has to be in a certain place or before or after a certain line, lineinfile becomes a hassle to manage.
Most people on IRC (#ansible) tend to agree, lineinfile is not a very good module in practice. Even Brain Coca says to avoid the lineinfile module....
Poorly Documented Dependencies
Few things irritate me more than poorly documented dependencies. If your tool or software documentation states you can install your widget with one command and it does not work you are probably annoying people.
Consider this a running list of tools and their often not well documented dependency chains. Feel free to chime in with your examples in the comments.
Ansible
Ansible is one of my favorite tools has many installation options....
Got Badlock? Ansible Can Help
Badlock might not be bad for all. If you are using Ansible you can patch your systems with a single playbook (or ad hoc command).
For RPM based OS users Badlock (samba) patching is as easy as: ansible -m shell -a "yum update *samba*" all
Or you can be very granular and use an Ansible Playbook to audit and patch samba packages:
--- - hosts: all tasks: - name: Check if samba packages are installed shell: "yum list installed *samba* | awk '!...