Pergunta

Works without custom SSH-keypair

Trying to get going with Vagrant and Rackspace, I was able to spool up a box with the dummy .box file and insecure Vagrant keys, following these instructions.

Vagrant.configure("2") do |config|
  #----------
  # config.vm
  #----------
  config.vm.box     = "dummy"
  config.vm.box_url = "https://github.com/mitchellh/vagrant-rackspace/raw/master/dummy.box"

  #------------------
  # config rackspace
  #------------------
  config.vm.provider :rackspace do |rs|
    rs.username         = "xxxxxx"
    rs.api_key          = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    rs.flavor           = "1 GB Performance"
    rs.image            = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    rs.rackspace_region = "dfw"
    rs.server_name      = "test-vagrant"
  end
end

Broken with custom SSH-keypair

Trying to then specify a keypair with the following configuration

Vagrant.configure("2") do |config|
  #----------
  # config.vm
  #----------
  config.vm.box     = "dummy"
  config.vm.box_url = "https://github.com/mitchellh/vagrant-rackspace/raw/master/dummy.box"

  #-----------
  # config.ssh
  #-----------
  config.ssh.private_key_path = "/Users/natedogg/.ssh/id_rsa"

  #------------------
  # config rackspace
  #------------------
  config.vm.provider :rackspace do |rs|
    rs.username         = "xxxxxx"
    rs.api_key          = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
    rs.flavor           = "1 GB Performance"
    rs.image            = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
    rs.rackspace_region = "dfw"
    rs.server_name      = "test-vagrant"
    rs.public_key_path  = "/Users/natedogg/.ssh/id_rsa.pub"
  end
end

vagrant up --provider=rackspace results in an HTTP 413 from Rackspace.

~/.vagrant.d/gems/gems/excon-0.31.0/lib/excon/middlewares/expects.rb:6:in `response_call': [HTTP 413 | ] Personality file content too long (Fog::Compute::RackspaceV2::ServiceError)

Have Tried

  • Different rs.flavor (512MB Standard Instance)
  • Different installations of Vagrant
Foi útil?

Solução

There is a maximum filesize that you're allowed to provide when you're injecting "personality" files onto a newly launched server, which you can find from the limits endpoint. Unfortunately, I don't see an easy way to query that from Vagrant, but I'd expect that's what you're hitting. Mine is 1000 bytes!

What I'd recommend instead is to upload your public key as a named keypair -- which you can do through the web UI or the API -- and give Vagrant the keypair name:

config.vm.provider :rackspace do |rs|
  rs.username         = "xxxxxx"
  rs.api_key          = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
  rs.flavor           = "1 GB Performance"
  rs.image            = "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
  rs.rackspace_region = "dfw"
  rs.server_name      = "test-vagrant"
  rs.key_name         = "mykey"
end
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top