fog 1.32.0 → 1.33.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 (204) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -0
  3. data/Gemfile +1 -0
  4. data/Rakefile +4 -4
  5. data/fog.gemspec +3 -2
  6. data/lib/fog/linode/requests/compute/avail_datacenters.rb +8 -7
  7. data/lib/fog/openstack.rb +1 -0
  8. data/lib/fog/openstack/compute.rb +7 -1
  9. data/lib/fog/openstack/core.rb +28 -54
  10. data/lib/fog/openstack/identity.rb +1 -0
  11. data/lib/fog/openstack/identity_v3.rb +10 -9
  12. data/lib/fog/openstack/models/baremetal/chassis.rb +3 -14
  13. data/lib/fog/openstack/models/baremetal/chassis_collection.rb +5 -5
  14. data/lib/fog/openstack/models/baremetal/driver.rb +2 -8
  15. data/lib/fog/openstack/models/baremetal/drivers.rb +3 -5
  16. data/lib/fog/openstack/models/baremetal/node.rb +3 -14
  17. data/lib/fog/openstack/models/baremetal/nodes.rb +4 -4
  18. data/lib/fog/openstack/models/baremetal/port.rb +3 -14
  19. data/lib/fog/openstack/models/baremetal/ports.rb +4 -4
  20. data/lib/fog/openstack/models/collection.rb +45 -0
  21. data/lib/fog/openstack/models/compute/address.rb +2 -2
  22. data/lib/fog/openstack/models/compute/addresses.rb +3 -5
  23. data/lib/fog/openstack/models/compute/aggregate.rb +2 -8
  24. data/lib/fog/openstack/models/compute/aggregates.rb +3 -5
  25. data/lib/fog/openstack/models/compute/availability_zone.rb +14 -0
  26. data/lib/fog/openstack/models/compute/availability_zones.rb +22 -0
  27. data/lib/fog/openstack/models/compute/flavor.rb +2 -8
  28. data/lib/fog/openstack/models/compute/flavors.rb +6 -6
  29. data/lib/fog/openstack/models/compute/host.rb +1 -1
  30. data/lib/fog/openstack/models/compute/hosts.rb +4 -6
  31. data/lib/fog/openstack/models/compute/image.rb +2 -8
  32. data/lib/fog/openstack/models/compute/images.rb +4 -6
  33. data/lib/fog/openstack/models/compute/key_pair.rb +2 -2
  34. data/lib/fog/openstack/models/compute/key_pairs.rb +3 -4
  35. data/lib/fog/openstack/models/compute/metadata.rb +3 -2
  36. data/lib/fog/openstack/models/compute/metadatum.rb +2 -2
  37. data/lib/fog/openstack/models/compute/network.rb +2 -2
  38. data/lib/fog/openstack/models/compute/networks.rb +3 -2
  39. data/lib/fog/openstack/models/compute/security_group.rb +2 -2
  40. data/lib/fog/openstack/models/compute/security_group_rule.rb +2 -2
  41. data/lib/fog/openstack/models/compute/security_group_rules.rb +2 -2
  42. data/lib/fog/openstack/models/compute/security_groups.rb +3 -5
  43. data/lib/fog/openstack/models/compute/server.rb +20 -1
  44. data/lib/fog/openstack/models/compute/servers.rb +9 -5
  45. data/lib/fog/openstack/models/compute/service.rb +2 -8
  46. data/lib/fog/openstack/models/compute/services.rb +4 -4
  47. data/lib/fog/openstack/models/compute/snapshot.rb +2 -8
  48. data/lib/fog/openstack/models/compute/snapshots.rb +5 -5
  49. data/lib/fog/openstack/models/compute/tenant.rb +2 -2
  50. data/lib/fog/openstack/models/compute/tenants.rb +3 -4
  51. data/lib/fog/openstack/models/compute/volume.rb +2 -8
  52. data/lib/fog/openstack/models/compute/volumes.rb +5 -5
  53. data/lib/fog/openstack/models/identity_v2/ec2_credential.rb +3 -9
  54. data/lib/fog/openstack/models/identity_v2/ec2_credentials.rb +3 -5
  55. data/lib/fog/openstack/models/identity_v2/role.rb +3 -3
  56. data/lib/fog/openstack/models/identity_v2/roles.rb +3 -5
  57. data/lib/fog/openstack/models/identity_v2/tenant.rb +5 -9
  58. data/lib/fog/openstack/models/identity_v2/tenants.rb +3 -5
  59. data/lib/fog/openstack/models/identity_v2/user.rb +2 -8
  60. data/lib/fog/openstack/models/identity_v2/users.rb +3 -5
  61. data/lib/fog/openstack/models/identity_v3/domain.rb +5 -9
  62. data/lib/fog/openstack/models/identity_v3/domains.rb +3 -5
  63. data/lib/fog/openstack/models/identity_v3/endpoint.rb +5 -9
  64. data/lib/fog/openstack/models/identity_v3/endpoints.rb +3 -5
  65. data/lib/fog/openstack/models/identity_v3/group.rb +5 -9
  66. data/lib/fog/openstack/models/identity_v3/groups.rb +3 -5
  67. data/lib/fog/openstack/models/identity_v3/os_credential.rb +3 -3
  68. data/lib/fog/openstack/models/identity_v3/os_credentials.rb +3 -5
  69. data/lib/fog/openstack/models/identity_v3/policies.rb +3 -5
  70. data/lib/fog/openstack/models/identity_v3/policy.rb +5 -9
  71. data/lib/fog/openstack/models/identity_v3/project.rb +5 -8
  72. data/lib/fog/openstack/models/identity_v3/projects.rb +21 -10
  73. data/lib/fog/openstack/models/identity_v3/role.rb +3 -8
  74. data/lib/fog/openstack/models/identity_v3/role_assignment.rb +3 -3
  75. data/lib/fog/openstack/models/identity_v3/role_assignments.rb +3 -5
  76. data/lib/fog/openstack/models/identity_v3/roles.rb +3 -5
  77. data/lib/fog/openstack/models/identity_v3/service.rb +3 -3
  78. data/lib/fog/openstack/models/identity_v3/services.rb +3 -5
  79. data/lib/fog/openstack/models/identity_v3/token.rb +3 -3
  80. data/lib/fog/openstack/models/identity_v3/tokens.rb +3 -3
  81. data/lib/fog/openstack/models/identity_v3/user.rb +3 -9
  82. data/lib/fog/openstack/models/identity_v3/users.rb +3 -5
  83. data/lib/fog/openstack/models/image/image.rb +2 -13
  84. data/lib/fog/openstack/models/image/images.rb +5 -5
  85. data/lib/fog/openstack/models/metering/resource.rb +2 -7
  86. data/lib/fog/openstack/models/metering/resources.rb +3 -3
  87. data/lib/fog/openstack/models/model.rb +44 -0
  88. data/lib/fog/openstack/models/network/floating_ip.rb +2 -7
  89. data/lib/fog/openstack/models/network/floating_ips.rb +3 -5
  90. data/lib/fog/openstack/models/network/lb_health_monitor.rb +2 -12
  91. data/lib/fog/openstack/models/network/lb_health_monitors.rb +3 -5
  92. data/lib/fog/openstack/models/network/lb_member.rb +2 -12
  93. data/lib/fog/openstack/models/network/lb_members.rb +3 -5
  94. data/lib/fog/openstack/models/network/lb_pool.rb +2 -12
  95. data/lib/fog/openstack/models/network/lb_pools.rb +3 -5
  96. data/lib/fog/openstack/models/network/lb_vip.rb +2 -12
  97. data/lib/fog/openstack/models/network/lb_vips.rb +3 -5
  98. data/lib/fog/openstack/models/network/network.rb +2 -12
  99. data/lib/fog/openstack/models/network/networks.rb +3 -5
  100. data/lib/fog/openstack/models/network/port.rb +2 -13
  101. data/lib/fog/openstack/models/network/ports.rb +3 -5
  102. data/lib/fog/openstack/models/network/router.rb +2 -13
  103. data/lib/fog/openstack/models/network/routers.rb +3 -5
  104. data/lib/fog/openstack/models/network/security_group.rb +2 -2
  105. data/lib/fog/openstack/models/network/security_group_rule.rb +2 -2
  106. data/lib/fog/openstack/models/network/security_group_rules.rb +3 -5
  107. data/lib/fog/openstack/models/network/security_groups.rb +3 -5
  108. data/lib/fog/openstack/models/network/subnet.rb +3 -14
  109. data/lib/fog/openstack/models/network/subnets.rb +3 -5
  110. data/lib/fog/openstack/models/orchestration/event.rb +2 -2
  111. data/lib/fog/openstack/models/orchestration/events.rb +5 -7
  112. data/lib/fog/openstack/models/orchestration/resource.rb +2 -2
  113. data/lib/fog/openstack/models/orchestration/resource_schemas.rb +2 -2
  114. data/lib/fog/openstack/models/orchestration/resources.rb +3 -5
  115. data/lib/fog/openstack/models/orchestration/stack.rb +3 -7
  116. data/lib/fog/openstack/models/orchestration/stacks.rb +5 -5
  117. data/lib/fog/openstack/models/orchestration/template.rb +2 -2
  118. data/lib/fog/openstack/models/orchestration/templates.rb +1 -1
  119. data/lib/fog/openstack/models/planning/plan.rb +2 -13
  120. data/lib/fog/openstack/models/planning/plans.rb +3 -5
  121. data/lib/fog/openstack/models/planning/role.rb +2 -8
  122. data/lib/fog/openstack/models/planning/roles.rb +3 -6
  123. data/lib/fog/openstack/models/storage/directories.rb +4 -6
  124. data/lib/fog/openstack/models/storage/directory.rb +2 -2
  125. data/lib/fog/openstack/models/storage/file.rb +15 -2
  126. data/lib/fog/openstack/models/storage/files.rb +7 -8
  127. data/lib/fog/openstack/models/volume/availability_zone.rb +13 -0
  128. data/lib/fog/openstack/models/volume/availability_zones.rb +17 -0
  129. data/lib/fog/openstack/models/volume/transfer.rb +36 -0
  130. data/lib/fog/openstack/models/volume/transfers.rb +38 -0
  131. data/lib/fog/openstack/models/volume/volume.rb +9 -8
  132. data/lib/fog/openstack/models/volume/volume_type.rb +2 -8
  133. data/lib/fog/openstack/models/volume/volume_types.rb +3 -6
  134. data/lib/fog/openstack/models/volume/volumes.rb +5 -6
  135. data/lib/fog/openstack/requests/compute/list_servers.rb +8 -5
  136. data/lib/fog/openstack/requests/compute/list_servers_detail.rb +9 -6
  137. data/lib/fog/openstack/requests/compute/list_zones.rb +6 -5
  138. data/lib/fog/openstack/requests/compute/list_zones_detailed.rb +55 -0
  139. data/lib/fog/openstack/requests/compute/shelve_offload_server.rb +24 -0
  140. data/lib/fog/openstack/requests/compute/shelve_server.rb +24 -0
  141. data/lib/fog/openstack/requests/compute/unshelve_server.rb +24 -0
  142. data/lib/fog/openstack/requests/identity_v3/get_project.rb +2 -2
  143. data/lib/fog/openstack/requests/network/create_subnet.rb +1 -1
  144. data/lib/fog/openstack/requests/network/update_subnet.rb +8 -7
  145. data/lib/fog/openstack/requests/volume/accept_transfer.rb +24 -0
  146. data/lib/fog/openstack/requests/volume/create_transfer.rb +27 -0
  147. data/lib/fog/openstack/requests/volume/delete_transfer.rb +17 -0
  148. data/lib/fog/openstack/requests/volume/extend_volume.rb +25 -0
  149. data/lib/fog/openstack/requests/volume/get_transfer_details.rb +17 -0
  150. data/lib/fog/openstack/requests/volume/list_transfers.rb +18 -0
  151. data/lib/fog/openstack/requests/volume/list_transfers_detailed.rb +18 -0
  152. data/lib/fog/openstack/requests/volume/list_zones.rb +32 -0
  153. data/lib/fog/openstack/storage.rb +3 -1
  154. data/lib/fog/openstack/volume.rb +16 -0
  155. data/lib/fog/rackspace/examples/compute_v2/create_network.rb +1 -1
  156. data/lib/fog/vcloud_director/generators/compute/edge_gateway_service_configuration.rb +31 -30
  157. data/lib/fog/vcloud_director/models/compute/task.rb +2 -2
  158. data/lib/fog/version.rb +1 -1
  159. data/lib/fog/vsphere/compute.rb +1 -0
  160. data/lib/fog/vsphere/requests/compute/get_resource_pool.rb +1 -1
  161. data/lib/fog/vsphere/requests/compute/get_virtual_machine.rb +4 -3
  162. data/lib/fog/vsphere/requests/compute/list_clusters.rb +1 -1
  163. data/lib/fog/vsphere/requests/compute/list_vm_interfaces.rb +2 -2
  164. data/lib/fog/vsphere/requests/compute/vm_clone.rb +101 -30
  165. data/lib/fog/vsphere/requests/compute/vm_execute.rb +47 -0
  166. data/lib/tasks/changelog_task.rb +1 -0
  167. data/spec/fog/openstack/identity_v3/{idv3.yml → common_setup.yml} +0 -0
  168. data/spec/fog/openstack/identity_v3/idv3_project_hier_crud_list.yml +1394 -0
  169. data/spec/fog/openstack/identity_v3_spec.rb +255 -196
  170. data/spec/fog/openstack/network/common_setup.yml +131 -0
  171. data/spec/fog/openstack/network/subnets_crud.yml +140 -0
  172. data/spec/fog/openstack/network_spec.rb +43 -0
  173. data/spec/fog/openstack/shared_context.rb +98 -0
  174. data/spec/fog/openstack/volume/{volume_common_setup.yml → common_setup.yml} +0 -0
  175. data/spec/fog/openstack/volume/volume_extend.yml +762 -0
  176. data/spec/fog/openstack/volume/volume_transfer_and_accept.yml +1078 -0
  177. data/spec/fog/openstack/volume/volume_transfer_and_delete.yml +695 -0
  178. data/spec/fog/openstack/volume_spec.rb +232 -67
  179. data/tests/openstack/models/storage/file_tests.rb +26 -0
  180. data/tests/openstack/requests/compute/availability_zone_tests.rb +18 -0
  181. data/tests/openstack/requests/compute/server_tests.rb +12 -0
  182. data/tests/openstack/requests/network/subnet_tests.rb +2 -2
  183. data/tests/openstack/requests/volume/availability_zone_tests.rb +13 -0
  184. data/tests/vcloud_director/requests/compute/edge_gateway_tests.rb +2 -2
  185. metadata +61 -26
  186. data/lib/fog/dynect.rb +0 -1
  187. data/lib/fog/dynect/core.rb +0 -26
  188. data/lib/fog/dynect/dns.rb +0 -157
  189. data/lib/fog/dynect/models/dns/record.rb +0 -67
  190. data/lib/fog/dynect/models/dns/records.rb +0 -48
  191. data/lib/fog/dynect/models/dns/zone.rb +0 -56
  192. data/lib/fog/dynect/models/dns/zones.rb +0 -25
  193. data/lib/fog/dynect/requests/dns/delete_record.rb +0 -55
  194. data/lib/fog/dynect/requests/dns/delete_zone.rb +0 -41
  195. data/lib/fog/dynect/requests/dns/get_all_records.rb +0 -56
  196. data/lib/fog/dynect/requests/dns/get_node_list.rb +0 -55
  197. data/lib/fog/dynect/requests/dns/get_record.rb +0 -83
  198. data/lib/fog/dynect/requests/dns/get_zone.rb +0 -57
  199. data/lib/fog/dynect/requests/dns/post_record.rb +0 -71
  200. data/lib/fog/dynect/requests/dns/post_session.rb +0 -43
  201. data/lib/fog/dynect/requests/dns/post_zone.rb +0 -70
  202. data/lib/fog/dynect/requests/dns/put_record.rb +0 -76
  203. data/lib/fog/dynect/requests/dns/put_zone.rb +0 -76
  204. data/tests/dynect/requests/dns/dns_tests.rb +0 -258
