Bug 995753 - koji-vm,koji-builder,koji-utils: add systemd unit files
Summary: koji-vm,koji-builder,koji-utils: add systemd unit files
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: koji
Version: 23
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Dennis Gilmore
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: SysVtoSystemd
TreeView+ depends on / blocked
 
Reported: 2013-08-10 20:26 UTC by Zbigniew Jędrzejewski-Szmek
Modified: 2015-06-29 18:21 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-29 18:21:40 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
koji-builder sysvinit → systemd (5.85 KB, patch)
2013-08-10 20:26 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff
koji-vm sysvinit → systemd (5.16 KB, patch)
2013-08-10 20:27 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff
koji-utils sysvinit → systemd (5.07 KB, patch)
2013-08-10 20:28 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff
koji-builder sysvinit → systemd (5.86 KB, patch)
2013-08-10 22:15 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff
koji-vm sysvinit → systemd (5.17 KB, patch)
2013-08-10 22:17 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff
koji-utils sysvinit → systemd (5.07 KB, patch)
2013-08-10 22:18 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff
fedora rpm sysvinit → systemd (3.91 KB, patch)
2013-08-10 22:22 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff
patches rebased to 1.9.0 (16.08 KB, patch)
2014-04-20 21:25 UTC, Dan Horák
no flags Details | Diff
koji-builder sysvinit → systemd (5.05 KB, patch)
2014-04-21 19:32 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff
koji-utils sysvinit → systemd (3.58 KB, patch)
2014-04-21 19:33 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff
koji-vm sysvinit → systemd (3.42 KB, patch)
2014-04-21 19:33 UTC, Zbigniew Jędrzejewski-Szmek
no flags Details | Diff

Description Zbigniew Jędrzejewski-Szmek 2013-08-10 20:26:29 UTC
Created attachment 785270 [details]
koji-builder sysvinit → systemd

Description of problem:
Please find attached three patches to replace sysvinit scripts with systemd unit files. The patches are against the "upstream", i.e. koji itself, not the package.

Version-Release number of selected component (if applicable):
Patches done against koji-1.7.0-136-gbdd6f81.

Comment 1 Zbigniew Jędrzejewski-Szmek 2013-08-10 20:27:31 UTC
Created attachment 785271 [details]
koji-vm sysvinit → systemd

Comment 2 Zbigniew Jędrzejewski-Szmek 2013-08-10 20:28:13 UTC
Created attachment 785272 [details]
koji-utils sysvinit → systemd

Comment 3 Zbigniew Jędrzejewski-Szmek 2013-08-10 20:31:00 UTC
I'll follow up with the patch for the actual package spec file.

Comment 4 Zbigniew Jędrzejewski-Szmek 2013-08-10 22:15:59 UTC
Created attachment 785279 [details]
koji-builder sysvinit → systemd

-v2: fix wrong invocation of pkg-config

Comment 5 Zbigniew Jędrzejewski-Szmek 2013-08-10 22:17:08 UTC
Created attachment 785280 [details]
koji-vm sysvinit → systemd

-v2: fix wrong invocation of pkg-config

Comment 6 Zbigniew Jędrzejewski-Szmek 2013-08-10 22:18:05 UTC
Created attachment 785281 [details]
koji-utils sysvinit → systemd

-v2: fix wrong invocation of pkg-config

Comment 7 Zbigniew Jędrzejewski-Szmek 2013-08-10 22:22:32 UTC
Created attachment 785282 [details]
fedora rpm sysvinit → systemd

Conversion was mostly straighforward, with the following caveats:
- Under sysvinit those daemons had to daemonize. Under systemd it's not necessary and daemons work as Type=simple (the default). It's OK, since those daemons work in pull mode, they are "ready" as soon as started, so it's not necessary to signal to systemd that the builder deamons have finished initialization.
- "graceful restart" functionality is gone. It's basically incompatible with systemd restart mechanism, where systemd want to kill the old unit completely, before starting it again.

Comment 8 Zbigniew Jędrzejewski-Szmek 2013-08-10 22:36:39 UTC
Testing performed: I only tested that the packages install properly and the units can be started. All three fail with "Cannot resolve network address for KDC in requested realm", which I treat as a sign that at least they are started in a way that options passed to those daemons are valid. I can't really setup full koji infrastructure, so I'm leaving it at that.

