nova_compute_vmware_spec.rb 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. require 'spec_helper'
  2. describe 'nova::compute::vmware' do
  3. let :params do
  4. {:host_ip => '127.0.0.1',
  5. :host_username => 'root',
  6. :host_password => 'passw0rd',
  7. :cluster_name => 'cluster1'}
  8. end
  9. let :optional_params do
  10. {:api_retry_count => 10,
  11. :maximum_objects => 100,
  12. :task_poll_interval => 10.5,
  13. :use_linked_clone => false,
  14. :compute_driver => 'vmwareapi.FoobarDriver',
  15. :insecure => true,
  16. :datastore_regex => '/(?:[^:]|:[^:])+/' }
  17. end
  18. shared_examples_for 'vmware api' do
  19. context 'with default parameters' do
  20. it 'configures vmwareapi in nova.conf' do
  21. is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value('vmwareapi.VMwareVCDriver')
  22. is_expected.to contain_nova_config('vmware/host_ip').with_value(params[:host_ip])
  23. is_expected.to contain_nova_config('vmware/host_username').with_value(params[:host_username])
  24. is_expected.to contain_nova_config('vmware/host_password').with_value(params[:host_password])
  25. is_expected.to contain_nova_config('vmware/cluster_name').with_value(params[:cluster_name])
  26. is_expected.to contain_nova_config('vmware/api_retry_count').with_value(5)
  27. is_expected.to contain_nova_config('vmware/maximum_objects').with_value(100)
  28. is_expected.to contain_nova_config('vmware/task_poll_interval').with_value(5.0)
  29. is_expected.to contain_nova_config('vmware/use_linked_clone').with_value(true)
  30. is_expected.to contain_nova_config('vmware/insecure').with_value('<SERVICE DEFAULT>')
  31. is_expected.to contain_nova_config('vmware/ca_file').with_value('<SERVICE DEFAULT>')
  32. is_expected.to contain_nova_config('vmware/datastore_regex').with_value('<SERVICE DEFAULT>')
  33. end
  34. it 'installs suds python package' do
  35. is_expected.to contain_package('python-suds').with(
  36. :ensure => 'present'
  37. )
  38. end
  39. end
  40. end
  41. context 'with optional parameters' do
  42. before :each do
  43. params.merge!(optional_params)
  44. end
  45. it 'configures vmwareapi in nova.conf' do
  46. is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value(params[:compute_driver])
  47. is_expected.to contain_nova_config('vmware/api_retry_count').with_value(params[:api_retry_count])
  48. is_expected.to contain_nova_config('vmware/maximum_objects').with_value(params[:maximum_objects])
  49. is_expected.to contain_nova_config('vmware/task_poll_interval').with_value(params[:task_poll_interval])
  50. is_expected.to contain_nova_config('vmware/use_linked_clone').with_value(false)
  51. is_expected.to contain_nova_config('vmware/insecure').with_value(params[:insecure])
  52. is_expected.to contain_nova_config('vmware/datastore_regex').with_value(params[:datastore_regex])
  53. end
  54. end
  55. on_supported_os({
  56. :supported_os => OSDefaults.get_supported_os
  57. }).each do |os, facts|
  58. context "on #{os}" do
  59. let (:facts) do
  60. facts.merge!(OSDefaults.get_facts())
  61. end
  62. it_configures 'vmware api'
  63. end
  64. end
  65. end