/
main.yml
executable file
·150 lines (123 loc) · 6.31 KB
/
main.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
---
# Default variables for the OpenDaylight role. Override as needed.
# The point of defining default_* and extra_* lists (like default_features
# and extra_features), instead of using one common list (like a features
# list, with the two aggregated) is to simplify the user experience.
# From a playbook using this role, overriding an empty extra_* list and
# ignoring the boring default_* counterpart is easier than appending
# to a common list or enumerating both the ODL-required defaults and the
# extras you actually care about.
# The set of Karaf features installed by default in ODL's release artifact.
# You likely don't need to override these. With only these, you'll be
# able to connect to a Karaf shell and poke around ODL, including
# potentially manually installing features, but that's about it.
# It's better to avoid that manual step by overriding the extra_features
# list with the additional ODL features required by your use-case.
default_features:
- 'config'
- 'standard'
- 'region'
- 'package'
- 'kar'
- 'ssh'
- 'management'
# Karaf features to install *in addition* to the default_features list.
# You will likely need to override this. The features you choose will
# be determined by your use-case. You'll be able to get a Karaf
# shell and poke around without any extras, but manually connecting to
# CLIs is an anti-goal for CI/CD and automated deployments generally.
extra_features: []
# Deploying Opendaylight in a clustering mode is a feature
# which is only supported when the current role is consumed
# by the OSA project.
# https://github.com/openstack/openstack-ansible
# Enable or disable deploying OpenDaylight as a cluster.
cluster: false
# If OpenDaylight is deployed as a cluster, these features are required.
cluster_features:
- 'odl-mdsal-clustering'
- 'odl-jolokia'
# Specifies the port for the ODL northbound REST interface to listen on.
# This was added because OpenStack's Swift project uses a conflicting port.
nb_rest_port: 8181
# Specifies the port for the ODL clustering which is being used by Akka
# remoting for east-west communication.
akka_remoting_port: 2550
# Method to install ODL
# 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
odl_install_method: "rpm_repo"
# We need this dictionary to translate from ODL version to the version number
odl_version_dict:
master: 10
neon: 10
fluorine: 9
oxygen: 8
nitrogen: 7
# URL of the .repo config to use when installing ODL from a repo
# NB: This will only take effect when `odl_install_method` is "rpm_repo"
rpm_repo_url: "{% if 'latest_release' not in odl_version %}https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-{{ odl_version_dict[odl_version] }}-devel.repo{% else %}https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-100-release.repo{% endif %}"
suse_rpm_repo_url: "{% if 'latest_release' not in odl_version %}https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-{{ odl_version_dict[odl_version] }}-opensuse-devel.repo{% else %}https://download.opensuse.org/repositories/Virtualization:/NFV/openSUSE_Leap_42.3/{% endif %}"
# URL of the deb repository to use when installing ODL from a repo
# NB: This will only take effect when `odl_install_method` is "deb_repo"
# TODO: When deb snaps are built, point to a repo like rpm
deb_repo_url: "deb http://ppa.launchpad.net/odl-team/fluorine/ubuntu {{ ansible_lsb.codename }} main"
# This will be passed as the `name` param to the Ansible `yum` module.
# `name` param docs: "You can also pass a url or a local path to a rpm file."
# See: http://docs.ansible.com/ansible/yum_module.html
# NB: Local paths must be relative the host being configured (think `/vagrant`)
# NB: This will only take effect when `odl_install_method` is "rpm_path"
# Default to the release RPM hosted on the CentOS Community Build System
rpm_path: "http://cbs.centos.org/repos/nfv7-opendaylight-100-release/x86_64/os/Packages/opendaylight-10.0.0-1.el7.noarch.rpm"
# Default to the Nitrogen RPM hosted on the openSUSE OBS
suse_rpm_path: "https://download.opensuse.org/repositories/Virtualization:/NFV/openSUSE_Leap_42.3/noarch/opendaylight-7.2.0-1.1.noarch.rpm"
# This will be passed as the `deb` param to the Ansible `apt` module.
# `deb` param docs: "Path to a .deb package on the remote machine. If :// in the path,
# ansible will attempt to download deb before installing."
# See: http://docs.ansible.com/ansible/apt_module.html
# This is used when `odl_install_method` is "deb_path"
deb_path: ""
# Distro on which quagga packages to be installed
quagga_install_method: "{{ (ansible_os_family=='Debian') | ternary('deb_repo', 'rpm_repo') }}"
# Quagga deb packages repository location
quagga_deb_repo: http://artifacts.opnfv.org/sdnvpn/quagga4/quagga-ubuntu-updated.tar.gz
# Quagga rpm packages repository location
quagga_rpm_repo: http://artifacts.opnfv.org/sdnvpn/quagga4/quagga.tar.gz
# Find out correct quagga package url based on the
# quagga install method
quagga_package_url: "{% if quagga_install_method == 'deb_repo' %}{{ quagga_deb_repo }}{% else %}{{ quagga_rpm_repo }}{% endif %}"
# Temporary location on which quagga packages to be
# retrieved for the installation
temp_quagga_dir: /tmp/quagga
# The neutron server node on which OSA configures ODL
# as the BGP speaker
odl_bgp_speaker_host: "{{ inventory_hostname }}"
# The neutron server node ip address (br-admin) on which OSA configures ODL
# as the BGP speaker
odl_bgp_speaker_host_ip_address: "{{ hostvars[inventory_hostname]['ansible_default_ipv4']['address'] }}"
# BGP Config Server Port at quagga side for ODL to establish
# thrift connection.
bgp_config_server_port: 7644
# Configure Log settings
log_levels:
root:
log_name:
log_level:
log_max_size: '10GB'
log_max_rollover: 2
log_mechanism: file
# Quagga packages to be installed
quagga_dependencies:
- thrift
- zmq
- c-capnproto
- quagga
- zrpc
# Configure OpenDaylight with Quagga
quagga: false
# Default ODL user credentials
odl_nb_username: admin
odl_nb_password: admin