Add openstack compute list_images
This commit is contained in:
48
lib/aviator/openstack/compute/v2/public/list_images.rb
Normal file
48
lib/aviator/openstack/compute/v2/public/list_images.rb
Normal file
@@ -0,0 +1,48 @@
|
||||
define_request :list_images do
|
||||
|
||||
endpoint_type :public
|
||||
api_version :v2
|
||||
http_method :get
|
||||
|
||||
optional_param :show_details
|
||||
optional_param :server
|
||||
optional_param :name
|
||||
optional_param :status
|
||||
optional_param :changes_since
|
||||
optional_param :marker
|
||||
optional_param :limit
|
||||
optional_param :type
|
||||
|
||||
|
||||
|
||||
def url
|
||||
service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' }
|
||||
|
||||
str = "#{ service_spec[:endpoints][0][:publicURL] }/images"
|
||||
str += "/detail" if params[:show_details]
|
||||
|
||||
filters = []
|
||||
|
||||
(optional_params + required_params - [:show_details]).each do |param_name|
|
||||
query_key = (param_name == :changes_since ? 'changes-since' : param_name)
|
||||
|
||||
filters << "#{ query_key }=#{ params[param_name] }" if params[param_name]
|
||||
end
|
||||
|
||||
str += "?#{ filters.join('&') }" unless filters.empty?
|
||||
|
||||
str
|
||||
end
|
||||
|
||||
|
||||
def headers
|
||||
h = {}
|
||||
|
||||
unless self.anonymous?
|
||||
h['X-Auth-Token'] = session_data[:access][:token][:id]
|
||||
end
|
||||
|
||||
h
|
||||
end
|
||||
|
||||
end
|
||||
172
test/aviator/openstack/compute/v2/public/list_images_test.rb
Normal file
172
test/aviator/openstack/compute/v2/public/list_images_test.rb
Normal file
@@ -0,0 +1,172 @@
|
||||
require 'test_helper'
|
||||
|
||||
class Aviator::Test
|
||||
|
||||
describe 'aviator/openstack/compute/v2/public/list_images' do
|
||||
|
||||
def create_request(session_data = new_session_data)
|
||||
klass.new(session_data)
|
||||
end
|
||||
|
||||
|
||||
def new_session_data
|
||||
service = Aviator::Service.new(
|
||||
provider: 'openstack',
|
||||
service: 'identity'
|
||||
)
|
||||
|
||||
response = service.request :create_token, RequestHelper.admin_bootstrap_session_data do |params|
|
||||
auth_credentials = Environment.openstack_admin[:auth_credentials]
|
||||
auth_credentials.each { |key, value| params[key] = auth_credentials[key] }
|
||||
end
|
||||
|
||||
response.body
|
||||
end
|
||||
|
||||
|
||||
def helper
|
||||
Aviator::Test::RequestHelper
|
||||
end
|
||||
|
||||
|
||||
def klass
|
||||
path = helper.request_path('compute', 'v2', 'public', 'list_images.rb')
|
||||
klass, request_name = Aviator::Service::RequestBuilder.build(path)
|
||||
klass
|
||||
end
|
||||
|
||||
|
||||
it 'has the correct endpoint type' do
|
||||
klass.endpoint_type.must_equal :public
|
||||
end
|
||||
|
||||
|
||||
it 'has the correct api version' do
|
||||
klass.api_version.must_equal :v2
|
||||
end
|
||||
|
||||
|
||||
it 'has the correct http method' do
|
||||
klass.http_method.must_equal :get
|
||||
end
|
||||
|
||||
|
||||
it 'has the correct list of optional parameters' do
|
||||
klass.optional_params.must_equal [
|
||||
:show_details,
|
||||
:server,
|
||||
:name,
|
||||
:status,
|
||||
:changes_since,
|
||||
:marker,
|
||||
:limit,
|
||||
:type
|
||||
]
|
||||
end
|
||||
|
||||
|
||||
it 'has the correct list of required parameters' do
|
||||
klass.required_params.must_equal []
|
||||
end
|
||||
|
||||
|
||||
it 'has the correct url' do
|
||||
session_data = new_session_data
|
||||
service_spec = session_data[:access][:serviceCatalog].find{|s| s[:type] == 'compute' }
|
||||
url = "#{ service_spec[:endpoints][0][:publicURL] }/images"
|
||||
|
||||
params = [
|
||||
[ :show_details, true ],
|
||||
[ :name, 'cirros-0.3.1-x86_64-uec-ramdisk' ],
|
||||
[ :status, 'ACTIVE' ],
|
||||
[ :type, 'application/vnd.openstack.image' ]
|
||||
]
|
||||
|
||||
url += "/detail" if params.first[1]
|
||||
|
||||
filters = []
|
||||
|
||||
params[1, params.length-1].each { |pair| filters << "#{ pair[0] }=#{ pair[1] }" }
|
||||
|
||||
url += "?#{ filters.join('&') }" unless filters.empty?
|
||||
|
||||
request = klass.new(session_data) do |p|
|
||||
params.each { |pair| p[pair[0]] = pair[1] }
|
||||
end
|
||||
|
||||
|
||||
request.url.must_equal url
|
||||
end
|
||||
|
||||
|
||||
it 'has the correct headers' do
|
||||
session_data = new_session_data
|
||||
|
||||
headers = { 'X-Auth-Token' => session_data[:access][:token][:id] }
|
||||
|
||||
request = create_request(session_data)
|
||||
|
||||
request.headers.must_equal headers
|
||||
end
|
||||
|
||||
|
||||
it 'has the correct body' do
|
||||
klass.body?.must_equal false
|
||||
create_request.body?.must_equal false
|
||||
end
|
||||
|
||||
|
||||
it 'leads to a valid response when no parameters are provided' do
|
||||
service = Aviator::Service.new(
|
||||
provider: 'openstack',
|
||||
service: 'compute',
|
||||
default_session_data: new_session_data
|
||||
)
|
||||
|
||||
response = service.request :list_images
|
||||
|
||||
response.status.must_equal 200
|
||||
response.body.wont_be_nil
|
||||
response.headers.wont_be_nil
|
||||
end
|
||||
|
||||
|
||||
it 'leads to a valid response when parameters are provided' do
|
||||
service = Aviator::Service.new(
|
||||
provider: 'openstack',
|
||||
service: 'compute',
|
||||
default_session_data: new_session_data
|
||||
)
|
||||
|
||||
response = service.request :list_images do |params|
|
||||
params[:show_details] = true
|
||||
params[:name] = "cirros-0.3.1-x86_64-uec-ramdisk"
|
||||
end
|
||||
|
||||
response.status.must_equal 200
|
||||
response.body.wont_be_nil
|
||||
response.body[:images].length.must_equal 1
|
||||
response.headers.wont_be_nil
|
||||
end
|
||||
|
||||
|
||||
it 'leads to a valid response when provided with invalid params' do
|
||||
service = Aviator::Service.new(
|
||||
provider: 'openstack',
|
||||
service: 'compute',
|
||||
default_session_data: new_session_data
|
||||
)
|
||||
|
||||
response = service.request :list_images do |params|
|
||||
params[:name] = "nonexistentimagenameherpderp"
|
||||
end
|
||||
|
||||
response.status.must_equal 200
|
||||
response.body.wont_be_nil
|
||||
response.body[:images].length.must_equal 0
|
||||
response.headers.wont_be_nil
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
http_interactions:
|
||||
- request:
|
||||
method: post
|
||||
uri: <HOST_URI>:5000/v2.0/tokens
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"},"tenantName":"admin"}}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
User-Agent:
|
||||
- Faraday v0.8.8
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message:
|
||||
headers:
|
||||
vary:
|
||||
- X-Auth-Token
|
||||
content-type:
|
||||
- application/json
|
||||
content-length:
|
||||
- '2648'
|
||||
date:
|
||||
- Tue, 27 Aug 2013 17:47:01 GMT
|
||||
connection:
|
||||
- close
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ! '{"access": {"token": {"issued_at": "2013-08-27T17:47:01.520468",
|
||||
"expires": "2013-08-28T17:47:01Z", "id": "65a179bd128946058d75a1514ee07541",
|
||||
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
||||
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
||||
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
||||
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
||||
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
||||
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
||||
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
||||
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
||||
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
||||
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
||||
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
||||
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
||||
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
||||
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
||||
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
||||
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}'
|
||||
http_version:
|
||||
recorded_at: Wed, 28 Aug 2013 04:35:08 GMT
|
||||
recorded_with: VCR 2.5.0
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
http_interactions:
|
||||
- request:
|
||||
method: post
|
||||
uri: <HOST_URI>:5000/v2.0/tokens
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"},"tenantName":"admin"}}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
User-Agent:
|
||||
- Faraday v0.8.8
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message:
|
||||
headers:
|
||||
vary:
|
||||
- X-Auth-Token
|
||||
content-type:
|
||||
- application/json
|
||||
content-length:
|
||||
- '2648'
|
||||
date:
|
||||
- Tue, 27 Aug 2013 14:01:49 GMT
|
||||
connection:
|
||||
- close
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ! '{"access": {"token": {"issued_at": "2013-08-27T14:01:49.116717",
|
||||
"expires": "2013-08-28T14:01:48Z", "id": "2a2881383f4e4e6fa12a9534229060ad",
|
||||
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
||||
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
||||
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
||||
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
||||
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
||||
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
||||
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
||||
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
||||
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
||||
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
||||
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
||||
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
||||
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
||||
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
||||
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
||||
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}'
|
||||
http_version:
|
||||
recorded_at: Tue, 27 Aug 2013 23:47:41 GMT
|
||||
recorded_with: VCR 2.5.0
|
||||
@@ -0,0 +1,63 @@
|
||||
---
|
||||
http_interactions:
|
||||
- request:
|
||||
method: post
|
||||
uri: <HOST_URI>:5000/v2.0/tokens
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"},"tenantName":"admin"}}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
User-Agent:
|
||||
- Faraday v0.8.8
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message:
|
||||
headers:
|
||||
vary:
|
||||
- X-Auth-Token
|
||||
content-type:
|
||||
- application/json
|
||||
content-length:
|
||||
- '2648'
|
||||
date:
|
||||
- Tue, 27 Aug 2013 17:25:32 GMT
|
||||
connection:
|
||||
- close
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ! '{"access": {"token": {"issued_at": "2013-08-27T17:25:32.123829",
|
||||
"expires": "2013-08-28T17:25:32Z", "id": "0ea5ec866312410f8a6e988070a68dde",
|
||||
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
||||
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
||||
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
||||
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
||||
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
||||
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
||||
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
||||
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
||||
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
||||
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
||||
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
||||
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
||||
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
||||
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
||||
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
||||
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}'
|
||||
http_version:
|
||||
recorded_at: Wed, 28 Aug 2013 04:13:58 GMT
|
||||
recorded_with: VCR 2.5.0
|
||||
@@ -0,0 +1,108 @@
|
||||
---
|
||||
http_interactions:
|
||||
- request:
|
||||
method: post
|
||||
uri: <HOST_URI>:5000/v2.0/tokens
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"},"tenantName":"admin"}}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
User-Agent:
|
||||
- Faraday v0.8.8
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message:
|
||||
headers:
|
||||
vary:
|
||||
- X-Auth-Token
|
||||
content-type:
|
||||
- application/json
|
||||
content-length:
|
||||
- '2648'
|
||||
date:
|
||||
- Tue, 27 Aug 2013 14:06:45 GMT
|
||||
connection:
|
||||
- close
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ! '{"access": {"token": {"issued_at": "2013-08-27T14:06:45.864188",
|
||||
"expires": "2013-08-28T14:06:45Z", "id": "f2b24ecf95904d2e8ac0de4c46fd1379",
|
||||
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
||||
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
||||
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
||||
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
||||
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
||||
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
||||
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
||||
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
||||
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
||||
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
||||
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
||||
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
||||
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
||||
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
||||
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
||||
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}'
|
||||
http_version:
|
||||
recorded_at: Tue, 27 Aug 2013 23:52:34 GMT
|
||||
- request:
|
||||
method: get
|
||||
uri: http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603/images
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ''
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
User-Agent:
|
||||
- Faraday v0.8.8
|
||||
X-Auth-Token:
|
||||
- f2b24ecf95904d2e8ac0de4c46fd1379
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message:
|
||||
headers:
|
||||
x-compute-request-id:
|
||||
- req-863dfece-c253-4de1-98a0-a2d41cda9d06
|
||||
content-type:
|
||||
- application/json
|
||||
content-length:
|
||||
- '1641'
|
||||
date:
|
||||
- Tue, 27 Aug 2013 14:06:46 GMT
|
||||
connection:
|
||||
- close
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ! '{"images": [{"id": "c1acec19-1026-45e8-946e-b9e9a261916b", "links":
|
||||
[{"href": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603/images/c1acec19-1026-45e8-946e-b9e9a261916b",
|
||||
"rel": "self"}, {"href": "http://192.168.56.11:8774/3cab25130620477b8b03f1bfa8741603/images/c1acec19-1026-45e8-946e-b9e9a261916b",
|
||||
"rel": "bookmark"}, {"href": "http://10.0.2.15:9292/3cab25130620477b8b03f1bfa8741603/images/c1acec19-1026-45e8-946e-b9e9a261916b",
|
||||
"type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "cirros-0.3.1-x86_64-uec"},
|
||||
{"id": "3c2b8955-1a71-4d1c-92a4-e414a172dcb2", "links": [{"href": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603/images/3c2b8955-1a71-4d1c-92a4-e414a172dcb2",
|
||||
"rel": "self"}, {"href": "http://192.168.56.11:8774/3cab25130620477b8b03f1bfa8741603/images/3c2b8955-1a71-4d1c-92a4-e414a172dcb2",
|
||||
"rel": "bookmark"}, {"href": "http://10.0.2.15:9292/3cab25130620477b8b03f1bfa8741603/images/3c2b8955-1a71-4d1c-92a4-e414a172dcb2",
|
||||
"type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "cirros-0.3.1-x86_64-uec-ramdisk"},
|
||||
{"id": "fa64ed94-caec-4cab-acd6-0c5ae18732a6", "links": [{"href": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603/images/fa64ed94-caec-4cab-acd6-0c5ae18732a6",
|
||||
"rel": "self"}, {"href": "http://192.168.56.11:8774/3cab25130620477b8b03f1bfa8741603/images/fa64ed94-caec-4cab-acd6-0c5ae18732a6",
|
||||
"rel": "bookmark"}, {"href": "http://10.0.2.15:9292/3cab25130620477b8b03f1bfa8741603/images/fa64ed94-caec-4cab-acd6-0c5ae18732a6",
|
||||
"type": "application/vnd.openstack.image", "rel": "alternate"}], "name": "cirros-0.3.1-x86_64-uec-kernel"}]}'
|
||||
http_version:
|
||||
recorded_at: Tue, 27 Aug 2013 23:52:34 GMT
|
||||
recorded_with: VCR 2.5.0
|
||||
@@ -0,0 +1,103 @@
|
||||
---
|
||||
http_interactions:
|
||||
- request:
|
||||
method: post
|
||||
uri: <HOST_URI>:5000/v2.0/tokens
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"},"tenantName":"admin"}}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
User-Agent:
|
||||
- Faraday v0.8.8
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message:
|
||||
headers:
|
||||
vary:
|
||||
- X-Auth-Token
|
||||
content-type:
|
||||
- application/json
|
||||
content-length:
|
||||
- '2648'
|
||||
date:
|
||||
- Tue, 27 Aug 2013 17:28:02 GMT
|
||||
connection:
|
||||
- close
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ! '{"access": {"token": {"issued_at": "2013-08-27T17:28:02.980198",
|
||||
"expires": "2013-08-28T17:28:02Z", "id": "a45ef1f5c8694595b5480d99471ef2e1",
|
||||
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
||||
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
||||
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
||||
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
||||
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
||||
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
||||
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
||||
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
||||
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
||||
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
||||
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
||||
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
||||
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
||||
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
||||
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
||||
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}'
|
||||
http_version:
|
||||
recorded_at: Wed, 28 Aug 2013 04:16:27 GMT
|
||||
- request:
|
||||
method: get
|
||||
uri: http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603/images/detail?name=cirros-0.3.1-x86_64-uec-ramdisk
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ''
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
User-Agent:
|
||||
- Faraday v0.8.8
|
||||
X-Auth-Token:
|
||||
- a45ef1f5c8694595b5480d99471ef2e1
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message:
|
||||
headers:
|
||||
x-compute-request-id:
|
||||
- req-ca4bd32d-1157-40a1-9cbd-8b478befcc7a
|
||||
content-type:
|
||||
- application/json
|
||||
content-length:
|
||||
- '741'
|
||||
date:
|
||||
- Tue, 27 Aug 2013 17:28:03 GMT
|
||||
connection:
|
||||
- close
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ! '{"images": [{"status": "ACTIVE", "updated": "2013-07-30T22:31:21Z",
|
||||
"links": [{"href": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603/images/3c2b8955-1a71-4d1c-92a4-e414a172dcb2",
|
||||
"rel": "self"}, {"href": "http://192.168.56.11:8774/3cab25130620477b8b03f1bfa8741603/images/3c2b8955-1a71-4d1c-92a4-e414a172dcb2",
|
||||
"rel": "bookmark"}, {"href": "http://10.0.2.15:9292/3cab25130620477b8b03f1bfa8741603/images/3c2b8955-1a71-4d1c-92a4-e414a172dcb2",
|
||||
"type": "application/vnd.openstack.image", "rel": "alternate"}], "id": "3c2b8955-1a71-4d1c-92a4-e414a172dcb2",
|
||||
"OS-EXT-IMG-SIZE:size": 3714968, "name": "cirros-0.3.1-x86_64-uec-ramdisk",
|
||||
"created": "2013-07-30T22:31:21Z", "minDisk": 0, "progress": 100, "minRam":
|
||||
0, "metadata": {}}]}'
|
||||
http_version:
|
||||
recorded_at: Wed, 28 Aug 2013 04:16:27 GMT
|
||||
recorded_with: VCR 2.5.0
|
||||
@@ -0,0 +1,96 @@
|
||||
---
|
||||
http_interactions:
|
||||
- request:
|
||||
method: post
|
||||
uri: <HOST_URI>:5000/v2.0/tokens
|
||||
body:
|
||||
encoding: UTF-8
|
||||
string: ! '{"auth":{"passwordCredentials":{"username":"admin","password":"<PASSWORD>"},"tenantName":"admin"}}'
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
User-Agent:
|
||||
- Faraday v0.8.8
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message:
|
||||
headers:
|
||||
vary:
|
||||
- X-Auth-Token
|
||||
content-type:
|
||||
- application/json
|
||||
content-length:
|
||||
- '2648'
|
||||
date:
|
||||
- Tue, 27 Aug 2013 14:19:04 GMT
|
||||
connection:
|
||||
- close
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ! '{"access": {"token": {"issued_at": "2013-08-27T14:19:04.323634",
|
||||
"expires": "2013-08-28T14:19:04Z", "id": "7f2ac614da5044fdb0dafd7ffd7b27d2",
|
||||
"tenant": {"description": null, "enabled": true, "id": "3cab25130620477b8b03f1bfa8741603",
|
||||
"name": "admin"}}, "serviceCatalog": [{"endpoints": [{"adminURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "3b72a66bf2f0491bb8dba827cade0d48", "publicURL": "http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "compute", "name": "nova"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:3333", "region": "RegionOne", "internalURL": "http://192.168.56.11:3333",
|
||||
"id": "482f749b370c40eab8788d6d0bc47f48", "publicURL": "http://192.168.56.11:3333"}],
|
||||
"endpoints_links": [], "type": "s3", "name": "s3"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:9292", "region": "RegionOne", "internalURL": "http://192.168.56.11:9292",
|
||||
"id": "0cd5d5d5a0c24721a0392b47c89e3640", "publicURL": "http://192.168.56.11:9292"}],
|
||||
"endpoints_links": [], "type": "image", "name": "glance"}, {"endpoints": [{"adminURL":
|
||||
"http://192.168.56.11:8777", "region": "RegionOne", "internalURL": "http://192.168.56.11:8777",
|
||||
"id": "4eb4edec1d2647bfb8ba4f9a5757169d", "publicURL": "http://192.168.56.11:8777"}],
|
||||
"endpoints_links": [], "type": "metering", "name": "ceilometer"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603",
|
||||
"id": "009e8a41953d439f845b2a0c0dc28b73", "publicURL": "http://192.168.56.11:8776/v1/3cab25130620477b8b03f1bfa8741603"}],
|
||||
"endpoints_links": [], "type": "volume", "name": "cinder"}, {"endpoints":
|
||||
[{"adminURL": "http://192.168.56.11:8773/services/Admin", "region": "RegionOne",
|
||||
"internalURL": "http://192.168.56.11:8773/services/Cloud", "id": "6820836ec6834548bf7b54da0271dded",
|
||||
"publicURL": "http://192.168.56.11:8773/services/Cloud"}], "endpoints_links":
|
||||
[], "type": "ec2", "name": "ec2"}, {"endpoints": [{"adminURL": "http://192.168.56.11:35357/v2.0",
|
||||
"region": "RegionOne", "internalURL": "http://192.168.56.11:5000/v2.0", "id":
|
||||
"24a95f51f67949e784971e97463ee4d8", "publicURL": "http://192.168.56.11:5000/v2.0"}],
|
||||
"endpoints_links": [], "type": "identity", "name": "keystone"}], "user": {"username":
|
||||
"admin", "roles_links": [], "id": "cbbcc4f7aef6435fa2da7e5f0b2f1e97", "roles":
|
||||
[{"name": "admin"}], "name": "admin"}, "metadata": {"is_admin": 0, "roles":
|
||||
["01a81f2dbb3441f1aaa8fe68a7c6f546"]}}}'
|
||||
http_version:
|
||||
recorded_at: Wed, 28 Aug 2013 00:04:41 GMT
|
||||
- request:
|
||||
method: get
|
||||
uri: http://192.168.56.11:8774/v2/3cab25130620477b8b03f1bfa8741603/images?name=nonexistentimagenameherpderp
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ''
|
||||
headers:
|
||||
Content-Type:
|
||||
- application/json
|
||||
User-Agent:
|
||||
- Faraday v0.8.8
|
||||
X-Auth-Token:
|
||||
- 7f2ac614da5044fdb0dafd7ffd7b27d2
|
||||
response:
|
||||
status:
|
||||
code: 200
|
||||
message:
|
||||
headers:
|
||||
x-compute-request-id:
|
||||
- req-5dff9aac-343b-44cc-bbfb-2f2d2b167356
|
||||
content-type:
|
||||
- application/json
|
||||
content-length:
|
||||
- '14'
|
||||
date:
|
||||
- Tue, 27 Aug 2013 14:19:04 GMT
|
||||
connection:
|
||||
- close
|
||||
body:
|
||||
encoding: US-ASCII
|
||||
string: ! '{"images": []}'
|
||||
http_version:
|
||||
recorded_at: Wed, 28 Aug 2013 00:04:42 GMT
|
||||
recorded_with: VCR 2.5.0
|
||||
Reference in New Issue
Block a user