fog 1.34.0 → 1.35.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (350) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +10 -24
  3. data/CHANGELOG.md +84 -0
  4. data/CONTRIBUTING.md +1 -1
  5. data/README.md +4 -20
  6. data/fog.gemspec +7 -5
  7. data/lib/fog.rb +1 -0
  8. data/lib/fog/bin.rb +1 -0
  9. data/lib/fog/digitalocean/compute_v2.rb +108 -0
  10. data/lib/fog/digitalocean/models/compute_v2/flavor.rb +17 -0
  11. data/lib/fog/digitalocean/models/compute_v2/flavors.rb +21 -0
  12. data/lib/fog/digitalocean/models/compute_v2/image.rb +25 -0
  13. data/lib/fog/digitalocean/models/compute_v2/images.rb +36 -0
  14. data/lib/fog/digitalocean/models/compute_v2/region.rb +13 -0
  15. data/lib/fog/digitalocean/models/compute_v2/regions.rb +21 -0
  16. data/lib/fog/digitalocean/models/compute_v2/server.rb +166 -0
  17. data/lib/fog/digitalocean/models/compute_v2/servers.rb +39 -0
  18. data/lib/fog/digitalocean/models/compute_v2/ssh_key.rb +30 -0
  19. data/lib/fog/digitalocean/models/compute_v2/ssh_keys.rb +35 -0
  20. data/lib/fog/digitalocean/requests/compute_v2/change_kernel.rb +44 -0
  21. data/lib/fog/digitalocean/requests/compute_v2/convert_to_snapshot.rb +44 -0
  22. data/lib/fog/digitalocean/requests/compute_v2/create_server.rb +93 -0
  23. data/lib/fog/digitalocean/requests/compute_v2/create_ssh_key.rb +47 -0
  24. data/lib/fog/digitalocean/requests/compute_v2/delete_server.rb +28 -0
  25. data/lib/fog/digitalocean/requests/compute_v2/delete_ssh_key.rb +28 -0
  26. data/lib/fog/digitalocean/requests/compute_v2/disable_backups.rb +45 -0
  27. data/lib/fog/digitalocean/requests/compute_v2/enable_ipv6.rb +44 -0
  28. data/lib/fog/digitalocean/requests/compute_v2/enable_private_networking.rb +44 -0
  29. data/lib/fog/digitalocean/requests/compute_v2/get_droplet_action.rb +36 -0
  30. data/lib/fog/digitalocean/requests/compute_v2/get_image_details.rb +43 -0
  31. data/lib/fog/digitalocean/requests/compute_v2/get_server_details.rb +84 -0
  32. data/lib/fog/digitalocean/requests/compute_v2/get_ssh_key.rb +34 -0
  33. data/lib/fog/digitalocean/requests/compute_v2/list_droplet_actions.rb +38 -0
  34. data/lib/fog/digitalocean/requests/compute_v2/list_flavors.rb +131 -0
  35. data/lib/fog/digitalocean/requests/compute_v2/list_images.rb +50 -0
  36. data/lib/fog/digitalocean/requests/compute_v2/list_regions.rb +94 -0
  37. data/lib/fog/digitalocean/requests/compute_v2/list_servers.rb +28 -0
  38. data/lib/fog/digitalocean/requests/compute_v2/list_ssh_keys.rb +26 -0
  39. data/lib/fog/digitalocean/requests/compute_v2/password_reset.rb +44 -0
  40. data/lib/fog/digitalocean/requests/compute_v2/power_cycle.rb +44 -0
  41. data/lib/fog/digitalocean/requests/compute_v2/power_off.rb +44 -0
  42. data/lib/fog/digitalocean/requests/compute_v2/power_on.rb +44 -0
  43. data/lib/fog/digitalocean/requests/compute_v2/reboot_server.rb +44 -0
  44. data/lib/fog/digitalocean/requests/compute_v2/rebuild.rb +44 -0
  45. data/lib/fog/digitalocean/requests/compute_v2/rename.rb +44 -0
  46. data/lib/fog/digitalocean/requests/compute_v2/resize.rb +48 -0
  47. data/lib/fog/digitalocean/requests/compute_v2/restore.rb +44 -0
  48. data/lib/fog/digitalocean/requests/compute_v2/shutdown.rb +44 -0
  49. data/lib/fog/digitalocean/requests/compute_v2/snapshot.rb +44 -0
  50. data/lib/fog/digitalocean/requests/compute_v2/transfer_image.rb +44 -0
  51. data/lib/fog/digitalocean/requests/compute_v2/update_ssh_key.rb +46 -0
  52. data/lib/fog/digitalocean/requests/compute_v2/upgrade.rb +44 -0
  53. data/lib/fog/digitalocean/service.rb +51 -0
  54. data/lib/fog/linode/models/compute/kernels.rb +1 -1
  55. data/lib/fog/opennebula/models/compute/flavor.rb +13 -13
  56. data/lib/fog/opennebula/requests/compute/template_pool.rb +14 -11
  57. data/lib/fog/openstack.rb +2 -0
  58. data/lib/fog/openstack/core.rb +30 -3
  59. data/lib/fog/openstack/identity.rb +8 -7
  60. data/lib/fog/openstack/identity_v3.rb +1 -0
  61. data/lib/fog/openstack/image.rb +35 -130
  62. data/lib/fog/openstack/image_v1.rb +142 -0
  63. data/lib/fog/openstack/image_v2.rb +137 -0
  64. data/lib/fog/openstack/models/image_v1/image.rb +78 -0
  65. data/lib/fog/openstack/models/image_v1/images.rb +70 -0
  66. data/lib/fog/openstack/models/image_v2/image.rb +149 -0
  67. data/lib/fog/openstack/models/image_v2/images.rb +67 -0
  68. data/lib/fog/openstack/models/orchestration/stack.rb +5 -0
  69. data/lib/fog/openstack/models/volume/volume_type.rb +25 -0
  70. data/lib/fog/openstack/orchestration.rb +1 -0
  71. data/lib/fog/openstack/requests/compute/server_actions.rb +14 -3
  72. data/lib/fog/openstack/requests/{image → image_v1}/add_member_to_image.rb +2 -0
  73. data/lib/fog/openstack/requests/image_v1/create_image.rb +78 -0
  74. data/lib/fog/openstack/requests/image_v1/delete_image.rb +25 -0
  75. data/lib/fog/openstack/requests/image_v1/get_image.rb +47 -0
  76. data/lib/fog/openstack/requests/image_v1/get_image_by_id.rb +34 -0
  77. data/lib/fog/openstack/requests/image_v1/get_image_members.rb +31 -0
  78. data/lib/fog/openstack/requests/image_v1/get_shared_images.rb +31 -0
  79. data/lib/fog/openstack/requests/image_v1/list_public_images.rb +35 -0
  80. data/lib/fog/openstack/requests/image_v1/list_public_images_detailed.rb +37 -0
  81. data/lib/fog/openstack/requests/image_v1/remove_member_from_image.rb +25 -0
  82. data/lib/fog/openstack/requests/image_v1/set_tenant.rb +21 -0
  83. data/lib/fog/openstack/requests/image_v1/update_image.rb +66 -0
  84. data/lib/fog/openstack/requests/image_v1/update_image_members.rb +39 -0
  85. data/lib/fog/openstack/requests/image_v2/add_member_to_image.rb +26 -0
  86. data/lib/fog/openstack/requests/image_v2/add_tag_to_image.rb +25 -0
  87. data/lib/fog/openstack/requests/image_v2/create_image.rb +54 -0
  88. data/lib/fog/openstack/requests/image_v2/deactivate_image.rb +25 -0
  89. data/lib/fog/openstack/requests/image_v2/delete_image.rb +25 -0
  90. data/lib/fog/openstack/requests/image_v2/download_image.rb +29 -0
  91. data/lib/fog/openstack/requests/image_v2/get_image.rb +47 -0
  92. data/lib/fog/openstack/requests/image_v2/get_image_by_id.rb +34 -0
  93. data/lib/fog/openstack/requests/image_v2/get_image_members.rb +31 -0
  94. data/lib/fog/openstack/requests/image_v2/get_member_details.rb +33 -0
  95. data/lib/fog/openstack/requests/image_v2/get_shared_images.rb +31 -0
  96. data/lib/fog/openstack/requests/image_v2/list_images.rb +35 -0
  97. data/lib/fog/openstack/requests/image_v2/reactivate_image.rb +25 -0
  98. data/lib/fog/openstack/requests/image_v2/remove_member_from_image.rb +25 -0
  99. data/lib/fog/openstack/requests/image_v2/remove_tag_from_image.rb +25 -0
  100. data/lib/fog/openstack/requests/image_v2/set_tenant.rb +21 -0
  101. data/lib/fog/openstack/requests/image_v2/update_image.rb +49 -0
  102. data/lib/fog/openstack/requests/image_v2/update_image_member.rb +34 -0
  103. data/lib/fog/openstack/requests/image_v2/upload_image.rb +30 -0
  104. data/lib/fog/openstack/requests/orchestration/patch_stack.rb +37 -0
  105. data/lib/fog/openstack/requests/volume/create_volume_type.rb +41 -0
  106. data/lib/fog/openstack/requests/{image/delete_image.rb → volume/delete_volume_type.rb} +6 -6
  107. data/lib/fog/openstack/requests/volume/get_quota_usage.rb +44 -0
  108. data/lib/fog/openstack/requests/volume/get_volume_type_details.rb +1 -1
  109. data/lib/fog/openstack/requests/volume/update_volume_type.rb +41 -0
  110. data/lib/fog/openstack/volume.rb +5 -0
  111. data/lib/fog/rackspace/models/compute_v2/server.rb +11 -1
  112. data/lib/fog/rackspace/models/compute_v2/servers.rb +2 -2
  113. data/lib/fog/rackspace/requests/compute_v2/create_server.rb +7 -2
  114. data/lib/fog/vcloud_director/requests/compute/get_execute_query.rb +13 -10
  115. data/lib/fog/version.rb +1 -1
  116. data/lib/fog/vsphere/models/compute/server.rb +1 -1
  117. data/lib/tasks/changelog_task.rb +1 -0
  118. data/spec/fog/openstack/identity_v3/authv3_a.yml +45 -52
  119. data/spec/fog/openstack/identity_v3/authv3_b.yml +45 -52
  120. data/spec/fog/openstack/identity_v3/authv3_c.yml +95 -101
  121. data/spec/fog/openstack/identity_v3/authv3_project.yml +68 -75
  122. data/spec/fog/openstack/identity_v3/authv3_token.yml +212 -174
  123. data/spec/fog/openstack/identity_v3/authv3_unscoped.yml +278 -266
  124. data/spec/fog/openstack/identity_v3/authv3_unscoped_reauth.yml +190 -202
  125. data/spec/fog/openstack/identity_v3/common_setup.yml +67 -445
  126. data/spec/fog/openstack/identity_v3/idv3_credential.yml +56 -26
  127. data/spec/fog/openstack/identity_v3/idv3_credential_crud.yml +292 -152
  128. data/spec/fog/openstack/identity_v3/idv3_domain.yml +99 -49
  129. data/spec/fog/openstack/identity_v3/idv3_domain_crud.yml +239 -119
  130. data/spec/fog/openstack/identity_v3/idv3_domain_group_roles_mutation.yml +414 -205
  131. data/spec/fog/openstack/identity_v3/idv3_domain_roles_mutation.yml +259 -136
  132. data/spec/fog/openstack/identity_v3/idv3_endpoint.yml +474 -472
  133. data/spec/fog/openstack/identity_v3/idv3_endpoints_crud.yml +679 -626
  134. data/spec/fog/openstack/identity_v3/idv3_group_crud_mutation.yml +536 -269
  135. data/spec/fog/openstack/identity_v3/idv3_policy.yml +76 -36
  136. data/spec/fog/openstack/identity_v3/idv3_policy_crud.yml +197 -97
  137. data/spec/fog/openstack/identity_v3/idv3_project.yml +135 -85
  138. data/spec/fog/openstack/identity_v3/idv3_project_crud.yml +237 -127
  139. data/spec/fog/openstack/identity_v3/idv3_project_group_user_roles_mutation.yml +625 -295
  140. data/spec/fog/openstack/identity_v3/idv3_project_hier_crud_list.yml +716 -355
  141. data/spec/fog/openstack/identity_v3/idv3_role.yml +134 -88
  142. data/spec/fog/openstack/identity_v3/idv3_role_crud.yml +312 -118
  143. data/spec/fog/openstack/identity_v3/idv3_service.yml +179 -133
  144. data/spec/fog/openstack/identity_v3/idv3_services_crud.yml +306 -212
  145. data/spec/fog/openstack/identity_v3/idv3_token.yml +213 -177
  146. data/spec/fog/openstack/identity_v3/idv3_user_crud.yml +345 -188
  147. data/spec/fog/openstack/identity_v3/idv3_users.yml +182 -116
  148. data/spec/fog/openstack/identity_v3_spec.rb +103 -85
  149. data/spec/fog/openstack/{identity_v3/idv3_other_region.yml → image_v1/common_setup.yml} +50 -93
  150. data/spec/fog/openstack/image_v1/list_images.yml +54 -0
  151. data/spec/fog/openstack/image_v1_spec.rb +24 -0
  152. data/spec/fog/openstack/image_v2/common_setup.yml +144 -0
  153. data/spec/fog/openstack/image_v2/image_schema.json +190 -0
  154. data/spec/fog/openstack/image_v2/image_v2_activation.yml +3988 -0
  155. data/spec/fog/openstack/image_v2/image_v2_create_id.yml +291 -0
  156. data/spec/fog/openstack/image_v2/image_v2_crud.yml +437 -0
  157. data/spec/fog/openstack/image_v2/image_v2_member_crudl.yml +451 -0
  158. data/spec/fog/openstack/image_v2/image_v2_tags.yml +532 -0
  159. data/spec/fog/openstack/image_v2/image_v2_upload_download.yml +3966 -0
  160. data/spec/fog/openstack/image_v2/minimal.ova +0 -0
  161. data/spec/fog/openstack/image_v2_spec.rb +285 -0
  162. data/spec/fog/openstack/image_v2_upload_spec.rb +74 -0
  163. data/spec/fog/openstack/shared_context.rb +14 -10
  164. data/tests/compute/helper.rb +0 -3
  165. data/tests/digitalocean/requests/compute_v2/list_flavors_tests.rb +25 -0
  166. data/tests/digitalocean/requests/compute_v2/list_images_tests.rb +25 -0
  167. data/tests/digitalocean/requests/compute_v2/list_regions_tests.rb +21 -0
  168. data/tests/digitalocean/requests/compute_v2/server_tests.rb +77 -0
  169. data/tests/helpers/mock_helper.rb +1 -0
  170. data/tests/opennebula/models/compute/flavor_tests.rb +1 -1
  171. data/tests/openstack/requests/orchestration/stack_tests.rb +5 -1
  172. data/tests/openstack/requests/volume/volume_type_tests.rb +32 -0
  173. data/tests/rackspace/models/compute_v2/server_tests.rb +7 -7
  174. metadata +160 -236
  175. data/gemfiles/Gemfile-ruby-1.8.7 +0 -17
  176. data/lib/fog/bin/xenserver.rb +0 -29
  177. data/lib/fog/openstack/models/image/image.rb +0 -76
  178. data/lib/fog/openstack/models/image/images.rb +0 -67
  179. data/lib/fog/openstack/requests/image/create_image.rb +0 -76
  180. data/lib/fog/openstack/requests/image/get_image.rb +0 -45
  181. data/lib/fog/openstack/requests/image/get_image_by_id.rb +0 -32
  182. data/lib/fog/openstack/requests/image/get_image_members.rb +0 -29
  183. data/lib/fog/openstack/requests/image/get_shared_images.rb +0 -29
  184. data/lib/fog/openstack/requests/image/list_public_images.rb +0 -33
  185. data/lib/fog/openstack/requests/image/list_public_images_detailed.rb +0 -35
  186. data/lib/fog/openstack/requests/image/remove_member_from_image.rb +0 -23
  187. data/lib/fog/openstack/requests/image/set_tenant.rb +0 -19
  188. data/lib/fog/openstack/requests/image/update_image.rb +0 -64
  189. data/lib/fog/openstack/requests/image/update_image_members.rb +0 -37
  190. data/lib/fog/xenserver.rb +0 -1
  191. data/lib/fog/xenserver/CHANGELOG.md +0 -77
  192. data/lib/fog/xenserver/compute.rb +0 -186
  193. data/lib/fog/xenserver/core.rb +0 -94
  194. data/lib/fog/xenserver/examples/README.md +0 -11
  195. data/lib/fog/xenserver/examples/chage_default_storage_repository.md +0 -99
  196. data/lib/fog/xenserver/examples/creating_servers.md +0 -168
  197. data/lib/fog/xenserver/examples/getting_started.md +0 -163
  198. data/lib/fog/xenserver/examples/networks-and-vlans.rb +0 -44
  199. data/lib/fog/xenserver/examples/storage_repositories.md +0 -94
  200. data/lib/fog/xenserver/models/compute/blob.rb +0 -22
  201. data/lib/fog/xenserver/models/compute/blobs.rb +0 -25
  202. data/lib/fog/xenserver/models/compute/bond.rb +0 -23
  203. data/lib/fog/xenserver/models/compute/bonds.rb +0 -25
  204. data/lib/fog/xenserver/models/compute/console.rb +0 -29
  205. data/lib/fog/xenserver/models/compute/consoles.rb +0 -25
  206. data/lib/fog/xenserver/models/compute/crash_dump.rb +0 -19
  207. data/lib/fog/xenserver/models/compute/crash_dumps.rb +0 -25
  208. data/lib/fog/xenserver/models/compute/dr_task.rb +0 -17
  209. data/lib/fog/xenserver/models/compute/dr_tasks.rb +0 -25
  210. data/lib/fog/xenserver/models/compute/gpu_group.rb +0 -22
  211. data/lib/fog/xenserver/models/compute/gpu_groups.rb +0 -25
  212. data/lib/fog/xenserver/models/compute/guest_metrics.rb +0 -26
  213. data/lib/fog/xenserver/models/compute/host.rb +0 -156
  214. data/lib/fog/xenserver/models/compute/host_cpu.rb +0 -34
  215. data/lib/fog/xenserver/models/compute/host_crash_dump.rb +0 -20
  216. data/lib/fog/xenserver/models/compute/host_crash_dumps.rb +0 -25
  217. data/lib/fog/xenserver/models/compute/host_metrics.rb +0 -26
  218. data/lib/fog/xenserver/models/compute/host_patch.rb +0 -25
  219. data/lib/fog/xenserver/models/compute/host_patchs.rb +0 -25
  220. data/lib/fog/xenserver/models/compute/hosts.rb +0 -25
  221. data/lib/fog/xenserver/models/compute/network.rb +0 -93
  222. data/lib/fog/xenserver/models/compute/networks.rb +0 -29
  223. data/lib/fog/xenserver/models/compute/pbd.rb +0 -37
  224. data/lib/fog/xenserver/models/compute/pbds.rb +0 -29
  225. data/lib/fog/xenserver/models/compute/pci.rb +0 -22
  226. data/lib/fog/xenserver/models/compute/pcis.rb +0 -25
  227. data/lib/fog/xenserver/models/compute/pgpu.rb +0 -20
  228. data/lib/fog/xenserver/models/compute/pgpus.rb +0 -25
  229. data/lib/fog/xenserver/models/compute/pif.rb +0 -54
  230. data/lib/fog/xenserver/models/compute/pif_metrics.rb +0 -28
  231. data/lib/fog/xenserver/models/compute/pifs.rb +0 -29
  232. data/lib/fog/xenserver/models/compute/pifs_metrics.rb +0 -25
  233. data/lib/fog/xenserver/models/compute/pool.rb +0 -75
  234. data/lib/fog/xenserver/models/compute/pool_patch.rb +0 -24
  235. data/lib/fog/xenserver/models/compute/pool_patchs.rb +0 -25
  236. data/lib/fog/xenserver/models/compute/pools.rb +0 -29
  237. data/lib/fog/xenserver/models/compute/role.rb +0 -19
  238. data/lib/fog/xenserver/models/compute/roles.rb +0 -25
  239. data/lib/fog/xenserver/models/compute/server.rb +0 -251
  240. data/lib/fog/xenserver/models/compute/server_appliance.rb +0 -21
  241. data/lib/fog/xenserver/models/compute/server_appliances.rb +0 -25
  242. data/lib/fog/xenserver/models/compute/servers.rb +0 -64
  243. data/lib/fog/xenserver/models/compute/storage_manager.rb +0 -28
  244. data/lib/fog/xenserver/models/compute/storage_managers.rb +0 -25
  245. data/lib/fog/xenserver/models/compute/storage_repositories.rb +0 -27
  246. data/lib/fog/xenserver/models/compute/storage_repository.rb +0 -90
  247. data/lib/fog/xenserver/models/compute/tunnel.rb +0 -20
  248. data/lib/fog/xenserver/models/compute/tunnels.rb +0 -25
  249. data/lib/fog/xenserver/models/compute/vbd.rb +0 -88
  250. data/lib/fog/xenserver/models/compute/vbd_metrics.rb +0 -25
  251. data/lib/fog/xenserver/models/compute/vbds.rb +0 -29
  252. data/lib/fog/xenserver/models/compute/vdi.rb +0 -102
  253. data/lib/fog/xenserver/models/compute/vdis.rb +0 -25
  254. data/lib/fog/xenserver/models/compute/vif.rb +0 -56
  255. data/lib/fog/xenserver/models/compute/vifs.rb +0 -25
  256. data/lib/fog/xenserver/models/compute/vlan.rb +0 -78
  257. data/lib/fog/xenserver/models/compute/vlans.rb +0 -35
  258. data/lib/fog/xenserver/models/compute/vmpp.rb +0 -35
  259. data/lib/fog/xenserver/models/compute/vmpps.rb +0 -25
  260. data/lib/fog/xenserver/models/compute/vtpm.rb +0 -18
  261. data/lib/fog/xenserver/models/compute/vtpms.rb +0 -25
  262. data/lib/fog/xenserver/parser.rb +0 -34
  263. data/lib/fog/xenserver/parsers/get_hosts.rb +0 -16
  264. data/lib/fog/xenserver/parsers/get_networks.rb +0 -16
  265. data/lib/fog/xenserver/parsers/get_pools.rb +0 -16
  266. data/lib/fog/xenserver/parsers/get_records.rb +0 -16
  267. data/lib/fog/xenserver/parsers/get_storage_repositories.rb +0 -16
  268. data/lib/fog/xenserver/parsers/get_vbds.rb +0 -16
  269. data/lib/fog/xenserver/parsers/get_vifs.rb +0 -16
  270. data/lib/fog/xenserver/parsers/get_vms.rb +0 -16
  271. data/lib/fog/xenserver/requests/compute/clone_server.rb +0 -30
  272. data/lib/fog/xenserver/requests/compute/create_network.rb +0 -46
  273. data/lib/fog/xenserver/requests/compute/create_server.rb +0 -144
  274. data/lib/fog/xenserver/requests/compute/create_sr.rb +0 -88
  275. data/lib/fog/xenserver/requests/compute/create_vbd.rb +0 -43
  276. data/lib/fog/xenserver/requests/compute/create_vdi.rb +0 -57
  277. data/lib/fog/xenserver/requests/compute/create_vif.rb +0 -62
  278. data/lib/fog/xenserver/requests/compute/create_vlan.rb +0 -43
  279. data/lib/fog/xenserver/requests/compute/destroy_network.rb +0 -31
  280. data/lib/fog/xenserver/requests/compute/destroy_record.rb +0 -11
  281. data/lib/fog/xenserver/requests/compute/destroy_server.rb +0 -20
  282. data/lib/fog/xenserver/requests/compute/destroy_sr.rb +0 -28
  283. data/lib/fog/xenserver/requests/compute/destroy_vdi.rb +0 -20
  284. data/lib/fog/xenserver/requests/compute/destroy_vif.rb +0 -20
  285. data/lib/fog/xenserver/requests/compute/destroy_vlan.rb +0 -30
  286. data/lib/fog/xenserver/requests/compute/disable_host.rb +0 -23
  287. data/lib/fog/xenserver/requests/compute/eject_vbd.rb +0 -17
  288. data/lib/fog/xenserver/requests/compute/enable_host.rb +0 -22
  289. data/lib/fog/xenserver/requests/compute/get_record.rb +0 -31
  290. data/lib/fog/xenserver/requests/compute/get_records.rb +0 -24
  291. data/lib/fog/xenserver/requests/compute/insert_vbd.rb +0 -17
  292. data/lib/fog/xenserver/requests/compute/provision_server.rb +0 -17
  293. data/lib/fog/xenserver/requests/compute/reboot_host.rb +0 -17
  294. data/lib/fog/xenserver/requests/compute/reboot_server.rb +0 -17
  295. data/lib/fog/xenserver/requests/compute/scan_sr.rb +0 -17
  296. data/lib/fog/xenserver/requests/compute/set_affinity.rb +0 -19
  297. data/lib/fog/xenserver/requests/compute/set_attribute.rb +0 -19
  298. data/lib/fog/xenserver/requests/compute/shutdown_host.rb +0 -17
  299. data/lib/fog/xenserver/requests/compute/shutdown_server.rb +0 -17
  300. data/lib/fog/xenserver/requests/compute/snapshot_revert.rb +0 -24
  301. data/lib/fog/xenserver/requests/compute/snapshot_server.rb +0 -17
  302. data/lib/fog/xenserver/requests/compute/start_server.rb +0 -17
  303. data/lib/fog/xenserver/requests/compute/start_vm.rb +0 -19
  304. data/lib/fog/xenserver/requests/compute/unplug_pbd.rb +0 -20
  305. data/lib/fog/xenserver/requests/compute/unplug_vbd.rb +0 -25
  306. data/lib/fog/xenserver/utilities.rb +0 -8
  307. data/tests/xenserver/README +0 -21
  308. data/tests/xenserver/compute_tests.rb +0 -51
  309. data/tests/xenserver/helper.rb +0 -36
  310. data/tests/xenserver/models/compute/console_test.rb +0 -35
  311. data/tests/xenserver/models/compute/consoles_test.rb +0 -19
  312. data/tests/xenserver/models/compute/host_cpu_tests.rb +0 -58
  313. data/tests/xenserver/models/compute/host_metrics_tests.rb +0 -48
  314. data/tests/xenserver/models/compute/host_tests.rb +0 -98
  315. data/tests/xenserver/models/compute/hosts_tests.rb +0 -22
  316. data/tests/xenserver/models/compute/network_tests.rb +0 -79
  317. data/tests/xenserver/models/compute/networks_tests.rb +0 -22
  318. data/tests/xenserver/models/compute/pbd_tests.rb +0 -76
  319. data/tests/xenserver/models/compute/pbds_tests.rb +0 -22
  320. data/tests/xenserver/models/compute/pif_tests.rb +0 -58
  321. data/tests/xenserver/models/compute/pifs_tests.rb +0 -22
  322. data/tests/xenserver/models/compute/pool_tests.rb +0 -56
  323. data/tests/xenserver/models/compute/pools_tests.rb +0 -30
  324. data/tests/xenserver/models/compute/server_tests.rb +0 -184
  325. data/tests/xenserver/models/compute/servers_tests.rb +0 -89
  326. data/tests/xenserver/models/compute/storage_repositories_tests.rb +0 -30
  327. data/tests/xenserver/models/compute/storage_repository_tests.rb +0 -114
  328. data/tests/xenserver/models/compute/vbd_tests.rb +0 -115
  329. data/tests/xenserver/models/compute/vbds_tests.rb +0 -22
  330. data/tests/xenserver/models/compute/vif_tests.rb +0 -53
  331. data/tests/xenserver/models/compute/vifs_tests.rb +0 -22
  332. data/tests/xenserver/models/compute/vlan_tests.rb +0 -76
  333. data/tests/xenserver/models/compute/vlans_tests.rb +0 -36
  334. data/tests/xenserver/requests/compute/clone_server_tests.rb +0 -32
  335. data/tests/xenserver/requests/compute/create_network_tests.rb +0 -20
  336. data/tests/xenserver/requests/compute/create_server_tests.rb +0 -129
  337. data/tests/xenserver/requests/compute/create_sr_tests.rb +0 -54
  338. data/tests/xenserver/requests/compute/create_vdi_tests.rb +0 -80
  339. data/tests/xenserver/requests/compute/create_vif_tests.rb +0 -88
  340. data/tests/xenserver/requests/compute/create_vlan_tests.rb +0 -36
  341. data/tests/xenserver/requests/compute/destroy_network_tests.rb +0 -13
  342. data/tests/xenserver/requests/compute/destroy_sr_tests.rb +0 -46
  343. data/tests/xenserver/requests/compute/destroy_vdi_tests.rb +0 -25
  344. data/tests/xenserver/requests/compute/destroy_vlan_tests.rb +0 -36
  345. data/tests/xenserver/requests/compute/disable_host_tests.rb +0 -16
  346. data/tests/xenserver/requests/compute/enable_host_tests.rb +0 -16
  347. data/tests/xenserver/requests/compute/get_record_tests.rb +0 -15
  348. data/tests/xenserver/requests/compute/set_attribute_tests.rb +0 -66
  349. data/tests/xenserver/requests/compute/unplug_pbd_tests.rb +0 -48
  350. data/tests/xenserver/xenserver_tests.rb +0 -33
