In my earlier post on using Docker Machine with OpenStack, I talked about combining technologies in a “provider/consumer” model. In this post, I’m going to talk about creating this provider/consumer model using a different combination of technologies: OpenStack as the infrastructure provider and Vagrant for consuming that infrastructure.
If you’re unfamiliar with Vagrant, I recommend you first read this introduction to Vagrant (after that you can dig into all the other Vagrant-tagged posts). As I explain in that first post, Vagrant leverages the idea of providers (which enable Vagrant to work with various back-end virtualization platforms/solutions) as well as boxes (which are essentially VM templates). In this particular case, we’re leveraging an OpenStack provider for Vagrant that allows Vagrant to use OpenStack as the back-end virtualization solution. However, since OpenStack already has the equivalent of VM templates (in the form of images), there’s no need to use a Vagrant box. This makes using Vagrant with OpenStack slightly different than your typical Vagrant use case.
Let’s start with reviewing some prerequisites—these are the things you’ll need to do/have done before you can use Vagrant with OpenStack (besides the obvious things like having Vagrant installed).
This post walks through the process of adding storage capacity to a Linux server using LVM. There’s nothing new, revolutionary, or cutting-edge about this post—honestly, it’s really more for my own reference than anything else. Adding logical volumes is something that I do so infrequently that it’s hard to remember all the commands, so I’m recording them here for when I need them next time.
First, list the physical disks in the system (all commands should be prefaced with sudo
or run as a user with the appropriate permissions):
fdisk -l
This will help you identify which (new) disk needs to be added. In my examples, I’ll use /dev/sdb
.
Start partitioning the new disk (replace /dev/sdb
with the appropriate values for your system):
fdisk /dev/sdb
I’m assuming that this isn’t a boot drive and that whatever logical volumes you create will take up the entire disk. Once you get into fdisk
, follow these steps:
n
to create a new partition.p
to make this a primary partition.1
to make this the first partition on the disk. Continue reading
In this post, I’m going to show you how to use Docker Machine with OpenStack. This is something I’ve been interested in testing for a while, and now that I finally have my test lab back up and running, I was able to spend some time on this. I’ll spend some time later in the post covering my reasons for wanting to look at this, but I’ll start with the technical content of how it works.
I tested this setup with the following components:
There are (at least) two approaches to using Docker Machine and OpenStack together:
generic
driver to consume already-provisioned OpenStack instances. This is, in large part, very similar to what I covered here, but I’ll cover it in this post just for the sake of completeness.openstack
driver to automatically provision and configure new instances on an OpenStack cloud. This is the Continue readingWelcome to Technology Short Take #54! In this episode, I’ve gathered an odd collection of links and articles about key data center technologies. Without further ado, let’s get to the content.
Spousetivities returns to VMworld EMEA this year with a new set of activities. If you haven’t registered yet, here’s a quick look at the pretty impressive set of tours and activities that are planned.
For more detailed descriptions of the activities, I encourage you to visit the Spousetivities site. When you’re ready to get signed up, head on over to the registration page. These are some pretty great activities!
In this post, I’m going to show you how to use the Git command-line to check out GitHub pull requests locally. I take absolutely no credit for this trick! I picked this up from this GitHub Gist, and merely wanted to share it here so that others would benefit.
The GitHub gist shows you how to modify the Git configuration for a particular repository so that when you run git fetch
it will fetch all the pull requests for that repository as well. This is handy, but what I personally found most helpful was a comment that showed the command to fetch a specific pull request. The command looks like this:
git fetch origin pull/1234/head:pr-1234
Let me break that command down a bit:
origin
in this case refers to the Git remote for this repository on GitHub. If you are using the fork-and-pull method of collaborating via Git and GitHub, then you will have multiple Git remotes—and the remote you want probably isn’t origin
. For example, if you want to fetch a pull request from the original (not forked) repository, you’d want to use the name that corresponds to the Git remote for the original repository (I Continue readingThe day 2 keynote kicks off with another Cloud Academy presentation… After the video wraps up, Sanjay Poonen takes the stage. Poonen briefly recaps yesterday’s messaging, and then moves into the focus of today’s keynote—focusing on the “any application and any device” part of the “Ready for Any” messaging.
According to Poonen, the core of the solution for “any application on any device” is VMware’s Workspace Suite. Workspace Suite creates the magic of “enterprise computing with consumer simplicity.” How? It starts by building upon the core of virtualized infrastructure, made possibe by VMware’s compute, storage, and network virtualization solutions. Combined with a strong management layer and hybrid cloud solutions, this becomes the software-defined data center (SDDC). Somehow, though, this stuff needs to be connected to the end users—via desktop, mobile, content collaboration, and tying it all together with identity management. Poonen points to innovation in all of these areas.
Obviously, mobile is a category that is growing very rapidly, and Poonen talks about VMware’s movement in this space via the AirWatch acquisition. And the use of mobile devices is also key to VMware’s identity efforts as well. Poonen shows a video with a few customer testimonials, and then introduces Continue reading
This is a liveblog for the Day 1 general session at VMworld 2015 in San Francisco. For many people, VMworld started yesterday with the Welcome Receptio in the Solutions Exchange, but today marks the official kick-off to the event. I’ll have to end this liveblog shortly before the general session ends in order to make it to some customer meetings.
The keynote kicks off with a short video about the VMware Cloud Academy, where both “legacy” and “cloud-native” apps can enjoy the Unified Hybrid Cloud. Following that video, Carl Eschenbach takes the stage (along with some “apps”). Eschenbach sets the stage for the session by talking about the momentum and volume of success that VMware has enjoyed (and continues to enjoy). He also calls out VMware’s philanthropic efforts, via the VMware Foundation and the #vGiveBack program.
Eschenbach nexts dives a bit deeper on the theme of the show, “Ready for Any.” This means VMware technologies and products supporting any application, any cloud, any infrastructure, any time, any place…you get the idea. This theme encompasses SDDC (software-defined data center) initiatives, mobility initiatives, and EUC (end-user computing) initiatives. Eschenbach talks in a a bit more detail about how Unified Hybrid Cloud Continue reading
Welcome to Technology Short Take #53. In this post, I’ve gathered links to posts about networking, virtualization, Docker, containers, Linux, configuration management, and all kinds of other cool stuff. Here’s hoping you find something useful!
pyeapi
on the switches directly, so the Ansible configuration remains clean (instead of having to use a local connection for the switches but SSH for everything else). Of course, I’m sure there are trade-offs each way.It’s that time of year again—time for VMworld! And along with VMworld comes another highly-anticipated event: Spousetivities! That’s right, Spousetivities is back again this year for another set of outstanding activities organized for spouses traveling with conference attendees. If your spouse is traveling with you to San Francisco for VMworld, this is a great opportunity for him (or her) to meet up with other spouses and attend some exclusive activities.
So what’s on tap for Spousetivities this year? Here’s a quick look at some of what’s planned:
Last year, a group of believers gathered for a brief time of prayer while at VMworld 2014. This year, I’d like to again offer believers attending VMworld 2015 the same opportunity to gather together for a time of prayer before starting the day. If you’re interested in attending, here are the details.
What: A brief time of prayer
Where: Yerba Buena Gardens, behind Moscone North (by the waterfall)
When: Monday 8/31 through Wednesday 9/2 at 7:45am (this should give everyone enough time to grab breakfast before the keynotes start at 9am)
Who: All courteous attendees are welcome, but please note that this will be a distinctly Christian-focused and Christ-centric activity. (I encourage believers of other faiths/religions to organize equivalent activities.)
Why: To spend a few minutes in prayer over the day, the conference, and the attendees
Like last year, there’s no need to RSVP or let me know that you’ll be there, although you’re welcome to do so if you’d like. There’s also no need to bring anything except an open heart and a willingness to display your faith in front of others. This is a very casual gathering of believers—we’ll gather together, share some prayer requests and needs, Continue reading
In this post, I’m going to show you a quick tip I used today to combine the power of Vagrant with that of Docker Machine to quickly and easily create Docker-enabled virtual machines (VMs) on your laptop. This could be useful in a variety of scenarios; I leave it as an exercise for the reader to determine the best way to leverage this functionality in his or her own environment.
In my case, I needed to be able to easily create/destroy/recreate a couple of Docker-enabled VMs for a project on which I’m working. The problem I faced was that the tools I would normally use for such a task—Vagrant and Docker Machine—each had problems when used on their own:
As it turns Continue reading
Welcome to Technology Short Take #52, the latest collection of news, links, and articles from around the web on data center technologies.
In this post, I’m going to show you how to configure VLAN trunking with Mikrotik RouterOS, and along the way provide a brief introduction to this software and some of the functionality it offers. While it is Linux-based, RouterOS operates quite a bit differently than a lot of the other network operating systems with which I’ve worked, and so I hope that this post will help ease the learning curve a bit for others who decide to take the same path.
First, let me provide a quick bit of background. I found myself in need of a switch that was both Layer 2/3 capable with both 10/100/1000Mbps ports as well as 10Gbps SFP+ ports. Of course, this was for my home lab, so budget is a concern. I cast out a quick call on Twitter, asking for some recommendations, and a few folks recommended I have a look at RouterBoard/Mikrotik; specifically, the CRS-24G-2S+IN (see here for more details). The specs looked good, the price was reasonable, and several folks expressed their satisfaction with the product, so I bought one.
Upon receiving it, I found myself trying to unravel RouterOS (their Linux-based operating system). Their wiki is fairly helpful, but Continue reading
I’ve been wrestling with an Ubuntu network configuration issue over the last couple of weeks (off and on between working on other projects), and today I finally found a fix for the problem. The issue was that Ubuntu wouldn’t pick up changes to network interfaces. The fix is so simple I’m almost embarrassed to talk about it (it seems like something that I should have known), but I’m posting it here in case others run into the same issue.
Here’s a bit more context: I was switching some of the network interfaces in my Ubuntu 14.04.2 servers from a “standard” network configuration to using VLAN interfaces (after all, it seemed like such a shame to not more fully utilize the 10GbE and 40GbE interfaces in these servers). Before the reconfiguration, the servers had a network interface configuration file (located in /etc/network/interfaces.d
and sourced in /etc/network/interfaces
) that looked something like this:
auto p55p1
iface p55p1 inet static
address 172.16.3.201
netmask 255.255.255.0
This interface was connected to a port on a Cumulus Linux-powered Dell S6000-ON that was configured as an access port on a particular VLAN. Everything seemed to work just Continue reading
Following up on my earlier post on Cumulus Linux networking concepts, I wanted to build on that information with a guide on configuring VLAN trunking. This would be useful in a number of different scenarios: supporting multiple (VLAN-backed) port groups on vSphere hosts, or connecting an Open vSwitch (OVS) bridge on a KVM or Xen hypervisor to multiple VLANs. You might also need to use a VLAN trunking configuration to connect a Cumulus Linux-powered switch to another switch.
For this configuration, I’m going to use the new VLAN-aware bridging functionality introduced in Cumulus Linux 2.5. There are two pieces involved in making this work:
Let’s look at each of these pieces individually.
In order to provide layer 2 (switched) connectivity between front-panel ports on a Cumulus Linux-powered switch, the ports have to be part of a bridge. In this case, we’ll create a VLAN-aware bridge, which simplifies the configuration (in my opinion). It’s a bit less “true” to the Linux way of doing things, but simpler.
Owing to its Debian roots, you’ll configure the bridge by either adding a stanza to /etc/network/interfaces
or Continue reading
At DockerCon 2015 in San Francisco, I had the opportunity to meet with a few vendors in the Docker ecosystem. Here are some notes from my vendor briefings.
StackEngine describes themselves as enterprise-grade container application management. They tout features like being able to compose Docker applications using a drag-and-drop interface, deploy containers across multiple hosts, and provide automation—all with the sort of controls that enterprise IT groups are seeking. That’s all well and good, but the key problem in my mind is that these are features Docker is seeking for themselves. Docker Compose offers the ability to specify applications. True, there’s no GUI (yet). Alas, StackEngine can translate their GUI application design into YAML, but it doesn’t comply with Docker Compose. Thus, it ends up being more competitive than complimentary, in my opinion. Docker Swarm and the upcoming Docker Network address some of StackEngine’s deployment functionality, and if Project Orca takes off as an official effort—well, let’s just say I hope that StackEngine has more planned. This is not to say that StackEngine isn’t a well-engineered solution offering real value; rather, this is to say that StackEngine appears to be, unfortunately, in the crosshairs for functionality Docker is aiming Continue reading
This is a liveblog for the DockerCon 2015 session titled “Scaling New Services: From Container Creation to Automated Deployments”. This session is being led by the Disney Systems Engineering team and will feature a discussion/demo involving Docker, Mesos, Chef, Consul, and HAProxy.
The session starts with an introduction by Alex Williams, founder of The New Stack, who quickly turns it over to the Disney staff—Brian Scott and Patrick O’Connor. Brian starts with an overview of all the various companies within Disney, and the challenges that breadth creates. He then discusses the role of Disney’s Systems Engineering team, and the responsibilities of the team. That includes managing infrastructure, both on-premises as well as cloud-based infrastructure.
So, why Docker? To improve the guest experience, Disney needs to be able to move fast. They want to get away from managing VMs and cattle to managing containers and micro-bots. Brian talks about issues with onboarding developers, battling configuration drifts, and similar challenges. Disney started on their Docker journey 6-10 months ago, and lots of teams are still exploring the use cases for Docker. Some teams are already using it in the CI pipeline, and other teams are evaluating production use cases. CI is a Continue reading
This is a liveblog from the day 2 general session at DockerCon 2015. I was running late from some early morning meetings (sorry folks), so I wasn’t able to catch the first part of the general session (about the first 15 minutes or so). Here’s what I was able to capture.
Chris Buckley, Director of DevOps at Business Insider, took the stage to provide an overview of how Business Insider (BI) started using Docker. Buckley provides some “lessons learned”:
This led BI to Fig (now Docker Compose), which led to a decrease in the time it took to get a development environment up and running. With the combination of Vagrant and Docker, BI was able to reduce that to just a couple of hours. When BI revisited production apps, they turned to use Upstart/SysV scripts for containers, but this wasn’t quite the right fit. BI turned back to Puppet, building a parameterized Puppet class to create containers, links, set environment options, and define dependencies on other containers/services starting first.
Before Docker, the workflow was developers to GitHub to Jenkins, which then pushed to Continue reading
This is a liveblog of the Docker Networking breakout session. This session is led by Madhu Venugopal and Jana Radhakrishnan, both formerly of Socketplane (and now with Docker following the acquisition). They are introduced by John Willis, also formerly of Socketplane and well-known within the DevOps community.
Some display issues plague the session at the beginning, so it appears that Murphy’s Law is back with a vengeance.
Madhu starts out the session with an overview of why networking (in particular Docker networking) is so important. Networking is vast and complex, and networking is an inherent part of distributed applications. Therefore, it’s important to make networking developer-friendly and application-driven. He shares a vision: “We’ll do for networking what Docker did for compute”. So what are the goals from this vision?
Libnetwork is a key part of this effort. It was open-sourced in April, with over 200 pull requests and 200 GitHub stars. Windows and FreeBSD ports are in progress. Libnetwork is part of the Docker 1.7 release with limited functionality, allowing users to test it before it is fully enabled in Continue reading