vagrant-opendaylight
vagrant-opendaylight copied to clipboard
Vagrant environment with support for many different types of OpenDaylight deployments.
vagrant-opendaylight
An OpenDaylight deployment sandbox.
Vagrant environment with support for many different types of OpenDaylight deployments.
Table of Contents
- Overview
- Available Boxes
- General Dependencies: Vagrant
- Ansible Deployments
- Ansible Dependencies: Roles
- Ansible Dependencies:
ansible-galaxy
- Puppet Deployments
- Puppet Dependencies: Gems
- Puppet Dependencies: Modules
- Standalone RPM Deployments
- Contributing
Overview
This project supports provisioning Vagrant hosts using many combinations of host OSs (CentOS 7, Fedora 21) and OpenDaylight deployment options (RPM directly, Puppet mod, Ansible role, etc).
Goals of the project include:
- Serve as working example documentation for deploying OpenDaylight.
- Give developers quick, easy access to different types of OpenDaylight deployments for debugging.
- Provide a simple, reliable way to get some hands-on time with ODL.
Available Boxes
[~/vagrant-opendaylight]$ vagrant status
Current machine states:
cent7 not created (libvirt)
cent7_rpm_he_sr4 not created (libvirt)
cent7_rpm_li_sr2 not created (libvirt)
cent7_rpm_be not created (libvirt)
cent7_ansible not created (libvirt)
cent7_pup_rpm not created (libvirt)
cent7_pup_tb not created (libvirt)
f22_rpm_li not created (libvirt)
f22_pup_rpm not created (libvirt)
f23_rpm_li not created (libvirt)
f23_rpm_li_sr1 not created (libvirt)
f23_rpm_li_sr2 not created (libvirt)
f23_rpm_li_sr3 not created (libvirt)
f23_rpm_be not created (libvirt)
f23_ansible not created (libvirt)
f23_pup_rpm not created (libvirt)
General Dependencies: Vagrant
If you don't have Vagrant installed, head over to the Vagrant Downloads 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.
Assuming you're on Fedora/RHEL/CentOS, find the .rpm file you just downloaded and install it:
sudo rpm -i <name of rpm>
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):
sudo yum install -y VirtualBox kmod-VirtualBox
You may need to restart your system, or at least systemctl restart systemd-modules-load.service. If you see Kernel-related errors, try that.
Ansible Deployments
Deploying OpenDaylight using its Ansible role.
Ansible Dependencies: ansible-galaxy
The recommended way to install OpenDaylight's Ansible role, for use by
Vagrant's Ansible provisioner, is via the ansible-galaxy tool. It
ships with Ansible, so you may already have it installed.
sudo yum install -y ansible
Ansible Dependencies: Roles
After you install the ansible-galaxy tool, point it at the project's
requirements.yml file to install ODL's role.
[~/vagrant-opendaylight]$ ansible-galaxy install -r requirements.yml -p provisioning/roles/
To update the Ansible role to the latest from the project's master branch,
add a --force flag.
[~/vagrant-opendaylight]$ ansible-galaxy install -r requirements.yml -p provisioning/roles/ --force
Puppet Deployments
Deploying OpenDaylight using its Puppet module.
Puppet Dependencies: Gems
Deploying OpenDaylight using Puppet as a Vagrant provisioner requires
the puppet and librarian-puppet gems. We use Bundler to make gem
management trivial.
[~/vagrant-opendaylight]$ sudo dnf install -y rubygems
[~/vagrant-opendaylight]$ gem install bundler
[~/vagrant-opendaylight]$ bundle install
Puppet Dependencies: Modules
In order to use the ODL Puppet mod as a Vagrant provisioner, you'll of course
need to install it. The librarian-puppet gem (install docs above) can make
use of our Puppetfile and the dependency declarations of the ODL Puppet mod
to trivially install everything we need.
[~/vagrant-opendaylight]$ librarian-puppet install
[~/vagrant-opendaylight]$ ls modules
archive java opendaylight stdlib
librarian-puppet can also handle Puppet module updates.
[~/vagrant-opendaylight]$ librarian-puppet update
Standalone RPM Deployments
Deploying OpenDaylight using its RPM directly, without additional configuration from a config management tool.
Standalone RPM deployments don't require any dependencies.
Contributing
We work to make contributing easy. Please let us know if you spot something we can do better.
See our CONTRIBUTING.markdown file for information.