Merge "Remove support for designate-agent"

This commit is contained in:
Zuul 2023-10-30 16:52:14 +00:00 committed by Gerrit Code Review
commit cf8ad675ec
9 changed files with 4 additions and 426 deletions

View File

@ -1,69 +0,0 @@
# == Class designate::agent
#
# DEPRECATED !!
# Configure designate agent service
#
# == Parameters
#
# [*package_ensure*]
# (optional) The state of the package
# Defaults to 'present'
#
# [*agent_package_name*]
# (optional) Name of the package containing agent resources
# Defaults to $::designate::params::agent_package_name
#
# [*enabled*]
# (optional) Whether to enable services.
# Defaults to true
#
# [*manage_service*]
# (Optional) Whether the designate agent service will be managed.
# Defaults to true.
#
# [*backend_driver*]
# (optional) Driver used for backend communication (fake, rpc, bind9)
# Defaults to 'bind9'
#
# [*workers*]
# (optional) Number of agent worker process to spawn
# Defaults to $facts['os_workers']
#
# [*threads*]
# (optional) Number of agent greenthreads to spawn
# Defaults to $facts['os_service_default']
#
# [*listen*]
# (optional) Agent host:port pairs to listen on.
# Defaults to $facts['os_service_default']
#
class designate::agent (
$package_ensure = present,
$agent_package_name = $::designate::params::agent_package_name,
Boolean $enabled = true,
Boolean $manage_service = true,
$backend_driver = 'bind9',
$workers = $facts['os_workers'],
$threads = $facts['os_service_default'],
$listen = $facts['os_service_default'],
) inherits designate::params {
include designate::deps
warning('The agent framework has been deprecated.')
designate_config {
'service:agent/backend_driver' : value => $backend_driver;
'service:agent/workers' : value => $workers;
'service:agent/threads' : value => $threads;
'service:agent/listen' : value => $listen;
}
designate::generic_service { 'agent':
enabled => $enabled,
manage_service => $manage_service,
package_ensure => $package_ensure,
package_name => $agent_package_name,
service_name => $::designate::params::agent_service_name,
}
}

View File

@ -1,59 +0,0 @@
# == Class designate::agent::bind9
#
# DEPRECATED !!
# Configure bind9 as agent backend
#
# == Parameters
#
# [*rndc_host*]
# (Optional) RNDC Host
# Defaults to $facts['os_service_default'].
#
# [*rndc_port*]
# (Optional) RNDC Port.
# Defaults to 953.
#
# [*rndc_config_file*]
# (Optional) Location of the rndc configuration file.
# Defaults to '/etc/rndc.conf'
#
# [*rndc_key_file*]
# (Optional) Location of the rndc key file.
# Defaults to '/etc/rndc.key'
#
# [*rndc_timeout*]
# (Optional) RNDC command timeout.
# Defaults to $facts['os_service_default'].
#
# [*zone_file_path*]
# (Optional) Path where zone files are stored.
# Defaults to $facts['os_service_default'].
#
# [*query_destination*]
# (Optional) Host to query when finding zones.
# Defaults to $facts['os_service_default'].
#
class designate::agent::bind9 (
$rndc_host = $facts['os_service_default'],
$rndc_port = $facts['os_service_default'],
$rndc_config_file = '/etc/rndc.conf',
$rndc_key_file = '/etc/rndc.key',
$rndc_timeout = $facts['os_service_default'],
$zone_file_path = $facts['os_service_default'],
$query_destination = $facts['os_service_default'],
) {
include designate::deps
warning('The agent framework has been deprecated.')
designate_config {
'backend:agent:bind9/rndc_host' : value => $rndc_host;
'backend:agent:bind9/rndc_port' : value => $rndc_port;
'backend:agent:bind9/rndc_config_file' : value => $rndc_config_file;
'backend:agent:bind9/rndc_key_file' : value => $rndc_key_file;
'backend:agent:bind9/rndc_timeout' : value => $rndc_timeout;
'backend:agent:bind9/zone_file_path' : value => $zone_file_path;
'backend:agent:bind9/query_destination' : value => $query_destination;
}
}

View File

