class openstack_integration::redis { include openstack_integration::config # NOTE(tobasco): Manually manage redis until arioch/puppet-redis support # redis 4.x since that is used by Ubuntu Bionic. case $::osfamily { 'Debian': { $redis_package_name = 'redis-server' $redis_service_name = 'redis-server' $redis_config = '/etc/redis/redis.conf' } 'RedHat': { $redis_package_name = 'redis' $redis_service_name = 'redis' $redis_config = '/etc/redis.conf' } default: { fail("redis.pp manifest does not support family: ${::osfamily}") } } # due to issues in OpenStack CI with the redis package, we need to disable # the service enable flag. The service still starts but the management of # the service with systemd errors. if ($::os_package_type == 'debian') { $service_enable = false } else { $service_enable = true } # NOTE(tobasco): Manually manage redis until arioch/puppet-redis support # redis 4.x since that is used by Ubuntu Bionic. package { 'redis': ensure => 'present', name => $redis_package_name, } file_line { 'redis_config': ensure => 'present', path => $redis_config, line => "bind ${::openstack_integration::config::host}", match => '^bind\ ', require => Package['redis'], notify => Service['redis'], } service { 'redis': ensure => 'running', name => $redis_service_name, enable => $service_enable, require => File_line['redis_config'], } }