GithubHelp home page GithubHelp logo

akshitajha / vagrant-opendaylight Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dfarrell07/vagrant-opendaylight

0.0 1.0 0.0 89 KB

Vagrant environment with support for many different types of OpenDaylight deployments.

License: BSD 2-Clause "Simplified" License

Ruby 14.18% Puppet 15.76% Shell 70.06%

vagrant-opendaylight's Introduction

Project Chatroom

vagrant-opendaylight

An OpenDaylight deployment sandbox.

Vagrant environment with support for many different types of OpenDaylight deployments.

Table of Contents

  1. Overview
  2. General Dependencies: Vagrant
  3. Ansible Deployments
  4. Puppet Deployments
  5. Standalone RPM Deployments
  6. 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.

vagrant-opendaylight's People

Contributors

akshitajha avatar dfarrell07 avatar gitter-badger avatar rski avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.