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 # Enable or disable ODL OVSDB ML2 L3 forwarding. Valid options are 'yes' and 'no'.
21 # Custom OpenDaylight logger verbosity configuration (TRACE, DEBUG, INFO, WARN, ERROR).
24 $default_features = $::opendaylight::params::default_features,
25 $extra_features = $::opendaylight::params::extra_features,
26 $install_method = $::opendaylight::params::install_method,
27 $tarball_url = $::opendaylight::params::tarball_url,
28 $unitfile_url = $::opendaylight::params::unitfile_url,
29 $odl_rest_port = $::opendaylight::params::odl_rest_port,
30 $enable_l3 = $::opendaylight::params::enable_l3,
31 $log_levels = $::opendaylight::params::log_levels,
32 ) inherits ::opendaylight::params {
38 warning('Debian has limited support, is less stable, less tested.')
41 fail("Unsupported OS family: ${::osfamily}")
46 case $::operatingsystem {
48 if $::operatingsystemmajrelease != '7' {
49 # RHEL/CentOS versions < 7 not supported as they lack systemd
50 fail("Unsupported OS: ${::operatingsystem} ${::operatingsystemmajrelease}")
54 # Fedora distros < 22 are EOL as of 2015-12-01
55 # https://fedoraproject.org/wiki/End_of_life
56 if $::operatingsystemmajrelease < '22' {
57 fail("Unsupported OS: ${::operatingsystem} ${::operatingsystemmajrelease}")
61 if $::operatingsystemmajrelease != '14.04' {
62 # Only tested on 14.04
63 fail("Unsupported OS: ${::operatingsystem} ${::operatingsystemmajrelease}")
67 fail("Unsupported OS: ${::operatingsystem}")
70 # Build full list of features to install
71 $features = union($default_features, $extra_features)
73 class { '::opendaylight::install': } ->
74 class { '::opendaylight::config': } ~>
75 class { '::opendaylight::service': } ->
76 Class['::opendaylight']