2012-09-20 18 views
5

Bu, ilk kez kauçuk kullanıyorum veya Amazon EC2'ye konuşlandırıyorum. Bu Railscast takip ediyorum. Her yere baktım ve hiç kimse bu problemi yaşıyor gibi gözükmüyor. İşte çalıştırdığınızda benim konsol günlüğü var cap rubber:create_staging:Bir jRoR uygulamasını kauçuk kullanarak dağıtmaya ve NoMethodError: undefined method 'authorize_port_range' öğesini nil için kullanmaya çalışın: NilClass

[email protected]:~/develops/grouper$ cap rubber:create_staging 
    triggering load callbacks 
    * executing `rubber:init' 
    * executing `rubber:create_staging' 
Hostname to use for staging instance [production]: 
Roles to use for staging instance [apache,app,collectd,common,db:primary=true,elasticsearch,examples,graphite_server,graphite_web,graylog_elasticsearch,graylog_mongodb,graylog_server,graylog_web,haproxy,mongodb,monit,passenger,postgresql,postgresql_master,web,web_tools]: 
    * executing `rubber:create' 
Excon nonblock is not supported by your OpenSSL::SSL::SSLSocket 
Excon nonblock is not supported by your OpenSSL::SSL::SSLSocket 
    * Creating new security group: grouper_production_default 
    * Creating new rule: {"source_group_name"=>"grouper_production_default", "source_group_account"=>"<account id redacted>"} 
[DEPRECATION] authorize_group_and_owner is deprecated, use authorize_port_range with :group option instead 
    * Creating new rule: {"protocol"=>"tcp", "from_port"=>"22", "to_port"=>"22", "source_ips"=>["0.0.0.0/0"]} 
NoMethodError: undefined method `authorize_port_range' for nil:NilClass 
    add_security_group_rule at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/cloud/fog.rb:182 
        send at org/jruby/RubyKernel.java:2088 
      method_missing at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/thread_safe_proxy.rb:13 
    sync_security_groups at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/recipes/rubber/security_groups.rb:221 
        each at org/jruby/RubyArray.java:1615 
    sync_security_groups at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/recipes/rubber/security_groups.rb:220 
        each at org/jruby/RubyArray.java:1615 
    sync_security_groups at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/recipes/rubber/security_groups.rb:214 
        each at org/jruby/RubyArray.java:1615 
    sync_security_groups at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/recipes/rubber/security_groups.rb:208 
    setup_security_groups at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/recipes/rubber/security_groups.rb:51 
      create_instance at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/recipes/rubber/instances.rb:255 
      create_instance at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/recipes/rubber/instances.rb:254 
     create_instances at /home/user529789/.rvm/gems/[email protected]/gems/rubber-2.1.0/lib/rubber/recipes/rubber/instances.rb:217 
        call at org/jruby/RubyProc.java:270 
        call at org/jruby/RubyProc.java:224 

cevap

0

Benim tahminim onun bir dizi arayan ve yığın izlemesi özellikle jruby olabilir, aralık bir bağlantı noktası aynı liman ve yakut etmektir veren olmasıdır port aralığını yanlış olarak yorumlamak.

Eğer irb

(22..22).to_a tarihinde JRuby sürümünde çalıştırmayı deneyin ve ne olsun görebilirsiniz. Eğer mazda [22] olsun ama jruby içinde bir uygulama hatası olabilir.

bence başarısızlık anında infaz altında kod buradadır: Bir kaç dakika daha baktıktan sonra https://github.com/rubber/rubber/blob/v2.1.0/lib/rubber/cloud/fog.rb#L182

DÜZENLEME

, berrak kauçuk sis taş argümanlar geçer ve ben Aralığın çözülmesine rağmen, sisin kullandığı yolun, bir menzil beklediğinden emin olabilirsiniz. 21-23 veya 22-23 arası bir aralığı deneyebilir ve bunun hatadan geçip geçmeyeceğini görebilirsiniz. Ayrıca, bir not olarak, kullandığınız kauçuğun sürümü ana sürümün oldukça gerisindedir. Bunun istenen veya belirtilmemiş olduğunu belirtmek için herhangi bir referansım yok, ancak bunun farkında olmalısınız. iyi şanslar.

0
benim için çalışan bir çözüm tüm bu etkilerinin emin değil 'yanlış' olarak 'true' dan güvenlik grubu ile ilgili tüm seçenekleri rubber.yml

gidip ayarlamaktır

ama geçecek gibi görünüyor.

İlgili konular