Archive

Category Archives for "blog.scottlowe.org"

Using Docker Machine with OpenStack

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:

  • The client system was running OS X 10.9.5 with the Docker 1.8.2 client binary and Docker Machine 0.4.1.
  • The OpenStack cloud was running the Juno release on Ubuntu 14.04 LTS, KVM hypervisors, and VMware NSX for networking.

There are (at least) two approaches to using Docker Machine and OpenStack together:

  1. You can use Docker Machine’s 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.
  2. You can use Docker Machine’s openstack driver to automatically provision and configure new instances on an OpenStack cloud. This is the Continue reading

Technology Short Take #54

Welcome 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.

Networking

  • Not sure if this link belongs in Networking or in Virtualization, but we’ll stick it here since it talks about VMware NSX. Here’s a three-part series on running VMware NSX on vSphere on AWS via Ravello Systems (part 1, part 2, and part 3). This is a great way to get your feet wet with NSX without having to invest in a home lab.
  • This is a bit of an older post, but I really appreciated Bob McCouch’s post on building tools versus “programming.” I think Bob really hit the nail on the head when he said that the real goal is working efficiently with high quality and low error rates. If this means you need to learn to write a script, then so be it. If it means it needs to be manual, then so be it (but please, please, do take the time to document it!).
  • Dan Conde of ESG has a write-up on the role of NSX in Continue reading

Spousetivities at VMworld EMEA

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.

  • Montserrat and Wine Country: The famous Monastery of Montserrat, one of the black Madonnas of Europe, Santa Cova, a fantastic lunch of local Catalan country cuisine, and wine tasting. What more could one want?
  • Costa Brava and Medieval Girona: It’s not every day you get the opportunity to tour a medieval walled city founded by the Romans in the 1st century.
  • Wines of Catalunya: Personal tours with local, resident wine makers arranged exclusively for Spousetivities participants.
  • Medieval mountain village and panoramic trails: Cobblestone streets and stone houses in a medieval mountain village, then a four-course lunch in a traditional Catalan country restaurant followed by a light hike to some great look-outs, streams, rivers, and waterfalls.

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!

Checking Out GitHub Pull Requests Locally

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:

  • The 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 reading

VMworld 2015 Day 2 Keynote Liveblog

The 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

title

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

Technology Short Take #53

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!

