...
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
...