-
Notifications
You must be signed in to change notification settings - Fork 4.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use a custom Vagrant box for direct-lvm support #249
Use a custom Vagrant box for direct-lvm support #249
Conversation
fa85f8e
to
cacbe9e
Compare
Use a home-grown base box for development which brings improved performance, flexibility, and initial developer experience.
cacbe9e
to
bf1f587
Compare
@smarterclayton independent tests performed by @pweil- and @jcantrill to verify it can come up from scratch (tested on OSX and fc20). Advice on any other testing that could be done? |
I'll give it a try as well, thanks for doing this. |
@bparees would you also be willing to try this, perhaps w/ the e2e tests? |
LGTM, this improves the download speed for Vagrant image greatly and the Docker works noticeably faster. My build-images.sh is 3m41.854s. Great job! |
worked for me as well (no performance data points collected) |
LGTM and works for me. Thanks! |
Will merge on Monday if no one else hits issues
|
LGTM [merge] |
Origin Merge Results: SUCCESS (https://ci.openshift.redhat.com/jenkins/job/merge_pull_requests_openshift3/254/) (Image: devenv-fedora_279) |
Evaluated for origin up to bf1f587 |
Merged by openshift-bot
Merged by openshift-bot
SDN setup check fix and V(5) logging
This change is to improve the single-VM developer experience. Currently, the changes are only for the VirtualBox provider. A new base box hosted on mirrors.openshift.com is used.
Changes between the old and new base box:
Developer experience improvements:
Time from zero to hacking improved (tested on a 2.5ghz i5 w/ 8GB RAM and SSD, assuming the box files are already downloaded and the VMs don't yet exist):
Docker is pre-configured to use direct-lvm and xfs for storage, improving performance by eliminating filesystem and network overhead caused by the direct-loop approach (resulting in reduced IO waits).
Separate logical volume enables further experimentation with other storage approaches (e.g. btrfs) - just replace the volumes in the docker storage group while the VM is online and reconfigure docker (this could be incorporated into provisioner options).
GOPATH is pre-created with /home/vagrant/go/{bin,src,pkg} which solves the Vagrant mount/provisioner chicken-and-egg problem when mounting a host GOPATH/src into the guest (previously, GOPATH was root-owned, preventing standard go usage within the VM).