GithubHelp home page GithubHelp logo

akshitajha / ansible-opendaylight Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dfarrell07/ansible-opendaylight

0.0 1.0 0.0 82 KB

Ansible role for the OpenDaylight SDN controller

License: BSD 2-Clause "Simplified" License

ansible-opendaylight's Introduction

CI Status

OpenDaylight Ansible Role

Ansible role for the OpenDaylight SDN controller.

Ansible Dependencies: ansible-galaxy

Releases of this role can also be installed available via Ansible Galaxy which ships with Ansible.

To install the latest version of ansible on RedHat based OSs:

$ sudo yum install -y ansible

To install the latest version of ansible on Debian based OSs:

$ sudo apt-add-repository ppa:ansible/ansible
$ sudo apt-get update
$ sudo apt-get 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.

[~/ansible-opendaylight]$ ansible-galaxy install -r requirements.yml

The OpenDaylight Ansible role doesn't depend on any other Ansible roles.

Role Variables

Karaf Features

To set extra Karaf features to be installed at OpenDaylight start time, pass them in a list to the extra_features variable. The extra features you pass will typically be driven by the requirements of your ODL install. You'll almost certainly need to pass some.

OpenDaylight normally installs a default set of Karaf features at boot. They are recommended, so the ODL Ansible role defaults to installing them. This can be customized by overriding the default_features variable. You shouldn't normally need to do so.

REST API Port

To change the port on which OpenDaylight's northbound listens for REST API calls, use the odl_rest_port variable. This was added because OpenStack's Swift project uses a conflicting port.

The Ansible role will handle opening this port in FirewallD if it's active.

Install Method

OpenDaylight can be installed either via an RPM or a .deb depending on the operating system. For RedHat based OSs, the valid options for install_method are rpm_repo or rpm_path. For Debian based OSs, install_method can accept either deb_repo or deb_path.

Installing OpenDaylight

To install OpenDaylight on your system, you can make use of ansible-playbook.

On RedHat based OSs, you can install OpenDaylight from RPM repo (recommended) using the playbook examples/all_defaults_playbook.yml or from a local/remote path to an ODL rpm via examples/rpm_path_install_playbook.yml.

sudo ansible-playbook -i "localhost," -c local examples/<playbook>

On a Debian based OS, you can install OpenDaylight either from a Debian repo using the playbook examples/deb_repo_install_playbook.yml or from a local/remote Deb path using examples/deb_path_install_playbook.yml.

sudo ansible-playbook -i "localhost," -c local examples/<playbook>

You can also use ansible-opendaylight using Vagrant base box examples of Ansible ODL deployments.

Example Playbook

The simple example playbook below would install and configure OpenDaylight using this role.

---
- hosts: example_host
  sudo: yes
  roles:
    - opendaylight

To override default settings, pass variables to the opendaylight role.

---
- hosts: all
  sudo: yes
  roles:
    - role: opendaylight
      extra_features: ['odl-netvirt-openstack']

Results in:

opendaylight-user@root>feature:list | grep odl-netvirt-openstack
odl-netvirt-openstack | <odl-release> | x | odl-netvirt-<odl-release> | OpenDaylight :: NetVirt :: OpenStack

License

The OpenDaylight Ansible role is Open Sourced under a BSD two-clause license.

Contributions encouraged!

Author Information

Daniel Farrell of the OpenDaylight Integration/Packaging project is the main developer of this role.

See CONTRIBUTING.md for details about how to contribute to the OpenDaylight Ansible role.

ansible-opendaylight's People

Contributors

akshitajha avatar dfarrell07 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.