2011-01-21 23 views
5

Tôi đang sử dụng Ruby ràng buộc với CloudServers API để quay lên một cụm máy.Liệu công việc "cá tính" của Máy chủ điện toán đám mây Rackspace có hoạt động không?

API bao gồm khả năng "chèn" tệp vào hệ thống tệp của máy mới được tạo, sử dụng trường có tên "cá tính". Tuy nhiên, tôi không thể tải tệp lên bằng khóa "cá tính". Máy được tạo đúng cách, nhưng tệp không xuất hiện khi máy chủ được tạo.

Dưới đây là một kịch bản thử nghiệm chứng tỏ điều này:

#!/usr/bin/env ruby 
require 'rubygems' 
require 'cloudservers' 

cs = CloudServers::Connection.new(:username=>"user",:api_key=>"key") 

begin 
    server = cs.create_server(:flavorId=>1, 
       :name=>"personality-test", 
       :imageId=>7888402, 
       :personality=>{"/tmp/foo"=>"/tmp/foo" }) 
rescue 
    print "Failed to create server ", $!, "\n" 
end 

Có ai đã có thể làm cho công việc này?

Trả lời

2

Tôi không chắc bạn đang sử dụng thư viện nào, nhưng tôi đã sử dụng thành công các tính cách thông qua chương trình phụ trợ Đám mây Rackspace của Fog.

server = Fog::Compute.new(:provider => 'Rackspace', 
          :rackspace_username => config[:rackspace_api_username], 
          :rackspace_api_key => config[:rackspace_api_key]) 
server.flavor_id = sizes[args[:size]] 
server.image_id = 49 # Ubuntu 10.04 
server.name = args[:fqdn] 

server.personality = [ 
    { 
    'path' => '/etc/install-chef', 
    'contents' => File.read("install-chef.sh") 
    } 
] 
server.save 
Các vấn đề liên quan