Sha256: b8a9e546e4ddbe6a9d46ee0d381d00442340e9866e2b12cb66edcbbb5b118171

Contents?: true

Size: 1.16 KB

Versions: 2

Compression:

Stored size: 1.16 KB

Contents


module Rudy; module Routines;
  class Startup < Rudy::Routines::Base
    
    def init(*args)
      @routine = fetch_routine_config(:startup)
    end
    
    # * +each_mach+ is an optional block which is executed between 
    # disk creation and the after scripts. The will receives two 
    # arguments: instances of Rudy::Machine and Rye::Box.
    def execute(&each_mach)
      routine_separator(:startup)
      unless @routine
        STDERR.puts "[this is a generic startup routine]"
        @routine = {}
      end
      machines = []
      generic_machine_runner(:create) do |machine,rbox|
        machines << machine
      end
      machines
    end

    # Called by generic_machine_runner
    def raise_early_exceptions
      rmach = Rudy::Machines.new
      # There's no keypair check here because Rudy::Machines will create one 
      raise MachineGroupNotDefined, current_machine_group unless known_machine_group?
      # We don't check @@global.offline b/c we can't create EC2 instances
      # without an internet connection. Use passthrough for routine tests.
      raise MachineGroupAlreadyRunning, current_machine_group if rmach.running?
    end
    
  end

end; end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
solutious-rudy-0.7.4 lib/rudy/routines/startup.rb
rudy-0.7.4 lib/rudy/routines/startup.rb