Class: ForemanSalt::MinionsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ApplicationController
- ForemanSalt::MinionsController
- Includes:
- Foreman::Controller::SmartProxyAuth
- Defined in:
- app/controllers/foreman_salt/minions_controller.rb
Instance Method Summary collapse
- #action_permission ⇒ Object
- #controller_permission ⇒ Object
- #node ⇒ Object
- #resource_class ⇒ Object
- #run ⇒ Object
- #salt_environment_selected ⇒ Object
Instance Method Details
#action_permission ⇒ Object
45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 45 def case params[:action] when 'run' :saltrun when 'node' :view when 'salt_environment_selected' :edit else super end end |
#controller_permission ⇒ Object
58 59 60 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 58 def 'hosts' end |
#node ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 8 def node enc = {} env = @minion.salt_environment.blank? ? 'base' : @minion.salt_environment.name enc['classes'] = @minion.salt_modules_for_enc pillars = @minion.info['parameters'] enc['parameters'] = Setting[:salt_namespace_pillars] ? { 'foreman' => pillars } : pillars enc['environment'] = env respond_to do |format| format.html { render :text => "<pre>#{ERB::Util.html_escape(enc.to_yaml)}</pre>" } format.yml { render :text => enc.to_yaml } end rescue logger.warn "Failed to generate external nodes for #{@minion} with #{$ERROR_INFO}" render(:text => _('Unable to generate output, Check log files\n'), :status => 412) && return end |
#resource_class ⇒ Object
62 63 64 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 62 def resource_class Host end |
#run ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 26 def run if @minion.saltrun! notice _('Successfully executed, check log files for more details') else error @minion.errors[:base].to_sentence end redirect_to host_path(@minion) end |
#salt_environment_selected ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'app/controllers/foreman_salt/minions_controller.rb', line 35 def salt_environment_selected if params[:host][:salt_environment_id].present? @salt_environment = ::ForemanSalt::SaltEnvironment.friendly.find(params[:host][:salt_environment_id]) load_ajax_vars render :partial => 'foreman_salt/salt_modules/host_tab_pane' else logger.info 'environment_id is required to render states' end end |