@@ -11,19 +11,32 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
11
11
 
12
12
  include_context 'OpenStack specs with VCR'
13
13
  before :all do
14
+ VCR_USER_ID='a18abc2039d6493aa7239a42033cc7c9'
15
+ VCR_USER_NAME='admin'
16
+ VCR_PASSWORD='devstack'
17
+ VCR_DOMAIN_ID='default'
18
+ VCR_DOMAIN_NAME='Default'
19
+ VCR_PROJECT_NAME='admin'
20
+ VCR_REGION='RegionOne'
21
+
14
22
  setup_vcr_and_service(
15
- :vcr_directory => 'spec/fog/openstack/identity_v3',
16
- :service_class => Fog::Identity::OpenStack::V3
23
+ :vcr_directory => 'spec/fog/openstack/identity_v3',
24
+ :service_class => Fog::Identity::OpenStack::V3,
25
+ :username => VCR_USER_NAME,
26
+ :password => VCR_PASSWORD,
27
+ :project_name => VCR_PROJECT_NAME,
28
+ :domain_name => VCR_DOMAIN_NAME,
29
+ :region_name => VCR_REGION
17
30
  )
18
31
  end
19
32
 
20
33
  it 'authenticates with password, userid and domain_id' do
21
34
  VCR.use_cassette('authv3_a') do
