Class: Fhcap::Tasks::Cluster::Info
- Inherits:
-
ClusterTaskBase
- Object
- TaskBase
- ClusterTaskBase
- Fhcap::Tasks::Cluster::Info
- Defined in:
- lib/fhcap/tasks/cluster/info.rb
Instance Attribute Summary collapse
-
#cluster_passwords ⇒ Object
readonly
Returns the value of attribute cluster_passwords.
-
#cluster_pwds_file ⇒ Object
readonly
Returns the value of attribute cluster_pwds_file.
-
#launch ⇒ Object
readonly
Returns the value of attribute launch.
Attributes inherited from ClusterTaskBase
#cluster_config, #cluster_file, #name
Attributes inherited from TaskBase
#config, #options, #thor, #verbose
Instance Method Summary collapse
-
#initialize(options) ⇒ Info
constructor
A new instance of Info.
- #run ⇒ Object
Methods inherited from ClusterTaskBase
#checkout_repos, #chef_task_options, #template_as_object
Methods inherited from TaskBase
#ask_config, #color_pad, #exit_with_error, #set_color, #suppress_stdout, #table_header, #table_row, #with_progress
Methods included from KnifeHelper
#chef_server_config_for, #chef_server_config_hash_for, #chef_server_names, #knife_config, #knife_config_dir, #knife_config_file_for
Methods included from ProvidersHelper
#provider_availability_zones, #provider_config, #provider_credentials, #provider_for, #provider_names, #provider_names_for, #provider_regions, #provider_type, #providers_config
Methods included from ReposHelper
#find_cluster, #find_cluster_pwds, #find_cluster_pwds_with_repo, #find_cluster_with_repo, #find_data_bag, #find_data_bag_item, #find_environment, #find_repo_item, #find_role, #get_cookbook_deps, #get_cookbook_meta, #get_cookbook_versions, #get_cookbooks, #get_entry_dependencies, #get_modified_cookbooks, #is_dirty?, #modified?, #repo_cfg, #repo_clusters_dir, #repo_cookbook_paths, #repo_dir, #repo_names, #repo_paths, #repos_config, #repos_dir, #run_inside_repo_dir
Methods included from FhcapHelper
Constructor Details
#initialize(options) ⇒ Info
Returns a new instance of Info.
12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/fhcap/tasks/cluster/info.rb', line 12 def initialize() super @launch = [:launch] unless @cluster_passwords @cluster_passwords = {} cluster_environments.each do |env| @cluster_passwords[env.to_sym] = {} @cluster_pwds_file = find_cluster_pwds(env) if @cluster_pwds_file @cluster_passwords[env.to_sym] = JSON.parse(IO.read(@cluster_pwds_file), {:symbolize_names => true}) end end end end |
Instance Attribute Details
#cluster_passwords ⇒ Object (readonly)
Returns the value of attribute cluster_passwords.
10 11 12 |
# File 'lib/fhcap/tasks/cluster/info.rb', line 10 def cluster_passwords @cluster_passwords end |
#cluster_pwds_file ⇒ Object (readonly)
Returns the value of attribute cluster_pwds_file.
10 11 12 |
# File 'lib/fhcap/tasks/cluster/info.rb', line 10 def cluster_pwds_file @cluster_pwds_file end |
#launch ⇒ Object (readonly)
Returns the value of attribute launch.
10 11 12 |
# File 'lib/fhcap/tasks/cluster/info.rb', line 10 def launch @launch end |
Instance Method Details
#run ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
# File 'lib/fhcap/tasks/cluster/info.rb', line 27 def run thor.say "Cluster::Info: name = #{@name}", :yellow info_task = Chef::Server::Info.new(@options.dup.merge({:environments => cluster_environments}.merge())) info_task.run cluster_environments.each do |env| passwords(env) unless [:only] && [:only] != 'passwords' end if launch info_task.urls.each do |env, urls| urls.each do |service, url| service = service.to_s if %w{nagios munin}.include? service user = 'team.eng' pwd = cluster_passwords[env.to_sym][:'henry_users.teameng'] if user and pwd proto, host = url.split('://') url = "#{proto}://#{user}:#{pwd}@#{host}" end end thor.say_status 'launch', url Launchy.open(url) end end end end |