Networking

  • Anthony Spiteri, who works at an Australian service provider running NSX, has some in-depth articles discussing vShield Edge and NSX Edge (part 1, part 2, part 3, and part 4). Anthony discusses features supported by both, how they handle high availability, how VPN services work, and how to handle certificates. It looks like very useful information for anyone supporting NSX in their environment.
  • Here’s a nice article on using Ansible with Arista EOS. This isn’t something I’ve had the chance to do just yet (currently needing to focus my efforts on Ansible with Linux/Cumulus Linux), but it certainly seems relatively straightforward. Without having done this myself, it seems like I’d prefer to run 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.
  • I think I’ve mentioned this before (it’s really hard to Continue reading

Spousetivities at VMworld 2015

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:

  • The week will start out with the ever-popular “Getting to Know You” breakfast, held again this year at Jillian’s (right next door to Moscone North). Meet some new folks, eat some great food, and win some great prizes. (Low-fat and gluten-free breakfast options will be available.)
  • Following the breakfast is a cooking class at Sur La Table
  • Not interested in a cooking class? No worries—Monday afternoon also offers a walking city tour that includes an exclusive opportunity to shop at the San Francisco Jewelry Mart and Gift Exchange (not open for regular retail customers!) as well as a stop at the Ferry Building.
  • On Tuesday will the first of two wine Continue reading

VMworld 2015 Prayer Time

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

Using Vagrant and Docker Machine Together

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:

  • Vagrant has a Docker provisioner, but I could only get it to install the latest released version of Docker. In my case, I needed to run a test version (specifically, the RC2 build of Docker 1.8.0).
  • Docker Machine has various back-end drivers that can create VMs into which Docker is provisioned, but the VMware Fusion driver for Machine only works with Boot2Docker. In my case, I needed to run Ubuntu 14.04 in the VMs.

As it turns Continue reading

Technology Short Take #52

Welcome to Technology Short Take #52, the latest collection of news, links, and articles from around the web on data center technologies.

Networking

  • Want to know a bit more about how OVN (Open Virtual Network) plans to integrate support for containers? See this. You might also find it useful to review this OVN presentation from the recent OpenStack Summit in Vancouver. A video recording of the presentation is also available on YouTube.
  • QualiSystems has a series of articles on open networking standards. A couple of the articles really jumped out at me—part 2 covers Open vSwitch, part 3 discusses OpenStack, part 4 discusses OpenFlow, and part 6 talks about OVSDB. There are also posts on OpenDaylight and OpFlex as well.
  • P4 is getting all the attention in the SDN world these days. What is P4? Craig Matsumoto has an overview at SDx Central; the “TL;DR” is that P4 is a high-level language aimed at describing how data plane devices process packets. If you want even more detail, then head over to the P4.org site for more information.
  • Jason Edelman, whose focus has been on network automation, recently posted an article on programming an ACI (Application Centric Infrastructure) Continue reading

VLAN Trunking with Mikrotik RouterOS

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.

Background

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

A Fix for Ubuntu Apparently Caching Network Configuration

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

VLAN Trunking with Cumulus Linux

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:

  1. The configuration for VLAN-aware bridge itself
  2. The configuration for the individual port(s)

Let’s look at each of these pieces individually.

The VLAN-Aware Bridge

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

DockerCon Vendor Briefings

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

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

Liveblog: Scaling New Services

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

Liveblog: DockerCon 2015 Day 2 General Session

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”:

  1. Building for production first was grandiose was misguided.
  2. Porting it back to development wasn’t the right approach.

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

Liveblog: Docker Networking

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?

  • Make “network” and “service” top-level objects
  • Provide a pluggable networking stack
  • Span networks across multiple hosts
  • Support multiple platforms

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

Liveblog: Secret Session (Docker Plugins)

This is the “Top Secret Docker Session led by Gordon the Turtle,” which is really a session on Docker Plugins. However, since Docker Plugins were only announced this morning during the general session, the title for this session had to be obscured. On stage are ClusterHQ (Luke Marsden), Glider Labs (Jeff Lindsay), and Weaveworks (Alexis Richardson).

Marsden starts the session with a brief history of the Docker Plugins project, and how it grew out of Powerstrip. Marsden reiterates that he said Powerstrip would be successful if they would “throw it away” in 6 months. Four months later, the Docker Plugins project is now officially announced, and Powerstrip is no longer necessary.

Marsden next turns the stage over to Jeff Lindsay. Lindsay talks about why the Docker Plugins project is so important—every customer is unique, and customers want/need the freedom to choose the right solution to use the tools that best solve their particular problem(s).

Jeff Lindsay turns it over to Alexis Richardson, who outlines the core requirements for Docker Plugins. Richardson outlines 3 requirements, but he doesn’t have a slide that lists those requirements, so I couldn’t capture them. Plugins today are limited to storage and networking, but that isn’t Continue reading

Liveblog: Resilient Routing and Discovery

This is a liveblog of the DockerCon 2015 session on resilient routing and discovery, part of the “Advanced Tech” track. Simon Eskilden (@Sirupsen on Twitter) from Shopify is the speaker for this session.

Not surprisingly (you’d understand this if you walked Eskilden’s presentation from DockerCon EU 2015), he starts out with a mention of the walrus (his favorite animal). Eskilden starts with a brief overview of Shopify (his employer) and Shopify’s production deployment of Docker (they’ve had Docker in production for over a year). Eskilden freely acknowledges that moving to a microservices-based architecture increases complexity and is not “free”. In order to help address the complexity brought on by microservices-based architectures, Eskilden wants to talk about resiliency, service discovery, and routing.

Eskilden reinforces that companies shouldn’t be implementing Docker solely for the sake of implementing Docker; it should be for a reason, a purpose (for him, it’s making sure Shopify’s services stay up and available). Resiliency is about building a reliable system from a bunch of unreliable components. Total availability is the availability per service to the power of the number of services. This means that the more services there are, the lower the total availability is. (To help Continue reading

1 27 28 29 30 31 34