@@ -0,0 +1,131 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://devstack.openstack.stack:5000/v3/auth/tokens
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"auth":{"identity":{"methods":["password"],"password":{"user":{"password":"password","domain":{"name":"Default"},"name":"admin"}}},"scope":{"project":{"name":"admin","domain":{"name":"Default"}}}}}'
9
+ headers:
10
+ User-Agent:
11
+ - fog-core/1.32.0
12
+ Content-Type:
13
+ - application/json
14
+ response:
15
+ status:
16
+ code: 201
17
+ message: ''
18
+ headers:
19
+ Date:
20
+ - Thu, 16 Jul 2015 13:30:01 GMT
21
+ Server:
22
+ - Apache/2.4.7 (Ubuntu)
23
+ X-Subject-Token:
24
+ - 0afbf49d007a4d82850b853b703025d7
25
+ Vary:
26
+ - X-Auth-Token
27
+ X-Openstack-Request-Id:
28
+ - req-16fb6527-c6ed-48fc-908c-c4f02a44178a
29
+ Content-Length:
30
+ - '5409'
31
+ Content-Type:
32
+ - application/json
33
+ body:
34
+ encoding: US-ASCII
35
+ string: ! '{"token": {"methods": ["password"], "roles": [{"id": "c7fc2d49d2f546ab8de6a0901d4408a4",
36
+ "name": "admin"}], "expires_at": "2015-07-16T14:30:01.464420Z", "project":
37
+ {"domain": {"id": "default", "name": "Default"}, "id": "5b1c4e7218d94dc8879d542002ffbc48",
38
+ "name": "admin"}, "catalog": [{"endpoints": [{"region_id": "RegionOne", "url":
39
+ "http://devstack.openstack.stack:8773/", "region": "RegionOne", "interface": "admin",
40
+ "id": "2339b8aa02b3406887552369c5cd8419"}, {"region_id": "RegionOne", "url":
41
+ "http://devstack.openstack.stack:8773/", "region": "RegionOne", "interface": "internal",
42
+ "id": "4d53c32a49db4d8b96e2e51c43a46a1b"}, {"region_id": "RegionOne", "url":
43
+ "http://devstack.openstack.stack:8773/", "region": "RegionOne", "interface": "public",
44
+ "id": "cf5bc6fdc4ce416b818c79f45f29f081"}], "type": "ec2", "id": "1b844219e646400ca44176eac9186533",
45
+ "name": "ec2"}, {"endpoints": [{"region_id": "RegionOne", "url": "http://devstack.openstack.stack:5000/v2.0",
46
+ "region": "RegionOne", "interface": "public", "id": "28314fddad8543e0aa2a2d207d4018a9"},
47
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:5000/v2.0", "region":
48
+ "RegionOne", "interface": "internal", "id": "7c4f7842298b4b8688cb2885cc4d8330"},
49
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:35357/v2.0", "region":
50
+ "RegionOne", "interface": "admin", "id": "f745fca524c149ac934a0d8d392f86a6"}],
51
+ "type": "identity", "id": "24a331955813408d8676151549cd1b78", "name": "keystone"},
52
+ {"endpoints": [{"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8776/v1/5b1c4e7218d94dc8879d542002ffbc48",
53
+ "region": "RegionOne", "interface": "public", "id": "8ff1521affcb4ca3a335993769e9b8f0"},
54
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8776/v1/5b1c4e7218d94dc8879d542002ffbc48",
55
+ "region": "RegionOne", "interface": "internal", "id": "e9f7bda53a7d4649a2619ba1b2f10be5"},
56
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8776/v1/5b1c4e7218d94dc8879d542002ffbc48",
57
+ "region": "RegionOne", "interface": "admin", "id": "f9ff42e36283417ba05572496dfff99b"}],
58
+ "type": "volume", "id": "3f9c8198a2724d0ba97648cb8ae33f3d", "name": "cinder"},
59
+ {"endpoints": [{"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8774/v2.1/5b1c4e7218d94dc8879d542002ffbc48",
60
+ "region": "RegionOne", "interface": "public", "id": "015d9bdeec2c43adb181692fcb52cf3b"},
61
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8774/v2.1/5b1c4e7218d94dc8879d542002ffbc48",
62
+ "region": "RegionOne", "interface": "internal", "id": "e52097447df046cfabc33d6f38a0f9be"},
63
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8774/v2.1/5b1c4e7218d94dc8879d542002ffbc48",
64
+ "region": "RegionOne", "interface": "admin", "id": "fe3a8dbf55304123aff67e8344c07376"}],
65
+ "type": "computev21", "id": "407eeaefaca34073baf78c59f3c26dc3", "name": "novav21"},
66
+ {"endpoints": [{"region_id": "RegionOne", "url": "http://devstack.openstack.stack:9292",
67
+ "region": "RegionOne", "interface": "public", "id": "12761b1c0f634f7581b986da5080b84a"},
68
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:9292", "region":
69
+ "RegionOne", "interface": "internal", "id": "7968eace2b18475f877b040eec185987"},
70
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:9292", "region":
71
+ "RegionOne", "interface": "admin", "id": "eda6b4b034d0431bb3fcd3229326c622"}],
72
+ "type": "image", "id": "48c8845a0eb243d6802b629dbed2dc79", "name": "glance"},
73
+ {"endpoints": [{"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8774/v2/5b1c4e7218d94dc8879d542002ffbc48",
74
+ "region": "RegionOne", "interface": "internal", "id": "00d4a072dd074a6398e5cd35dbbf6913"},
75
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8774/v2/5b1c4e7218d94dc8879d542002ffbc48",
76
+ "region": "RegionOne", "interface": "public", "id": "55f0c7b7f8b348c7b7de153ac3388ac8"},
77
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8774/v2/5b1c4e7218d94dc8879d542002ffbc48",
78
+ "region": "RegionOne", "interface": "admin", "id": "afcff3fbd3b04313be932785c50dc0ef"}],
79
+ "type": "compute", "id": "599e0e4ff2584630bc0fd242443af297", "name": "nova"},
80
+ {"endpoints": [{"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8776/v2/5b1c4e7218d94dc8879d542002ffbc48",
81
+ "region": "RegionOne", "interface": "admin", "id": "43c972f7af7f465cb3f49d91988427bf"},
82
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8776/v2/5b1c4e7218d94dc8879d542002ffbc48",
83
+ "region": "RegionOne", "interface": "internal", "id": "50c9a1fe06094aea908034e55c5e33fe"},
84
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:8776/v2/5b1c4e7218d94dc8879d542002ffbc48",
85
+ "region": "RegionOne", "interface": "public", "id": "dfa345861e48478d8d05ae1d340e5cc9"}],
86
+ "type": "volumev2", "id": "6520c738495d4688a243d9883213259c", "name": "cinderv2"},
87
+ {"endpoints": [{"region_id": "RegionOne", "url": "http://devstack.openstack.stack:9696/",
88
+ "region": "RegionOne", "interface": "public", "id": "84df3f19b54d46fdbf3c5ecbfb322b10"},
89
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:9696/", "region":
90
+ "RegionOne", "interface": "admin", "id": "9bba82867f4641cfb175a4866f8a8293"},
91
+ {"region_id": "RegionOne", "url": "http://devstack.openstack.stack:9696/", "region":
92
+ "RegionOne", "interface": "internal", "id": "e325c8d1fb0542ccb79dcf4b8a80eb49"}],
93
+ "type": "network", "id": "fcc46107290f4aa6bb38153ab0a3f63b", "name": "neutron"}],
94
+ "extras": {}, "user": {"domain": {"id": "default", "name": "Default"}, "id":
95
+ "3c3ae1c4f69e404282372fa02bf53cd6", "name": "admin"}, "audit_ids": ["v-kjH6JJTG6PzR3OTMmqfg"],
96
+ "issued_at": "2015-07-16T13:30:01.464477Z"}}'
97
+ http_version:
98
+ recorded_at: Thu, 16 Jul 2015 13:30:18 GMT
99
+ - request:
100
+ method: get
101
+ uri: http://devstack.openstack.stack:9696/
102
+ body:
103
+ encoding: US-ASCII
104
+ string: ''
105
+ headers:
106
+ User-Agent:
107
+ - fog-core/1.32.0
108
+ Content-Type:
109
+ - application/json
110
+ Accept:
111
+ - application/json
112
+ X-Auth-Token:
113
+ - 0afbf49d007a4d82850b853b703025d7
114
+ response:
115
+ status:
116
+ code: 200
117
+ message: ''
118
+ headers:
119
+ Content-Type:
120
+ - application/json; charset=UTF-8
121
+ Content-Length:
122
+ - '122'
123
+ Date:
124
+ - Thu, 16 Jul 2015 13:30:01 GMT
125
+ body:
126
+ encoding: US-ASCII
127
+ string: ! '{"versions": [{"status": "CURRENT", "id": "v2.0", "links": [{"href":
128
+ "http://devstack.openstack.stack:9696/v2.0", "rel": "self"}]}]}'
129
+ http_version:
130
+ recorded_at: Thu, 16 Jul 2015 13:30:18 GMT
131
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,140 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://devstack.openstack.stack:9696/v2.0/networks
6
+ body:
7
+ encoding: UTF-8
8
+ string: ! '{"network":{"name":"foo-net12","shared":false}}'
9
+ headers:
10
+ User-Agent:
11
+ - fog-core/1.32.0
12
+ Content-Type:
13
+ - application/json
14
+ Accept:
15
+ - application/json
16
+ X-Auth-Token:
17
+ - 0afbf49d007a4d82850b853b703025d7
18
+ response:
19
+ status:
20
+ code: 201
21
+ message: ''
22
+ headers:
23
+ Content-Type:
24
+ - application/json; charset=UTF-8
25
+ Content-Length:
26
+ - '344'
27
+ X-Openstack-Request-Id:
28
+ - req-cc7677e6-9700-4215-b16d-d4a867db376b
29
+ Date:
30
+ - Thu, 16 Jul 2015 13:30:02 GMT
31
+ body:
32
+ encoding: US-ASCII
33
+ string: ! '{"network": {"status": "ACTIVE", "subnets": [], "name": "foo-net12",
34
+ "provider:physical_network": null, "router:external": false, "tenant_id":
35
+ "5b1c4e7218d94dc8879d542002ffbc48", "admin_state_up": true, "mtu": 0, "shared":
36
+ false, "provider:network_type": "vxlan", "id": "0629b827-668a-443c-b73e-1725359350fb",
37
+ "provider:segmentation_id": 1104}}'
38
+ http_version:
39
+ recorded_at: Thu, 16 Jul 2015 13:30:19 GMT
40
+ - request:
41
+ method: post
42
+ uri: http://devstack.openstack.stack:9696/v2.0/subnets
43
+ body:
44
+ encoding: UTF-8
45
+ string: ! '{"subnet":{"network_id":"0629b827-668a-443c-b73e-1725359350fb","cidr":"172.16.0.0/16","ip_version":4,"name":"my-network","gateway_ip":null}}'
46
+ headers:
47
+ User-Agent:
48
+ - fog-core/1.32.0
49
+ Content-Type:
50
+ - application/json
51
+ Accept:
52
+ - application/json
53
+ X-Auth-Token:
54
+ - 0afbf49d007a4d82850b853b703025d7
55
+ response:
56
+ status:
57
+ code: 201
58
+ message: ''
59
+ headers:
60
+ Content-Type:
61
+ - application/json; charset=UTF-8
62
+ Content-Length:
63
+ - '452'
64
+ X-Openstack-Request-Id:
65
+ - req-295d5e91-514b-4980-85a4-adce351161a8
66
+ Date:
67
+ - Thu, 16 Jul 2015 13:30:02 GMT
68
+ body:
69
+ encoding: US-ASCII
70
+ string: ! '{"subnet": {"name": "my-network", "enable_dhcp": true, "network_id":
71
+ "0629b827-668a-443c-b73e-1725359350fb", "tenant_id": "5b1c4e7218d94dc8879d542002ffbc48",
72
+ "dns_nameservers": [], "gateway_ip": null, "ipv6_ra_mode": null, "allocation_pools":
73
+ [{"start": "172.16.0.1", "end": "172.16.255.254"}], "host_routes": [], "ip_version":
74
+ 4, "ipv6_address_mode": null, "cidr": "172.16.0.0/16", "id": "11bef948-6df8-4fa3-8c21-3fbd3cc4ca6d",
75
+ "subnetpool_id": null}}'
76
+ http_version:
77
+ recorded_at: Thu, 16 Jul 2015 13:30:19 GMT
78
+ - request:
79
+ method: delete
80
+ uri: http://devstack.openstack.stack:9696/v2.0/subnets/11bef948-6df8-4fa3-8c21-3fbd3cc4ca6d
81
+ body:
82
+ encoding: US-ASCII
83
+ string: ''
84
+ headers:
85
+ User-Agent:
86
+ - fog-core/1.32.0
87
+ Content-Type:
88
+ - application/json
89
+ Accept:
90
+ - application/json
91
+ X-Auth-Token:
92
+ - 0afbf49d007a4d82850b853b703025d7
93
+ response:
94
+ status:
95
+ code: 204
96
+ message: ''
97
+ headers:
98
+ Content-Length:
99
+ - '0'
100
+ X-Openstack-Request-Id:
101
+ - req-5c4205db-8183-4eeb-a702-e6e156f82db1
102
+ Date:
103
+ - Thu, 16 Jul 2015 13:30:03 GMT
104
+ body:
105
+ encoding: US-ASCII
106
+ string: ''
107
+ http_version:
108
+ recorded_at: Thu, 16 Jul 2015 13:30:20 GMT
109
+ - request:
110
+ method: delete
111
+ uri: http://devstack.openstack.stack:9696/v2.0/networks/0629b827-668a-443c-b73e-1725359350fb
112
+ body:
113
+ encoding: US-ASCII
114
+ string: ''
115
+ headers:
116
+ User-Agent:
117
+ - fog-core/1.32.0
118
+ Content-Type:
119
+ - application/json
120
+ Accept:
121
+ - application/json
122
+ X-Auth-Token:
123
+ - 0afbf49d007a4d82850b853b703025d7
124
+ response:
125
+ status:
126
+ code: 204
127
+ message: ''
128
+ headers:
129
+ Content-Length:
130
+ - '0'
131
+ X-Openstack-Request-Id:
132
+ - req-f21f4c07-2e64-4920-a53d-19f221af0c99
133
+ Date:
134
+ - Thu, 16 Jul 2015 13:30:03 GMT
135
+ body:
136
+ encoding: US-ASCII
137
+ string: ''
138
+ http_version:
139
+ recorded_at: Thu, 16 Jul 2015 13:30:20 GMT
140
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,43 @@
1
+ require 'fog/openstack/compute'
2
+ require 'fog/openstack/identity'
3
+ require 'fog/openstack/identity_v3'
4
+ require 'fog/openstack/network'
5
+
6
+ if RUBY_VERSION =~ /1.8/
7
+ require File.expand_path('../shared_context', __FILE__)
8
+ else
9
+ require_relative './shared_context'
10
+ end
11
+
12
+ RSpec.describe Fog::Network::OpenStack do
13
+
14
+ include_context 'OpenStack specs with VCR'
15
+ before :all do
16
+ setup_vcr_and_service(
17
+ :vcr_directory => 'spec/fog/openstack/network',
18
+ :service_class => Fog::Network::OpenStack
19
+ )
20
+ end
21
+
22
+
23
+ it 'CRUD subnets' do
24
+ VCR.use_cassette('subnets_crud') do
25
+ begin
26
+
27
+ foonet = @service.networks.create(:name => 'foo-net12', :shared => false)
28
+
29
+ subnet = @service.subnets.create(:name => "my-network", :network_id => foonet.id, :cidr => '172.16.0.0/16', :ip_version => 4, :gateway_ip => nil)
30
+
31
+ expect(subnet.name).to eq 'my-network'
32
+
33
+ ensure
34
+ subnet.destroy if subnet
35
+ foonet.destroy if foonet
36
+ end
37
+
38
+ end
39
+ end
40
+
41
+
42
+
43
+ end
@@ -0,0 +1,98 @@
1
+ require 'rspec/core'
2
+ require 'rspec/expectations'
3
+ require 'vcr'
4
+ require 'fog/openstack/identity'
5
+ require 'fog/openstack/identity_v3'
6
+ require 'fog/openstack/network'
7
+
8
+ #
9
+ # There are basically two modes of operation for these specs.
10
+ #
11
+ # 1. ENV[OS_AUTH_URL] exists: talk to an actual OpenStack and record HTTP
12
+ # traffic in VCRs at "spec/debug" (credentials are read from the conventional
13
+ # environment variables: OS_AUTH_URL, OS_USERNAME, OS_PASSWORD etc.)
14
+ # 2. otherwise (under Travis etc.): use VCRs at "spec/fog/openstack/#{service}"
15
+ #
16
+ # When you develop a new unit test or change an existing one:
17
+ #
18
+ # 1. Record interactions against an actual OpenStack (Devstack is usually
19
+ # enough if configured correctly) using the first mode from above.
20
+ # 2. Move the relevant VCRs from "spec/debug" to
21
+ # "spec/fog/openstack/#{service}".
22
+ # 3. In these VCRs, string-replace your OpenStack's URLs/IPs by
23
+ # "devstack.openstack.stack". Also, string-replace the used tokens by the
24
+ # token obtained in the "common_setup.yml".
25
+ #
26
+ RSpec.shared_context 'OpenStack specs with VCR' do
27
+
28
+ # This method should be called in a "before :all" call to set everything up.
29
+ # A properly configured instance of the service class (e.g.
30
+ # Fog::Volume::OpenStack) is then made available in @service.
31
+ def setup_vcr_and_service(options)
32
+ # read arguments
33
+ expect(@vcr_directory = options[:vcr_directory]).to be_a(String)
34
+ expect(@service_class = options[:service_class]).to be_a(Class)
35
+
36
+ # determine mode of operation
37
+ use_recorded = !ENV.has_key?('OS_AUTH_URL')
38
+ if use_recorded
39
+ # when using the cassettes, there is no need to sleep in wait_for()
40
+ Fog.interval = 0
41
+ # use an auth URL that matches our VCR recordings (IdentityV2 for most
42
+ # services, but IdentityV3 test obviously needs IdentityV3 auth URL)
43
+ if [Fog::Identity::OpenStack::V3, Fog::Network::OpenStack].include? @service_class
44
+ @os_auth_url = 'http://devstack.openstack.stack:5000/v3'
45
+ else
46
+ @os_auth_url = 'http://devstack.openstack.stack:5000/v2.0'
47
+ end
48
+ else
49
+ # when an auth URL is given, we talk to a real OpenStack
50
+ @os_auth_url = ENV['OS_AUTH_URL']
51
+ end
52
+
53
+ # setup VCR
54
+ VCR.configure do |config|
55
+ config.allow_http_connections_when_no_cassette = true
56
+ config.hook_into :webmock
57
+
58
+ if use_recorded
59
+ config.cassette_library_dir = @vcr_directory
60
+ config.default_cassette_options = { :record => :none }
61
+ config.default_cassette_options.merge! :match_requests_on => [:method, :uri, :body] unless RUBY_VERSION =~ /1.8/ # Ruby 1.8.7 encodes JSON differently, which screws up request matching
62
+ else
63
+ config.cassette_library_dir = "spec/debug"
64
+ config.default_cassette_options = { :record => :all }
65
+ end
66
+ end
67
+
68
+ # allow us to ignore dev certificates on servers
69
+ Excon.defaults[:ssl_verify_peer] = false if ENV['SSL_VERIFY_PEER'] == 'false'
70
+
71
+ # setup the service object
72
+ VCR.use_cassette('common_setup') do
73
+ if @service_class == Fog::Identity::OpenStack::V3 || @os_auth_url.end_with?('/v3')
74
+ options = {
75
+ :openstack_auth_url => "#{@os_auth_url}/auth/tokens",
76
+ :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne',
77
+ :openstack_api_key => ENV['OS_PASSWORD'] || 'password',
78
+ :openstack_username => ENV['OS_USERNAME'] || 'admin',
79
+ :openstack_domain_name => ENV['OS_USER_DOMAIN_NAME'] || 'Default',
80
+ :openstack_project_name => ENV['OS_PROJECT_NAME'] || 'admin'
81
+ }
82
+ else
83
+ options = {
84
+ :openstack_auth_url => "#{@os_auth_url}/tokens",
85
+ :openstack_region => ENV['OS_REGION_NAME'] || 'RegionOne',
86
+ :openstack_api_key => ENV['OS_PASSWORD'] || 'devstack',
87
+ :openstack_username => ENV['OS_USERNAME'] || 'admin',
88
+ :openstack_tenant => ENV['OS_PROJECT_NAME'] || 'admin'
89
+ # FIXME: Identity V3 not properly supported by other services yet
90
+ # :openstack_user_domain => ENV['OS_USER_DOMAIN_NAME'] || 'Default',
91
+ # :openstack_project_domain => ENV['OS_PROJECT_DOMAIN_NAME'] || 'Default',
92
+ }
93
+ end
94
+ @service = @service_class.new(options) unless @service
95
+ end
96
+ end
97
+
98
+ end
@@ -0,0 +1,762 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/detail?display_name=fog-testvolume-1
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - fog/1.31.0 fog-core/1.31.1
12
+ Proxy-Connection:
13
+ - Keep-Alive
14
+ Content-Type:
15
+ - application/json
16
+ Accept:
17
+ - application/json
18
+ X-Auth-Token:
19
+ - fb5eafb443894cc59c09cf4608dbc5eb
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: ''
24
+ headers:
25
+ X-Compute-Request-Id:
26
+ - req-16b79930-2aa4-4e85-b02e-cb20f2c1baf2
27
+ Content-Type:
28
+ - application/json
29
+ Content-Length:
30
+ - '15'
31
+ X-Openstack-Request-Id:
32
+ - req-16b79930-2aa4-4e85-b02e-cb20f2c1baf2
33
+ Date:
34
+ - Fri, 03 Jul 2015 12:39:33 GMT
35
+ body:
36
+ encoding: US-ASCII
37
+ string: ! '{"volumes": []}'
38
+ http_version:
39
+ recorded_at: Fri, 03 Jul 2015 12:39:33 GMT
40
+ - request:
41
+ method: post
42
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes
43
+ body:
44
+ encoding: UTF-8
45
+ string: ! '{"volume":{"display_name":"fog-testvolume-1","display_description":null,"size":1}}'
46
+ headers:
47
+ User-Agent:
48
+ - fog/1.31.0 fog-core/1.31.1
49
+ Proxy-Connection:
50
+ - Keep-Alive
51
+ Content-Type:
52
+ - application/json
53
+ Accept:
54
+ - application/json
55
+ X-Auth-Token:
56
+ - fb5eafb443894cc59c09cf4608dbc5eb
57
+ response:
58
+ status:
59
+ code: 200
60
+ message: ''
61
+ headers:
62
+ X-Compute-Request-Id:
63
+ - req-89dab305-0f58-4ff2-9d0c-3f809714148a
64
+ Content-Type:
65
+ - application/json
66
+ Content-Length:
67
+ - '402'
68
+ X-Openstack-Request-Id:
69
+ - req-89dab305-0f58-4ff2-9d0c-3f809714148a
70
+ Date:
71
+ - Fri, 03 Jul 2015 12:39:34 GMT
72
+ body:
73
+ encoding: US-ASCII
74
+ string: ! '{"volume": {"status": "creating", "display_name": "fog-testvolume-1",
75
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
76
+ false, "created_at": "2015-07-03T12:39:34.021237", "multiattach": "false",
77
+ "display_description": null, "volume_type": "lvmdriver-1", "snapshot_id":
78
+ null, "source_volid": null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0",
79
+ "size": 1}}'
80
+ http_version:
81
+ recorded_at: Fri, 03 Jul 2015 12:39:33 GMT
82
+ - request:
83
+ method: get
84
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/detail?display_name=fog-testvolume-1
85
+ body:
86
+ encoding: US-ASCII
87
+ string: ''
88
+ headers:
89
+ User-Agent:
90
+ - fog/1.31.0 fog-core/1.31.1
91
+ Proxy-Connection:
92
+ - Keep-Alive
93
+ Content-Type:
94
+ - application/json
95
+ Accept:
96
+ - application/json
97
+ X-Auth-Token:
98
+ - fb5eafb443894cc59c09cf4608dbc5eb
99
+ response:
100
+ status:
101
+ code: 200
102
+ message: ''
103
+ headers:
104
+ X-Compute-Request-Id:
105
+ - req-1eab97d4-73df-40f8-9626-82655ee1323f
106
+ Content-Type:
107
+ - application/json
108
+ Content-Length:
109
+ - '708'
110
+ X-Openstack-Request-Id:
111
+ - req-1eab97d4-73df-40f8-9626-82655ee1323f
112
+ Date:
113
+ - Fri, 03 Jul 2015 12:39:34 GMT
114
+ body:
115
+ encoding: US-ASCII
116
+ string: ! '{"volumes": [{"status": "creating", "display_name": "fog-testvolume-1",
117
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
118
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
119
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
120
+ null, "display_description": null, "os-volume-replication:extended_status":
121
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
122
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
123
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
124
+ null, "size": 1}]}'
125
+ http_version:
126
+ recorded_at: Fri, 03 Jul 2015 12:39:33 GMT
127
+ - request:
128
+ method: get
129
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
130
+ body:
131
+ encoding: US-ASCII
132
+ string: ''
133
+ headers:
134
+ User-Agent:
135
+ - fog/1.31.0 fog-core/1.31.1
136
+ Proxy-Connection:
137
+ - Keep-Alive
138
+ Content-Type:
139
+ - application/json
140
+ Accept:
141
+ - application/json
142
+ X-Auth-Token:
143
+ - fb5eafb443894cc59c09cf4608dbc5eb
144
+ response:
145
+ status:
146
+ code: 200
147
+ message: ''
148
+ headers:
149
+ X-Compute-Request-Id:
150
+ - req-da2bad46-3591-457e-8801-fa6bbfe452ac
151
+ Content-Type:
152
+ - application/json
153
+ Content-Length:
154
+ - '705'
155
+ X-Openstack-Request-Id:
156
+ - req-da2bad46-3591-457e-8801-fa6bbfe452ac
157
+ Date:
158
+ - Fri, 03 Jul 2015 12:39:34 GMT
159
+ body:
160
+ encoding: US-ASCII
161
+ string: ! '{"volume": {"status": "creating", "display_name": "fog-testvolume-1",
162
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
163
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
164
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
165
+ null, "display_description": null, "os-volume-replication:extended_status":
166
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
167
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
168
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
169
+ null, "size": 1}}'
170
+ http_version:
171
+ recorded_at: Fri, 03 Jul 2015 12:39:34 GMT
172
+ - request:
173
+ method: get
174
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
175
+ body:
176
+ encoding: US-ASCII
177
+ string: ''
178
+ headers:
179
+ User-Agent:
180
+ - fog/1.31.0 fog-core/1.31.1
181
+ Proxy-Connection:
182
+ - Keep-Alive
183
+ Content-Type:
184
+ - application/json
185
+ Accept:
186
+ - application/json
187
+ X-Auth-Token:
188
+ - fb5eafb443894cc59c09cf4608dbc5eb
189
+ response:
190
+ status:
191
+ code: 200
192
+ message: ''
193
+ headers:
194
+ X-Compute-Request-Id:
195
+ - req-23f18e81-6113-4e88-9675-ba46b30e0aaa
196
+ Content-Type:
197
+ - application/json
198
+ Content-Length:
199
+ - '706'
200
+ X-Openstack-Request-Id:
201
+ - req-23f18e81-6113-4e88-9675-ba46b30e0aaa
202
+ Date:
203
+ - Fri, 03 Jul 2015 12:39:34 GMT
204
+ body:
205
+ encoding: US-ASCII
206
+ string: ! '{"volume": {"status": "available", "display_name": "fog-testvolume-1",
207
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
208
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
209
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
210
+ null, "display_description": null, "os-volume-replication:extended_status":
211
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
212
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
213
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
214
+ null, "size": 1}}'
215
+ http_version:
216
+ recorded_at: Fri, 03 Jul 2015 12:39:34 GMT
217
+ - request:
218
+ method: post
219
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0/action
220
+ body:
221
+ encoding: UTF-8
222
+ string: ! '{"os-extend":{"new_size":2}}'
223
+ headers:
224
+ User-Agent:
225
+ - fog/1.31.0 fog-core/1.31.1
226
+ Proxy-Connection:
227
+ - Keep-Alive
228
+ Content-Type:
229
+ - application/json
230
+ Accept:
231
+ - application/json
232
+ X-Auth-Token:
233
+ - fb5eafb443894cc59c09cf4608dbc5eb
234
+ response:
235
+ status:
236
+ code: 202
237
+ message: ''
238
+ headers:
239
+ Content-Type:
240
+ - text/html; charset=UTF-8
241
+ Content-Length:
242
+ - '0'
243
+ X-Openstack-Request-Id:
244
+ - req-d5bb36f6-f9e8-452d-a9b8-adfa2e55372a
245
+ Date:
246
+ - Fri, 03 Jul 2015 12:39:35 GMT
247
+ body:
248
+ encoding: US-ASCII
249
+ string: ''
250
+ http_version:
251
+ recorded_at: Fri, 03 Jul 2015 12:39:34 GMT
252
+ - request:
253
+ method: get
254
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
255
+ body:
256
+ encoding: US-ASCII
257
+ string: ''
258
+ headers:
259
+ User-Agent:
260
+ - fog/1.31.0 fog-core/1.31.1
261
+ Proxy-Connection:
262
+ - Keep-Alive
263
+ Content-Type:
264
+ - application/json
265
+ Accept:
266
+ - application/json
267
+ X-Auth-Token:
268
+ - fb5eafb443894cc59c09cf4608dbc5eb
269
+ response:
270
+ status:
271
+ code: 200
272
+ message: ''
273
+ headers:
274
+ X-Compute-Request-Id:
275
+ - req-082f5196-64d9-470a-a3e6-8355c0173522
276
+ Content-Type:
277
+ - application/json
278
+ Content-Length:
279
+ - '706'
280
+ X-Openstack-Request-Id:
281
+ - req-082f5196-64d9-470a-a3e6-8355c0173522
282
+ Date:
283
+ - Fri, 03 Jul 2015 12:39:35 GMT
284
+ body:
285
+ encoding: US-ASCII
286
+ string: ! '{"volume": {"status": "extending", "display_name": "fog-testvolume-1",
287
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
288
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
289
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
290
+ null, "display_description": null, "os-volume-replication:extended_status":
291
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
292
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
293
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
294
+ null, "size": 1}}'
295
+ http_version:
296
+ recorded_at: Fri, 03 Jul 2015 12:39:35 GMT
297
+ - request:
298
+ method: get
299
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
300
+ body:
301
+ encoding: US-ASCII
302
+ string: ''
303
+ headers:
304
+ User-Agent:
305
+ - fog/1.31.0 fog-core/1.31.1
306
+ Proxy-Connection:
307
+ - Keep-Alive
308
+ Content-Type:
309
+ - application/json
310
+ Accept:
311
+ - application/json
312
+ X-Auth-Token:
313
+ - fb5eafb443894cc59c09cf4608dbc5eb
314
+ response:
315
+ status:
316
+ code: 200
317
+ message: ''
318
+ headers:
319
+ X-Compute-Request-Id:
320
+ - req-4f2e0d28-c78f-4e2e-b2a0-e52702d1268a
321
+ Content-Type:
322
+ - application/json
323
+ Content-Length:
324
+ - '706'
325
+ X-Openstack-Request-Id:
326
+ - req-4f2e0d28-c78f-4e2e-b2a0-e52702d1268a
327
+ Date:
328
+ - Fri, 03 Jul 2015 12:39:36 GMT
329
+ body:
330
+ encoding: US-ASCII
331
+ string: ! '{"volume": {"status": "available", "display_name": "fog-testvolume-1",
332
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
333
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
334
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
335
+ null, "display_description": null, "os-volume-replication:extended_status":
336
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
337
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
338
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
339
+ null, "size": 2}}'
340
+ http_version:
341
+ recorded_at: Fri, 03 Jul 2015 12:39:36 GMT
342
+ - request:
343
+ method: post
344
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0/action
345
+ body:
346
+ encoding: UTF-8
347
+ string: ! '{"os-extend":{"new_size":1}}'
348
+ headers:
349
+ User-Agent:
350
+ - fog/1.31.0 fog-core/1.31.1
351
+ Proxy-Connection:
352
+ - Keep-Alive
353
+ Content-Type:
354
+ - application/json
355
+ Accept:
356
+ - application/json
357
+ X-Auth-Token:
358
+ - fb5eafb443894cc59c09cf4608dbc5eb
359
+ response:
360
+ status:
361
+ code: 400
362
+ message: ''
363
+ headers:
364
+ Content-Length:
365
+ - '149'
366
+ Content-Type:
367
+ - application/json; charset=UTF-8
368
+ X-Compute-Request-Id:
369
+ - req-5aa179b9-f49a-4ad8-a511-850f622fb2be
370
+ X-Openstack-Request-Id:
371
+ - req-5aa179b9-f49a-4ad8-a511-850f622fb2be
372
+ Date:
373
+ - Fri, 03 Jul 2015 12:39:37 GMT
374
+ body:
375
+ encoding: US-ASCII
376
+ string: ! '{"badRequest": {"message": "Invalid input received: New size for
377
+ extend must be greater than current size. (current: 2, extended: 1).", "code":
378
+ 400}}'
379
+ http_version:
380
+ recorded_at: Fri, 03 Jul 2015 12:39:36 GMT
381
+ - request:
382
+ method: delete
383
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
384
+ body:
385
+ encoding: US-ASCII
386
+ string: ''
387
+ headers:
388
+ User-Agent:
389
+ - fog/1.31.0 fog-core/1.31.1
390
+ Proxy-Connection:
391
+ - Keep-Alive
392
+ Content-Type:
393
+ - application/json
394
+ Accept:
395
+ - application/json
396
+ X-Auth-Token:
397
+ - fb5eafb443894cc59c09cf4608dbc5eb
398
+ response:
399
+ status:
400
+ code: 202
401
+ message: ''
402
+ headers:
403
+ Content-Type:
404
+ - text/html; charset=UTF-8
405
+ Content-Length:
406
+ - '0'
407
+ X-Openstack-Request-Id:
408
+ - req-eb00b584-4373-442a-beb5-6c02e260fba9
409
+ Date:
410
+ - Fri, 03 Jul 2015 12:39:37 GMT
411
+ body:
412
+ encoding: US-ASCII
413
+ string: ''
414
+ http_version:
415
+ recorded_at: Fri, 03 Jul 2015 12:39:37 GMT
416
+ - request:
417
+ method: get
418
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
419
+ body:
420
+ encoding: US-ASCII
421
+ string: ''
422
+ headers:
423
+ User-Agent:
424
+ - fog/1.31.0 fog-core/1.31.1
425
+ Proxy-Connection:
426
+ - Keep-Alive
427
+ Content-Type:
428
+ - application/json
429
+ Accept:
430
+ - application/json
431
+ X-Auth-Token:
432
+ - fb5eafb443894cc59c09cf4608dbc5eb
433
+ response:
434
+ status:
435
+ code: 200
436
+ message: ''
437
+ headers:
438
+ X-Compute-Request-Id:
439
+ - req-99f0bd48-f5f3-4ba0-ac46-291302294a60
440
+ Content-Type:
441
+ - application/json
442
+ Content-Length:
443
+ - '705'
444
+ X-Openstack-Request-Id:
445
+ - req-99f0bd48-f5f3-4ba0-ac46-291302294a60
446
+ Date:
447
+ - Fri, 03 Jul 2015 12:39:37 GMT
448
+ body:
449
+ encoding: US-ASCII
450
+ string: ! '{"volume": {"status": "deleting", "display_name": "fog-testvolume-1",
451
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
452
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
453
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
454
+ null, "display_description": null, "os-volume-replication:extended_status":
455
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
456
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
457
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
458
+ null, "size": 2}}'
459
+ http_version:
460
+ recorded_at: Fri, 03 Jul 2015 12:39:37 GMT
461
+ - request:
462
+ method: get
463
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
464
+ body:
465
+ encoding: US-ASCII
466
+ string: ''
467
+ headers:
468
+ User-Agent:
469
+ - fog/1.31.0 fog-core/1.31.1
470
+ Proxy-Connection:
471
+ - Keep-Alive
472
+ Content-Type:
473
+ - application/json
474
+ Accept:
475
+ - application/json
476
+ X-Auth-Token:
477
+ - fb5eafb443894cc59c09cf4608dbc5eb
478
+ response:
479
+ status:
480
+ code: 200
481
+ message: ''
482
+ headers:
483
+ X-Compute-Request-Id:
484
+ - req-29479376-1b77-4fb3-9381-16d2656847d3
485
+ Content-Type:
486
+ - application/json
487
+ Content-Length:
488
+ - '705'
489
+ X-Openstack-Request-Id:
490
+ - req-29479376-1b77-4fb3-9381-16d2656847d3
491
+ Date:
492
+ - Fri, 03 Jul 2015 12:39:39 GMT
493
+ body:
494
+ encoding: US-ASCII
495
+ string: ! '{"volume": {"status": "deleting", "display_name": "fog-testvolume-1",
496
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
497
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
498
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
499
+ null, "display_description": null, "os-volume-replication:extended_status":
500
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
501
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
502
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
503
+ null, "size": 2}}'
504
+ http_version:
505
+ recorded_at: Fri, 03 Jul 2015 12:39:38 GMT
506
+ - request:
507
+ method: get
508
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
509
+ body:
510
+ encoding: US-ASCII
511
+ string: ''
512
+ headers:
513
+ User-Agent:
514
+ - fog/1.31.0 fog-core/1.31.1
515
+ Proxy-Connection:
516
+ - Keep-Alive
517
+ Content-Type:
518
+ - application/json
519
+ Accept:
520
+ - application/json
521
+ X-Auth-Token:
522
+ - fb5eafb443894cc59c09cf4608dbc5eb
523
+ response:
524
+ status:
525
+ code: 200
526
+ message: ''
527
+ headers:
528
+ X-Compute-Request-Id:
529
+ - req-adf4c117-6385-4f7b-b9ae-25d59206ef22
530
+ Content-Type:
531
+ - application/json
532
+ Content-Length:
533
+ - '705'
534
+ X-Openstack-Request-Id:
535
+ - req-adf4c117-6385-4f7b-b9ae-25d59206ef22
536
+ Date:
537
+ - Fri, 03 Jul 2015 12:39:43 GMT
538
+ body:
539
+ encoding: US-ASCII
540
+ string: ! '{"volume": {"status": "deleting", "display_name": "fog-testvolume-1",
541
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
542
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
543
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
544
+ null, "display_description": null, "os-volume-replication:extended_status":
545
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
546
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
547
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
548
+ null, "size": 2}}'
549
+ http_version:
550
+ recorded_at: Fri, 03 Jul 2015 12:39:43 GMT
551
+ - request:
552
+ method: get
553
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
554
+ body:
555
+ encoding: US-ASCII
556
+ string: ''
557
+ headers:
558
+ User-Agent:
559
+ - fog/1.31.0 fog-core/1.31.1
560
+ Proxy-Connection:
561
+ - Keep-Alive
562
+ Content-Type:
563
+ - application/json
564
+ Accept:
565
+ - application/json
566
+ X-Auth-Token:
567
+ - fb5eafb443894cc59c09cf4608dbc5eb
568
+ response:
569
+ status:
570
+ code: 200
571
+ message: ''
572
+ headers:
573
+ X-Compute-Request-Id:
574
+ - req-89552932-4cef-424d-a60f-18acefec90bf
575
+ Content-Type:
576
+ - application/json
577
+ Content-Length:
578
+ - '705'
579
+ X-Openstack-Request-Id:
580
+ - req-89552932-4cef-424d-a60f-18acefec90bf
581
+ Date:
582
+ - Fri, 03 Jul 2015 12:39:48 GMT
583
+ body:
584
+ encoding: US-ASCII
585
+ string: ! '{"volume": {"status": "deleting", "display_name": "fog-testvolume-1",
586
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
587
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
588
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
589
+ null, "display_description": null, "os-volume-replication:extended_status":
590
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
591
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
592
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
593
+ null, "size": 2}}'
594
+ http_version:
595
+ recorded_at: Fri, 03 Jul 2015 12:39:48 GMT
596
+ - request:
597
+ method: get
598
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
599
+ body:
600
+ encoding: US-ASCII
601
+ string: ''
602
+ headers:
603
+ User-Agent:
604
+ - fog/1.31.0 fog-core/1.31.1
605
+ Proxy-Connection:
606
+ - Keep-Alive
607
+ Content-Type:
608
+ - application/json
609
+ Accept:
610
+ - application/json
611
+ X-Auth-Token:
612
+ - fb5eafb443894cc59c09cf4608dbc5eb
613
+ response:
614
+ status:
615
+ code: 200
616
+ message: ''
617
+ headers:
618
+ X-Compute-Request-Id:
619
+ - req-9edda35e-a14b-4647-b3b0-9041d2a1a6e1
620
+ Content-Type:
621
+ - application/json
622
+ Content-Length:
623
+ - '705'
624
+ X-Openstack-Request-Id:
625
+ - req-9edda35e-a14b-4647-b3b0-9041d2a1a6e1
626
+ Date:
627
+ - Fri, 03 Jul 2015 12:39:57 GMT
628
+ body:
629
+ encoding: US-ASCII
630
+ string: ! '{"volume": {"status": "deleting", "display_name": "fog-testvolume-1",
631
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
632
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
633
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
634
+ null, "display_description": null, "os-volume-replication:extended_status":
635
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
636
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
637
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
638
+ null, "size": 2}}'
639
+ http_version:
640
+ recorded_at: Fri, 03 Jul 2015 12:39:57 GMT
641
+ - request:
642
+ method: get
643
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
644
+ body:
645
+ encoding: US-ASCII
646
+ string: ''
647
+ headers:
648
+ User-Agent:
649
+ - fog/1.31.0 fog-core/1.31.1
650
+ Proxy-Connection:
651
+ - Keep-Alive
652
+ Content-Type:
653
+ - application/json
654
+ Accept:
655
+ - application/json
656
+ X-Auth-Token:
657
+ - fb5eafb443894cc59c09cf4608dbc5eb
658
+ response:
659
+ status:
660
+ code: 200
661
+ message: ''
662
+ headers:
663
+ X-Compute-Request-Id:
664
+ - req-7cff8f84-ab7a-4825-80c4-c223dad40a0f
665
+ Content-Type:
666
+ - application/json
667
+ Content-Length:
668
+ - '705'
669
+ X-Openstack-Request-Id:
670
+ - req-7cff8f84-ab7a-4825-80c4-c223dad40a0f
671
+ Date:
672
+ - Fri, 03 Jul 2015 12:40:15 GMT
673
+ body:
674
+ encoding: US-ASCII
675
+ string: ! '{"volume": {"status": "deleting", "display_name": "fog-testvolume-1",
676
+ "attachments": [], "availability_zone": "nova", "bootable": "false", "encrypted":
677
+ false, "created_at": "2015-07-03T12:39:34.000000", "multiattach": "false",
678
+ "os-vol-tenant-attr:tenant_id": "a19e9490e4504b0b877c55510dfb2842", "os-volume-replication:driver_data":
679
+ null, "display_description": null, "os-volume-replication:extended_status":
680
+ null, "os-vol-host-attr:host": "mo-780872711@lvmdriver-1#lvmdriver-1", "volume_type":
681
+ "lvmdriver-1", "snapshot_id": null, "source_volid": null, "os-vol-mig-status-attr:name_id":
682
+ null, "metadata": {}, "id": "5bc63964-414d-4f0f-ae21-1b9202e7acf0", "os-vol-mig-status-attr:migstat":
683
+ null, "size": 2}}'
684
+ http_version:
685
+ recorded_at: Fri, 03 Jul 2015 12:40:14 GMT
686
+ - request:
687
+ method: get
688
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0
689
+ body:
690
+ encoding: US-ASCII
691
+ string: ''
692
+ headers:
693
+ User-Agent:
694
+ - fog/1.31.0 fog-core/1.31.1
695
+ Proxy-Connection:
696
+ - Keep-Alive
697
+ Content-Type:
698
+ - application/json
699
+ Accept:
700
+ - application/json
701
+ X-Auth-Token:
702
+ - fb5eafb443894cc59c09cf4608dbc5eb
703
+ response:
704
+ status:
705
+ code: 404
706
+ message: ''
707
+ headers:
708
+ Content-Length:
709
+ - '78'
710
+ Content-Type:
711
+ - application/json; charset=UTF-8
712
+ X-Compute-Request-Id:
713
+ - req-904acc13-d49a-487a-89dc-f3a071dc7618
714
+ X-Openstack-Request-Id:
715
+ - req-904acc13-d49a-487a-89dc-f3a071dc7618
716
+ Date:
717
+ - Fri, 03 Jul 2015 12:40:47 GMT
718
+ body:
719
+ encoding: US-ASCII
720
+ string: ! '{"itemNotFound": {"message": "The resource could not be found.",
721
+ "code": 404}}'
722
+ http_version:
723
+ recorded_at: Fri, 03 Jul 2015 12:40:46 GMT
724
+ - request:
725
+ method: post
726
+ uri: http://devstack.openstack.stack:8776/v1/a19e9490e4504b0b877c55510dfb2842/volumes/5bc63964-414d-4f0f-ae21-1b9202e7acf0/action
727
+ body:
728
+ encoding: UTF-8
729
+ string: ! '{"os-extend":{"new_size":1}}'
730
+ headers:
731
+ User-Agent:
732
+ - fog/1.31.0 fog-core/1.31.1
733
+ Proxy-Connection:
734
+ - Keep-Alive
735
+ Content-Type:
736
+ - application/json
737
+ Accept:
738
+ - application/json
739
+ X-Auth-Token:
740
+ - fb5eafb443894cc59c09cf4608dbc5eb
741
+ response:
742
+ status:
743
+ code: 404
744
+ message: ''
745
+ headers:
746
+ Content-Length:
747
+ - '109'
748
+ Content-Type:
749
+ - application/json; charset=UTF-8
750
+ X-Compute-Request-Id:
751
+ - req-c6680104-d416-4910-9cde-a04e4019b9f6
752
+ X-Openstack-Request-Id:
753
+ - req-c6680104-d416-4910-9cde-a04e4019b9f6
754
+ Date:
755
+ - Fri, 03 Jul 2015 12:40:47 GMT
756
+ body:
757
+ encoding: US-ASCII
758
+ string: ! '{"itemNotFound": {"message": "Volume 5bc63964-414d-4f0f-ae21-1b9202e7acf0
759
+ could not be found.", "code": 404}}'
760
+ http_version:
761
+ recorded_at: Fri, 03 Jul 2015 12:40:47 GMT
762
+ recorded_with: VCR 2.9.3