2012-08-01 18 views
11

Hola, estoy probando rubber gem con ec2 pero tengo algunos problemas para pasar por la sección de inicio rápido. Por alguna razón, Niebla bajo caucho no está encontrando el par de llaves. Aquí está el detalle:Caucho 2 (niebla) y error del par de llaves

en irb (la ruta aquí es lo que está en mi propiedad rubber.yml key_file - gsg-keypair es mi clave privada sin la extensión pem y su clave pública está en el mismo directorio):

1.9.3p125 :010 > File.open("#{Dir[(File.expand_path('~') rescue '/root') + '/.ec2/*'].first}") 


=> #<File:/home/charlie/.ec2/gsg-keypair> 

Pero cada vez que corro: caucho de la cobertura: create_staging aceptar todos los valores predeterminados me estoy haciendo esto:

/home/charlie/.rvm/gems/[email protected]/gems/excon-0.15.4/lib/excon/connection.rb:276:in `request_kernel': The key pair 'gsg-keypair' does not exist (Fog::Compute::AWS::NotFound) 
from /home/charlie/.rvm/gems/[email protected]/gems/excon-0.15.4/lib/excon/connection.rb:105:in `request' 
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/core/connection.rb:20:in `request' 
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/aws/compute.rb:368:in `request' 
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/aws/requests/compute/run_instances.rb:117:in `run_instances' 
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/aws/models/compute/server.rb:182:in `save' 
from /home/charlie/.rvm/gems/[email protected]/gems/fog-1.5.0/lib/fog/core/collection.rb:50:in `create' 
from /home/charlie/.rvm/gems/[email protected]/gems/rubber-2.0.5/lib/rubber/cloud/fog.rb:27:in `create_instance' 
from /home/charlie/.rvm/gems/[email protected]/gems/rubber-2.0.5/lib/rubber/thread_safe_proxy.rb:13:in `method_missing' 
from /home/charlie/.rvm/gems/[email protected]/gems/rubber-2.0.5/lib/rubber/recipes/rubber/instances.rb:295:in `create_instance' 
from /home/charlie/.rvm/gems/[email protected]/gems/rubber-2.0.5/lib/rubber/recipes/rubber/instances.rb:215:in `block (2 levels) in create_instances' 

alguna idea de por qué está sucediendo?

Gracias Charlie

Respuesta

36

acabo experimentado esto, y esto es lo que estaba mal:

En el archivo rubber.yml que tenía:
region: us-east-1

Sin embargo, cuando creé mi llave par en la consola de AWS, estaba en una región diferente.
Debe crear el par de claves en la misma región especificada en el archivo rubber.yml.

enter image description here

Espero que esto ayude!

+0

Eso funciona. Gracias. –

3

En la nueva interfaz de AWS, la región se encuentra en la esquina superior derecha. Escoja cualquier región que desea, simplemente asegúrese de que su archivo config/rubber/rubber.yml es exacta:

cloud_providers: 
aws: 
# REQUIRED The AWS region that you want to use. 
# 
# Options include 
#us-east-1 
# eu-west-1 
# ap-northeast-1 
# ap-southeast-1 
# ap-southeast-2 
# 
region: us-east-1 

Mi config/rubber/rubber.yml es exactamente como el anterior, y funciona. Gracias Johnnycakes por resolver esto!

1

Lo siento por "revivir" el problema anterior, pero esto puede ser útil para alguien.

Tuve un problema similar, excepto que mis regiones eran exactamente iguales. Mi problema es que he cambiado el nombre del archivo de clave, y parece que se debe nombrar exactamente como "nombre de par de clave" en AWS/EC2/Keypairs.

0

Agregué esta línea a mi archivo rubber/deploy.rb y se encargó de ello. Esta línea solía ser [predeterminado] launch-wizard-1 es el nombre de mi instancia de ec2 aws. agregar .. assigned_security_groups: [launch-wizard-1].

Cuestiones relacionadas