@ -1,62 +0,0 @@
# == Class designate::backend::agent
#
# DEPRECATED !!
# Configure agent as backend
#
# == Parameters
#
# [*agent_hosts*]
# (Optional) Host running designate-agent service.
# Defaults to ['127.0.0,1'].
#
# [*agent_port*]
# (Optional) TCP port to connect to designate-agent service.
# Defaults to 5358.
#
# [*mdns_hosts*]
# (Optional) Array of hosts where designate-mdns service is running.
# Defaults to ['127.0.0.1'].
#
# [*mdns_port*]
# (Optional) TCP Port to connect to designate-mdns service.
# Defaults to 5354.
#
# [*manage_pool*]
# (Optional) Manage pools.yaml and update pools by designate-manage command
# Defaults to true
#
class designate::backend::agent (
$agent_hosts = ['127.0.0.1'],
$agent_port = 5358,
$mdns_hosts = ['127.0.0.1'],
$mdns_port = 5354,
Boolean $manage_pool = true,
) {
include designate::deps
include designate::params
warning('The agent framework has been deprecated.')
if $manage_pool {
file { '/etc/designate/pools.yaml':
ensure => present,
path => '/etc/designate/pools.yaml',
owner => $designate::params::user,
group => $designate::params::group,
mode => '0640',
content => template('designate/agent-pools.yaml.erb'),
require => Anchor['designate::config::begin'],
before => Anchor['designate::config::end'],
}
exec { 'designate-manage pool update':
command => 'designate-manage pool update',
path => '/usr/bin',
user => $designate::params::user,
refreshonly => true,
require => Anchor['designate::service::end'],
subscribe => File['/etc/designate/pools.yaml'],
}
}
}

View File