22
35
  Fog::Identity::OpenStack::V3.new(
23
- :openstack_domain_id => ENV['OS_USER_DOMAIN_ID'] || 'default',
24
- :openstack_api_key => ENV['OS_PASSWORD'] || 'password',
25
- :openstack_userid => ENV['OS_USER_ID'] || 'aa9f25defa6d4cafb48466df83106065',
26
- :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne',
36
+ :openstack_domain_id => ENV['OS_USER_DOMAIN_ID'] || VCR_DOMAIN_ID,
37
+ :openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
38
+ :openstack_userid => ENV['OS_USER_ID'] || VCR_USER_ID,
39
+ :openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
27
40
  :openstack_auth_url => "#{@os_auth_url}/auth/tokens")
28
41
  end
29
42
  end
@@ -31,10 +44,10 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
31
44
  it 'authenticates with password, username and domain_id' do
32
45
  VCR.use_cassette('authv3_b') do
33
46
  Fog::Identity::OpenStack::V3.new(
34
- :openstack_domain_id => ENV['OS_USER_DOMAIN_ID'] || 'default',
35
- :openstack_api_key => ENV['OS_PASSWORD'] || 'password',
36
- :openstack_username => ENV['OS_USERNAME'] || 'admin',
37
- :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne',
47
+ :openstack_domain_id => ENV['OS_USER_DOMAIN_ID'] || VCR_DOMAIN_ID,
48
+ :openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
49
+ :openstack_username => ENV['OS_USERNAME'] || VCR_USER_NAME,
50
+ :openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
38
51
  :openstack_auth_url => "#{@os_auth_url}/auth/tokens")
