lib/ami_spec.rb in ami_spec-0.1.0 vs lib/ami_spec.rb in ami_spec-0.2.0
- old
+ new
@@ -1,10 +1,11 @@
require 'ami_spec/aws_instance'
require 'ami_spec/aws_instance_options'
require 'ami_spec/server_spec'
require 'ami_spec/server_spec_options'
require 'ami_spec/wait_for_ssh'
+require 'ami_spec/wait_for_rc'
require 'trollop'
module AmiSpec
class InstanceConnectionTimeout < StandardError; end
# == Parameters:
@@ -48,10 +49,11 @@
results = []
instances.each do |instance|
ip_address = options[:aws_public_ip] ? instance.public_ip_address : instance.private_ip_address
WaitForSSH.wait(ip_address, options[:ssh_user], options[:key_file], options[:ssh_retries])
+ WaitForRC.wait(ip_address, options[:ssh_user], options[:key_file]) if options[:wait_for_rc]
server_spec_options = ServerSpecOptions.new(options.merge(instance: instance))
results << ServerSpec.new(server_spec_options).run
end
@@ -93,9 +95,10 @@
type: :strings, default: nil
opt :aws_public_ip, "Launch instances with a public IP"
opt :ssh_retries, "The number of times we should try sshing to the ec2 instance before giving up. Defaults to 30",
type: :int, default: 30
opt :debug, "Don't terminate instances on exit"
+ opt :wait_for_rc, "Wait for oldschool SystemV scripts to run before conducting tests. Currently only supports Ubuntu with upstart"
end
if options[:role] && options[:ami]
options[:amis] = { options[:role] => options[:ami] }
options.delete(:role)