```puppet
class { 'opendaylight':
- rpm_repo => 'opendaylight-61-release',
+ rpm_repo => 'https://nexus.opendaylight.org/content/repositories/opendaylight-neon-epel-7-$basearch-devel',
}
```
-The naming convention follows the naming convention of the CentOS Community
-Build System, which is where upstream ODL hosts its RPMs. The
-`opendaylight-61-release` example above would install OpenDaylight Carbon SR1
-6.1.0 from the [nfv7-opendaylight-61-release][2] repo. Repo names ending in
-`-release` will always contain well-tested, officially released versions of
-OpenDaylight. Repos ending in `-testing` contain frequent, but unstable and
-unofficial, releases. The ODL version given in repo names shows which major
-and minor version it is pinned to. The `opendaylight-61-release` repo will
-always provide OpenDaylight Carbon SR1 6.1, whereas `opendaylight-4-release`
-will provide the latest release with major version 6 (which could include
-Service Releases, like SR2 6.2).
+The URL should be formatted like a baseurl in RPM .repo config files. In
+particular, note the $basearch variable, which should be left form the
+package manager (yum, dnf) to populate.
For additional information about ODL RPM repos, see the [Integration/Packaging
-RPM repositories documentation][3].
+RPM repositories documentation][2].
This is only read for Red Hat-family operating systems.
```puppet
class { 'opendaylight':
- deb_repo => 'ppa:odl-team/carbon',
+ deb_repo => 'ppa:odl-team/nitrogen',
}
```
The naming convention is same as the naming convention of Launchpad PPA's,
-which is where ODL .debs are hosted. The `ppa:odl-team/carbon` example above
-would install OpenDaylight Carbon from the [boron launchpad repo][4].
+which is where ODL .debs are hosted. The `ppa:odl-team/nitrogen` example above
+would install OpenDaylight Nitrogen from the [Nitrogen launchpad repo][3].
This is only read for Debian-family operating systems.
```puppet
class { 'opendaylight':
- odl_rest_port => '8080',
+ odl_rest_port => '8181',
}
```
}
```
+### Configuring websocket address
+
+Websocket address can be configured to the IP of ODL rather than default 0.0.0.0. This IP will
+be defined by `odl_bind_ip`.
+
+### Enabling TLS with OpenDaylight
+
+It is possible to enable TLS encrypted communication for OpenDaylight Northbound REST
+along with Southbound OVSDB/OpenFlow communication with Open vSwitch. To enable
+TLS, use the `enable_tls` flag. This option will create two keystores in OpenDaylight
+which are stored in '/opt/opendaylight/configuration/ssl'. The first keystore
+is the controller keystore, which will hold the private key and ODL certificate,
+along with the Certificate Authority (CA) certificate if provided. The second
+keystore is the trust keystore, which will hold the trusted OVS switch certificates.
+
+In order to enable TLS, it is required to provide the `tls_keystore_password`
+parameter. This represents the password to use for the controller and truststore
+keystores. With only providing these parameters, ODL will generate the
+controller keystore with a random private key and self-signed certficate.
+
+Additionally the `tls_key_file` and `tls_cert_file` parameters may be provided.
+These represent ODL's private key file and certificate file to be used when building
+the controller keystore. Optionally the `tls_ca_cert_file` may be provided which
+will chain the CA certificate to the keystore for client validation.
+
+`tls_trusted_certs` may be provided as an array of trusted certificates to be
+added to the trusted keystore. This allows OpenDaylight to identify trusted
+clients which may connect to ODL Southbound and Northbound.
+
## Reference
### Classes
Specifies the port for the ODL northbound REST interface to listen on.
-Default: `'8080'`
+Default: `'8181'`
Valid options: A valid port number as a string or integer.
##### `rpm_repo`
-OpenDaylight CentOS CBS repo to install RPM from (opendaylight-6-testing,
-opendaylight-6-release, ...).
+Repo URL to install ODL RPM from, in .repo baseurl format.
##### `deb_repo`
OpenDaylight Launchpad PPA repo to install .deb from (ppa:odl-team/boron,
-ppa:odl-team/carbon, ...).
+ppa:odl-team/nitrogen, ...).
##### `log_levels`
```
# Log level config added by puppet-opendaylight
-log4j.logger.org.opendaylight.ovsdb = TRACE
+log4j2.logger.org_opendaylight_ovsdb.level = TRACE
+log4j2.logger.org_opendaylight_ovsdb.name = org.opendaylight.ovsdb
# Log level config added by puppet-opendaylight
-log4j.logger.org.opendaylight.ovsdb.lib = INFO
+log4j2.logger.org_opendaylight_ovsdb_lib.level = INFO
+log4j2.logger.org_opendaylight_ovsdb_lib.name = org.opendaylight.ovsdb.lib
```
To view loggers and their verbosity levels, use `log:list` at the ODL Karaf shell.
Once this size is reached, the log will be rolled over, with up to
`log_max_rollover` log rollovers preserved in total.
-Default: `10GB`
+Default: `500MB`
Valid options: A valid size as a string with unit specified.
logged data. It's recommended to use values greater than one to prune from
the end of the log.
-Default: `2`
+Default: `4`
Valid options: An integer greater than 0.
+##### `log_rollover_fileindex`
+
+String that controls file index to use when log rollovers are initiated.
+
+If set to 'max', files with a higher index will be newer than files with
+a smaller index.
+
+If set to 'min', file with a lower index will be newer than files with a
+higher index.
+
+If set to 'nomax', the min and max values will be ignored, and file
+numbering will increment by 1 and each rollover will have an
+incrementally higher value with no maximum number of files.
+
+Default: `min`
+
+Valid options: 'min', 'max', 'nomax'
+
+##### `log_mechanism`
+
+Logging mechanism for karaf logs. They are logged either to a file or console.
+When `log_mechanism` is `file`, log files are configured as per `log_max_size`
+and `log_max_rollover`.
+
+Default: `file`
+
+Valid options: `file`, `console`.
+
+##### `log_pattern`
+
+String that controls the log pattern used for logging.
+
+Default: `%d{ISO8601} | %-5p | %-16t | %-60c{6} | %m%n`
+
+Valid options: A valid string that is a valid log4j2 pattern.
+
+##### `enable_paxosgi_logger`
+
+Boolean that controls whether the PaxOsgi appender is enabled for logging.
+
+Note that enabling this will also require to modify the log pattern to
+make use of the added capabilities. To do so the variable `log_pattern` should
+be overriden to include a pattern that includes the tokens that PaxOsgi adds.
+
+This could be achieving, for example, by setting `log_pattern` to a string
+that includes:
+
+'%X{bundle.id} - %X{bundle.name} - %X{bundle.version}'
+
+Failure to change the `log_pattern` will mean that the PaxOsgi appender will
+be enabled but the added functionality not used on the logging. This has no
+negative effect on the system and it will continue to run, just it will not
+include the added information one could get from PaxOsgi.
+
+A good example would be to set this variable to `true` and set `log_pattern`
+to:
+
+'%d{ISO8601} | %-5p | %-16t | %-32c{1} | %X{bundle.id} - %X{bundle.name} - %X{bundle.version} | %m%n'
+
+Default: `false`
+
+Valid options: The boolean values `true` and `false`.
+
##### `enable_ha`
Enable or disable ODL High Availablity.
This parameter is now deprecated and is no longer used.
-##### `security_group_mode`
-
-Specifies the mode to use for security groups.
-
-Default: `stateful`
-
-Valid options: `transparent`, `learn`, `stateless`
-
##### `snat_mechanism`
Specifies the mechanism to be used for SNAT.
##### `java_opts`
-Specifies the Java options to run ODL with as a string.
+Specifies the Java options to run ODL with as a string. Note, these options
+are in addition to the default Java options set by the karaf/ODL boot scripts
+and IP version based flag set by 'opendaylight' class.
-Default: `'-Djava.net.preferIPv4Stack=true'`
+Default: `''`
Valid options: A string of valid Java options.
Valid options: A password string.
+### `inherit_dscp_marking`
+
+Specifies whether DSCP marking is enabled for packets egressing out of OVS through
+VXLAN/GRE tunnels.
+
+Default: `false`
+
+Valid options: `true`, `false`
+
+### `stats_polling_enabled`
+
+Enables statistics polling of OpenFlow entities like table, groups.
+
+Default: `false`
+
+Valid options: `true`, `false`
+
+### `inactivity_probe`
+
+Configures inactivity probe timer when specified.
+
+Default: `undef`
+
+Valid options: An integer or string in milliseconds.
+
## Limitations
- Tested on CentOS 7 and Ubuntu 16.04.
We welcome contributions and work to make them easy!
-See [CONTRIBUTING.markdown][5] for details about how to contribute to the
+See [CONTRIBUTING.markdown][4] for details about how to contribute to the
OpenDaylight Puppet module.
## Release Notes
-See the [CHANGELOG][6] for information about releases.
+See the [CHANGELOG][5] for information about releases.
[1]: http://www.opendaylight.org/ "OpenDaylight homepage"
-[2]: http://cbs.centos.org/repos/nfv7-opendaylight-61-release/x86_64/os/Packages/ "OpenDaylight Carbon SR1 CentOS CBS repo"
-
-[3]: http://docs.opendaylight.org/en/latest/submodules/integration/packaging/docs/rpms.html#repositories "ODL RPM repo docs"
+[2]: http://docs.opendaylight.org/en/latest/submodules/integration/packaging/docs/rpms.html#repositories "ODL RPM repo docs"
-[4]: https://launchpad.net/~odl-team/+archive/ubuntu/carbon "ODL Carbon Deb repo"
+[3]: https://launchpad.net/~odl-team/+archive/ubuntu/nitrogen "ODL Nitrogen Deb repo"
-[5]: https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging/puppet-opendaylight.git;a=blob;f=CONTRIBUTING.markdown "Contributing docs"
+[4]: https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging/puppet-opendaylight.git;a=blob;f=CONTRIBUTING.markdown "Contributing docs"
-[6]: https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging/puppet-opendaylight.git;a=blob;f=CHANGELOG "Chagelog"
+[5]: https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging/puppet-opendaylight.git;a=blob;f=CHANGELOG "Chagelog"