Vagrant box packer for building boxes for dcos-vagrant
Vagrant box builder for use by tools such as miniDC/OS. It makes use of Packer to automate the build process.
The box produced by this builder does not include DC/OS, just its dependencies.
Pre-provisioning this box front-loads internet access requirements, flakiness, and slowness resulting from third party package managemers and installers. This makes DC/OS installation faster and more reliable at the cost of potentially having slightly outdated dependencies.
/etc/vagrant_box_build_time
)The DC/OS Vagrant Box is normally built in CI, on demand, but can be built manually as well.
Note that because the build process uses internet repositories with unversioned requirements, it's not exactly reproducible. Each built box may be slightly different than the last, but installations using the same box should be exactly the same.
Note that because the build process uses internet repositories with unversioned requirements, it's not exactly reproducible. Each built box may be slightly different than the last, but installations using the same box should be exactly the same.
Use the following commands to build a dcos-centos-virtualbox box:
cd <dcos-vagrant-box>
packer build -except=vmware-iso packer-template.json
New boxes can be tested with either the Vagrantfile in this repo or (preferably) with miniDC/OS.
The VBGuest Plugin manages automatically installing VirtualBox Guest Additions appropriate to your local Vagrant version on each new VirtualBox VM as it is created.
vagrant plugin install vagrant-vbguest
This allows the pre-built vagrant box image to work on multiple (and future) versions of VirtualBox.
To test a new local box (e.g. after ci/build_release.sh
), add the box to vagrant and set the DCOS_BOX_VERSION
environment variable:
cd <dcos-vagrant-box>
vagrant box add mesosphere/dcos-centos-virtualbox dcos-centos-virtualbox-iso.box
export DCOS_BOX_VERSION=0
vagrant up
Or with dcos-vagrant:
cd <dcos-vagrant>
vagrant box add mesosphere/dcos-centos-virtualbox dcos-centos-virtualbox-iso.box
export DCOS_BOX_VERSION=0
vagrant up [vms...]
To revert back to the remote Vagrant Box Catalog:
unset DCOS_BOX_VERSION
vagrant box remove mesosphere/dcos-centos-virtualbox --box-version=0
To test a local Vagrant Box Catalog (e.g. after ci/update_catalog.sh
), set the DCOS_BOX_URL
environment variable:
cd <dcos-vagrant-box>
export DCOS_BOX_URL=file://~/workspace/dcos-vagrant-box/metadata.json
vagrant up
Or with dcos-vagrant:
cd <dcos-vagrant>
export DCOS_BOX_URL=file://~/workspace/dcos-vagrant-box/metadata.json
vagrant up [vms...]
To revert back to the remote Vagrant Box Catalog:
unset DCOS_BOX_URL
echo -n "https://downloads.dcos.io/dcos-vagrant/metadata.json" > ~/.vagrant.d/boxes/mesosphere-VAGRANTSLASH-dcos-centos-virtualbox/metadata_url
Copyright 2019 Mesosphere, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this repository except in compliance with the License.
The contents of this repository are solely licensed under the terms described in the LICENSE file included in this repository.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.