OpenStack Swift 401 Unauthorized When Using the swift Command

Wednesday, July 16, 2014

After setting up a Swift Cluster with TempAuth, I wanted to remove TempAuth and use Keystone to authenticate. However, I kept encountering 401 Unauthorized errors when running the swift command even though I was fairly certain everything was configured properly.

Continue reading...

Authenticate OpenStack Swift Against Keystone Instead of TempAuth

Wednesday, July 16, 2014

In a previous post I detailed how to install a stand-alone, multi-node OpenStack Swift Cluster with VirtualBox or VMware Fusion and Vagrant. That post configures Swift’s TempAuth module for authentication. However, if you have an existing OpenStack environment, or just an OpenStack Keystone server already setup, you can just as easily use Keystone instead.

Continue reading...

Install a Stand-alone, Multi-node OpenStack Swift Cluster with VirtualBox or VMware Fusion and Vagrant

Monday, July 14, 2014

The OpenStack Swift developer website describes Swift best: it is a highly available, distributed, eventually consistent object/blog store. Organizations can use Swift to store lots of data efficiently, safely, and cheaply.

For being such a powerful object storage platform, I found it surprisingly easy to setup and configure. Of course, setup becomes more difficult as the number of nodes, racks, and data centers increase.

But, not all of us have many nodes, racks, or data centers at our disposal, and simply want to setup an environment to play with on our workstation.

Continue reading...

From Bare Metal to Rackspace Private Cloud POC

Monday, June 23, 2014

There are all sorts of tools available to setup virtual OpenStack environments on your workstation.

In Rackspace Private Cloud’s case, the following three options are available:

These tools are great to give you a very quick and easy way to setup a demo Rackspace Private Cloud environment to begin learning how the services, APIs, CLI tools, and Horizon Dashboard work. However, these demo environments do not give you a realistic expectation of what you can expect Rackspace Private Cloud to do for you on bare metal servers or how to actually set it all up.

Continue reading...

Do Not Use Shared Storage for OpenStack Instances

Saturday, June 14, 2014

With the advent of cloud computing came the cloud computing methodology and a different way of doing things. Instead of having high availability just at the infrastructure layer, high availability now needs to exist at the infrastructure layer and the application layer. And even though the infrastructure layer is architected to be highly available, your application should be designed to expect something at the infrastructure layer to fail. And when something does fail, whatever failed should not bring anything else down with it. This is a shared-nothing architecture.

Continue reading...

Random Twitter Bootstrap Jumbotron Image on Each Page Load Using jQuery

Wednesday, June 11, 2014

The Twitter Bootstrap front-end framework provides a UI element called a Jumbotron. As stated at, it is “a lightweight, flexible component that can optionally extend the entire viewport to showcase key content on your site”.

In my particular case, I wanted to use the Jumbotron to display different, severely cropped photographs on each page load. This post will go through how to implement this using jQuery.

Continue reading...

A Better Way to Display Random Jekyll Posts on Page Load or Refresh Using jQuery and JSON

Sunday, June 8, 2014

In a previous post I detailed how to display random Jekyll posts during each page load or refresh using Javascript. This post will produce the same result but will achieve it with jQuery and JSON.

Continue reading...

Manage Apache VirtualHosts and mod_rewrite Rules with Ansible

Monday, June 2, 2014

I needed a way to manage Apache VirtualHosts and mod_rewrite rules. There are a handful of Ansible Roles available at Ansible Galaxy to manage Apache VirtualHosts, but none of them also manage mod_rewrite rules.

After figuring out how to include additional content in an Ansible Template file, I was able to quickly put together an Ansible Playbook and Ansible Template to manage my Apache VirtualHosts and their particular mod_rewrite rules.

Continue reading...

Where to Find OpenStack Cloud Images

Sunday, June 1, 2014

OpenStack Instances are created from OpenStack cloud images. Many modern Linux distributions create and distribute their own pre-made OpenStack cloud images, but for those that don’t, it is possible to create your own.

cloud-init is a key part in creating any OpenStack cloud image and will be found in most of the pre-made images.

The following post will be an ever growing list of operating systems that have pre-made OpenStack cloud images and instructions to create your own if they do not.

Continue reading...

Include Additional Content in Ansible Template File

Thursday, May 22, 2014

While putting together an Ansible Playbook to generate a configuration file from an Ansible Template, I needed a way to include additional content from a text file within the generated configuration file. I could not find an Ansible Module to do this, but Ansible uses the Jinja2 templating engine, and with one additional line in the Ansible Template file, I was able to include the contents of the text file in the generated configuration file.

Continue reading...