2012-09-20 14 views
5

यह मेरा पहला समय अमेज़ॅन ईसी 2 में रबड़ या तैनाती का उपयोग कर रहा है। मैं इस Railscast का पालन कर रहा हूं। मैंने पूरी तरह से गुमराह किया है और किसी और को यह समस्या नहीं लग रही है। यहाँ मेरी सांत्वना लॉग जब मैं चलाने है cap rubber:create_staging:रबड़ का उपयोग करके एक जेआरओआर ऐप को तैनात करने और NoMethodError प्राप्त करने की कोशिश कर रहा है: शून्य के लिए अपरिभाषित विधि `authorize_port_range ': 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 

उत्तर

0

मेरा अनुमान है कि इसकी एक सीमा की तलाश में और स्टैक ट्रेस में आप दे रहे हैं रेंज एक बंदरगाह से एक ही बंदरगाह और गहरे लाल रंग का है, विशेष रूप से JRuby हो सकता है बंदरगाह सीमा को गलत तरीके से समझना।

आप आईआरबी

(22..22).to_a पर JRuby के अपने संस्करण में चलाने की कोशिश करें और आप क्या मिल देख सकते हैं। मिरी में आपको [22] मिलेगा लेकिन जर्बी में एक कार्यान्वयन बग हो सकता है।

विफलता के समय में निष्पादन के तहत कोड मुझे लगता है कि यहाँ है: https://github.com/rubber/rubber/blob/v2.1.0/lib/rubber/cloud/fog.rb#L182

संपादित

कुछ और मिनट के लिए देखने के बाद, अपने स्पष्ट रबर कोहरे मणि को तर्क से गुजरता है और मैं कि मुझे पूरा यकीन है कि भले ही सीमा हल हो सकती है, जिस तरह से धुंध इसका उपयोग कर रहा है, एक सीमा की अपेक्षा करता है। आप 21 से 23 या 22 से 23 तक की रेंज की तरह कुछ कोशिश कर सकते हैं और देख सकते हैं कि यह आपको त्रुटि से पहले ले जाता है या नहीं। साथ ही, एक नोट के रूप में, आप जिस रबड़ का उपयोग कर रहे हैं उसका संस्करण मास्टर संस्करण के पीछे बहुत दूर है। मेरे पास यह निर्दिष्ट करने का कोई संदर्भ नहीं है कि यह वांछित है या नहीं, लेकिन आपको इसके बारे में पता होना चाहिए। सौभाग्य।

0

एक समाधान है कि मेरे लिए काम किया rubber.yml

के पास जाकर स्थापित करने के लिए 'असत्य' बिल्कुल इस के प्रभाव के बारे में सुनिश्चित नहीं करने के लिए 'सही' से सुरक्षा समूह से संबंधित विकल्पों में से सभी है लेकिन ऐसा लगता है।

संबंधित मुद्दे