Rackspace 云服务器 API 是否具有“个性”?实地工作?

发布于 2024-10-12 19:29:04 字数 610 浏览 9 评论 0原文

我使用 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

有人能够做到这一点吗?

I'm using the Ruby binding to the CloudServers API to spin up a cluster of machines.

The API includes the ability to "inject" files into the filesystem of the newly created machine, using a field called "personality". However, I'm not able to upload files via the "personality" key. The machine is created properly, but the file is not present when the server is created.

Here's a test script that demonstrates this:

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

Has anyone been able to make this work?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

兲鉂ぱ嘚淚 2024-10-19 19:29:04

我不确定您正在使用哪个库,但我已经通过 Fog 的 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

I'm not sure which library you're using, but I've successfully used personalities via Fog's Rackspace Cloud backend.

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文