39
52
  end
40
53
  end
@@ -42,10 +55,10 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
42
55
  it 'authenticates with password, username and domain_name' do
43
56
  VCR.use_cassette('authv3_c') do
44
57
  Fog::Identity::OpenStack::V3.new(
45
- :openstack_user_domain => ENV['OS_USER_DOMAIN_NAME'] || 'Default',
46
- :openstack_api_key => ENV['OS_PASSWORD'] || 'password',
47
- :openstack_username => ENV['OS_USERNAME'] || 'admin',
48
- :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne',
58
+ :openstack_user_domain => ENV['OS_USER_DOMAIN_NAME'] || VCR_DOMAIN_NAME,
59
+ :openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
60
+ :openstack_username => ENV['OS_USERNAME'] || VCR_USER_NAME,
61
+ :openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
49
62
  :openstack_auth_url => "#{@os_auth_url}/auth/tokens")
50
63
  end
51
64
  end
@@ -60,8 +73,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
60
73
  @fog = Fog::Identity::OpenStack::V3.new({
61
74
  :openstack_region => ENV['OS_REGION_OTHER']||'europe',
62
75
  :openstack_auth_url => "#{@os_auth_url}/auth/tokens",
63
- :openstack_userid => ENV['OS_USER_ID'] || 'aa9f25defa6d4cafb48466df83106065',
64
- :openstack_api_key => ENV['OS_PASSWORD'] || "password"
76
+ :openstack_userid => ENV['OS_USER_ID'] || VCR_USER_ID,
77
+ :openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD
65
78
  })
