Month: May 2017

Amazon Linuxでserverspec-initができない(`require’: cannot load such file — io/console (LoadError))

    Amazon Linuxでserverspecのインストールはできるが、 serverspec-initができない。 Amazon LinuxのAMI IDはamzn-ami-hvm-2017.03.0.20170417-x86_64-gp2 (ami-923d12f5)、 Rubyのバージョンはruby 2.0.0p648 (2015-12-16) [x86_64-linux]、 rakeのバージョンはrake, version 12.0.0。   serverspec-initを実行すると、 [ec2-user@ip-192-168-11-11 serverspec]$ serverspec-init /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require’: cannot load such file — io/console (LoadError) from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require’ from /home/ec2-user/.gem/ruby/2.0/gems/net-ssh-4.1.0/lib/net/ssh/prompt.rb:1:in `’ from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require’ from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require’ from /home/ec2-user/.gem/ruby/2.0/gems/net-ssh-4.1.0/lib/net/ssh/key_factory.rb:2:in `’ from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require’ from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require’ from /home/ec2-user/.gem/ruby/2.0/gems/net-ssh-4.1.0/lib/net/ssh/authentication/key_manager.rb:2:in `’ from.

awspecでspecファイルをgenerateすると(中略)awsecrets-1.10.1/lib/awsecrets.rb:59:in `exist?’: no implicit conversion of nil into String (TypeError)

    Infrastructure as codeである。   「エンタープライズにAWS?早い早い」などという担当者の方の冷笑はいまや昔。 今日ではあの三菱東京UFJ銀行までがAWSを利用しようかというご時勢である。 そんな時流に乗り、弊社も忙しい。とっても忙しい。 手のぬくもりを大切にした環境構築ではもはや追いつかない。 そこで自動化を推進するわけである。 Terraformは以前からちょいちょい触っていたが、インフラ構築にもTDDをということで、 awsspecを検証してみた。   Amazon Linuxに2.x系のRubyを入れ(詳細は割愛する)、 gem install awspec mkdir awspec cd awspec awspec init ここまでは順調。 問題はこの後、 echo “require ‘spec_helper'” > spec/ec2_and_rds_spec.rb awspec generate vpc vpc-xxxxxxxxxc >> spec/ec2_and_rds_spec.rb しようとすると、 $ awspec generate vpc vpc-1871177c >> spec/ec2_and_rds_spec.rb /home/ec2-user/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/awsecrets-1.10.1/lib/awsecrets.rb:59:in `exist?’: no implicit conversion of nil into String.