Ansible Role
============
-
Ansible role for the `OpenDaylight SDN controller`_.
-Ansible Dependencies
---------------------
+Installing Ansible-OpenDaylight
+-------------------------------
+The Ansible Galaxy tool that ships with Ansible can be used to install
+ansible-opendaylight.
-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:
+To install the latest version of Ansible on Red Hat-based OSs:
::
$ sudo yum install -y ansible
-To install the latest version of ansible on Debian based OSs:
+To install the latest version of Ansible on Debian-based OSs:
::
$ sudo apt-get update
$ sudo apt-get install -y ansible
-Roles
-^^^^^
-After you install the **ansible-galaxy** tool, point it at the project's
-**requirements.yml** file to install ODL's role.
+
+After you install **ansible-galaxy**, install ansible-opendaylight:
::
- [~/ansible-opendaylight]$ ansible-galaxy install -r requirements.yml
+ $ ansible-galaxy install git+ssh://<LF ID>@git.opendaylight.org:29418/integration/packaging/ansible-opendaylight.git
The OpenDaylight Ansible role doesn't depend on any other Ansible roles.
REST API Port
^^^^^^^^^^^^^
-To change the port on which OpenDaylight's northbound listens for REST API
-calls, use the **odl_rest_port** variable.
-Example Use Case:
-In an Openstack deployment, the swift project is already using the port 818
-which is the default for OpenDaylight and would be in conflict. Use the
-**odl_rest_port** variable to change what OpenDaylight uses.
+To change OpenDaylight's northbound REST API port from the default of 8181, use
+the **odl_rest_port** variable.
+
+For example, in an Openstack deployment, the Swift project uses 8181 and
+conflicts with OpenDaylight.
The Ansible role will handle opening this port in FirewallD if it's active.
Install Method
^^^^^^^^^^^^^^
+OpenDaylight supports RPM and deb-based installs, either from a repository
+or directly from a URL to a package. Use the **instal_method** var to configure
+which deployment scenario is used.
-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**.
+Valid options:
+ rpm_repo: Install ODL using its Yum repo config
+ rpm_path: Install ODL RPM from a local path or remote URL
+ dep_repo: Install ODL using a Debian repository
+ deb_path: Install ODL .deb from a local path or remote URL
Installing OpenDaylight
-----------------------
-To install OpenDaylight on your system, you can make use of
-**ansible-playbook**.
-
-On RedHat based OSs, you can install OpenDaylight from the 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**.
+To install OpenDaylight via ansible-opendaylight, use **ansible-playbook**.
::
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**.
+Example playbooks are provided for various deployments.
-::
-
- 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.
+Example Playbooks
+-----------------
+The playbook below would install and configure OpenDaylight using all defaults.
::
License
-------
-The OpenDaylight Ansible role is Open Sourced under a BSD two-clause license.
-`Contributions encouraged!`_
+OpenDaylight is Open Source. 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.
+The `OpenDaylight Integration/Packaging project`_ maintains this role.
.. _OpenDaylight SDN controller: https://www.opendaylight.org/project/technical-overview
-.. __: https://galaxy.ansible.com/list#/roles/3948
-.. _Vagrant base box examples of Ansible ODL deployments: https://github.com/dfarrell07/vagrant-opendaylight#ansible-deployments
-.. _Contributions encouraged!: https://github.com/dfarrell07/ansible-opendaylight/blob/master/CONTRIBUTING.md
-.. _Daniel Farrell: https://wiki.opendaylight.org/view/User:Dfarrell07
.. _OpenDaylight Integration/Packaging project: https://wiki.opendaylight.org/view/Integration/Packaging
-.. _CONTRIBUTING.md: https://github.com/dfarrell07/ansible-opendaylight/blob/master/CONTRIBUTING.md
\ No newline at end of file
Configuration Management
========================
-The Packaging Layer of the packaging and delivery stack provided by upstream
-OpenDaylight installs OpenDaylight via the Packaging Layer and then
-does any additional configuration required by the particular deployment's
-requirements. Examples include setting Karaf features to install at boot,
-remapping OpenDaylight ports, opening OpenDaylight ports in firewalld and
-managing OpenDaylight's systemd service. As additional knobs are required to
-configure deployments, upstream support should be added here.
+The Configuration Management Layer of the packaging and delivery stack
+provided by upstream OpenDaylight installs OpenDaylight via the Packaging
+Layer and then does any additional configuration required by the particular
+deployment's requirements. Examples include setting Karaf features to install
+at boot, remapping OpenDaylight ports, opening OpenDaylight ports in firewalld
+and managing OpenDaylight's systemd service. As additional knobs are required
+to configure deployments, upstream support should be added here.
.. noqa
.. toctree::
:maxdepth: 4
- ansible-role
\ No newline at end of file
+ ansible-role