Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

No Format
#!/usr/bin/env ruby

# invoke with knife:
# knife exec state.rb
#
# also make sure ruby gem for amazon ec2 is installed e.g.: sudo gem install amazon-ec2

require 'rubygems'
require 'AWS'

ACCESS_KEY_ID = ENV['AMAZON_ACCESS_KEY_ID']
SECRET_ACCESS_KEY = ENV['AMAZON_SECRET_ACCESS_KEY']

ec2 = AWS::EC2::Base.new(:access_key_id => ACCESS_KEY_ID, :secret_access_key => SECRET_ACCESS_KEY)


amis = {}

ec2.describe_images(:owner_id => "self").imagesSet.item.each do |image|
    name = image["name"]
    if !name.nil?
        m = name.match('CI\/EC2\/AMI\/(?:[^\/]+)\/(?:[^\/]+)\/TAG_hudson-cloud-(.+)(?:-)(.+)')
        if !m.nil?
            tagamis[image["imageId"]] = [(m[1]
            if tag.eql? "mifos-image")                 tag = ? "mifos_2_1-bi_1_1-image"             end
            amis[image["imageId"]] = [tag: m[1], m[2]]
        end
    end
end

mfis = {}

nodes.all { |n|
    if n.name =~ /^i-/
        mfi = n.override.tomcat.vhost
        env = (mfi.start_with? "testing-") ? "test" : "prod"
        mfi = mfi.match('(?:testing-){0}reporting-([^\/.]+).mifos.org')[1]
        mfis[mfi + " " + env] = [mfi, env, amis[n.ec2.ami_id][0], amis[n.ec2.ami_id][1]]
    end
}

printf("==============================================================\n")
printf("%-20s\t%-5s\t%-20s\t%s\n" % ["MFI", "ENV", "AMI", "BUILD"])
printf("==============================================================\n")
mfis.keys.sort.each { |mfi|
    printf("%-20s\t%-5s\t%-20s\t%s\n" % [mfis[mfi][0],mfis[mfi][1],mfis[mfi][2],mfis[mfi][3]])
}

Starting a new mifos/pentaho instance

...