operatingsystem = 'Fedora'
# All tests for supported versions of Fedora
- ['24', '25'].each do |operatingsystemmajrelease|
+ ['25', '26'].each do |operatingsystemmajrelease|
context "#{operatingsystemmajrelease}" do
let(:facts) {{
:osfamily => osfamily,
# NB: Only testing defaults here, specialized enabling HA tests elsewhere
# Note that this function is defined in spec_helper
enable_ha_tests
+
+ # Run tests that specialize in checking log file settings
+ # NB: Only testing defaults here, specialized log file settings tests elsewhere
+ # Note that this function is defined in spec_helper
+ log_settings
end
end
# NB: Only testing defaults here, specialized enabling HA tests elsewhere
# Note that this function is defined in spec_helper
enable_ha_tests
+
+ # Run tests that specialize in checking log file settings
+ # NB: Only testing defaults here, specialized log file settings tests elsewhere
+ # Note that this function is defined in spec_helper
+ log_settings
end
end
# NB: Only testing defaults here, specialized enabling HA tests elsewhere
# Note that this function is defined in spec_helper
enable_ha_tests
+
+ # Run tests that specialize in checking log file settings
+ # NB: Only testing defaults here, specialized log file settings tests elsewhere
+ # Note that this function is defined in spec_helper
+ log_settings
end
end
end
end
- # All ODL REST port tests
- describe 'REST port tests' do
+ # All ODL IP/REST port tests
+ describe 'IP and REST port tests' do
# Non-OS-type tests assume CentOS 7
# See issue #43 for reasoning:
# https://github.com/dfarrell07/puppet-opendaylight/issues/43#issue-57343159
odl_rest_port_tests
end
- context 'overriding default REST port' do
+ context 'overriding default REST and IP port' do
let(:facts) {{
:osfamily => osfamily,
:operatingsystem => operatingsystem,
let(:params) {{
:odl_rest_port => 7777,
+ :odl_bind_ip => '127.0.0.1'
}}
# Run shared tests applicable to all supported OSs
# Note that this function is defined in spec_helper
- generic_tests
+ generic_tests(odl_bind_ip: '127.0.0.1')
# Run test that specialize in checking ODL REST port config
# Note that this function is defined in spec_helper
- odl_rest_port_tests(odl_rest_port: 7777)
+ odl_rest_port_tests(odl_rest_port: 7777, odl_bind_ip: '127.0.0.1')
end
end
end
end
+ describe 'log mechanism settings' do
+ # Non-OS-type tests assume CentOS 7
+ # See issue #43 for reasoning:
+ # https://github.com/dfarrell07/puppet-opendaylight/issues/43#issue-57343159
+ osfamily = 'RedHat'
+ operatingsystem = 'CentOS'
+ operatingsystemmajrelease = '7'
+
+ # All custom log file size and rollover tests
+ context 'log to file using default size and rollover' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings
+ end
+
+ context 'log to file customizing size' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :log_max_size => '100MB',
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(log_max_size: '100MB')
+ end
+
+ context 'log to file customizing rollover' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :log_max_rollover => 10,
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(log_max_rollover: 10)
+ end
+
+ context 'log to file customizing size and rollover' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :log_max_size => '250MB',
+ :log_max_rollover => 8,
+ :log_rollover_fileindex => 'min'
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(log_max_size: '250MB',
+ log_max_rollover: 8,
+ log_rollover_fileindex: 'min')
+ end
+
+ context 'log to file customizing pattern' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :log_pattern => '%d{ISO8601} | %-5p | %-16t | %m%n',
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(log_pattern: '%d{ISO8601} | %-5p | %-16t | %m%n')
+ end
+
+ context 'log to file enabling the PaxOsgi appender' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :enable_paxosgi_logger => true,
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(enable_paxosgi_logger: true)
+ end
+
+ context 'log to file disabling the PaxOsgi appender' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :enable_paxosgi_logger => false,
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(enable_paxosgi_logger: false)
+ end
+
+ context 'log to console' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :log_mechanism => 'console',
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(log_mechanism: 'console')
+ end
+
+ context 'log to console customizing pattern' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :log_mechanism => 'console',
+ :log_pattern => '%d{ISO8601} | %-5p | %-16t | %m%n',
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(log_mechanism: 'console',
+ log_pattern: '%d{ISO8601} | %-5p | %-16t | %m%n')
+ end
+
+ context 'log to console enabling the PaxOsgi appender' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :log_mechanism => 'console',
+ :enable_paxosgi_logger => true,
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(log_mechanism: 'console',
+ enable_paxosgi_logger: true)
+ end
+
+ context 'log to console disabling the PaxOsgi appender' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :log_mechanism => 'console',
+ :enable_paxosgi_logger => false,
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ log_settings(log_mechanism: 'console',
+ enable_paxosgi_logger: false)
+ end
+
+ context 'setting inactivity probe' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :inactivity_probe => 99999,
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+ end
+ end
+
# All OVSDB HA enable/disable tests
describe 'OVSDB HA enable/disable tests' do
# Non-OS-type tests assume CentOS 7
operatingsystemrelease = '7.0'
operatingsystemmajrelease = '7'
- context 'installing default RPM' do
+ context 'installing from default repo' do
let(:facts) {{
:osfamily => osfamily,
:operatingsystem => operatingsystem,
rpm_install_tests
end
- context 'installing Beryllium RPM' do
- rpm_repo = 'opendaylight-40-release'
+ context 'installing from Nexus repo' do
+ rpm_repo = 'https://nexus.opendaylight.org/content/repositories/opendaylight-neon-epel-7-$basearch-devel'
let(:facts) {{
:osfamily => osfamily,
:operatingsystem => operatingsystem,
deb_install_tests
end
- context 'installing Carbon Deb' do
- deb_repo = 'ppa:odl-team/carbon'
+ context 'installing Nitrogen Deb' do
+ deb_repo = 'ppa:odl-team/nitrogen'
let(:facts) {{
:osfamily => osfamily,
:operatingsystem => operatingsystem,
deb_install_tests(deb_repo: deb_repo)
end
end
-
end
- # Security Group Tests
- describe 'security group tests' do
+ # SNAT Mechanism tests
+ describe 'SNAT mechanism tests' do
# Non-OS-type tests assume CentOS 7
# See issue #43 for reasoning:
# https://github.com/dfarrell07/puppet-opendaylight/issues/43#issue-57343159
osfamily = 'RedHat'
operatingsystem = 'CentOS'
operatingsystemmajrelease = '7'
- context 'using supported stateful' do
+ context 'using controller' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :extra_features => ['odl-netvirt-openstack'],
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test that specialize in checking security groups
+ # Note that this function is defined in spec_helper
+ snat_mechanism_tests
+ end
+
+ context 'using conntrack' do
let(:facts) {{
:osfamily => osfamily,
:operatingsystem => operatingsystem,
:operatingsystemmajrelease => operatingsystemmajrelease,
- :operatingsystemrelease => '7.3',
}}
let(:params) {{
- :security_group_mode => 'stateful',
- :extra_features => ['odl-netvirt-openstack'],
+ :snat_mechanism => 'conntrack',
+ :extra_features => ['odl-netvirt-openstack'],
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test that specialize in checking security groups
+ # Note that this function is defined in spec_helper
+ snat_mechanism_tests('conntrack')
+ end
+ end
+
+ # SFC tests
+ describe 'SFC tests' do
+ # Non-OS-type tests assume CentOS 7
+ # See issue #43 for reasoning:
+ # https://github.com/dfarrell07/puppet-opendaylight/issues/43#issue-57343159
+ osfamily = 'RedHat'
+ operatingsystem = 'CentOS'
+ operatingsystemmajrelease = '7'
+ context 'not using odl-netvirt-sfc feature' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
}}
+ let(:params) {{ }}
+
# Run shared tests applicable to all supported OSs
# Note that this function is defined in spec_helper
generic_tests
# Run test that specialize in checking security groups
# Note that this function is defined in spec_helper
- enable_sg_tests('stateful', '7.3')
+ sfc_tests
end
- context 'using unsupported stateful' do
+ context 'using odl-netvirt-sfc feature' do
let(:facts) {{
:osfamily => osfamily,
:operatingsystem => operatingsystem,
:operatingsystemmajrelease => operatingsystemmajrelease,
- :operatingsystemrelease => '7.2.1511',
}}
let(:params) {{
- :security_group_mode => 'stateful',
- :extra_features => ['odl-netvirt-openstack'],
+ :extra_features => ['odl-netvirt-sfc'],
}}
# Run shared tests applicable to all supported OSs
# Run test that specialize in checking security groups
# Note that this function is defined in spec_helper
- enable_sg_tests('stateful', '7.2.1511')
+ sfc_tests(extra_features: ['odl-netvirt-sfc'])
end
+ end
- context 'using transparent with unsupported stateful' do
+ # DSCP marking tests
+ describe 'DSCP marking tests' do
+ # Non-OS-type tests assume CentOS 7
+ # See issue #43 for reasoning:
+ # https://github.com/dfarrell07/puppet-opendaylight/issues/43#issue-57343159
+ osfamily = 'RedHat'
+ operatingsystem = 'CentOS'
+ operatingsystemmajrelease = '7'
+ context 'use default value' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test that specialize in checking security groups
+ # Note that this function is defined in spec_helper
+ dscp_tests
+ end
+
+ context 'inherit DSCP values' do
let(:facts) {{
:osfamily => osfamily,
:operatingsystem => operatingsystem,
:operatingsystemmajrelease => operatingsystemmajrelease,
- :operatingsystemrelease => '7.2.1511',
}}
let(:params) {{
- :security_group_mode => 'transparent',
- :extra_features => ['odl-netvirt-openstack'],
+ :inherit_dscp_marking => :true,
}}
# Run shared tests applicable to all supported OSs
# Run test that specialize in checking security groups
# Note that this function is defined in spec_helper
- enable_sg_tests('transparent', '7.2.1511')
+ dscp_tests(inherit_dscp_marking: true)
end
end
end
end
+ # websocket address tests
+ describe 'ODL websocket address tests' do
+ # Non-OS-type tests assume CentOS 7
+ # See issue #43 for reasoning:
+ # https://github.com/dfarrell07/puppet-opendaylight/issues/43#issue-57343159
+ osfamily = 'RedHat'
+ operatingsystem = 'CentOS'
+ operatingsystemmajrelease = '7'
+ context 'using default websocket address' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test that specialize in checking websocket address
+ # Note that this function is defined in spec_helper
+ odl_websocket_address_tests
+ end
+
+ context 'overriding websocket address' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :odl_bind_ip => '127.0.0.1'
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests(odl_bind_ip: '127.0.0.1')
+
+ # Run test that specialize in checking websocket address
+ # Note that this function is defined in spec_helper
+ odl_websocket_address_tests(odl_bind_ip: '127.0.0.1')
+ end
+ end
+
+ # TLS tests
+ describe 'ODL TLS tests' do
+ # Non-OS-type tests assume CentOS 7
+ # See issue #43 for reasoning:
+ # https://github.com/dfarrell07/puppet-opendaylight/issues/43#issue-57343159
+ osfamily = 'RedHat'
+ operatingsystem = 'CentOS'
+ operatingsystemmajrelease = '7'
+ context 'enabling TLS without required keystore password (negative test)' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :enable_tls => :true
+ }}
+
+ # Run test that specialize in checking TLS
+ # Note that this function is defined in spec_helper
+ odl_tls_tests(enable_tls:true)
+ end
+ context 'enabling TLS with required params' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :enable_tls => true,
+ :tls_keystore_password => '123456',
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test that specialize in checking TLS
+ # Note that this function is defined in spec_helper
+ odl_tls_tests(enable_tls:true, tls_keystore_password:'123456')
+ end
+ end
+
+ describe 'polling enablement settings' do
+ # Non-OS-type tests assume CentOS 7
+ # See issue #43 for reasoning:
+ # https://github.com/dfarrell07/puppet-opendaylight/issues/43#issue-57343159
+ osfamily = 'RedHat'
+ operatingsystem = 'CentOS'
+ operatingsystemmajrelease = '7'
+
+ # Default statistics polling off
+ context 'do not poll ovs statistics' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ stats_polling_enablement_tests
+ end
+
+ # Default statistics polling on
+ context 'poll ovs statistics' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :stats_polling_enabled => true,
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests
+
+ # Run test specific to log settings
+ stats_polling_enablement_tests(stats_polling_enabled:true)
+ end
+ end
+
+ describe 'Different IPv support tests' do
+ # Non-OS-type tests assume CentOS 7
+ # See issue #43 for reasoning:
+ # https://github.com/dfarrell07/puppet-opendaylight/issues/43#issue-57343159
+ osfamily = 'RedHat'
+ operatingsystem = 'CentOS'
+ operatingsystemmajrelease = '7'
+
+ context 'IPv6 deployment' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :odl_bind_ip => '::1'
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests(odl_bind_ip:'::1')
+ end
+
+ context 'IPv4 deployment' do
+ let(:facts) {{
+ :osfamily => osfamily,
+ :operatingsystem => operatingsystem,
+ :operatingsystemmajrelease => operatingsystemmajrelease,
+ }}
+
+ let(:params) {{
+ :odl_bind_ip => '127.0.0.1'
+ }}
+
+ # Run shared tests applicable to all supported OSs
+ # Note that this function is defined in spec_helper
+ generic_tests(odl_bind_ip:'127.0.0.1')
+ end
+ end
end