66
79
  expect(@fog).to_not be_nil
67
80
  end unless endpoints_in_region.empty?
@@ -71,15 +84,15 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
71
84
  VCR.use_cassette('authv3_unscoped_reauth') do
72
85
 
73
86
  id_v3 = Fog::Identity::OpenStack::V3.new(
74
- :openstack_api_key => ENV['OS_PASSWORD'] || 'password',
75
- :openstack_userid => ENV['OS_USER_ID'] || 'aa9f25defa6d4cafb48466df83106065',
76
- :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne',
87
+ :openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
88
+ :openstack_userid => ENV['OS_USER_ID'] || VCR_USER_ID,
89
+ :openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
77
90
  :openstack_auth_url => "#{@os_auth_url}/auth/tokens")
78
91
 
79
92
  auth_params = {:provider => "openstack",
80
93
  :openstack_auth_token => id_v3.credentials[:openstack_auth_token],
81
94
  :openstack_auth_url => "#{@os_auth_url}/auth/tokens",
82
- :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne'}
95
+ :openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION}
83
96
  @fog2 = Fog::Identity::OpenStack::V3.new(auth_params)
84
97
 
85
98
  expect(@fog2).to_not be_nil
@@ -92,11 +105,11 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
92
105
  it 'authenticates with project scope' do
93
106
  VCR.use_cassette('authv3_project') do
94
107
  Fog::Identity::OpenStack::V3.new(
95
- :openstack_project_name => ENV['OS_PROJECT_NAME'] || 'admin',
96
- :openstack_domain_name => ENV['OS_USER_DOMAIN_NAME'] || 'Default',
97
- :openstack_api_key => ENV['OS_PASSWORD'] || 'password',
98
- :openstack_username => ENV['OS_USERNAME'] || 'admin',
99
- :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne',
108
+ :openstack_project_name => ENV['OS_PROJECT_NAME'] || VCR_PROJECT_NAME,
109
+ :openstack_domain_name => ENV['OS_USER_DOMAIN_NAME'] || VCR_DOMAIN_NAME,
110
+ :openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
111
+ :openstack_username => ENV['OS_USERNAME'] || VCR_USER_NAME,
112
+ :openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
100
113
  :openstack_auth_url => "#{@os_auth_url}/auth/tokens")
101
114
  end
102
115
  end
@@ -105,18 +118,18 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
105
118
  VCR.use_cassette('authv3_unscoped') do
106
119
 
107
120
  id_v3 = Fog::Identity::OpenStack::V3.new(
108
- :openstack_api_key => ENV['OS_PASSWORD'] || 'password',
109
- :openstack_userid => ENV['OS_USER_ID']||'aa9f25defa6d4cafb48466df83106065',
110
- :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne',
121
+ :openstack_api_key => ENV['OS_PASSWORD'] || VCR_PASSWORD,
122
+ :openstack_userid => ENV['OS_USER_ID']||VCR_USER_ID,
123
+ :openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
111
124
  :openstack_auth_url => "#{@os_auth_url}/auth/tokens")
112
125
 
113
126
  # Exchange it for a project-scoped token
114
127
  auth = Fog::Identity::OpenStack::V3.new(
115
- :openstack_project_name => ENV['OS_PROJECT_NAME'] || 'admin',
116
- :openstack_domain_name => ENV['OS_USER_DOMAIN_NAME'] || 'Default',
117
- :openstack_tenant => ENV['OS_USERNAME'] || 'admin',
128
+ :openstack_project_name => ENV['OS_PROJECT_NAME'] || VCR_PROJECT_NAME,
129
+ :openstack_domain_name => ENV['OS_USER_DOMAIN_NAME'] || VCR_DOMAIN_NAME,
130
+ :openstack_tenant => ENV['OS_USERNAME'] || VCR_USER_NAME,
118
131
  :openstack_auth_token => id_v3.credentials[:openstack_auth_token],
119
- :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne',
132
+ :openstack_region => ENV['OS_REGION_NAME'] || VCR_REGION,
120
133
  :openstack_auth_url => "#{@os_auth_url}/auth/tokens")
121
134
 
122
135
  token = auth.credentials[:openstack_auth_token]
@@ -135,7 +148,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
135
148
 
136
149
  expect { nonexistent_user = @service.users.find_by_id 'u-random-blah' }.to raise_error(Fog::Identity::OpenStack::NotFound)
137
150
 
138
- admin_user = @service.users.find_by_name ENV['OS_USERNAME'] || 'admin'
151
+ admin_user = @service.users.find_by_name ENV['OS_USERNAME'] || VCR_USER_NAME
139
152
  expect(admin_user.length).to be 1
140
153
 
141
154
  users = @service.users
@@ -167,8 +180,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
167
180
 
168
181
  # Create a user called foobar
169
182
  foobar_user = @service.users.create(:name => 'foobar',
170
- :email => 'foobar@example.com',
171
- :password => 's3cret!')
183
+ :email => 'foobar@example.com',
184
+ :password => 's3cret!')
172
185
  foobar_id = foobar_user.id
173
186
  expect(@service.users.find_by_name('foobar').length).to be 1
