fog 1.34.0 → 1.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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