Bug 1515671

Summary: [RFE] Extend "Service Action - SSH Default" job template to be able to enable and disable services
Product: Red Hat Satellite Reporter: Ture Karlsson <tkarlsso>
Component: Remote ExecutionAssignee: satellite6-bugs <satellite6-bugs>
Status: CLOSED ERRATA QA Contact: Peter Ondrejka <pondrejk>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.2.12CC: aruzicka, bkearney, egolov, inecas, tkarlsso
Target Milestone: 6.5.0Keywords: FutureFeature, RFE, Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: tfm-rubygem-foreman_remote_execution-1.6.4 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-14 12:36:46 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Ture Karlsson 2017-11-21 08:28:46 UTC
Description of problem:
The standard job template "Service Action - SSH Default" does not support enabling or disabling services. 

Version-Release number of selected component (if applicable): 6.2.12


How reproducible:
Always

Steps to Reproduce:
1. Run job template "Service Action - SSH Default"
2. Notice that there are no option to enable or disable a service

Actual results:
You have to use "Run Command - SSH Default" with "chkconfig <service name> on/off" or "systemctl <service name> enable/disable" depending on the target host.

Expected results:
There should be options in "Service Action - SSH Default" to enable/disable services and the template should handle if it is executed on a system that is using systemd or not.

Implementation suggestion:
Change the template to this:

<% if @host.operatingsystem.family == "Redhat" && @host.operatingsystem.major.to_i > 6 -%>
systemctl <%= input("action") %> <%= input("service") %>
<% elsif input("action") == "enable" -%>
chkconfig <%= input("service") %> on
<% elsif input("action") == "disable" -%>
chkconfig <%= input("service") %> off
<% else -%>
service <%= input("service") %> <%= input("action") %>
<% end -%>

And in the Job tab under Template input, add "enable" and "disable" to the list of Options so that the list consist of the following options:

restart
start
stop
status
enable
disable

Comment 1 Adam Ruzicka 2017-11-21 10:30:08 UTC
Created redmine issue http://projects.theforeman.org/issues/21717 from this bug

Comment 2 Satellite Program 2018-06-19 08:14:18 UTC
Moving this bug to POST for triage into Satellite 6 since the upstream issue http://projects.theforeman.org/issues/21717 has been resolved.

Comment 4 Peter Ondrejka 2018-11-14 11:38:44 UTC
Well, verified for "Service Action - SSH Default" on Sat 6.5 snap 2, but shouldn't we fix the same problem in "Service Action - Ansible Default" while we are at it?

Comment 5 Peter Ondrejka 2018-11-14 12:10:11 UTC
OK turned out "Service Action - Ansible Default" has the enable option implemented as a separate input, which is cumbersome but not a reason to block this bz

Comment 8 errata-xmlrpc 2019-05-14 12:36:46 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2019:1222