#5298 pagure_mirror.service file isn't correct
Opened by kevin. Modified

pagure-5.13.3-2.el8.noarch

The pagure_mirror.service file has:

# This is a systemd's service file for the mirroring service, if you change                         
# the default value of the CI_CELERY_QUEUE configuration key, do not                                
# forget to edit it in the ExecStart line below
[Unit]
Description=Pagure service mirroring projects outside of pagure that asked for it                   
After=redis.target
Documentation=https://pagure.io/pagure
[Service]
ExecStart=/usr/bin/celery worker -A pagure.lib.tasks_mirror --loglevel=info -Q pagure_mirror        
Environment="PAGURE_CONFIG=/etc/pagure/pagure.cfg"                                                  
Type=simple
User=paguremirroring
Group=paguremirroring
Restart=on-failure
[Install]

If you try and enable it:

The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
settings in the [Install] section, and DefaultInstance for template units).
This means they are not meant to be enabled using systemctl.
Possible reasons for having this kind of units are:
1) A unit may be statically enabled by being symlinked from another unit's
   .wants/ or .requires/ directory.
2) A unit's purpose may be to act as a helper for some other unit which has
   a requirement dependency on it.
3) A unit may be started when needed via activation (socket, path, timer,
   D-Bus, udev, scripted systemctl call, ...).
4) In case of template units, the unit is meant to be enabled with some
   instance name specified.

What's the unit look like in production? I assume that it's different there?

Nope, thats whats in production. :)

it's odd tho. I do see a copy of this in our ansible repo, but nothing deploys it anywhere currently. I do see that its not in the upstream rpm either...

So, I guess I'd say best choice would be to make a proper one, add it upstream and we just use that?

Sure. What's the version in your ansible repo? Maybe I can fix the upstream one based on this.

So, we have:

https://pagure.io/fedora-infra/ansible/blob/main/f/roles/pagure/files/pagure_mirror.service
Thats the service file in ansible and the one we have deployed for pagure.io.

pagure repo has:

https://pagure.io/pagure/blob/master/f/files/pagure_mirror.service

and it seems we are missing the Wanted-by, so I fixed that.

However, it seems pagure rpm doesn't ship this service file? If we could add it there and drop our local copy that would be great. :)
Otherwise this can be closed. Sorry for the noise...

No, I think it makes sense to add, I just didn't know what we're using for production.

Metadata Update from @wombelix:
- Issue set to the milestone: 6.x

Metadata