fog 1.32.0 → 1.33.0

Sign up to get free protection for your applications and to get access to all the features.
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