Posts by Category

Announcements

New Journey Begins - Revisited

less than 1 minute read

I previously posted this post New Journey Begins which was about my new journey at Verizon Telematics. Well I am here today (even though this new journey beg...

New Site

less than 1 minute read

Welcome to the new EverythingShouldBeVirtual site. I had been planning on moving from a hosted Wordpress site for a few years now but I was stuck in a contra...

New Journey Begins

2 minute read

As many of you know, a little over 3 weeks ago, I began my search for a new career opportunity. Things always happen for a reason and I fully embraced, with ...

Automation

Ansible Blocks With Conditionals

3 minute read

Refreshed June 2026: module names updated to FQCN, the docs link fixed, and the examples re-verified against current ansible-core. The behavior described ...

Streamlining OS Deployments

3 minute read

UPDATE: 2023-05-11 - I found this post in my backlog, and it was never published or finished, as you can see. This conversation continues to be something ...

Using ARA Records Ansible Within Projects

2 minute read

While exploring some options to provide a level of reporting capabilities as part of a project I figured using ARA would be an awesome idea. My goal was to p...

Ansible - Using YAML For Inventory

3 minute read

Refreshed June 2026: the YAML example now uses the canonical all / children structure, and I added two sections on checking and converting inventories wit...

Ansible - Raspberry Pi Kubernetes Cluster

less than 1 minute read

Recently I started working on a little project which involved building a Kubernetes cluster using Raspberry Pi’s. I published this project on GitHub under an...

Ansible - Older Than N-Days Epoch

3 minute read

I recently had a scenario in which I needed to determine if a device’s last check-in time had been longer than 30 days. The real fun with this is that the re...

Ansible - IP Sets and DShield Block List

13 minute read

Refreshed June 2026: the approach here still works, but a few things moved since 2018. The ipaddr filter now lives in the ansible.utils collection, the DS...

Ansible - Defining Variables As Dictionaries

6 minute read

This post is to go through an example of defining Ansible variables as dictionaries rather than lists. I wanted to throw this together as I have not found a ...

Ansible - MAAS Management

2 minute read

Refreshed June 2026: when I wrote this, there was no first-class Ansible integration for MAAS, so I templated inventory out of the maas CLI by hand. Canon...

Ansible 2.3.1 - sshpass Error

2 minute read

As you may or may not be aware, Ansible 2.3.1.0 was recently released. After installing Ansible 2.3.1.0 in my Python virtual environment I immediately ran in...

Ansible - SSH Known Host Keys

1 minute read

I wanted to throw this together mainly for my own reference but maybe it will help someone else as well. I had a need to add every host’s ssh keys to every h...

Ansible - Provision Docker Swarm Mode (1.12)

7 minute read

Lately I have been working quite a bit with the latest Docker Swarm Mode released in Docker 1.12 and so far it has been pretty awesome. The days of spinning ...

Docker - Ansible - ELK Stack

7 minute read

In this post we will be going over setting up a quick and easy way to standup ELK Stack using Docker containers for each of our components required. Keep in ...

Vagrant - Multi-Group Ansible Provisioning

2 minute read

Refreshed June 2026: the Vagrant ansible.groups mechanism shown here still works the same way, so the core of the post is unchanged. What needed updating ...

Ansible - Using the set_fact module

3 minute read

Refreshed June 2026: the original solved this with six set_fact tasks, one per OS and webserver combination, each gated by a when. The cleaner pattern now...

Docker - Building containers using Ansible

4 minute read

Have you thought about building Docker containers using some Ansible role(s) or playbook(s) you may already be using for your regular automated deployments? ...

Vagrant - Ansible Provisioning multi-nodes

1 minute read

I am just throwing this out here for my own reference because I seem to always forget how to do this when spinning up multiple nodes within a Vagrant environ...

Ansible - Setting up an Ansible Control Machine

25 minute read

In this post we will be setting up an Ansible Control Machine to execute our Ansible tasks from. This server will not have writable access to our Git repos s...

Ansible - Clean Formatted Playbooks

5 minute read

While going through and doing some cleanup to various different roles and playbooks in my Ansible collection I wanted to share what I feel is good clean form...

Ansible - Debian Based Gotchas - Part-1

5 minute read

As I am currently running through some Docker setups between Debian Jessie and Ubuntu Trusty using Ansible I ran into a few gotchas. Now I would have assumed...

Ansible - Discover and Backup PowerDNS

3 minute read

Refreshed June 2026: the original did this with two playbooks, a shell wrapper, and a chain of curl, jq, grep, replace, and lineinfile to turn JSON into a...

Ansible - Using Ansible on Windows

3 minute read

Refreshed June 2026: the original version of this post installed Ansible on Windows through Cygwin, with Python 2 and Ansible 1.9. That approach is long d...

Packer - Vagrant - Ansible - Windows

6 minute read

While doing some Packer builds for Windows Server 2012 R2 to be used with Vagrant in order to do some Ansible learning I stumbled across this issue.

Hey, I can DevOPS my Network too! - Intro

1 minute read

This will be the introduction to a multi-post series on some different methodologies that you too can use everyday either to learn, test or develop your goin...

Learning Vagrant and Ansible Provisioning

3 minute read

After attending Tech Field Day (#NFD10) there was a great deal of discussion around using Vagrant and Ansible for building out environments and provisioning ...

Ansible - Generate Rundeck Inventory

2 minute read

Refreshed June 2026: the original version of this post generated Rundeck’s resources.xml by hand, with a templated play and a couple of sed cleanups. You ...

Ansible - KeepAliveD

3 minute read

Refreshed June 2026: module names are now FQCN, the handler uses ansible.builtin.service, and the health check in the template is wired in with a track_sc...

Ansible Playbook - GlusterFS - Apache

4 minute read

Read this first (June 2026): GlusterFS is effectively legacy now. Red Hat ended Gluster Storage and disbanded its engineering team at the end of 2024, ups...

Ansible Playbook - LVM

3 minute read

Refreshed June 2026: the original used bare module names with the old key=value argument style, installed the wrong package on RHEL, and shelled out to lv...

Creating vSphere VMs using Ansible

3 minute read

Refreshed June 2026: the original used the vsphere_guest module, the pysphere Python library, Ansible 1.8.4, and vCenter 6.0. All four are gone. vsphere_g...

Code

Python - Manage PowerDNS Zones/Records

13 minute read

While working on another PowerDNS project I have started working on a Python script to manage Zones/Records. Being that there is not a ton of info out there ...

Python - NMAP/SSH Fun

7 minute read

I am currently working on some Ansible/Python project(s) (More to come on that soon) and am working on integrating some functionality between some of the mov...

Containers

Ansible - Raspberry Pi Kubernetes Cluster

less than 1 minute read

Recently I started working on a little project which involved building a Kubernetes cluster using Raspberry Pi’s. I published this project on GitHub under an...

Ansible - Provision Docker Swarm Mode (1.12)

7 minute read

Lately I have been working quite a bit with the latest Docker Swarm Mode released in Docker 1.12 and so far it has been pretty awesome. The days of spinning ...

Docker - Spinning Up A Graphite Container

2 minute read

As I am working through some testing methodologies for Infrastructure/app testing I wanted to throw together a usable Graphite image that I could easily spin...

Docker - Creating An Alpine Image With Ansible

1 minute read

As I am experimenting with Docker images and finding the right combination which works well for me the majority of the time. I have finally put together a si...

Docker - Ansible - ELK Stack

7 minute read

In this post we will be going over setting up a quick and easy way to standup ELK Stack using Docker containers for each of our components required. Keep in ...

Docker - Building containers using Ansible

4 minute read

Have you thought about building Docker containers using some Ansible role(s) or playbook(s) you may already be using for your regular automated deployments? ...

DevOps

Git

IT Management

Linux

Ansible Playbook - GlusterFS - Apache

4 minute read

Read this first (June 2026): GlusterFS is effectively legacy now. Red Hat ended Gluster Storage and disbanded its engineering team at the end of 2024, ups...

Ansible Playbook - LVM

3 minute read

Refreshed June 2026: the original used bare module names with the old key=value argument style, installed the wrong package on RHEL, and shelled out to lv...

Micro-Services

Monitoring

Docker - Ansible - ELK Stack

7 minute read

In this post we will be going over setting up a quick and easy way to standup ELK Stack using Docker containers for each of our components required. Keep in ...

Networking

Ansible - KeepAliveD

3 minute read

Refreshed June 2026: module names are now FQCN, the handler uses ansible.builtin.service, and the health check in the template is wired in with a track_sc...

Series

StackStorm Series - Getting Started

5 minute read

As mentioned in the previous post StackStorm Series - Intro we will be working through a series of posts in regards to StackStorm. In this post we will revie...

StackStorm Series - Intro

1 minute read

You may or may not have heard of StackStorm previously. If you have not I highly recommend checking them out. StackStorm is classified as Event-Driven Automa...

Storage

ZFS - Replication Backups

2 minute read

I recently rebuilt my lab NAS hosts with Ubuntu 16.04 and used ZFS for the storage pools (once again). In doing it this time around I wanted to get a good me...

Virtualization

Nested ESXi Templates

1 minute read

Over the past week I have been working on a streamlined process to deploy nested ESXi 6.7 via automation tooling. Going through this I came across an issue w...

Ubuntu 18.04 Templates - Duplicate IPs

less than 1 minute read

Oh, the joy of Ubuntu 18.04 continually amazes me. As long as I have been using it, I have not provisioned mass VMs using a template. I use Packer for all of...

Python - vSphere Host Networking Info

5 minute read

Oh I love Terraform so so much. But why does vSphere feel like a second class citizen? Is it because my use case is a real snowflake? Maybe, maybe not! Howev...

KVM - VM Templates

9 minute read

It has been a minute since I had done any KVM based VMs so I wanted to share some little tidbits on creating your KVM templates. I will be focusing on Debian...

Vagrant - Multi-Group Ansible Provisioning

2 minute read

Refreshed June 2026: the Vagrant ansible.groups mechanism shown here still works the same way, so the core of the post is unchanged. What needed updating ...

Vagrant Box Templates

4 minute read

Over the past few months I have been putting together some Vagrant box templates based on different Linux distros all using Packer. My goal is to have a stan...

Ubuntu - VMware Template Cleanup Script

2 minute read

Just sharing these scripts in case anyone ever needs/wants a quick way to prep an Ubuntu VM template with/without guest customizations. One script is just a ...

Vagrant - Complex Vagrantfile Configurations

8 minute read

I will be using this a reference for adding various Vagrant configurations for setting up testing environments. I really just wanted to put this out here bec...

Vagrant - Ansible Provisioning multi-nodes

1 minute read

I am just throwing this out here for my own reference because I seem to always forget how to do this when spinning up multiple nodes within a Vagrant environ...

Vagrant - Adding a second hard drive

3 minute read

I was just working on some Vagrant lab stuff and had a need to spin up a Vagrant node with more than one hard drive. So I turned to google and did some searc...

Migrating VMs from PF9 KVM to ESXi

4 minute read

I have been doing some testing over the past few months of Platform9 running on top of KVM and I have to admit that it has been a very good experience. Howev...

Packer - Vagrant - Ansible - Windows

6 minute read

While doing some Packer builds for Windows Server 2012 R2 to be used with Vagrant in order to do some Ansible learning I stumbled across this issue.

Vagrant - Multi-NIC Definitions via YAML

4 minute read

I am currently working on a little routing project to use as a learning tool for others to easily consume by using Vagrant and Ansible (Inspired by this post...

Learning Vagrant and Ansible Provisioning

3 minute read

After attending Tech Field Day (#NFD10) there was a great deal of discussion around using Vagrant and Ansible for building out environments and provisioning ...

Creating vSphere VMs using Ansible

3 minute read

Refreshed June 2026: the original used the vsphere_guest module, the pysphere Python library, Ansible 1.8.4, and vCenter 6.0. All four are gone. vsphere_g...

update