Работает ли поле индивидуальности Rackspace Cloud Servers API?

Я использую привязку Ruby к CloudServers 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

Кто-нибудь смог сделать эту работу?


person John Stauffer    schedule 21.01.2011    source источник


Ответы (1)


Я не уверен, какую библиотеку вы используете, но я успешно использовал личности через серверную часть Rackspace Cloud от 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
person Jon Wood    schedule 04.05.2011