Archive

Category Archives for "Systems"

Ansible as Automation Glue

Ansible

Throughout my time at Ansible, I have endeavoured to put together pertinent demos for customers - when I was 'on the other side of the fence' I always preferred it when a vendor asked about the challenges we faced and prepared the product to show how it would help me.

A few months back a customer told us about their challenge of getting code from development into production, and how it was taking almost a third of a year. They wanted to see how Ansible could help accelerate that workflow.

Since giving that demo I've not stopped asking customers about their challenges, but nine times out of ten they come back with the same answer these days - development to production workflow acceleration. That's when I show the same demo.

ansible

After running through this so many times, I thought it might be useful to record it as a screencast to share it publicly - along with all the Ansible playbooks used to put it together. The demo runs to 18 minutes in total, but covers many aspects of how powerful and flexible Ansible is as a tool - from machine provisioning to configuration management to code deployment to interacting with various Continue reading

Using Terraform to Build an etcd2 Cluster on OpenStack

In this post I’ll build on my earlier introduction to Terraform to show a practical example of using Terraform to build a CoreOS-based etcd2 cluster on OpenStack. This information is based upon a demo that I created for a session at the Austin OpenStack Summit in late April, so all the files I reference in this post are available in the GitHub repo for that session.

You may recall that Terraform is a platform-independent orchestration tool that allows you to create configurations (in either Terraform format or JSON format) specifying resources to be created/modified/deleted. This allows users to take an “infrastructure as code” approach where infrastructure configuration can be declaratively defined and managed via well-known version control mechanisms. In my previous post, I used JSON for the Terraform configurations; in this post, I’ll use the “standard” Terraform format.

As in the intro to Terraform post, I’ll use three different files:

  • The vars.tf file, which contains variables we’ll reference later
  • The main.tf file, which has the actual resource definitions
  • The output.tf file, which will provide some feedback to the user on the resources being created by Terraform (in this case, IP addresses)

Note that there’s no Continue reading

Building a VMware-Formatted Cumulus VX Vagrant Box

In this post, I’m going to walk you through the process I used to build a Vagrant box for Cumulus VX that will work with VMware desktop hypervisors (like VMware Fusion or VMware Workstation). Although Cumulus Networks offers several different versions of Cumulus VX to download, they do not (strangely enough) offer a Vagrant box that will work with VMware’s desktop hypervisors.

If you’re not familiar with Cumulus VX, it’s a virtual appliance version of Cumulus Linux. This allows you to test Cumulus Linux without needing compatible network hardware. This is really handy for testing configuration management tools against Cumulus Linux, for testing complex topologies before you implement them in production, or just for getting a feel for how Cumulus Linux works.

Naturally, this sounds like a perfect fit to use with Vagrant, so if you’re interested—as I am/was—in running Cumulus VX with Vagrant using a VMware desktop hypervisor, then the process described below should get you all fixed up.

First, you’ll want to get a hold of the VMware version of Cumulus VX. Navigate over to the Cumulus VX download page (a free registration is required), and download the VMware version. This will download an OVA file. Don’t Continue reading

Docker at EMC World 2016

It’s the time again, this week EMC will welcome thousands of its customers and partners for EMC World 2016 in Las Vegas. Come visit Docker with the EMC {code} team in booth #1044 to learn about Docker is transforming modern … Continued

Installing Ansible 2.x in a Python Virtualenv on OS X

In this post, I’m going to walk you through the steps to install Ansible 2.x into a Python virtual environment (virtualenv) on OS X. There’s nothing terribly hard or unusual about this process, but I wanted to document it here for folks who might be new to the process (or who might be interested in why using this approach could be beneficial).

I’m stumbled into this process because I had been using Ansible 1.9.x and wanted to upgrade to Ansible 2.x so that I could use some of the new OpenStack-related modules. (These are modules that allow you to manipulate OpenStack-based resources, like instances or networks, using Ansible playbooks, and they were introduced with the release of Ansible 2.x.) The new modules had some additional Python dependencies, and installing these Python dependencies on OS X can be challenging at times (due to System Integrity Protection [SIP]). For example, installing the shade module on my OS X El Capitan system ran afoul of SIP.

The answer is to use Python virtual environments (aka “virtualenvs”). Virtualenvs provide a mechanism whereby you can isolate Python dependencies between different Python-based projects. You create a Python virtualenv, then Continue reading

Introducing the Docker Captains

We receive many requests from the Docker community for help identifying experts who can answer questions on different forums like Stack Overflow, share their knowledge in blog posts and online tutorials, and present at industry events like conferences and meetups. Today, … Continued

Docker Cloud to the Rescue

3Blades offers data science collaboration services. In addition to offering task based project management features, 3Blades also allows users to spawn custom workspace, model and data source instances within the context of their projects. A variety of resource configurations are … Continued

Control with Ansible Tower, Part 2

tower-control-series-screen.png

This is the second in a series of posts about how Ansible and Ansible Tower enable you to manage your infrastructure simply, securely, and efficiently.

When we talk about Tower, we often talk in terms of Control, Knowledge, and Delegation. But what does that mean?  In this series of blog posts, we'll describe some of the ways you can use Ansible and Ansible Tower to manage your infrastructure.

In our first blog post, we described how Ansible Tower makes it easy to control the way your infrastructure is configured via configuration definition and continuous remediation.

But controlling the configuration of your infrastructure is just one step. You also need control of the components of your infrastructure - your inventory. You need to do day-to-day management tasks on demand. And Ansible Tower makes those easy as well.

INVENTORY - THE BASICS

If you’ve used Ansible, you know about the basics of inventory. A static Ansible inventory is just an INI-style file that describes your hosts and groups, and optionally some variables that apply to your hosts and groups. Here's an example from the Ansible documentation.

{% raw %}
[atlanta]
host1
host2

[raleigh]
host2
host3

[southeast:children]
atlanta
raleigh

[southeast:vars]
nameserver=dns.southeast.example. Continue reading
1 89 90 91 92 93 125