Bug 1478832

Summary: Cockpit-created systemd timers cannot be enabled and don't run
Product: Red Hat Enterprise Linux 7 Reporter: Martin Pitt <mpitt>
Component: cockpitAssignee: Martin Pitt <mpitt>
Status: CLOSED ERRATA QA Contact: qe-baseos-daemons
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 7.4CC: jherrman, pvolpe, tbowling
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://github.com/cockpit-project/cockpit/pull/7705
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously, the "Add Timer" feature on Cockpit's "Services" page did not work properly, and created a non-interactive timer that could not be enabled. With this update, newly created timers are now in state "disabled" instead of "static", and can be enabled.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-10-19 15:13:55 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 Martin Pitt 2017-08-07 08:54:42 UTC
Description of problem: Cockpit's "Services" page has a feature to create timers (.timer systemd units). But they are not created properly: the [Install] section belongs into the actual .timer unit, not the corresponding .service unit that they run. Thus the timers created through that page are broken and inert.


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

cockpit-system-138-9.el7.noarch

How reproducible:


Steps to Reproduce:
1. Open Cockpit (e. g. <https://localhost:9090>), log in and navigate to "Services" page.
2. Click "Timers" button on the top
3. Click "Create Timer" button on the top right
4. Enter some data into the creation dialog:
   Service name: foo
   Description: test timer
   Command: /bin/touch /tmp/timer.stamp
   Leave "Run" as "After system boot" and set "After" to e. g. 10 seconds.
5. Click "Save"

Actual results:

6. The timer appears in the third table for "Static" units. Clicking it and trying to enable it does nothing.
7. Reboot the machine. /tmp/timer.stamp is never created, and `systemctl status foo.timer` says "static" and "inactive/dead". `foo.service` has never run.

Expected results:

6. The timer appears in the second table for "Disabled" units. Click it, and click the "Enable" button. It should then move to the "Enabled" units table.
7. Reboot the machine. /tmp/timer.stamp is created shortly after booting, and `systemctl status foo.service` shows success.

Additional info:

 * This got fixed in Cockpit 139 in <https://github.com/cockpit-project/cockpit/pull/6324>.

 * Testing this particular feature got disabled in <https://github.com/cockpit-project/cockpit/commit/66de1a701af#diff-906e3fa5138f12026b94363091c80971>; once the fix lands in RHEL 7.4, the test case should be re-enabled.

Comment 7 errata-xmlrpc 2017-10-19 15:13:55 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/RHBA-2017:2936