1 # == Class: opendaylight
3 # OpenDaylight SDN Controller
7 # Features that should normally be installed by default, but can be overridden.
9 # List of features to install in addition to the default ones.
11 # Port for ODL northbound REST interface to listen on.
13 # How to install OpenDaylight. Current options are "rpm" and "tarball", default is RPM.
15 # If installing from a tarball, use this one. Defaults to latest ODL.
17 # OpenDaylight .service file to use for tarball installs. Defaults to one used by ODL RPM.
19 # Custom OpenDaylight logger verbosity configuration (TRACE, DEBUG, INFO, WARN, ERROR).
22 $default_features = $::opendaylight::params::default_features,
23 $extra_features = $::opendaylight::params::extra_features,
24 $install_method = $::opendaylight::params::install_method,
25 $tarball_url = $::opendaylight::params::tarball_url,
26 $unitfile_url = $::opendaylight::params::unitfile_url,
27 $odl_rest_port = $::opendaylight::params::odl_rest_port,
28 $enable_l3 = $::opendaylight::params::enable_l3,
29 $log_levels = $::opendaylight::params::log_levels,
30 ) inherits ::opendaylight::params {
36 warning('Debian has limited support, is less stable, less tested.')
39 fail("Unsupported OS family: ${::osfamily}")
44 case $::operatingsystem {
46 if $::operatingsystemmajrelease != '7' {
47 # RHEL/CentOS versions < 7 not supported as they lack systemd
48 fail("Unsupported OS: ${::operatingsystem} ${::operatingsystemmajrelease}")
52 # Fedora distros < 22 are EOL as of 2015-12-01
53 # https://fedoraproject.org/wiki/End_of_life
54 if $::operatingsystemmajrelease < '22' {
55 fail("Unsupported OS: ${::operatingsystem} ${::operatingsystemmajrelease}")
59 if $::operatingsystemmajrelease != '14.04' {
60 # Only tested on 14.04
61 fail("Unsupported OS: ${::operatingsystem} ${::operatingsystemmajrelease}")
65 fail("Unsupported OS: ${::operatingsystem}")
68 # Build full list of features to install
69 $features = union($default_features, $extra_features)
71 class { '::opendaylight::install': } ->
72 class { '::opendaylight::config': } ~>
73 class { '::opendaylight::service': } ->
74 Class['::opendaylight']