2011-01-21 2 views
5

CloudServers API에 대한 Ruby 바인딩을 사용하여 컴퓨터 클러스터를 구성하고 있습니다.Rackspace Cloud Servers API "특성"필드가 작동합니까?

API에는 "개성"이라는 필드를 사용하여 새로 만든 컴퓨터의 파일 시스템에 파일을 "주입"하는 기능이 포함되어 있습니다. 그러나 "성격"키를 통해 파일을 업로드 할 수 없습니다. 시스템이 제대로 작성되었지만 서버가 작성 될 때 파일이 존재하지 않습니다.

#!/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 

사람이이 일을 할 수 있었다 :

다음은이 방법을 보여줍니다 테스트 스크립트입니다?

답변

2

사용중인 라이브러리가 확실하지 않지만, 안개의 Rackspace Cloud 백엔드를 통해 성공적으로 인물을 사용했습니다.

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 
관련 문제