3 # OpenDaylight Ansible Role
5 Ansible role for the [OpenDaylight SDN controller][1].
7 #### Ansible Dependencies: `ansible-galaxy`
9 Releases of this role can also be installed available via [Ansible Galaxy][5]
10 which ships with Ansible.
12 To install the latest version of ansible on RedHat based OSs:
15 $ sudo yum install -y ansible
18 To install the latest version of ansible on Debian based OSs:
21 $ sudo apt-add-repository ppa:ansible/ansible
23 $ sudo apt-get install -y ansible
26 #### Ansible Dependencies: Roles
28 After you install the `ansible-galaxy` tool, point it at the project's
29 `requirements.yml` file to install ODL's role.
32 [~/ansible-opendaylight]$ ansible-galaxy install -r requirements.yml
35 The OpenDaylight Ansible role doesn't depend on any other Ansible roles.
41 To set extra Karaf features to be installed at OpenDaylight start time,
42 pass them in a list to the `extra_features` variable. The extra features
43 you pass will typically be driven by the requirements of your ODL install.
44 You'll almost certainly need to pass some.
46 OpenDaylight normally installs a default set of Karaf features at boot.
47 They are recommended, so the ODL Ansible role defaults to installing them.
48 This can be customized by overriding the `default_features` variable. You
49 shouldn't normally need to do so.
53 To change the port on which OpenDaylight's northbound listens for REST API
54 calls, use the `nb_rest_port` variable. This was added because OpenStack's
55 Swift project uses a conflicting port.
57 The Ansible role will handle opening this port in FirewallD if it's active.
61 OpenDaylight can be installed either via an RPM or a .deb depending on the operating system.
62 For RedHat based OSs, the valid options for `install_method` are `rpm_repo` or `rpm_path`.
63 For Debian based OSs, `install_method` can accept either `deb_repo` or `deb_path`.
65 ## Installing OpenDaylight
67 To install OpenDaylight on your system, you can make use of `ansible-playbook`.
69 On RedHat based OSs, you can install OpenDaylight from RPM repo (recommended) using
70 the playbook `examples/all_defaults_playbook.yml` or from a local/remote path to an ODL rpm via
71 `examples/rpm_path_install_playbook.yml`.
74 sudo ansible-playbook -i "localhost," -c local examples/<playbook>
77 On a Debian based OS, you can install OpenDaylight either from a Debian repo using the
78 playbook `examples/deb_repo_install_playbook.yml` or from a local/remote Deb path using
79 `examples/deb_path_install_playbook.yml`.
82 sudo ansible-playbook -i "localhost," -c local examples/<playbook>
85 You can also use ansible-opendaylight using [Vagrant base box examples of Ansible ODL deployments][8].
89 The simple example playbook below would install and configure OpenDaylight
100 To override default settings, pass variables to the `opendaylight` role.
108 extra_features: ['odl-netvirt-openstack']
114 opendaylight-user@root>feature:list | grep odl-netvirt-openstack
115 odl-netvirt-openstack | <odl-release> | x | odl-netvirt-<odl-release> | OpenDaylight :: NetVirt :: OpenStack
120 The OpenDaylight Ansible role is Open Sourced under a BSD two-clause license.
122 [Contributions encouraged][4]!
124 ## Author Information
126 [Daniel Farrell][2] of the [OpenDaylight Integration/Packaging project][3] is
127 the main developer of this role.
129 See [CONTRIBUTING.md][4] for details about how to contribute to the
130 OpenDaylight Ansible role.
132 [1]: http://www.opendaylight.org/project/technical-overview "OpenDaylight main technical overview"
134 [2]: https://wiki.opendaylight.org/view/User:Dfarrell07 "Maintainer information"
136 [3]: https://wiki.opendaylight.org/view/Integration/Packaging "OpenDaylight Integration/Packaging project wiki"
138 [4]: https://github.com/dfarrell07/ansible-opendaylight/blob/master/CONTRIBUTING.md "OpenDaylight Ansible role contributing docs"
140 [5]: https://galaxy.ansible.com/list#/roles/3948 "OpenDaylight Ansible role on Ansible Galaxy"
142 [6]: https://travis-ci.org/dfarrell07/ansible-opendaylight "OpenDaylight Ansible role Travis CI"
144 [7]: https://travis-ci.org/dfarrell07/ansible-opendaylight.svg "Travis CI status image"
146 [8]: https://github.com/dfarrell07/vagrant-opendaylight#ansible-deployments "Ansible Vagrant deployment"