koji-vm does not install (without --nodeps) because of a separate issue: #995764.

Comment 9 jcpunk 2013-08-22 20:32:47 UTC
There is an upstream bug filed about 2 weeks before this one that also proposes some systemd units (no idea which are preferable)

https://fedorahosted.org/koji/ticket/267

Comment 10 Zbigniew Jędrzejewski-Szmek 2013-08-22 20:56:02 UTC
(In reply to jcpunk from comment #9)
> https://fedorahosted.org/koji/ticket/267
Oops, I didn't see that. I think mine are bit more idiomatic, although very similar. Specifically:

- Timeout is not useful for Type=simple,
- Type=simple doesn't have to be specified, it's the default,
- .include is supported, but deprecated, so the comment about it should be removed,
- /etc/sysconfig/ should be phased out, and the replacement isn't really needed.

I like the idea of using PrivateTmp=true though.

Comment 11 Dennis Gilmore 2013-09-11 04:13:28 UTC
Koji needs to support running all the way back to RHEL 5 so we really can not accept these patches as is. we need to use sysvinit for RHEL 5 and RHEL 6

Comment 12 Fedora End Of Life 2013-09-16 16:29:32 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 20 development cycle.
Changing version to '20'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/BugZappers/HouseKeeping/Fedora20

Comment 13 Zbigniew Jędrzejewski-Szmek 2013-12-18 21:23:02 UTC
(In reply to Dennis Gilmore from comment #11)
> Koji needs to support running all the way back to RHEL 5 so we really can
> not accept these patches as is. we need to use sysvinit for RHEL 5 and RHEL 6
Systemd units in those patches are valid and can be used no matter how you want to incorporate them in the package... I made them with separate branch for F20+ in mind. But if you want to use a single branch and if-definery in the spec, that should work too. Just please keep in mind that according to current Guidelines, the sysvinit script should not be packaged alongside the systemd unit file (https://fedorahosted.org/fpc/ticket/359).

Comment 14 Dan Horák 2014-04-20 21:25:06 UTC
Created attachment 887978 [details]
patches rebased to 1.9.0

Comment 15 Dennis Gilmore 2014-04-21 16:16:21 UTC
Still the patches are not acceptable, they remove sysvinit support that we have to maintain still.

Comment 16 Dan Horák 2014-04-21 16:23:35 UTC
(In reply to Dennis Gilmore from comment #15)
> Still the patches are not acceptable, they remove sysvinit support that we
> have to maintain still.

understood, I only rebased the original patches as they didn't apply for 1.9.0 and I wanted to try systemd units for koji/kojira. It may be useful for other people so attached them here.

Comment 17 Zbigniew Jędrzejewski-Szmek 2014-04-21 19:32:31 UTC
Created attachment 888215 [details]
koji-builder sysvinit → systemd

Comment 18 Zbigniew Jędrzejewski-Szmek 2014-04-21 19:33:15 UTC
Created attachment 888216 [details]
koji-utils sysvinit → systemd

Comment 19 Zbigniew Jędrzejewski-Szmek 2014-04-21 19:33:54 UTC
Created attachment 888217 [details]
koji-vm sysvinit → systemd

Comment 20 Zbigniew Jędrzejewski-Szmek 2014-04-21 19:36:58 UTC
(In reply to Dennis Gilmore from comment #15)
> Still the patches are not acceptable, they remove sysvinit support that we
> have to maintain still.

The new versions leaves sysvinit in place for F<21 and RHEL<7.

According to https://fedoraproject.org/wiki/Packaging:ScriptletSnippets, enablement status is supposed to be restored manually, so the scriptlets in the patches don't do that, so 'systemctl enable ...' will probably be necessary after upgrade.

Comment 21 Fedora End Of Life 2015-05-29 09:18:34 UTC
This message is a reminder that Fedora 20 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 20. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '20'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 20 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 22 Fedora End Of Life 2015-06-29 12:15:41 UTC
Fedora 20 changed to end-of-life (EOL) status on 2015-06-23. Fedora 20 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 23 Zbigniew Jędrzejewski-Szmek 2015-06-29 15:16:40 UTC
Pffff, this is a relatively simple change...


Note You need to log in before you can comment on or make changes to this bug.