Add unit tests for designate manifests
This patch implements missing unit tests for designate modules. Change-Id: I4fae54589a7bf954fab8428a2eba5e661ad7285e
This commit is contained in:
parent
e240091435
commit
2b245fda20
75
spec/classes/tripleo_profile_base_designate_api_spec.rb
Normal file
75
spec/classes/tripleo_profile_base_designate_api_spec.rb
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'tripleo::profile::base::designate::api' do
|
||||||
|
shared_examples_for 'tripleo::profile::base::designate::api' do
|
||||||
|
let(:pre_condition) do
|
||||||
|
<<-eos
|
||||||
|
class { 'tripleo::profile::base::designate':
|
||||||
|
step => #{params[:step]},
|
||||||
|
oslomsg_rpc_hosts => [ 'localhost' ],
|
||||||
|
oslomsg_rpc_username => 'designate',
|
||||||
|
oslomsg_rpc_password => 'foo'
|
||||||
|
}
|
||||||
|
class { 'tripleo::profile::base::designate::authtoken':
|
||||||
|
step => #{params[:step]},
|
||||||
|
}
|
||||||
|
eos
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step less than 3' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 1,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::api')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::authtoken')
|
||||||
|
is_expected.to_not contain_class('designate::api')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 3' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 3,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::api')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::authtoken')
|
||||||
|
is_expected.to contain_class('designate::api').with(
|
||||||
|
:listen => '0.0.0.0:9001'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({ :hostname => 'node.example.com' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::profile::base::designate::api'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
142
spec/classes/tripleo_profile_base_designate_central_spec.rb
Normal file
142
spec/classes/tripleo_profile_base_designate_central_spec.rb
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'tripleo::profile::base::designate::central' do
|
||||||
|
shared_examples_for 'tripleo::profile::base::designate::central' do
|
||||||
|
let(:pre_condition) do
|
||||||
|
<<-eos
|
||||||
|
class { 'tripleo::profile::base::designate':
|
||||||
|
step => #{params[:step]},
|
||||||
|
oslomsg_rpc_hosts => [ 'localhost' ],
|
||||||
|
oslomsg_rpc_username => 'designate',
|
||||||
|
oslomsg_rpc_password => 'foo'
|
||||||
|
}
|
||||||
|
class { 'tripleo::profile::base::designate::authtoken':
|
||||||
|
step => #{params[:step]},
|
||||||
|
}
|
||||||
|
eos
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step less than 3' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 1,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::central')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to_not contain_class('designate::db')
|
||||||
|
is_expected.to_not contain_class('designate::central')
|
||||||
|
is_expected.to_not contain_class('designate::quota')
|
||||||
|
is_expected.to contain_file('designate pools').with(
|
||||||
|
:path => '/etc/designate/pools.yaml',
|
||||||
|
)
|
||||||
|
is_expected.to_not contain_exec('pool update')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 3 on bootstrap node' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 3,
|
||||||
|
:bootstrap_node => 'node.example.com',
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::central')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to contain_class('designate::db').with(:sync_db => true)
|
||||||
|
is_expected.to contain_class('designate::central')
|
||||||
|
is_expected.to contain_class('designate::quota')
|
||||||
|
is_expected.to contain_file('designate pools')
|
||||||
|
is_expected.to_not contain_exec('pool update')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 3 not on bootstrap node' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 3,
|
||||||
|
:bootstrap_node => 'other.example.com',
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::central')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to_not contain_class('designate::db')
|
||||||
|
is_expected.to_not contain_class('designate::central')
|
||||||
|
is_expected.to_not contain_class('designate::quota')
|
||||||
|
is_expected.to contain_file('designate pools')
|
||||||
|
is_expected.to_not contain_exec('pool update')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 4 not on bootstrap node' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 4,
|
||||||
|
:bootstrap_node => 'other.example.com',
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::central')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to contain_class('designate::db').with(
|
||||||
|
:sync_db => false
|
||||||
|
)
|
||||||
|
is_expected.to contain_class('designate::central')
|
||||||
|
is_expected.to contain_class('designate::quota')
|
||||||
|
is_expected.to contain_file('designate pools')
|
||||||
|
is_expected.to_not contain_exec('pool update')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 5 on bootstrap node' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 5,
|
||||||
|
:bootstrap_node => 'node.example.com',
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_exec('pool update').with(
|
||||||
|
:command => '/bin/designate-manage pool update',
|
||||||
|
:user => 'designate'
|
||||||
|
)
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 5 not on bootstrap node' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 5,
|
||||||
|
:bootstrap_node => 'other.example.com',
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to_not contain_exec('pool update')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({ :hostname => 'node.example.com' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::profile::base::designate::central'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
67
spec/classes/tripleo_profile_base_designate_mdns_spec.rb
Normal file
67
spec/classes/tripleo_profile_base_designate_mdns_spec.rb
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'tripleo::profile::base::designate::mdns' do
|
||||||
|
shared_examples_for 'tripleo::profile::base::designate::mdns' do
|
||||||
|
let(:pre_condition) do
|
||||||
|
<<-eos
|
||||||
|
class { 'tripleo::profile::base::designate':
|
||||||
|
step => #{params[:step]},
|
||||||
|
oslomsg_rpc_hosts => [ 'localhost' ],
|
||||||
|
oslomsg_rpc_username => 'designate',
|
||||||
|
oslomsg_rpc_password => 'foo'
|
||||||
|
}
|
||||||
|
eos
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step less than 4' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 1,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::mdns')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to_not contain_class('designate::mdns')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 4' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 4,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::mdns')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to contain_class('designate::mdns')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({ :hostname => 'node.example.com' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::profile::base::designate::mdns'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
67
spec/classes/tripleo_profile_base_designate_producer_spec.rb
Normal file
67
spec/classes/tripleo_profile_base_designate_producer_spec.rb
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'tripleo::profile::base::designate::producer' do
|
||||||
|
shared_examples_for 'tripleo::profile::base::designate::producer' do
|
||||||
|
let(:pre_condition) do
|
||||||
|
<<-eos
|
||||||
|
class { 'tripleo::profile::base::designate':
|
||||||
|
step => #{params[:step]},
|
||||||
|
oslomsg_rpc_hosts => [ 'localhost' ],
|
||||||
|
oslomsg_rpc_username => 'designate',
|
||||||
|
oslomsg_rpc_password => 'foo'
|
||||||
|
}
|
||||||
|
eos
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step less than 4' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 1,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::producer')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to_not contain_class('designate::producer')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 4' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 4,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::producer')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to contain_class('designate::producer')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({ :hostname => 'node.example.com' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::profile::base::designate::producer'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
67
spec/classes/tripleo_profile_base_designate_sink_spec.rb
Normal file
67
spec/classes/tripleo_profile_base_designate_sink_spec.rb
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'tripleo::profile::base::designate::sink' do
|
||||||
|
shared_examples_for 'tripleo::profile::base::designate::sink' do
|
||||||
|
let(:pre_condition) do
|
||||||
|
<<-eos
|
||||||
|
class { 'tripleo::profile::base::designate':
|
||||||
|
step => #{params[:step]},
|
||||||
|
oslomsg_rpc_hosts => [ 'localhost' ],
|
||||||
|
oslomsg_rpc_username => 'designate',
|
||||||
|
oslomsg_rpc_password => 'foo'
|
||||||
|
}
|
||||||
|
eos
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step less than 4' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 1,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::sink')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to_not contain_class('designate::sink')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 4' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 4,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::sink')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to contain_class('designate::sink')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({ :hostname => 'node.example.com' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::profile::base::designate::sink'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
69
spec/classes/tripleo_profile_base_designate_spec.rb
Normal file
69
spec/classes/tripleo_profile_base_designate_spec.rb
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'tripleo::profile::base::designate' do
|
||||||
|
shared_examples_for 'tripleo::profile::base::designate' do
|
||||||
|
|
||||||
|
context 'with step less than 3' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 1,
|
||||||
|
:oslomsg_rpc_hosts => [ 'localhost' ],
|
||||||
|
:oslomsg_rpc_password => 'foo'
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to_not contain_class('designate')
|
||||||
|
is_expected.to_not contain_class('designate::config')
|
||||||
|
is_expected.to_not contain_class('designate::logging')
|
||||||
|
is_expected.to_not contain_class('designate::backend::bind9')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 3' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 3,
|
||||||
|
:oslomsg_rpc_hosts => [ 'localhost' ],
|
||||||
|
:oslomsg_rpc_username => 'designate',
|
||||||
|
:oslomsg_rpc_password => 'foo',
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to contain_class('designate').with(
|
||||||
|
:default_transport_url => 'rabbit://designate:foo@localhost:5672/?ssl=0'
|
||||||
|
)
|
||||||
|
is_expected.to contain_class('designate::config')
|
||||||
|
is_expected.to contain_class('designate::logging')
|
||||||
|
is_expected.to contain_class('designate::backend::bind9')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({ :hostname => 'node.example.com' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::profile::base::designate'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
69
spec/classes/tripleo_profile_base_designate_worker_spec.rb
Normal file
69
spec/classes/tripleo_profile_base_designate_worker_spec.rb
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2020 Red Hat, Inc.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License"); you may
|
||||||
|
# not use this file except in compliance with the License. You may obtain
|
||||||
|
# a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
||||||
|
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
||||||
|
# License for the specific language governing permissions and limitations
|
||||||
|
# under the License.
|
||||||
|
#
|
||||||
|
|
||||||
|
require 'spec_helper'
|
||||||
|
|
||||||
|
describe 'tripleo::profile::base::designate::worker' do
|
||||||
|
shared_examples_for 'tripleo::profile::base::designate::worker' do
|
||||||
|
let(:pre_condition) do
|
||||||
|
<<-eos
|
||||||
|
class { 'tripleo::profile::base::designate':
|
||||||
|
step => #{params[:step]},
|
||||||
|
oslomsg_rpc_hosts => [ 'localhost' ],
|
||||||
|
oslomsg_rpc_username => 'designate',
|
||||||
|
oslomsg_rpc_password => 'foo'
|
||||||
|
}
|
||||||
|
eos
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step less than 4' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 1,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::worker')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to_not contain_class('designate::worker')
|
||||||
|
is_expected.to_not contain_file('designate rndc key')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
context 'with step 4' do
|
||||||
|
let(:params) { {
|
||||||
|
:step => 4,
|
||||||
|
} }
|
||||||
|
|
||||||
|
it {
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate::worker')
|
||||||
|
is_expected.to contain_class('tripleo::profile::base::designate')
|
||||||
|
is_expected.to contain_class('designate::worker')
|
||||||
|
is_expected.to_not contain_file('designate rndc key')
|
||||||
|
}
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
on_supported_os.each do |os, facts|
|
||||||
|
context "on #{os}" do
|
||||||
|
let(:facts) do
|
||||||
|
facts.merge({ :hostname => 'node.example.com' })
|
||||||
|
end
|
||||||
|
|
||||||
|
it_behaves_like 'tripleo::profile::base::designate::worker'
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
3
spec/fixtures/hieradata/default.yaml
vendored
3
spec/fixtures/hieradata/default.yaml
vendored
@ -39,8 +39,9 @@ cinder::backup::nfs::backup_share: '/mnt/backup'
|
|||||||
cinder::rabbit_password: 'password'
|
cinder::rabbit_password: 'password'
|
||||||
cinder::keystone::authtoken::password: 'password'
|
cinder::keystone::authtoken::password: 'password'
|
||||||
# designate related items
|
# designate related items
|
||||||
designate_api_short_bootstrap_node_name: node
|
designate_central_short_bootstrap_node_name: node
|
||||||
designate::keystone::authtoken::password: 'password'
|
designate::keystone::authtoken::password: 'password'
|
||||||
|
designate::rabbit_password: 'password'
|
||||||
# glance related items
|
# glance related items
|
||||||
glance_api_short_bootstrap_node_name : node
|
glance_api_short_bootstrap_node_name : node
|
||||||
glance::api::authtoken::password: 'password'
|
glance::api::authtoken::password: 'password'
|
||||||
|
Loading…
Reference in New Issue
Block a user