Xenial vagrant box is missing puppet/chef/juju config management

Bug #1599531 reported by Louis Zuckerman
36
This bug affects 4 people
Affects Status Importance Assigned to Milestone
cloud-images
Won't Fix
Undecided
Unassigned

Bug Description

The official Ubuntu Xenial (16.04) vagrant box is missing the config management packages that have been included in all previous releases. The missing config management packages are puppet, chef, and juju.

Should the vagrant boxes come with these packages preinstalled, as was the case in previous releases?

Or should the vagrant boxes be more like the rest of the official Ubuntu images, which do not include these packages?

Revision history for this message
Louis Zuckerman (semiosis) wrote :

As a workaround you can use a shell provisioner to install the config management packages you require. As an example, for puppet, add this line to your Vagrantfile before `config.vm.provision "puppet"`

    config.vm.provision "shell", inline: "apt-get install -y puppet"

summary: - Xenial vagrant box is missing puppet/chef/etc config management
+ Xenial vagrant box is missing puppet/chef/juju config management
Revision history for this message
Robie Basak (racb) wrote :
Revision history for this message
Evin Callahan (evin-callahan) wrote :

Bunch of good points in that discussion. My 2 cents- overall I think config management stuff shouldn't be in cloud images:

- Agree that the images should be consistent across providers, whether it be VirtualBox, AMI's, etc, as much as possible.
- I think it should be left up to users to install whatever config provider they want. By adding it to the image, you have a few effects that I think are detrimental:
   - Ubuntu devs need to waste time focusing on maintaining the up-to-date ness of those dependencies rather than focusing on the more important stuff.
   - Even if they did that perfectly, there's only a percentage of users who require that specific version / package, and still may need to ensure the right config tool is installed.
   - You set a precedent of Ubuntu's choice for config management, which I'm not sure you want to do, and if you don't want to add in that opinion, you need to add ALL config management packages out there, which leads to:
   - Image bloat.
- On these images, you largely need to do some initial bootstrapping anyway, why not just also ensure that you have the right config management for your use case as part of that?
- I think you can make a case to keeping Juju in given that it's something that Ubuntu is vested in, but can't comment heavily on strategic direction of Ubuntu and how they want things integrated.

Keep in mind I'm somewhat biased as I'm largely an ansible user, but can jump to chef or other config management tools as needed.

Revision history for this message
Stéphan Kochen (stephank) wrote :

I've been following the discussion about several Xenial Vagrantbox issues closely, because we're affected by them.

Vagrantboxes are frequently updated and take a notoriously large amount of time to download. If including config management tools doubles the size of the image, and it doesn't even include the config management tool *we* use (Ansible), then there's no benefit in our specific situation.

I agree that a major release is a good moment to introduce breaking changes, and I humbly believe having the cloud images and Vagrantbox align is a stronger point than what used to be in previous releases.

For reference, current VirtualBox Vagrantboxes from various vendors:

 - debian/jessie64 is 280mb (no tools)
 - ubuntu/trusty64 is 423mb (includes tools)
 - ubuntu/xenial64 is 279mb (no tools)
 - centos/7 is 483mb (no tools)
 - fedora/24-cloud-base is 210mb (no tools)

Revision history for this message
Luca Lesinigo (luca404) wrote :

I completely agree with Evin in #3, vagrant boxes should be targeted to be quick and easy development / testing boxes so they should be as lean as possible.

Adding tools should be done by provisioning scripts, or an organization could use packer to build boxes with the tools they want, or Ubuntu could do the same: build and publish basic boxes without tools, and then publish another set of boxes with the tools included.

Just as a small data point, I'll add that we use Puppet and so do many other small companies that I know. Neither us nor the companies we know use the Ubuntu-packaged puppet because it gets too old too quick, we all track stable releases using upstream repositories and there's also the problem that currently most puppet environments must choose between puppet3 and puppet4 due to some differences between the two. So we always use our little provisioning script to install the correct puppet version, and it's really a couple of bash lines so having it already included in the Vagrant box would provide really little value.

Revision history for this message
Chris Pick (cpick) wrote :

I agree with everyone so far:
 - Image size should be minimized
 - Everyone has slightly different config-management tooling needs
 - We should strive to keep the Vagrant images inline with other cloud-like images
As a result, I believe configuration management tools should not be installed in the image by default.

Revision history for this message
blackpingus (raffaele) wrote :

I always use a provision script to install extra packages, so there is no real value for me to have so many different configuration management tools already installed.
I really prefer smaller image, so the vagrant boxes should be more like the rest of the official Ubuntu images.

Revision history for this message
Poma (semenov-roman) wrote :

I provision my boxes with chef and Vagrant already has "vagrant-omnibus" plugin for that. I just add "config.omnibus.chef_version = :latest" or whatever specific version I want to use and Vagrant will install that for me. In my opinion this is better than having a preinstalled package. Probably other config managers have similar plugins too.

So in my opinion no preinstalled config management packages are needed.

Revision history for this message
Dan Watkins (oddbloke) wrote :

The consensus seems to be that bundling config management tools shouldn't be necessary, so I'm marking this as Won't Fix.

Changed in cloud-images:
status: New → Won't Fix
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.