Delete Duplicate OpenStack Hypervisors and Services

Sunday, August 3, 2014

If you ever change the hostname of any of your OpenStack nodes and restart the OpenStack services on those nodes, the services are going to re-register to the OpenStack cluster under the new hostname. Because of this, when you run nova hypervisor-list, nova service-list, neutron agent-list, or cinder service-list you are going to have duplicate entries.

Unfortunately, there are not commands in place to clean up duplicate entries, so you have to modify the various OpenStack databases by hand.

Continue reading...


Is Your Application Cloud Ready?

Sunday, August 3, 2014

Anyone working in IT has heard that question. What on earth does it mean? What factors go into making an application “cloud” ready?

Applications can be architected in many different ways and there are arguably many factors that go into making an application “cloud” ready.

This post isn’t going to cover what those factors are. What’s more interesting to me is how to quickly figure out if an application is “cloud” ready. I have found that there are a series of questions that can be asked to quickly determine this.

Continue reading...


Use OpenStack Swift as a Backend Store for Glance

Sunday, August 3, 2014

By default, OpenStack Glance saves images and OpenStack Instance snapshots on the local filesystem in /var/lib/glance/images/.

However, if you have a Swift Cluster, you can just as easily use it to save images and snapshots instead of the local filesystem where Glance is running.

Continue reading...


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 getbootstrap.com, 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...