nova_keystone_authtoken_spec.rb 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. require 'spec_helper'
  2. describe 'nova::keystone::authtoken' do
  3. let :params do
  4. { :password => 'nova_password', }
  5. end
  6. shared_examples 'nova authtoken' do
  7. context 'with default parameters' do
  8. it 'configure keystone_authtoken' do
  9. is_expected.to contain_nova_config('keystone_authtoken/username').with_value('nova')
  10. is_expected.to contain_nova_config('keystone_authtoken/password').with_value('nova_password')
  11. is_expected.to contain_nova_config('keystone_authtoken/auth_url').with_value('http://127.0.0.1:35357/')
  12. is_expected.to contain_nova_config('keystone_authtoken/project_name').with_value('services')
  13. is_expected.to contain_nova_config('keystone_authtoken/user_domain_name').with_value('<SERVICE DEFAULT>')
  14. is_expected.to contain_nova_config('keystone_authtoken/project_domain_name').with_value('<SERVICE DEFAULT>')
  15. is_expected.to contain_nova_config('keystone_authtoken/insecure').with_value('<SERVICE DEFAULT>')
  16. is_expected.to contain_nova_config('keystone_authtoken/auth_section').with_value('<SERVICE DEFAULT>')
  17. is_expected.to contain_nova_config('keystone_authtoken/auth_type').with_value('password')
  18. is_expected.to contain_nova_config('keystone_authtoken/auth_uri').with_value('http://127.0.0.1:5000/')
  19. is_expected.to contain_nova_config('keystone_authtoken/auth_version').with_value('<SERVICE DEFAULT>')
  20. is_expected.to contain_nova_config('keystone_authtoken/cache').with_value('<SERVICE DEFAULT>')
  21. is_expected.to contain_nova_config('keystone_authtoken/cafile').with_value('<SERVICE DEFAULT>')
  22. is_expected.to contain_nova_config('keystone_authtoken/certfile').with_value('<SERVICE DEFAULT>')
  23. is_expected.to contain_nova_config('keystone_authtoken/check_revocations_for_cached').with_value('<SERVICE DEFAULT>')
  24. is_expected.to contain_nova_config('keystone_authtoken/delay_auth_decision').with_value('<SERVICE DEFAULT>')
  25. is_expected.to contain_nova_config('keystone_authtoken/enforce_token_bind').with_value('<SERVICE DEFAULT>')
  26. is_expected.to contain_nova_config('keystone_authtoken/hash_algorithms').with_value('<SERVICE DEFAULT>')
  27. is_expected.to contain_nova_config('keystone_authtoken/http_connect_timeout').with_value('<SERVICE DEFAULT>')
  28. is_expected.to contain_nova_config('keystone_authtoken/http_request_max_retries').with_value('<SERVICE DEFAULT>')
  29. is_expected.to contain_nova_config('keystone_authtoken/include_service_catalog').with_value('<SERVICE DEFAULT>')
  30. is_expected.to contain_nova_config('keystone_authtoken/keyfile').with_value('<SERVICE DEFAULT>')
  31. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_conn_get_timeout').with_value('<SERVICE DEFAULT>')
  32. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_dead_retry').with_value('<SERVICE DEFAULT>')
  33. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_maxsize').with_value('<SERVICE DEFAULT>')
  34. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_socket_timeout').with_value('<SERVICE DEFAULT>')
  35. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_unused_timeout').with_value('<SERVICE DEFAULT>')
  36. is_expected.to contain_nova_config('keystone_authtoken/memcache_secret_key').with_value('<SERVICE DEFAULT>')
  37. is_expected.to contain_nova_config('keystone_authtoken/memcache_security_strategy').with_value('<SERVICE DEFAULT>')
  38. is_expected.to contain_nova_config('keystone_authtoken/memcache_use_advanced_pool').with_value('<SERVICE DEFAULT>')
  39. is_expected.to contain_nova_config('keystone_authtoken/memcached_servers').with_value('<SERVICE DEFAULT>')
  40. is_expected.to contain_nova_config('keystone_authtoken/region_name').with_value('<SERVICE DEFAULT>')
  41. is_expected.to contain_nova_config('keystone_authtoken/revocation_cache_time').with_value('<SERVICE DEFAULT>')
  42. is_expected.to contain_nova_config('keystone_authtoken/token_cache_time').with_value('<SERVICE DEFAULT>')
  43. end
  44. end
  45. context 'when overriding parameters' do
  46. before do
  47. params.merge!({
  48. :auth_uri => 'https://10.0.0.1:9999/',
  49. :username => 'myuser',
  50. :password => 'mypasswd',
  51. :auth_url => 'http://:127.0.0.1:35357',
  52. :project_name => 'service_project',
  53. :user_domain_name => 'domainX',
  54. :project_domain_name => 'domainX',
  55. :insecure => false,
  56. :auth_section => 'new_section',
  57. :auth_type => 'password',
  58. :auth_version => 'v3',
  59. :cache => 'somevalue',
  60. :cafile =>
  61. '/opt/stack/data/cafile.pem',
  62. :certfile => 'certfile.crt',
  63. :check_revocations_for_cached => false,
  64. :delay_auth_decision => false,
  65. :enforce_token_bind => 'permissive',
  66. :hash_algorithms => 'md5',
  67. :http_connect_timeout => '300',
  68. :http_request_max_retries => '3',
  69. :include_service_catalog => true,
  70. :keyfile => 'keyfile',
  71. :memcache_pool_conn_get_timeout => '9',
  72. :memcache_pool_dead_retry => '302',
  73. :memcache_pool_maxsize => '11',
  74. :memcache_pool_socket_timeout => '2',
  75. :memcache_pool_unused_timeout => '61',
  76. :memcache_secret_key => 'secret_key',
  77. :memcache_security_strategy => 'ENCRYPT',
  78. :memcache_use_advanced_pool => true,
  79. :memcached_servers =>
  80. ['memcached01:11211','memcached02:11211'],
  81. :manage_memcache_package => true,
  82. :region_name => 'region2',
  83. :revocation_cache_time => '11',
  84. :token_cache_time => '301',
  85. })
  86. end
  87. it 'configure keystone_authtoken' do
  88. is_expected.to contain_nova_config('keystone_authtoken/auth_uri').with_value('https://10.0.0.1:9999/')
  89. is_expected.to contain_nova_config('keystone_authtoken/username').with_value(params[:username])
  90. is_expected.to contain_nova_config('keystone_authtoken/password').with_value(params[:password]).with_secret(true)
  91. is_expected.to contain_nova_config('keystone_authtoken/auth_url').with_value(params[:auth_url])
  92. is_expected.to contain_nova_config('keystone_authtoken/project_name').with_value(params[:project_name])
  93. is_expected.to contain_nova_config('keystone_authtoken/user_domain_name').with_value(params[:user_domain_name])
  94. is_expected.to contain_nova_config('keystone_authtoken/project_domain_name').with_value(params[:project_domain_name])
  95. is_expected.to contain_nova_config('keystone_authtoken/insecure').with_value(params[:insecure])
  96. is_expected.to contain_nova_config('keystone_authtoken/auth_section').with_value(params[:auth_section])
  97. is_expected.to contain_nova_config('keystone_authtoken/auth_type').with_value(params[:auth_type])
  98. is_expected.to contain_nova_config('keystone_authtoken/auth_version').with_value(params[:auth_version])
  99. is_expected.to contain_nova_config('keystone_authtoken/cache').with_value(params[:cache])
  100. is_expected.to contain_nova_config('keystone_authtoken/cafile').with_value(params[:cafile])
  101. is_expected.to contain_nova_config('keystone_authtoken/certfile').with_value(params[:certfile])
  102. is_expected.to contain_nova_config('keystone_authtoken/check_revocations_for_cached').with_value(params[:check_revocations_for_cached])
  103. is_expected.to contain_nova_config('keystone_authtoken/delay_auth_decision').with_value(params[:delay_auth_decision])
  104. is_expected.to contain_nova_config('keystone_authtoken/enforce_token_bind').with_value(params[:enforce_token_bind])
  105. is_expected.to contain_nova_config('keystone_authtoken/hash_algorithms').with_value(params[:hash_algorithms])
  106. is_expected.to contain_nova_config('keystone_authtoken/http_connect_timeout').with_value(params[:http_connect_timeout])
  107. is_expected.to contain_nova_config('keystone_authtoken/http_request_max_retries').with_value(params[:http_request_max_retries])
  108. is_expected.to contain_nova_config('keystone_authtoken/include_service_catalog').with_value(params[:include_service_catalog])
  109. is_expected.to contain_nova_config('keystone_authtoken/keyfile').with_value(params[:keyfile])
  110. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_conn_get_timeout').with_value(params[:memcache_pool_conn_get_timeout])
  111. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_dead_retry').with_value(params[:memcache_pool_dead_retry])
  112. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_maxsize').with_value(params[:memcache_pool_maxsize])
  113. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_socket_timeout').with_value(params[:memcache_pool_socket_timeout])
  114. is_expected.to contain_nova_config('keystone_authtoken/memcache_pool_unused_timeout').with_value(params[:memcache_pool_unused_timeout])
  115. is_expected.to contain_nova_config('keystone_authtoken/memcache_secret_key').with_value(params[:memcache_secret_key])
  116. is_expected.to contain_nova_config('keystone_authtoken/memcache_security_strategy').with_value(params[:memcache_security_strategy])
  117. is_expected.to contain_nova_config('keystone_authtoken/memcache_use_advanced_pool').with_value(params[:memcache_use_advanced_pool])
  118. is_expected.to contain_nova_config('keystone_authtoken/memcached_servers').with_value('memcached01:11211,memcached02:11211')
  119. is_expected.to contain_nova_config('keystone_authtoken/region_name').with_value(params[:region_name])
  120. is_expected.to contain_nova_config('keystone_authtoken/revocation_cache_time').with_value(params[:revocation_cache_time])
  121. is_expected.to contain_nova_config('keystone_authtoken/token_cache_time').with_value(params[:token_cache_time])
  122. end
  123. it 'installs python memcache package' do
  124. is_expected.to contain_package('python-memcache')
  125. end
  126. end
  127. end
  128. on_supported_os({
  129. :supported_os => OSDefaults.get_supported_os
  130. }).each do |os,facts|
  131. context "on #{os}" do
  132. let (:facts) do
  133. facts.merge!(OSDefaults.get_facts())
  134. end
  135. it_configures 'nova authtoken'
  136. end
  137. end
  138. end