@ -8,7 +8,6 @@ class designate::params {
$state_path = '/var/lib/designate'
$log_dir = '/var/log/designate'
$client_package_name = 'python3-designateclient'
$agent_service_name = 'designate-agent'
$api_service_name = 'designate-api'
$central_service_name = 'designate-central'
$sink_service_name = 'designate-sink'
@ -24,7 +23,6 @@ class designate::params {
$common_package_name = 'openstack-designate-common'
$api_package_name = 'openstack-designate-api'
$central_package_name = 'openstack-designate-central'
$agent_package_name = 'openstack-designate-agent'
$sink_package_name = 'openstack-designate-sink'
$mdns_package_name = 'openstack-designate-mdns'
$producer_package_name = 'openstack-designate-producer'
@ -37,7 +35,6 @@ class designate::params {
$common_package_name = 'designate-common'
$api_package_name = 'designate-api'
$central_package_name = 'designate-central'
$agent_package_name = 'designate-agent'
$sink_package_name = 'designate-sink'
$mdns_package_name = 'designate-mdns'
$producer_package_name = 'designate-producer'

View File

@ -0,0 +1,4 @@
---
upgrade:
- |
Support for designate-agent has been removed.

View File

@ -1,57 +0,0 @@
#
# Unit tests for designate::agent::bind9
#
require 'spec_helper'
describe 'designate::agent::bind9' do
shared_examples 'designate::agent::bind9' do
context 'with default params' do
let :params do
{}
end
it 'configures the default parameters' do
is_expected.to contain_designate_config('backend:agent:bind9/rndc_host').with_value('<SERVICE DEFAULT>')
is_expected.to contain_designate_config('backend:agent:bind9/rndc_port').with_value('<SERVICE DEFAULT>')
is_expected.to contain_designate_config('backend:agent:bind9/rndc_config_file').with_value('/etc/rndc.conf')
is_expected.to contain_designate_config('backend:agent:bind9/rndc_key_file').with_value('/etc/rndc.key')
is_expected.to contain_designate_config('backend:agent:bind9/rndc_timeout').with_value('<SERVICE DEFAULT>')
is_expected.to contain_designate_config('backend:agent:bind9/zone_file_path').with_value('<SERVICE DEFAULT>')
is_expected.to contain_designate_config('backend:agent:bind9/query_destination').with_value('<SERVICE DEFAULT>')
end
end
context 'with parameters' do
let :params do
{
:rndc_host => '10.0.0.42',
:rndc_port => '1337',
:rndc_timeout => 10,
:zone_file_path => '/var/lib/designate/zones',
:query_destination => '10.0.0.43',
}
end
it 'configures the parameters accordingly' do
is_expected.to contain_designate_config('backend:agent:bind9/rndc_host').with_value('10.0.0.42')
is_expected.to contain_designate_config('backend:agent:bind9/rndc_port').with_value('1337')
is_expected.to contain_designate_config('backend:agent:bind9/rndc_timeout').with_value(10)
is_expected.to contain_designate_config('backend:agent:bind9/zone_file_path').with_value('/var/lib/designate/zones')
is_expected.to contain_designate_config('backend:agent:bind9/query_destination').with_value('10.0.0.43')
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_behaves_like 'designate::agent::bind9'
end
end
end

View File

@ -1,101 +0,0 @@
#
# Unit tests for designate::agent
#
require 'spec_helper'
describe 'designate::agent' do
let :params do
{
:enabled => true
}
end
shared_examples 'designate-agent' do
context 'with default parameters' do
it 'installs designate-agent package and service' do
is_expected.to contain_service('designate-agent').with(
:name => platform_params[:agent_service_name],
:ensure => 'running',
:enable => 'true',
:tag => ['openstack', 'designate-service'],
)
is_expected.to contain_package('designate-agent').with(
:name => platform_params[:agent_package_name],
:ensure => 'present',
:tag => ['openstack', 'designate-package'],
)
end
it 'configures designate-agent with default parameters' do
is_expected.to contain_designate_config('service:agent/backend_driver').with_value('bind9')
is_expected.to contain_designate_config('service:agent/workers').with_value(8)
is_expected.to contain_designate_config('service:agent/threads').with_value('<SERVICE DEFAULT>')
is_expected.to contain_designate_config('service:agent/listen').with_value('<SERVICE DEFAULT>')
end
context 'when using Power DNS backend driver' do
before { params.merge!(:backend_driver => 'powerdns') }
it 'configures designate-agent with pdns backend' do
is_expected.to contain_designate_config('service:agent/backend_driver').with_value('powerdns')
end
end
end
context 'with custom package name' do
before do
params.merge!({ :agent_package_name => 'designate-agent-custom-name' })
end
it 'configures using custom name' do
is_expected.to contain_package('designate-agent').with(
:name => 'designate-agent-custom-name',
:ensure => 'present',
:tag => ['openstack', 'designate-package'],
)
end
end
context 'with overriding parameters' do
before do
params.merge!({
:workers => 2,
:threads => 1000,
:listen => '127.0.0.1:9002',
})
end
it 'configures designate-agent with custom parameters' do
is_expected.to contain_designate_config('service:agent/workers').with_value( params[:workers] )
is_expected.to contain_designate_config('service:agent/threads').with_value( params[:threads] )
is_expected.to contain_designate_config('service:agent/listen').with_value( params[:listen] )
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts({ :os_workers => 8 }))
end
let(:platform_params) do
case facts[:os]['family']
when 'Debian'
{
:agent_package_name => 'designate-agent',
:agent_service_name => 'designate-agent'
}
when 'RedHat'
{
:agent_package_name => 'openstack-designate-agent',
:agent_service_name => 'designate-agent'
}
end
end
it_behaves_like 'designate-agent'
end
end
end

View File

@ -1,51 +0,0 @@
#
# Unit tests for designate::backend::agent
#
require 'spec_helper'
describe 'designate::backend::agent' do
shared_examples 'designate-backend-agent' do
context 'with default params' do
it 'configures named and pool' do
is_expected.to contain_file('/etc/designate/pools.yaml').with(
:ensure => 'present',
:path => '/etc/designate/pools.yaml',
:owner => 'designate',
:group => 'designate',
:mode => '0640',
)
is_expected.to contain_exec('designate-manage pool update').with(
:command => 'designate-manage pool update',
:path => '/usr/bin',
:user => 'designate',
:refreshonly => true,
)
end
end
context 'with pool management disabled' do
let :params do
{ :manage_pool => false }
end
it 'does not configure pool' do
is_expected.to_not contain_file('/etc/designate/pools.yaml')
is_expected.to_not contain_exec('designate-manage pool update')
end
end
end
on_supported_os({
:supported_os => OSDefaults.get_supported_os
}).each do |os,facts|
context "on #{os}" do
let (:facts) do
facts.merge!(OSDefaults.get_facts())
end
it_behaves_like 'designate-backend-agent'
end
end
end

View File

@ -1,24 +0,0 @@
---
- name: default
description: Default pool
attributes: {}
targets:
<% @agent_hosts.each do |agent_host| -%>
- type: agent
description: Agent Server <%= agent_host %>
masters:
<% @mdns_hosts.each do |mdns_host| -%>
- host: <%= mdns_host %>
port: <%= @mdns_port.to_s %>
<% end -%>
options:
host: <%= agent_host %>
port: <%= @dns_port.to_s %>
rndc_host: <%= agent_host %>
rndc_port: <%= @rndc_port %>
rndc_config_file: <%= @rndc_config_file %>
rndc_key_file: <%= @rndc_key_file %>
<% end -%>