Deprecate support for configuration of powerdns 3 driver

... because it was removed from designate[1]

[1] 660eacbce4b1a4a409cd084a9c9f6e6e8f5e581a

Change-Id: I8a1861afc2c74fd52836e4b5955bc6bdd929fbf6
This commit is contained in:
Takashi Kajinami 2020-11-25 20:22:40 +09:00
parent caa49c61ef
commit 5ce240bc4d
7 changed files with 18 additions and 221 deletions

View File

@ -1,5 +1,6 @@
# == Class designate::backend::powerdns
#
# DEPRECATED!
# Install PowerDNS and configure Designate to use it as a backend. This does
# not configure PowerDNS itself since that is expected to be very environment
# specific.
@ -24,25 +25,7 @@ class designate::backend::powerdns (
$sync_db = true,
) {
include designate::deps
include designate
include powerdns
include powerdns::mysql
warning('The designate::backend::powerdns class has been deprecaed \
and has no effect. This class will be removed in a future release.')
# The Ubuntu packages install several example config files in here, but only
# one of them can exist, since they all load different powerdns backends. We
# purge all others so that powerdns will do what the puppet module needs.
File <| title == '/etc/powerdns/pdns.d' |> {
purge => true,
recurse => true,
}
designate_config {
'backend:powerdns/connection': value => $database_connection, secret => true;
'backend:powerdns/use_db_reconnect': value => $use_db_reconnect;
}
if $sync_db {
include designate::db::powerdns::sync
}
}

View File

@ -1,5 +1,6 @@
# == Class: designate::db::powerdns::mysql
#
# DEPRECATED !
# Class that configures mysql for the designate PowerDNS backend.
#
# === Parameters:
@ -41,20 +42,6 @@ class designate::db::powerdns::mysql (
$allowed_hosts = undef,
) {
include designate::deps
::openstacklib::db::mysql { 'powerdns':
user => $user,
password => $password,
dbname => $dbname,
host => $host,
charset => $charset,
collate => $collate,
allowed_hosts => $allowed_hosts,
}
Anchor['designate::db::begin']
~> Class['designate::db::powerdns::mysql']
~> Anchor['designate::db::end']
warning('The designate::db::powerdns::mysql class has been deprecaed \
and has no effect. This class will be removed in a future release.')
}

View File

@ -1,4 +1,5 @@
#
# DEPRECATED !!
# Class to execute designate powerdns dbsync
#
# ==Parameters
@ -13,22 +14,7 @@ class designate::db::powerdns::sync(
$extra_params = undef,
) {
include designate::deps
include designate::params
exec { 'designate-powerdns-dbsync':
command => "designate-manage ${extra_params} powerdns sync",
path => '/usr/bin',
user => 'root',
refreshonly => true,
logoutput => on_failure,
subscribe => [
Anchor['designate::install::end'],
Anchor['designate::config::end'],
Anchor['designate::dbsync::begin']
],
notify => Anchor['designate::dbsync::end'],
}
warning('The designate::db::powerdns::sync class has been deprecaed \
and has no effect. This class will be removed in a future release.')
}

View File

@ -0,0 +1,9 @@
---
deprecations:
- |
The following classes for powerdns 3 driver have been deprecated and has no
effect. These classes will be removed in a future relesae.
- ``designate::backend::powerdns``
- ``designate::db::powerdns::mysql``
- ``designate::db::powerdns::sync``

View File

@ -1,45 +0,0 @@
#
# Unit tests for designate::backend::powerdns
#
require 'spec_helper'
describe 'designate::backend::powerdns' do
let :params do
{ :database_connection => 'mysql://dbserver' }
end
shared_examples 'designate-backend-powerdns' do
context 'with default params' do
it 'configures designate backend powerdns with default parameters' do
is_expected.to contain_designate_config('backend:powerdns/connection').with_value('mysql://dbserver').with_secret(true)
is_expected.to contain_designate_config('backend:powerdns/use_db_reconnect').with_value(true)
end
it 'includes designate::db::powerdns::sync' do
is_expected.to contain_class('designate::db::powerdns::sync')
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
let(:platform_params) do
case facts[:osfamily]
when 'Debian'
{ }
when 'RedHat'
{ }
end
end
it_behaves_like 'designate-backend-powerdns'
end
end
end

View File

@ -1,65 +0,0 @@
require 'spec_helper'
describe 'designate::db::powerdns::mysql' do
let :pre_condition do
'include mysql::server'
end
let :required_params do
{ :password => "designatepass" }
end
shared_examples_for 'designate-db-powerdns-mysql' do
context 'with default params' do
let :params do
required_params
end
it { is_expected.to contain_class('designate::deps') }
it { is_expected.to contain_openstacklib__db__mysql('powerdns').with(
:user => 'powerdns',
:password => 'designatepass',
:charset => 'utf8'
)}
end
context 'when overriding charset' do
let :params do
{ :charset => 'latin1' }.merge(required_params)
end
it { is_expected.to contain_openstacklib__db__mysql('powerdns').with_charset(params[:charset]) }
end
context 'overriding allowed_hosts param with string' do
let :params do
{ :allowed_hosts => '127.0.0.1' }.merge(required_params)
end
it { is_expected.to contain_openstacklib__db__mysql('powerdns').with_allowed_hosts(params[:allowed_hosts]) }
end
context 'overriding allowed_hosts param with array' do
let :params do
{ :allowed_hosts => ['127.0.0.1','%'] }.merge(required_params)
end
it { is_expected.to contain_openstacklib__db__mysql('powerdns').with_allowed_hosts(params[:allowed_hosts]) }
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-db-powerdns-mysql'
end
end
end

View File

@ -1,58 +0,0 @@
#
# Unit tests for designate::db::powerdns::sync
#
require 'spec_helper'
describe 'designate::db::powerdns::sync' do
shared_examples_for 'designate-db-powerdns-sync' do
context 'with default parameters' do
it 'runs designate-powerdns-dbsync' do
is_expected.to contain_exec('designate-powerdns-dbsync').with(
:command => 'designate-manage powerdns sync',
:path => '/usr/bin',
:user => 'root',
:refreshonly => 'true',
:logoutput => 'on_failure',
:subscribe => ['Anchor[designate::install::end]',
'Anchor[designate::config::end]',
'Anchor[designate::dbsync::begin]'],
:notify => 'Anchor[designate::dbsync::end]',
)
end
end
context 'with parameter overrides' do
let :params do
{
:extra_params => '--config-file /etc/designate/designate.conf'
}
end
it 'runs designate manage with diffent config' do
is_expected.to contain_exec('designate-powerdns-dbsync').with(
:command => 'designate-manage --config-file /etc/designate/designate.conf powerdns sync',
:path => '/usr/bin',
:user => 'root',
:refreshonly => 'true',
:logoutput => 'on_failure',
:subscribe => ['Anchor[designate::install::end]',
'Anchor[designate::config::end]',
'Anchor[designate::dbsync::begin]'],
:notify => 'Anchor[designate::dbsync::end]',
)
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-db-powerdns-sync'
end
end
end