RPM
CD packaging pipeline
RPM
Build jobs triggered daily + on autorelease
RPM
Builds published to Nexus after test gating
RPM
Install ODL's repo
[~]$ sudo curl -o /etc/yum.repos.d/opendaylight-8-devel.repo \
<URL to repo config>
RPM
Install ODL
[~]$ sudo yum install -y opendaylight
<snip>
Installed:
opendaylight.noarch 0:opendaylight-8.1.0-0.1.20180326snap57.el7
Complete!
RPM
Manage service with systemd
[~]$ sudo systemctl start opendaylight
[~]$ sudo systemctl is-active opendaylight
active
RPM
Connect to Karaf shell, install features
$ ssh -p 8101 karaf@localhost
opendaylight-user@root>feature:install ...
Puppet
Well-developed API
class opendaylight::params {
$default_features = ['config', 'standard', 'region', 'package', 'kar', 'ssh', 'management']
$extra_features = []
$odl_rest_port = '8080'
$odl_bind_ip = '0.0.0.0'
$rpm_repo = 'opendaylight-6-testing'
$deb_repo = 'ppa:odl-team/boron'
$log_levels = {}
$enable_ha = false
$ha_node_ips = []
$ha_node_index = 0
$security_group_mode = 'stateful'
$vpp_routing_node = ''
$java_opts = '-Djava.net.preferIPv4Stack=true'
$manage_repositories = true
$username = 'admin'
$password = 'admin'
}
Puppet
Good OS Support
(CentOS, Fedora, Debian)
Puppet
Well tested in ODL CI
PUPPET
Syntax, rspec-puppet, Puppet linting
desc "Run syntax, lint, and spec tests."
task :test => [
:syntax,
:lint,
:metadata_lint,
:spec,
]
PUPPET
Coala linting
Executing section git...
Executing section spacing...
Executing section markdown...
Executing section rest...
Executing section yaml...
Executing section json...
Executing section xml...
Puppet
Beaker system testing
Puppet
Deploy against real containers/VMs
Puppet
Verify resulting state
Puppet
Repeat for various configs
Puppet
Consumed by OPNFV Apex et al