Merge pull request #96 from bodepd/dev
Refactor nova::compute vncproxy settings
This commit is contained in:
commit
56797a204e
|
@ -186,14 +186,13 @@ class { 'nova::consoleauth':
|
|||
enabled => true
|
||||
}
|
||||
|
||||
class { 'nova::vncproxy':
|
||||
host => $public_hostname,
|
||||
}
|
||||
class { 'nova::vncproxy': }
|
||||
|
||||
class { 'nova::compute':
|
||||
enabled => true,
|
||||
vnc_enabled => true,
|
||||
vncserver_proxyclient_address => '127.0.0.1',
|
||||
vncproxy_host => $public_hostname,
|
||||
}
|
||||
|
||||
class { 'nova::compute::libvirt':
|
||||
|
|
|
@ -1,11 +1,32 @@
|
|||
#schedulee this class should probably never be declared except
|
||||
# from the virtualization implementation of the compute node
|
||||
class nova::compute(
|
||||
$enabled = false,
|
||||
$vnc_enabled = true,
|
||||
$enabled = false,
|
||||
$vnc_enabled = true,
|
||||
$vncserver_proxyclient_address = '127.0.0.1',
|
||||
$novncproxy_base_url = 'http://127.0.0.1:6080/vnc_auto.html'
|
||||
) {
|
||||
$vncproxy_host = false,
|
||||
$vncproxy_protocol = 'http',
|
||||
$vncproxy_port = '6080',
|
||||
$vncproxy_path = '/vnc_auto.html'
|
||||
) {
|
||||
|
||||
if ($vnc_enabled) {
|
||||
if !($vncproxy_host) {
|
||||
warning("VNC is enabled and \$vncproxy_host must be specified nova::compute assumes that it can collect the exported resource: Nova_config[vncproxy_base_url]")
|
||||
Nova_config <<| title == 'vncproxy_base_url' |>>
|
||||
} else {
|
||||
$vncproxy_base_url = "${vncproxy_protocol}://${vncproxy_host}:${vncproxy_port}${vncproxy_path}"
|
||||
# config for vnc proxy
|
||||
nova_config {
|
||||
'novncproxy_base_url': value => $vncproxy_base_url;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
nova_config {
|
||||
'vnc_enabled': value => $vnc_enabled;
|
||||
'vncserver_proxyclient_address': value => $vncserver_proxyclient_address;
|
||||
}
|
||||
|
||||
nova::generic_service { 'compute':
|
||||
enabled => $enabled,
|
||||
|
@ -14,11 +35,4 @@ class nova::compute(
|
|||
before => Exec['networking-refresh']
|
||||
}
|
||||
|
||||
# config for vnc proxy
|
||||
nova_config {
|
||||
'vnc_enabled': value => $vnc_enabled;
|
||||
'vncserver_proxyclient_address': value => $vncserver_proxyclient_address;
|
||||
'novncproxy_base_url': value => $novncproxy_base_url;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -6,40 +6,70 @@ describe 'nova::compute' do
|
|||
'include nova'
|
||||
end
|
||||
|
||||
describe 'on debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
describe 'with required params provided' do
|
||||
|
||||
let :params do
|
||||
{
|
||||
:vncproxy_host => '127.0.0.1'
|
||||
}
|
||||
end
|
||||
it { should contain_service('nova-compute').with(
|
||||
'name' => 'nova-compute',
|
||||
'ensure' => 'stopped',
|
||||
'enable' => false
|
||||
)}
|
||||
it { should contain_package('nova-compute').with(
|
||||
'name' => 'nova-compute',
|
||||
'ensure' => 'present',
|
||||
'notify' => 'Service[nova-compute]'
|
||||
) }
|
||||
describe 'with enabled as true' do
|
||||
let :params do
|
||||
{:enabled => true}
|
||||
|
||||
describe 'on debian platforms' do
|
||||
let :facts do
|
||||
{ :osfamily => 'Debian' }
|
||||
end
|
||||
|
||||
it { should contain_nova_config('vnc_enabled').with_value('true') }
|
||||
it { should contain_nova_config('vncserver_proxyclient_address').with_value('127.0.0.1') }
|
||||
it { should contain_nova_config('novncproxy_base_url').with_value(
|
||||
'http://127.0.0.1:6080/vnc_auto.html'
|
||||
) }
|
||||
|
||||
it { should contain_service('nova-compute').with(
|
||||
'name' => 'nova-compute',
|
||||
'ensure' => 'stopped',
|
||||
'enable' => false
|
||||
)}
|
||||
it { should contain_package('nova-compute').with(
|
||||
'name' => 'nova-compute',
|
||||
'ensure' => 'present',
|
||||
'notify' => 'Service[nova-compute]'
|
||||
) }
|
||||
describe 'with enabled as true' do
|
||||
let :params do
|
||||
{
|
||||
:enabled => true,
|
||||
:vncproxy_host => '127.0.0.1'
|
||||
}
|
||||
end
|
||||
it { should contain_service('nova-compute').with(
|
||||
'name' => 'nova-compute',
|
||||
'ensure' => 'running',
|
||||
'enable' => true
|
||||
)}
|
||||
end
|
||||
describe 'with vnc_enabled set to false' do
|
||||
|
||||
let :params do
|
||||
{:vnc_enabled => false}
|
||||
end
|
||||
|
||||
it { should contain_nova_config('vnc_enabled').with_value('false') }
|
||||
it { should contain_nova_config('vncserver_proxyclient_address').with('127.0.0.1')}
|
||||
it { should_not contain_nova_config('novncproxy_base_url') }
|
||||
|
||||
end
|
||||
it { should contain_service('nova-compute').with(
|
||||
'name' => 'nova-compute',
|
||||
'ensure' => 'running',
|
||||
'enable' => true
|
||||
)}
|
||||
end
|
||||
end
|
||||
describe 'on rhel' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
describe 'on rhel' do
|
||||
let :facts do
|
||||
{ :osfamily => 'RedHat' }
|
||||
end
|
||||
it { should contain_service('nova-compute').with(
|
||||
'name' => 'openstack-nova-compute',
|
||||
'ensure' => 'stopped',
|
||||
'enable' => false
|
||||
)}
|
||||
it { should_not contain_package('nova-compute') }
|
||||
end
|
||||
it { should contain_service('nova-compute').with(
|
||||
'name' => 'openstack-nova-compute',
|
||||
'ensure' => 'stopped',
|
||||
'enable' => false
|
||||
)}
|
||||
it { should_not contain_package('nova-compute') }
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue