Neon SR2 rpm links
[integration/packaging/ansible-opendaylight.git] / README.markdown
index 0d404e1719a58a37143f4b6fdb1f4e0a4c473d9f..3676f7cb5dcb53f6253c4464161171bf21e2c656 100644 (file)
@@ -1,28 +1,93 @@
+[![CI Status][7]][6]
+
 # OpenDaylight Ansible Role
 
-Ansible role for the [OpenDaylight SDN controller](http://www.opendaylight.org/project/technical-overview).
+Ansible role for the [OpenDaylight SDN controller][1].
+
+#### Ansible Dependencies: `ansible-galaxy`
+
+Releases of this role can also be installed available via [Ansible Galaxy][5]
+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
 
-**This project is new and under construction. See our [issue tracker](https://github.com/dfarrell07/ansible-opendaylight/issues) for details.**
+After you install the `ansible-galaxy` tool, point it at the project's
+`requirements.yml` file to install ODL's role.
 
-## Requirements
+```
+[~/ansible-opendaylight]$ ansible-galaxy install -r requirements.yml
+```
 
-The OpenDaylight Ansible role handles the installation and configuration of all of its dependences.
+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` param. The extra features you pass will typically be driven by the requirements of your ODL install. You'll almost certainly need to pass some.
+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 Puppet mod defaults to installing them. This can be customized by overriding the `default_features` param. You shouldn't normally need to do so.
+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.
 
-## Dependencies
+### REST API Port
 
-The OpenDaylight Ansible role doesn't depend on any other Ansible roles.
+To change the port on which OpenDaylight's northbound listens for REST API
+calls, use the `nb_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 `odl_install_method` are `rpm_repo` or `rpm_path`.
+For Debian based OSs, `odl_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`.
+
+```Shellsession
+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`.
+
+```Shellsession
+sudo ansible-playbook -i "localhost," -c local examples/<playbook>
+```
+
+You can also use ansible-opendaylight using [Vagrant base box examples of Ansible ODL deployments][8].
 
 ## Example Playbook
 
-The simple example playbook below would install and configure OpenDaylight using this role.
+The simple example playbook below would install and configure OpenDaylight
+using this role.
 
 ```yaml
 ---
@@ -32,12 +97,50 @@ The simple example playbook below would install and configure OpenDaylight using
     - opendaylight
 ```
 
+To override default settings, pass variables to the `opendaylight` role.
+
+```yaml
+---
+- 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!
+The OpenDaylight Ansible role is Open Sourced under a BSD two-clause license.
+
+[Contributions encouraged][4]!
 
 ## Author Information
 
-[Daniel Farrell](https://twitter.com/dfarrell07) of the [OpenDaylight Integration Team](https://wiki.opendaylight.org/view/CrossProject:Integration_Group) is the main developer of this module.
+[Daniel Farrell][2] of the [OpenDaylight Integration/Packaging project][3] is
+the main developer of this role.
+
+See [CONTRIBUTING.md][4] for details about how to contribute to the
+OpenDaylight Ansible role.
+
+[1]: http://www.opendaylight.org/project/technical-overview "OpenDaylight main technical overview"
+
+[2]: https://wiki.opendaylight.org/view/User:Dfarrell07 "Maintainer information"
+
+[3]: https://wiki.opendaylight.org/view/Integration/Packaging "OpenDaylight Integration/Packaging project wiki"
+
+[4]: https://github.com/dfarrell07/ansible-opendaylight/blob/master/CONTRIBUTING.md "OpenDaylight Ansible role contributing docs"
+
+[5]: https://galaxy.ansible.com/list#/roles/3948 "OpenDaylight Ansible role on Ansible Galaxy"
+
+[6]: https://travis-ci.org/dfarrell07/ansible-opendaylight "OpenDaylight Ansible role Travis CI"
+
+[7]: https://travis-ci.org/dfarrell07/ansible-opendaylight.svg "Travis CI status image"
 
-Please raise [issues](https://github.com/dfarrell07/ansible-opendaylight/issues) to ask questions, request features, report bugs or otherwise contribute. Please avoid 1-1 communication, as Open Source projects benefit from public, documented communication.
+[8]: https://github.com/dfarrell07/vagrant-opendaylight#ansible-deployments "Ansible Vagrant deployment"