diff --git a/manifests/compute/hypervisor.pp b/manifests/compute/hypervisor.pp index 0c2c4ad7..9a2af922 100644 --- a/manifests/compute/hypervisor.pp +++ b/manifests/compute/hypervisor.pp @@ -19,8 +19,8 @@ class privatecloud::compute::hypervisor( $api_eth = $os_params::api_eth, $libvirt_type = $os_params::libvirt_type, - $ks_nova_public_proto = $os_params::ks_nova_public_proto, - $ks_nova_public_host = $os_params::ks_nova_public_host + $ks_nova_internal_proto = $os_params::ks_nova_internal_proto, + $ks_nova_internal_host = $os_params::ks_nova_internal_host ) { include 'privatecloud::compute' @@ -92,8 +92,8 @@ Host * agent_enabled => true, server_listen => '0.0.0.0', server_proxyclient_address => $api_eth, - proxy_protocol => $ks_nova_public_proto, - proxy_host => $ks_nova_public_host, + proxy_protocol => $ks_nova_internal_proto, + proxy_host => $ks_nova_internal_host, } class { 'nova::compute::neutron': } diff --git a/spec/classes/privatecloud_compute_controller_spec.rb b/spec/classes/privatecloud_compute_controller_spec.rb index f0064437..4965e3f2 100644 --- a/spec/classes/privatecloud_compute_controller_spec.rb +++ b/spec/classes/privatecloud_compute_controller_spec.rb @@ -42,12 +42,27 @@ describe 'privatecloud::compute::controller' do :neutron_metadata_proxy_shared_secret => 'secrete' } end - it 'configure compute controller' do + it 'configure nova-scheduler' do should contain_class('nova::scheduler').with(:enabled => true) + end + + it 'configure nova-cert' do should contain_class('nova::cert').with(:enabled => true) + end + + it 'configure nova-consoleauth' do should contain_class('nova::consoleauth').with(:enabled => true) + end + + it 'configure nova-conductor' do should contain_class('nova::conductor').with(:enabled => true) + end + + it 'configure nova-spircehtml5proxy' do should contain_class('nova::spicehtml5proxy').with(:enabled => true) + end + + it 'configure nova-api' do should contain_class('nova::api').with( :enabled => true, :auth_host => '10.0.0.1', diff --git a/spec/classes/privatecloud_compute_hypervisor_spec.rb b/spec/classes/privatecloud_compute_hypervisor_spec.rb index e69de29b..90304a23 100644 --- a/spec/classes/privatecloud_compute_hypervisor_spec.rb +++ b/spec/classes/privatecloud_compute_hypervisor_spec.rb @@ -0,0 +1,93 @@ +# +# Copyright (C) 2014 eNovance SAS +# +# 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. +# +# Unit tests for privatecloud::compute::hypervisor class +# + +require 'spec_helper' + +describe 'privatecloud::compute::hypervisor' do + + shared_examples_for 'openstack compute hypervisor' do + + let :pre_condition do + "class { 'privatecloud::compute': + nova_db_host => '10.0.0.1', + nova_db_user => 'nova', + nova_db_password => 'secrete', + rabbit_hosts => ['10.0.0.1'], + rabbit_password => 'secrete', + ks_glance_internal_host => '10.0.0.1', + glance_port => '9292', + verbose => true, + debug => true }" + end + + let :params do + { :libvirt_type => 'kvm', + :api_eth => '10.0.0.1', + :ks_nova_internal_proto => 'http', + :ks_nova_internal_host => '10.0.0.1' } + end + + it 'configure nova-compute' do + should contain_class('nova::compute').with( + :enabled => true, + :vnc_enabled => false, + :virtio_nic => false, + :neutron_enabled => true + ) + end + + it 'configure libvirt driver' do + should contain_class('nova::compute::libvirt').with( + :libvirt_type => 'kvm', + :vncserver_listen => '0.0.0.0', + :migration_support => true, + ) + end + + it 'configure nova spice agent' do + should contain_class('nova::compute::spice').with( + :agent_enabled => true, + :server_listen => '0.0.0.0', + :server_proxyclient_address => '10.0.0.1', + :proxy_protocol => 'http', + :proxy_host => '10.0.0.1' + ) + end + + it 'configure nova compute with neutron' do + should contain_class('nova::compute::neutron') + end + end + + context 'on Debian platforms' do + let :facts do + { :osfamily => 'Debian' } + end + + it_configures 'openstack compute hypervisor' + end + + context 'on RedHat platforms' do + let :facts do + { :osfamily => 'RedHat' } + end + + it_configures 'openstack compute hypervisor' + end + +end diff --git a/spec/classes/privatecloud_dashboard_spec.rb b/spec/classes/privatecloud_dashboard_spec.rb index 75573786..806cf52b 100644 --- a/spec/classes/privatecloud_dashboard_spec.rb +++ b/spec/classes/privatecloud_dashboard_spec.rb @@ -30,7 +30,7 @@ describe 'privatecloud::dashboard' do :api_eth => '10.0.0.1' } end - it 'configure horizon with some params' do + it 'configure horizon' do should contain_class('horizon').with( :listen_ssl => false, :secret_key => '/etc/ssl/secret',