174
187
 
@@ -186,8 +199,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
186
199
 
187
200
  # Try to create the user again
188
201
  expect { @service.users.create(:name => 'baz',
189
- :email => 'foobar@example.com',
190
- :password => 's3cret!') }.to raise_error(Excon::Errors::Conflict)
202
+ :email => 'foobar@example.com',
203
+ :password => 's3cret!') }.to raise_error(Excon::Errors::Conflict)
191
204
 
192
205
  # Delete the user
193
206
  baz_user.destroy
@@ -227,13 +240,13 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
227
240
  #foobar_user1 = @service.users.find_by_name('foobar1').first
228
241
  #foobar_user1.destroy if foobar_user1
229
242
  foobar_user1 = @service.users.create(:name => 'foobar1',
230
- :email => 'foobar1@example.com',
231
- :password => 's3cret!1')
243
+ :email => 'foobar1@example.com',
244
+ :password => 's3cret!1')
232
245
  #foobar_user2 = @service.users.find_by_name('foobar2').first
233
246
  #foobar_user2.destroy if foobar_user2
234
247
  foobar_user2 = @service.users.create(:name => 'foobar2',
235
- :email => 'foobar2@example.com',
236
- :password => 's3cret!2')
248
+ :email => 'foobar2@example.com',
249
+ :password => 's3cret!2')
237
250
 
238
251
  expect(foobar_user1.groups.length).to be 0
239
252
  expect(baz_group.users.length).to be 0
@@ -271,10 +284,10 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
271
284
  it "gets a token, checks it and then revokes it" do
272
285
  VCR.use_cassette('idv3_token') do
273
286
  auth = {:auth => {:identity => {:methods => %w{password},
274
- :password => {:user => {:id => ENV['OS_USER_ID']||'aa9f25defa6d4cafb48466df83106065',
275
- :password => ENV['OS_PASSWORD']||'password'}}},
276
- :scope => {:project => {:domain => {:name => ENV['OS_USER_DOMAIN_NAME']||'Default'},
277
- :name => ENV['OS_PROJECT_NAME']||'admin'}}}}
287
+ :password => {:user => {:id => ENV['OS_USER_ID']||VCR_USER_ID,
288
+ :password => ENV['OS_PASSWORD']||VCR_PASSWORD}}},
289
+ :scope => {:project => {:domain => {:name => ENV['OS_USER_DOMAIN_NAME']||VCR_DOMAIN_NAME},
290
+ :name => ENV['OS_PROJECT_NAME']||VCR_PROJECT_NAME}}}}
278
291
 
279
292
  token = @service.tokens.authenticate(auth)
280
293
  expect(token).to_not be_nil
@@ -297,9 +310,9 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
297
310
  begin
298
311
 
299
312
  foobar_user = @service.users.create(:name => 'foobar_385',
300
- :email => 'foobar_demo@example.com',
301
- :domain_id => ENV['OS_USER_DOMAIN_ID'] || 'default',
302
- :password => 's3cret!')
313
+ :email => 'foobar_demo@example.com',
314
+ :domain_id => ENV['OS_USER_DOMAIN_ID'] || VCR_DOMAIN_ID,
315
+ :password => 's3cret!')
303
316
 
304
317
  foobar_role = @service.roles.create(:name => 'foobar_role390')
305
318
  foobar_user.grant_role(foobar_role.id)
@@ -308,20 +321,20 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
308
321
  :openstack_domain_id => foobar_user.domain_id,
309
322
  :openstack_api_key => 's3cret!',
310
323
  :openstack_username => 'foobar_385',
311
- :openstack_region => ENV['OS_REGION_NAME']||'europe',
324
+ :openstack_region => ENV['OS_REGION_NAME']||VCR_REGION,
312
325
  :openstack_auth_url => auth_url)
313
326
 
314
327
  # Test - check the token validity by using it to create a new Fog::Identity::OpenStack::V3 instance
315
328
  token_check = Fog::Identity::OpenStack::V3.new(
316
329
  :openstack_auth_token => nonadmin_v3.auth_token,
317
- :openstack_region => ENV['OS_REGION_NAME']||'europe',
330
+ :openstack_region => ENV['OS_REGION_NAME']||VCR_REGION,
318
331
  :openstack_auth_url => auth_url)
319
332
 
320
333
  expect(token_check).to_not be_nil
321
334
 
322
335
  expect { Fog::Identity::OpenStack::V3.new(
323
336
  :openstack_auth_token => 'blahblahblah',
324
- :openstack_region => ENV['OS_REGION_NAME']||'europe',
337
+ :openstack_region => ENV['OS_REGION_NAME']||VCR_REGION,
325
338
  :openstack_auth_url => auth_url) }.to raise_error(Excon::Errors::NotFound)
326
339
  ensure
327
340
  # Clean up
@@ -345,7 +358,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
345
358
  expect(domains_all).to_not be_nil
346
359
  expect(domains_all.length).to_not be 0
347
360
 
348
- default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||'default'
361
+ default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||VCR_DOMAIN_ID
349
362
  expect(default_domain).to_not be_nil
350
363
 
351
364
  expect { @service.domains.find_by_id 'atlantis' }.to raise_error(Fog::Identity::OpenStack::NotFound)
@@ -395,8 +408,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
395
408
  VCR.use_cassette('idv3_domain_roles_mutation') do
396
409
  begin
397
410
  foobar_user = @service.users.create(:name => 'foobar_role_user',
398
- :email => 'foobar@example.com',
399
- :password => 's3cret!')
411
+ :email => 'foobar@example.com',
412
+ :password => 's3cret!')
400
413
 
401
414
  # User has no roles initially
402
415
  expect(foobar_user.roles.length).to be 0
@@ -423,7 +436,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
423
436
  foobar_user.revoke_role(foobar_role.id)
424
437
  expect(foobar_user.check_role(foobar_role.id)).to be false
425
438
  ensure
426
- foobar_user = @service.users.find_by_name('u-foobar_role_user').first unless foobar_user
439
+ foobar_user = @service.users.find_by_name('foobar_role_user').first unless foobar_user
427
440
  foobar_user.destroy if foobar_user
428
441
  foobar_role = @service.roles.all.select { |role| role.name == 'foobar_role' }.first unless foobar_role
429
442
  foobar_role.destroy if foobar_role
@@ -441,14 +454,14 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
441
454
 
442
455
  # Create a group in this domain
443
456
  foobar_group = @service.groups.create(:name => 'g-foobar',
444
- :description => "Group of Foobar users",
445
- :domain_id => foobar_domain.id)
457
+ :description => "Group of Foobar users",
458
+ :domain_id => foobar_domain.id)
446
459
 
447
460
  # Create a user in the domain
448
461
  foobar_user = @service.users.create(:name => 'u-foobar_foobar',
449
- :email => 'foobar@example.com',
450
- :password => 's3cret!',
451
- :domain_id => foobar_domain.id)
462
+ :email => 'foobar@example.com',
463
+ :password => 's3cret!',
464
+ :domain_id => foobar_domain.id)
452
465
 
453
466
  # User has no roles initially
454
467
  expect(foobar_user.roles.length).to be 0
@@ -535,14 +548,19 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
535
548
  baz_role = @service.roles.find_by_id foobar_id
536
549
  expect(baz_role).to_not be_nil
537
550
  expect(baz_role.name).to eq 'baz23'
538
- ensure
539
- # Delete the role
540
- baz_role.destroy if baz_role
551
+ baz_role.destroy
552
+ baz_role = nil
541
553
  # Check that the deletion worked
542
554
  expect { @service.roles.find_by_id foobar_id }.to raise_error(Fog::Identity::OpenStack::NotFound) if foobar_id
543
555
  ['foobar23', 'baz23'].each do |role_name|
544
556
  expect(@service.roles.all(:name => role_name).length).to be 0
545
557
  end
