---
layout: default
navsection: installguide
title: Arvados in a VM with Vagrant
...
{% comment %}
Copyright (C) The Arvados Authors. All rights reserved.
SPDX-License-Identifier: CC-BY-SA-3.0
{% endcomment %}
# "Vagrant":#vagrant
# "Final steps":#final_steps
## "DNS configuration":#dns_configuration
## "Install root certificate":#ca_root_certificate
# "Initial user and login":#initial_user
# "Test the installed cluster running a simple workflow":#test_install
h2(#vagrant). Vagrant
{% include 'branchname' %}
This is a package-based installation method. Start by cloning the @{{ branchname }}@ branch from "https://git.arvados.org/arvados.git":https://git.arvados.org/arvados.git . The Salt scripts are available in the @tools/salt-install@ directory.
A @Vagrantfile@ is provided to install Arvados in a virtual machine on your computer using "Vagrant":https://www.vagrantup.com/.
To get it running, install Vagrant in your computer, edit the variables at the top of the @provision.sh@ script as needed, and run
vagrant up
If you want to reconfigure the running box, you can just:
1. edit the pillars to suit your needs
2. run
vagrant reload --provision
h2(#final_steps). Final configuration steps
h3(#dns_configuration). DNS configuration
After the setup is done, you need to set up your DNS to be able to access the cluster.
The simplest way to do this is to edit your @/etc/hosts@ file (as root):
export CLUSTER="arva2"
export DOMAIN="arv.local"
export HOST_IP="127.0.0.2" # This is valid either if installing in your computer directly
# or in a Vagrant VM. If you're installing it on a remote host
# just change the IP to match that of the host.
echo "${HOST_IP} api keep keep0 collections download ws workbench workbench2 ${CLUSTER}.${DOMAIN} api.${CLUSTER}.${DOMAIN} keep.${CLUSTER}.${DOMAIN} keep0.${CLUSTER}.${DOMAIN} collections.${CLUSTER}.${DOMAIN} download.${CLUSTER}.${DOMAIN} ws.${CLUSTER}.${DOMAIN} workbench.${CLUSTER}.${DOMAIN} workbench2.${CLUSTER}.${DOMAIN}" >> /etc/hosts
h3(#ca_root_certificate). Install root certificate
Arvados uses SSL to encrypt communications. Its UI uses AJAX which will silently fail if the certificate is not valid or signed by an unknown Certification Authority.
For this reason, the @arvados-formula@ has a helper state to create a root certificate to authorize Arvados services. The @provision.sh@ script will leave a copy of the generated CA's certificate (@arvados-snakeoil-ca.pem@) in the script's directory so you can add it to your workstation.
Installing the root certificate into your web browser will prevent security errors when accessing Arvados services with your web browser.
# Go to the certificate manager in your browser.
#* In Chrome, this can be found under "Settings → Advanced → Manage Certificates" or by entering @chrome://settings/certificates@ in the URL bar.
#* In Firefox, this can be found under "Preferences → Privacy & Security" or entering @about:preferences#privacy@ in the URL bar and then choosing "View Certificates...".
# Select the "Authorities" tab, then press the "Import" button. Choose @arvados-snakeoil-ca.pem@
The certificate will be added under the "Arvados Formula".
To access your Arvados instance using command line clients (such as arv-get and arv-put) without security errors, install the certificate into the OS certificate storage.
* On Debian/Ubuntu:
cp arvados-root-cert.pem /usr/local/share/ca-certificates/
/usr/sbin/update-ca-certificates
* On CentOS:
cp arvados-root-cert.pem /etc/pki/ca-trust/source/anchors/
/usr/bin/update-ca-trust
h2(#initial_user). Initial user and login
At this point you should be able to log into the Arvados cluster.
If you didn't change the defaults, the initial URL will be:
* https://workbench.arva2.arv.local:8443
or, in general, the url format will be:
* https://workbench.@.:8443@
By default, the provision script creates an initial user for testing purposes. This user is configured as administrator of the newly created cluster.
Assuming you didn't change the defaults, the initial credentials are:
* User: 'admin'
* Password: 'password'
* Email: 'admin@arva2.arv.local'
h2(#test_install). Test the installed cluster running a simple workflow
As documented in the Single Host installation page, You can run a test workflow to verify the installation finished correctly. To do so, you can follow these steps:
vagrant ssh
and once in the instance:
cd /tmp/cluster_tests
./run-test.sh