1 ## Integration Team Tools VM
3 This Vagrantfile provides VMs with many of the tools used by the OpenDaylight Integration Team pre-installed and configured. It's meant to serve as a known-working, reproducible, clearly defined environment for consuming them.
7 #### Installing Vagrant
9 If you don't have Vagrant installed, head over to the [Vagrant Downloads](https://www.vagrantup.com/downloads.html) page and grab the latest version for your OS. Fedora/RHEL/CentOS folks need the RPM package, Ubuntu/Debian folks need the DEB package. Note that Vagrant also supports Windows and OSX.
11 Assuming you're on Fedora/RHEL/CentOS, find the .rpm file you just downloaded and install it:
14 sudo rpm -i <name of rpm>
17 Vagrant uses various "providers" for virtualization support. By default, it uses VirtualBox. If you don't have VirtualBox installed, you'll see an error message when you try to `vagrant up` anything. Install VirtualBox (Fedora/RHEL/CentOS):
20 $ sudo yum install VirtualBox kmod-VirtualBox -y
23 You may need to restart your system, or at least `systemctl restart systemd-modules-load.service`. If you see Kernel-related errors, try that.
25 #### Installing Required Gems
27 We use Bundler to make gem management trivial.
34 Among other things, this will provide `librarian-puppet`, which is required for the next section.
36 #### Installing Required Puppet Modules
38 Once you've installed `librarian-puppet` through Bundler (as described above), you can use it to install our Puppet module dependences.
41 $ librarian-puppet install
43 archive java opendaylight stdlib
48 To configure the RAM and CPU resources to be used by the tools boxes, adjust the variables at the top of the Vagrantfile.
51 # Set memory value (MB) and number of CPU cores here
56 To configure the ODL install, adjust the params passed to the [OpenDaylight Puppet module](https://github.com/dfarrell07/puppet-opendaylight) in `manifests/odl_install.pp`.
58 By default, the newest ODL stable release will be installed via its RPM.
60 ### Common Vagrant commands
62 Since this Vagrantfile defines a multi-machine environment, it's mandatory to give the name of the box for most Vagrant command. For example, `vagrant up` should be `vagrant up <name of box>`.
64 #### Gathering information
66 Use `vagrant status` to see the supported boxes and their current status.
70 Current machine states:
72 fedora not created (virtualbox)
73 ubuntu not created (virtualbox)
81 $ vagrant up <name of box>
84 For example, to start the Fedora tools VM:
90 #### Connecting to boxes
92 To get a shell on a tools VM:
95 $ vagrant ssh <name of box>
98 For example, to connect to the Fedora tools VM:
102 [vagrant@tools-fedora ~]$
105 #### Cleaning up boxes
107 Suspending a tools VM will allow you to re-access it quickly.
110 $ vagrant suspend <name of box>
113 To totally remove a VM:
116 $ vagrant destroy -f <name of box>