558
+ ensure
559
+ # Delete the roles
560
+ foobar_by_name = @service.roles.all(:name => 'foobar23').first
561
+ foobar_by_name.destroy if foobar_by_name
562
+ baz_by_name = @service.roles.all(:name => 'baz23').first
563
+ baz_by_name.destroy if baz_by_name
546
564
  end
547
565
  end
548
566
  end
@@ -567,7 +585,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
567
585
  it "CRUD projects" do
568
586
  VCR.use_cassette('idv3_project_crud') do
569
587
 
570
- default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||'default'
588
+ default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||VCR_DOMAIN_ID
571
589
 
572
590
  begin
573
591
  # Create a project called foobar - should not work without domain id?
@@ -602,7 +620,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
602
620
  it "CRUD & list hierarchical projects" do
603
621
  VCR.use_cassette('idv3_project_hier_crud_list') do
604
622
 
605
- default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||'default'
623
+ default_domain = @service.domains.find_by_id ENV['OS_USER_DOMAIN_ID']||VCR_DOMAIN_ID
606
624
 
607
625
  begin
608
626
  # Create a project called foobar
@@ -650,7 +668,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
650
668
  foobar_kids = @service.projects.find_by_id(foobar_id, :subtree_as_list).subtree
651
669
  expect(foobar_kids.length).to eq 3
652
670
  expect([foobar_kids[0].id,foobar_kids[1].id,foobar_kids[2].id].sort
653
- ).to eq [baz_id, boo_id, booboo_id].sort
671
+ ).to eq [baz_id, boo_id, booboo_id].sort
654
672
 
655
673
  # Create a another sub-project of boo called fooboo and check that it appears in the parent's subtree
656
674
  fooboo_project = @service.projects.create(:name => 'p-fooboo67', :parent_id => boo_id)
@@ -714,19 +732,19 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
714
732
 
715
733
  # Create a user
716
734
  foobar_user = @service.users.create(:name => 'u-foobar69',
717
- :email => 'foobar@example.com',
718
- :password => 's3cret!')
735
+ :email => 'foobar@example.com',
736
+ :password => 's3cret!')
719
737
 
720
738
  # Create a group and add the user to it
721
739
  foobar_group = @service.groups.create(:name => 'g-foobar69',
722
- :description => "Group of Foobar users")
740
+ :description => "Group of Foobar users")
723
741
  foobar_group.add_user foobar_user.id
724
742
 
725
743
  # User has no projects initially
726
744
  expect(foobar_user.projects.length).to be 0
727
745
  expect(@service.role_assignments.all(:user_id => foobar_user.id,
728
- :project_id => foobar_project.id,
729
- :effective => true).length).to be 0
746
+ :project_id => foobar_project.id,
747
+ :effective => true).length).to be 0
730
748
  expect(foobar_project.user_roles(foobar_user.id).length).to be 0
731
749
 
732
750
  # Grant role to the user in the new project - this assigns the project to the user
@@ -744,8 +762,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
744
762
  expect(foobar_project.group_roles(foobar_group.id).length).to be 0
745
763
 
746
764
  expect(@service.role_assignments.all(:user_id => foobar_user.id,
747
- :project_id => foobar_project.id,
748
- :effective => true).length).to be 0
765
+ :project_id => foobar_project.id,
766
+ :effective => true).length).to be 0
749
767
 
750
768
  # Grant role to the group in the new project - this assigns the project to the group
751
769
  foobar_project.grant_role_to_group(baz_role.id, foobar_group.id)
@@ -754,8 +772,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
754
772
 
755
773
  # Now we check that a user has the role in that project
756
774
  assignments = @service.role_assignments.all(:user_id => foobar_user.id,
757
- :project_id => foobar_project.id,
758
- :effective => true)
775
+ :project_id => foobar_project.id,
776
+ :effective => true)
759
777
  expect(assignments.length).to be 1
760
778
  expect(assignments.first.role['id']).to eq baz_role.id
761
779
  expect(assignments.first.user['id']).to eq foobar_user.id
@@ -859,10 +877,10 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
859
877
  begin
860
878
  # Create a endpoint called foobar
861
879
  foobar_endpoint = @service.endpoints.create(:service_id => service.id,
862
- :interface => 'internal',
863
- :name => 'foobar',
864
- :url => 'http://example.com/foobar',
865
- :enabled => false)
880
+ :interface => 'internal',
881
+ :name => 'foobar',
882
+ :url => 'http://example.com/foobar',
883
+ :enabled => false)
866
884
  foobar_id = foobar_endpoint.id
867
885
  expect(@service.endpoints.all(:interface => 'internal').select { |endpoint| endpoint.name == 'foobar' }.length).to be 1
868
886
 
@@ -907,8 +925,8 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
907
925
  begin
908
926
  # Create a user
909
927
  foobar_user = @service.users.create(:name => 'u-foobar_cred',
910
- :email => 'foobar@example.com',
911
- :password => 's3cret!')
928
+ :email => 'foobar@example.com',
929
+ :password => 's3cret!')
912
930
  project = @service.projects.all.first
913
931
 
914
932
  access_key = '9c4e774a-f644-498f-90c4-970b3f817fc5'
@@ -926,9 +944,9 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
926
944
 
927
945
  # Create a credential
928
946
  foo_credential = @service.os_credentials.create(:type => 'ec2',
929
- :project_id => project.id,
930
- :user_id => foobar_user.id,
931
- :blob => blob_json)
947
+ :project_id => project.id,
948
+ :user_id => foobar_user.id,
949
+ :blob => blob_json)
932
950
  credential_id = foo_credential.id
933
951
  expect(@service.os_credentials.all.select { |credential| credential.type == 'ec2' }.length).to be 1
934
952
 
@@ -988,7 +1006,7 @@ RSpec.describe Fog::Identity::OpenStack::V3 do
988
1006
 
989
1007
  # Create a policy
990
1008
  foo_policy = @service.policies.create(:type => 'application/json',
991
- :blob => blob)
1009
+ :blob => blob)
992
1010
  policy_id = foo_policy.id
993
1011
  expect(@service.policies.all.select { |policy| policy.type == 'application/json' }.length).to be 1
994
1012
 
@@ -5,10 +5,10 @@ http_interactions:
5
5
  uri: http://devstack.openstack.stack:5000/v3/auth/tokens
6
6
  body:
7
7
  encoding: UTF-8
8
- string: ! '{"auth":{"identity":{"methods":["password"],"password":{"user":{"password":"password","id":"aa9f25defa6d4cafb48466df83106065"}}}}}'
8
+ string: ! '{"auth":{"identity":{"methods":["password"],"password":{"user":{"password":"password","domain":{"name":"Default"},"name":"admin"}}},"scope":{"project":{"name":"admin","domain":{"name":"Default"}}}}}'
9
9
  headers:
10
10
  User-Agent:
11
- - fog/1.31.0 fog-core/1.31.1
11
+ - fog-core/1.32.1
12
12
  Content-Type:
13
13
  - application/json
14
14
  response:
@@ -17,105 +17,23 @@ http_interactions:
17
17
  message: ''
18
18
  headers:
19
19
  Date:
20
- - Tue, 23 Jun 2015 15:09:15 GMT
20
+ - Mon, 21 Sep 2015 17:49:16 GMT
21
21
  Server:
22
22
  - Apache/2.4.7 (Ubuntu)
23
23
  X-Subject-Token:
24
- - 9f7df72efb3749ed8eb12699d16f56cc
24
+ - 7016a3d2ce5348ae951b1e3d8edaa55d
25
25
  Vary:
26
26
  - X-Auth-Token
27
27
  X-Openstack-Request-Id:
28
- - req-77ed8c5d-de40-42ea-b7ac-013eedf72558
28
+ - req-c5120fdf-de29-4188-9e0c-c5cea44fb961
29
29
  Content-Length:
30
- - '297'
30
+ - '5874'
31
31
  Content-Type:
32
32
  - application/json
33
33
  body:
34
34
  encoding: US-ASCII
35
- string: ! '{"token": {"methods": ["password"], "expires_at": "2015-06-23T16:09:15.097008Z",
36
- "extras": {}, "user": {"domain": {"id": "default", "name": "Default"}, "id":
37
- "aa9f25defa6d4cafb48466df83106065", "name": "admin"}, "audit_ids": ["K9N-CugNRDSarC82lwYYHQ"],
38
- "issued_at": "2015-06-23T15:09:15.097078Z"}}'
39
- http_version:
40
- recorded_at: Tue, 23 Jun 2015 15:09:15 GMT
41
- - request:
42
- method: get
43
- uri: http://devstack.openstack.stack:5000/v3/users/aa9f25defa6d4cafb48466df83106065/projects
44
- body:
45
- encoding: US-ASCII
46
- string: ''
47
- headers:
48
- User-Agent:
49
- - fog/1.31.0 fog-core/1.31.1
50
- Content-Type:
51
- - application/json
52
- Accept:
53
- - application/json
54
- X-Auth-Token:
55
- - 9f7df72efb3749ed8eb12699d16f56cc
56
- response:
57
- status:
58
- code: 200
59
- message: ''
60
- headers:
61
- Date:
62
- - Tue, 23 Jun 2015 15:09:15 GMT
63
- Server:
64
- - Apache/2.4.7 (Ubuntu)
65
- Vary:
66
- - X-Auth-Token
67
- X-Openstack-Request-Id:
68
- - req-99d9e960-accc-4943-b647-f0454eb9f9ba
69
- Content-Length:
70
- - '617'
71
- Content-Type:
72
- - application/json
73
- body:
74
- encoding: US-ASCII
75
- string: ! '{"links": {"self": "http://devstack.openstack.stack:5000/v3/users/aa9f25defa6d4cafb48466df83106065/projects",
76
- "previous": null, "next": null}, "projects": [{"description": null, "links":
77
- {"self": "http://devstack.openstack.stack:5000/v3/projects/123ac695d4db400a9001b91bb3b8aa46"},
78
- "enabled": true, "id": "123ac695d4db400a9001b91bb3b8aa46", "parent_id": null,
79
- "domain_id": "default", "name": "admin"}, {"description": null, "links": {"self":
80
- "http://devstack.openstack.stack:5000/v3/projects/3ed7ee0512b641d3bb1fe17fc86d8bff"},
81
- "enabled": true, "id": "3ed7ee0512b641d3bb1fe17fc86d8bff", "parent_id": null,
82
- "domain_id": "default", "name": "demo"}]}'
83
- http_version:
84
- recorded_at: Tue, 23 Jun 2015 15:09:15 GMT
85
- - request:
86
- method: post
87
- uri: http://devstack.openstack.stack:5000/v3/auth/tokens
88
- body:
89
- encoding: UTF-8
90
- string: ! '{"auth":{"identity":{"methods":["token"],"token":{"id":"9f7df72efb3749ed8eb12699d16f56cc"}},"scope":{"project":{"name":"admin","domain":{"id":"default"}}}}}'
91
- headers:
92
- User-Agent:
93
- - fog/1.31.0 fog-core/1.31.1
94
- Content-Type:
95
- - application/json
96
- response:
97
- status:
98
- code: 201
99
- message: ''
100
- headers:
101
- Date:
102
- - Tue, 23 Jun 2015 15:09:15 GMT
103
- Server:
104
- - Apache/2.4.7 (Ubuntu)
105
- X-Subject-Token:
106
- - 6974d4e66dbb47e9a4ca379c14f706f4
107
- Vary:
108
- - X-Auth-Token
109
- X-Openstack-Request-Id:
110
- - req-7111935d-8900-4dff-ba6f-f1f691cb6b48
111
- Content-Length:
112
- - '5909'
113
- Content-Type:
114
- - application/json
115
- body:
116
- encoding: US-ASCII
117
- string: ! '{"token": {"methods": ["token", "password"], "roles": [{"id": "6ead57f8ae124996af8b0beb72ff1007",
118
- "name": "admin"}], "expires_at": "2015-06-23T16:09:15.097008Z", "project":
35
+ string: ! '{"token": {"methods": ["password"], "roles": [{"id": "6ead57f8ae124996af8b0beb72ff1007",
36
+ "name": "admin"}], "expires_at": "2015-09-21T18:49:16.715164Z", "project":
119
37
  {"domain": {"id": "default", "name": "Default"}, "id": "123ac695d4db400a9001b91bb3b8aa46",
120
38
  "name": "admin"}, "catalog": [{"endpoints": [{"region_id": "RegionOne", "url":
121
39
  "http://devstack.openstack.stack:9292", "region": "RegionOne", "interface": "public",
@@ -180,8 +98,47 @@ http_interactions:
180
98
  "RegionOne", "interface": "admin", "id": "d5f8e0da0f3345529a5fb324d735d4a3"}],
181
99
  "type": "identity_v3", "id": "cd9002bbadfe495d81b5ee4c50768009", "name": "keystone_v3"}],
182
100
  "extras": {}, "user": {"domain": {"id": "default", "name": "Default"}, "id":
183
- "aa9f25defa6d4cafb48466df83106065", "name": "admin"}, "audit_ids": ["1yvNE0UcSCWjedTDCBbDsA",
184
- "K9N-CugNRDSarC82lwYYHQ"], "issued_at": "2015-06-23T15:09:15.359531Z"}}'
101
+ "aa9f25defa6d4cafb48466df83106065", "name": "admin"}, "audit_ids": ["4kw_GZ0MSiuQ46d2BLs_wQ"],
102
+ "issued_at": "2015-09-21T17:49:16.715201Z"}}'
103
+ http_version:
104
+ recorded_at: Mon, 21 Sep 2015 17:49:16 GMT
105
+ - request:
106
+ method: get
107
+ uri: http://devstack.openstack.stack:9292/
108
+ body:
109
+ encoding: US-ASCII
110
+ string: ''
111
+ headers:
112
+ User-Agent:
113
+ - fog-core/1.32.1
114
+ Content-Type:
115
+ - application/json
116
+ Accept:
117
+ - application/json
118
+ X-Auth-Token:
119
+ - 7016a3d2ce5348ae951b1e3d8edaa55d
120
+ response:
121
+ status:
122
+ code: 300
123
+ message: ''
124
+ headers:
125
+ Content-Type:
126
+ - application/json; charset=UTF-8
127
+ Content-Length:
128
+ - '666'
129
+ Date:
130
+ - Mon, 21 Sep 2015 17:49:16 GMT
131
+ body:
132
+ encoding: US-ASCII
133
+ string: ! '{"versions": [{"status": "CURRENT", "id": "v2.3", "links": [{"href":
134
+ "http://devstack.openstack.stack:9292/v2/", "rel": "self"}]}, {"status": "SUPPORTED",
135
+ "id": "v2.2", "links": [{"href": "http://devstack.openstack.stack:9292/v2/", "rel":
136
+ "self"}]}, {"status": "SUPPORTED", "id": "v2.1", "links": [{"href": "http://devstack.openstack.stack:9292/v2/",
137
+ "rel": "self"}]}, {"status": "SUPPORTED", "id": "v2.0", "links": [{"href":
138
+ "http://devstack.openstack.stack:9292/v2/", "rel": "self"}]}, {"status": "SUPPORTED",
139
+ "id": "v1.1", "links": [{"href": "http://devstack.openstack.stack:9292/v1/", "rel":
140
+ "self"}]}, {"status": "SUPPORTED", "id": "v1.0", "links": [{"href": "http://devstack.openstack.stack:9292/v1/",
141
+ "rel": "self"}]}]}'
185
142
  http_version:
186
- recorded_at: Tue, 23 Jun 2015 15:09:15 GMT
143
+ recorded_at: Mon, 21 Sep 2015 17:49:16 GMT
187
144
  recorded_with: VCR 2.9.3