Работает ли поле «индивидуальность» API Rackspace Cloud Servers? - PullRequest
5 голосов
/ 21 января 2011

Я использую привязку Ruby к API CloudServers для ускорения кластера машин.

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

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

1 Ответ

2 голосов
/ 04 мая 2011

Я не уверен, какую библиотеку вы используете, но я успешно использовал личность через бэкэнд Fack 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
...