Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Remove user-specific config from puppet #201

chooper opened this Issue · 10 comments

4 participants


We do some kind of bad puppet configuration to detect if the user we should configure is called "ubuntu" or if it's called "vagrant." I can only see this getting worse as we work to support more providers. After looking over the puppet config, the only reason we even care about the user is:

  • To download the docker binaries to ~/docker-master
  • To install a new ~/.profile, to include docker in the $PATH

We can avoid both of these by:

  • Installing the docker binaries elsewhere, such as /opt/docker
  • Set the $PATH in /etc/profile

Original text:

Currently we use a custom VirtualBox image that was prepared by a Docker contributor. This image is good, but now that we use multiple providers (VirtualBox, AWS, and Rackspace) then we should stick to standard images when we can.

Replace the custom VirtualBox image with a standard one and remove any puppet magic related to the custom container.

@chooper chooper was assigned

Waiting on #192 to be merged before I dig too heavily into the vagrant/puppet magic


Just wanted to let you know I tested choopers branch with standard AMI image and it works nicely.
For you to be sure I am using the latest: ws.ami = "ami-ae9806c7"


The "standard" Vagrant images I'm finding still use a "vagrant" user, when the rest of the providers' (AWS, Rackspace) images use an "ubuntu" user. This currently works, but it'd allow us to clean up some of our puppet magic if all of our images used the same user.


Just a FYI, the reason why I created the custom virtual box image is because in order to overcome a bug in the kernel, we need to install a newer kernel, which requires a restart of the vm, and some other hoops to jump through in order to make sure AUFS, vagrant and the new kernel work correctly. It wasn't possible to do all of this with puppet, and required the user to run a bunch of different vagrant commands in the right order to get it working. To make the setup process easier, we decided it was best to use the custom image.

Here are some of my notes from a while ago, but these were using an older version of the vagrant and puppet scripts then what we have today, so I don't know if it will work, but including them here for reference.

vagrant up
vagrant ssh
sudo reboot
sudo /etc/init.d/vboxadd setup
vagrant reload


There really isn't anything wrong with the image (I ran into these same issues you described when testing some of the more "official" images) but there's some messy puppet configuration to make supporting different usernames work reasonably well.

After looking over why we need this in the first place, I think we can continue using the same image provided that the user-specific stuff get moved out. I'm going to rename this issue in order to reflect this new scope.


I can update #184 to solve this issue if you don't have a problem with the approach. (I'll put the GOPATH in /opt/go or similar).


@titanous Sure, let's try that


@chooper #184 is all set now.


@titanous Thanks! I'm going to see if we can get it tested on Rackspace before merging


While we didn't remove the user-specific config, @titanous's work on puppet makes dealing with the different providers clean and easy enough to work with.

@chooper chooper closed this
@chooper chooper removed their assignment
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.