nova_compute_xenserver_spec.rb 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. require 'spec_helper'
  2. describe 'nova::compute::xenserver' do
  3. let :params do
  4. { :connection_url => 'https://127.0.0.1',
  5. :connection_username => 'root',
  6. :connection_password => 'passw0rd' }
  7. end
  8. let :optional_params do
  9. { :ovs_integration_bridge => 'xapi1',
  10. :agent_timeout => '30',
  11. :agent_version_timeout => '300',
  12. :agent_resetnetwork_timeout => '60',
  13. :agent_path => '/usr/sbin/xe-update-guest-attrs',
  14. :disable_agent => 'false',
  15. :use_agent_default => 'false',
  16. :login_timeout => '10',
  17. :connection_concurrent => '5',
  18. :vhd_coalesce_poll_interval => '5.0',
  19. :check_host => 'true',
  20. :vhd_coalesce_max_attempts => '20',
  21. :sr_base_path => '/var/run/sr-mount',
  22. :target_host => '127.0.0.1',
  23. :target_port => '3260',
  24. :iqn_prefix => 'iqn.2010-10.org.openstack',
  25. :remap_vbd_dev => 'false',
  26. :remap_vbd_dev_prefix => 'sd',
  27. :torrent_base_url => 'http://127.0.0.1/',
  28. :torrent_seed_chance => '1.0',
  29. :torrent_seed_duration => '3600',
  30. :torrent_max_last_accessed => '86400',
  31. :torrent_listen_port_start => '6881',
  32. :torrent_listen_port_end => '6891',
  33. :torrent_download_stall_cutoff => '600',
  34. :torrent_max_seeder_processes_per_host => '1',
  35. :use_join_force => 'true',
  36. :cache_images => 'all',
  37. :image_compression_level => '1',
  38. :default_os_type => 'linux',
  39. :block_device_creation_timeout => '10',
  40. :max_kernel_ramdisk_size => '16777216',
  41. :sr_matching_filter => 'default-sr:true',
  42. :sparse_copy => 'true',
  43. :num_vbd_unplug_retries => '10',
  44. :torrent_images => 'none',
  45. :ipxe_network_name => 'public',
  46. :ipxe_boot_menu_url => 'http://127.0.0.1/',
  47. :ipxe_mkisofs_cmd => 'mkisofs',
  48. :running_timeout => '10',
  49. :vif_driver => 'nova.virt.xenapi.vif.XenAPIBridgeDriver',
  50. :image_upload_handler => 'nova.virt.xenapi.image.glance.GlanceStore',
  51. :introduce_vdi_retry_wait => '20' }
  52. end
  53. context 'with required parameters' do
  54. it 'configures xenapi in nova.conf' do
  55. is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value('xenapi.XenAPIDriver')
  56. is_expected.to contain_nova_config('xenserver/connection_url').with_value(params[:connection_url])
  57. is_expected.to contain_nova_config('xenserver/connection_username').with_value(params[:connection_username])
  58. is_expected.to contain_nova_config('xenserver/connection_password').with_value(params[:connection_password])
  59. end
  60. it 'installs xenapi with pip' do
  61. is_expected.to contain_package('xenapi').with(
  62. :ensure => 'present',
  63. :provider => 'pip'
  64. )
  65. end
  66. end
  67. context 'with overridden parameters' do
  68. before do
  69. params.merge!({:compute_driver => 'xenapi.FoobarDriver'})
  70. end
  71. it 'configures xenapi in nova.conf' do
  72. is_expected.to contain_nova_config('DEFAULT/compute_driver').with_value('xenapi.FoobarDriver')
  73. end
  74. end
  75. context 'with optional parameters' do
  76. before :each do
  77. params.merge!(optional_params)
  78. end
  79. it 'configures xenapi in nova.conf' do
  80. is_expected.to contain_nova_config('xenserver/ovs_integration_bridge').with_value(params[:ovs_integration_bridge])
  81. is_expected.to contain_nova_config('xenserver/agent_timeout').with_value(params[:agent_timeout])
  82. is_expected.to contain_nova_config('xenserver/agent_version_timeout').with_value(params[:agent_version_timeout])
  83. is_expected.to contain_nova_config('xenserver/agent_resetnetwork_timeout').with_value(params[:agent_resetnetwork_timeout])
  84. is_expected.to contain_nova_config('xenserver/agent_path').with_value(params[:agent_path])
  85. is_expected.to contain_nova_config('xenserver/disable_agent').with_value(params[:disable_agent])
  86. is_expected.to contain_nova_config('xenserver/use_agent_default').with_value(params[:use_agent_default])
  87. is_expected.to contain_nova_config('xenserver/login_timeout').with_value(params[:login_timeout])
  88. is_expected.to contain_nova_config('xenserver/connection_concurrent').with_value(params[:connection_concurrent])
  89. is_expected.to contain_nova_config('xenserver/vhd_coalesce_poll_interval').with_value(params[:vhd_coalesce_poll_interval])
  90. is_expected.to contain_nova_config('xenserver/check_host').with_value(params[:check_host])
  91. is_expected.to contain_nova_config('xenserver/vhd_coalesce_max_attempts').with_value(params[:vhd_coalesce_max_attempts])
  92. is_expected.to contain_nova_config('xenserver/sr_base_path').with_value(params[:sr_base_path])
  93. is_expected.to contain_nova_config('xenserver/target_host').with_value(params[:target_host])
  94. is_expected.to contain_nova_config('xenserver/target_port').with_value(params[:target_port])
  95. is_expected.to contain_nova_config('xenserver/iqn_prefix').with_value(params[:iqn_prefix])
  96. is_expected.to contain_nova_config('xenserver/remap_vbd_dev').with_value(params[:remap_vbd_dev])
  97. is_expected.to contain_nova_config('xenserver/remap_vbd_dev_prefix').with_value(params[:remap_vbd_dev_prefix])
  98. is_expected.to contain_nova_config('xenserver/torrent_base_url').with_value(params[:torrent_base_url])
  99. is_expected.to contain_nova_config('xenserver/torrent_seed_chance').with_value(params[:torrent_seed_chance])
  100. is_expected.to contain_nova_config('xenserver/torrent_seed_duration').with_value(params[:torrent_seed_duration])
  101. is_expected.to contain_nova_config('xenserver/torrent_max_last_accessed').with_value(params[:torrent_max_last_accessed])
  102. is_expected.to contain_nova_config('xenserver/torrent_listen_port_start').with_value(params[:torrent_listen_port_start])
  103. is_expected.to contain_nova_config('xenserver/torrent_listen_port_end').with_value(params[:torrent_listen_port_end])
  104. is_expected.to contain_nova_config('xenserver/torrent_download_stall_cutoff').with_value(params[:torrent_download_stall_cutoff])
  105. is_expected.to contain_nova_config('xenserver/torrent_max_seeder_processes_per_host').with_value(params[:torrent_max_seeder_processes_per_host])
  106. is_expected.to contain_nova_config('xenserver/use_join_force').with_value(params[:use_join_force])
  107. is_expected.to contain_nova_config('xenserver/cache_images').with_value(params[:cache_images])
  108. is_expected.to contain_nova_config('xenserver/image_compression_level').with_value(params[:image_compression_level])
  109. is_expected.to contain_nova_config('xenserver/default_os_type').with_value(params[:default_os_type])
  110. is_expected.to contain_nova_config('xenserver/block_device_creation_timeout').with_value(params[:block_device_creation_timeout])
  111. is_expected.to contain_nova_config('xenserver/max_kernel_ramdisk_size').with_value(params[:max_kernel_ramdisk_size])
  112. is_expected.to contain_nova_config('xenserver/sr_matching_filter').with_value(params[:sr_matching_filter])
  113. is_expected.to contain_nova_config('xenserver/sparse_copy').with_value(params[:sparse_copy])
  114. is_expected.to contain_nova_config('xenserver/num_vbd_unplug_retries').with_value(params[:num_vbd_unplug_retries])
  115. is_expected.to contain_nova_config('xenserver/torrent_images').with_value(params[:torrent_images])
  116. is_expected.to contain_nova_config('xenserver/ipxe_network_name').with_value(params[:ipxe_network_name])
  117. is_expected.to contain_nova_config('xenserver/ipxe_boot_menu_url').with_value(params[:ipxe_boot_menu_url])
  118. is_expected.to contain_nova_config('xenserver/ipxe_mkisofs_cmd').with_value(params[:ipxe_mkisofs_cmd])
  119. is_expected.to contain_nova_config('xenserver/running_timeout').with_value(params[:running_timeout])
  120. is_expected.to contain_nova_config('xenserver/vif_driver').with_value(params[:vif_driver])
  121. is_expected.to contain_nova_config('xenserver/image_upload_handler').with_value(params[:image_upload_handler])
  122. is_expected.to contain_nova_config('xenserver/introduce_vdi_retry_wait').with_value(params[:introduce_vdi_retry_wait])
  123. end
  124. end
  125. end