From 4a0f5f4feac51dd4640ab9418500d4ac1aaef899 Mon Sep 17 00:00:00 2001 From: Eric Hodel Date: Thu, 6 Dec 2012 15:17:03 -0800 Subject: [PATCH] Store the user_id in the server mock data OpenStack returns the user_id, not the username, in the list_servers_detail response. This commit looks up or creates a user to retrieve its id so it matches real OpenStack behavior. --- .../openstack/requests/compute/create_server.rb | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/lib/fog/openstack/requests/compute/create_server.rb b/lib/fog/openstack/requests/compute/create_server.rb index 890a82a50..bd98b7d91 100644 --- a/lib/fog/openstack/requests/compute/create_server.rb +++ b/lib/fog/openstack/requests/compute/create_server.rb @@ -56,6 +56,22 @@ module Fog response.status = 202 server_id = Fog::Mock.random_numbers(6).to_s + identity = Fog::Identity[:openstack] + user = identity.users.find { |u| + u.name == @openstack_username + } + + user_id = if user then + user.id + else + identity.user.create(:name => @openstack_username, + :password => 'password', + :email => + "#{@openstack_username}@example", + :tenant_id => @openstack_tenant, + :enabled => true).id + end + mock_data = { 'addresses' => {},