diff options
Diffstat (limited to 'lib/gce_helper.rb')
-rw-r--r-- | lib/gce_helper.rb | 94 |
1 files changed, 0 insertions, 94 deletions
diff --git a/lib/gce_helper.rb b/lib/gce_helper.rb deleted file mode 100644 index 19fa00020..000000000 --- a/lib/gce_helper.rb +++ /dev/null @@ -1,94 +0,0 @@ -require 'ostruct' - -module OpenShift - module Ops - class GceHelper - MYDIR = File.expand_path(File.dirname(__FILE__)) - - def self.get_list() - cmd = "#{MYDIR}/../inventory/gce/gce.py --list" - hosts = %x[#{cmd} 2>&1] - - raise "Error: failed to list hosts\n#{hosts}" unless $?.exitstatus == 0 - - return JSON.parse(hosts) - end - - def self.get_tag(tags, selector) - tags.each do |tag| - return $1 if tag =~ selector - end - - return nil - end - - def self.get_hosts() - hosts = get_list() - - retval = [] - hosts['_meta']['hostvars'].each do |host, info| - retval << OpenStruct.new({ - :name => info['gce_name'], - :env => get_tag(info['gce_tags'], /^env-(\w+)$/) || 'UNSET', - :public_ip => info['gce_public_ip'], - :state => info['gce_status'], - :created_by => get_tag(info['gce_tags'], /^created-by-(\w+)$/) || 'UNSET', - }) - end - - retval.sort_by! { |h| [h.env, h.state, h.name] } - - return retval - - end - - def self.get_host_details(host) - cmd = "#{MYDIR}/../inventory/gce/gce.py --host #{host}" - details = %x[#{cmd} 2>&1] - - raise "Error: failed to get host details\n#{details}" unless $?.exitstatus == 0 - - retval = JSON.parse(details) - - raise "Error: host not found [#{host}]" if retval.empty? - - # Convert OpenShift specific tags to entries - retval['gce_tags'].each do |tag| - if tag =~ /\Ahost-type-([\w\d-]+)\z/ - retval['host-type'] = $1 - end - - if tag =~ /\Aenv-([\w\d]+)\z/ - retval['env'] = $1 - end - end - - return retval - end - - def self.generate_env_tag(env) - return "env-#{env}" - end - - def self.generate_env_tag_name(env) - return "tag_#{generate_env_tag(env)}" - end - - def self.generate_host_type_tag(host_type) - return "host-type-#{host_type}" - end - - def self.generate_host_type_tag_name(host_type) - return "tag_#{generate_host_type_tag(host_type)}" - end - - def self.generate_env_host_type_tag(env, host_type) - return "env-host-type-#{env}-#{host_type}" - end - - def self.generate_env_host_type_tag_name(env, host_type) - return "tag_#{generate_env_host_type_tag(env, host_type)}" - end - end - end -end |