Bug 1159982

Summary: Latest postfix update disables service in systemd
Product: [Fedora] Fedora Reporter: Chad Feller <cfeller>
Component: chkconfigAssignee: Lukáš Nykrýn <lnykryn>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: high    
Version: 20CC: horsley1953, jskarvad, lnykryn, msekleta, sjoerd
Target Milestone: ---Keywords: Regression
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: chkconfig-1.3.63-1.fc20 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-11-10 06:32:56 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 Chad Feller 2014-11-03 19:02:00 UTC
Description of problem:

Upon updating postfix via yum update, I found that the service was disabled on system reboot:

# systemctl status  postfix
postfix.service - Postfix Mail Transport Agent
   Loaded: loaded (/usr/lib/systemd/system/postfix.service; disabled)
   Active: inactive (dead)


I have two Fedora 20 machines running postfix and this happened to both of them.  

A simple 

  systemctl enable postfix

and

  systemctl start postfix

fixes this.

postfix was running and enabled on both machines before this update.

It is worth noting that a systemd update was also in the list of packages yum updated on my machine this morning, but other services, such as ntpd were not disabled. 

As far as I can tell, postfix was the only service disabled on my two machines, which would seem to point to the problem being with postfix.

Comment 1 Jaroslav Škarvada 2014-11-04 09:02:59 UTC
IIRC nothing relevant was changed in postfix spec. Is postfix your default MTA?

# alternatives --config mta

Comment 2 Chad Feller 2014-11-04 17:31:25 UTC
Yes, Postfix is and has been my default and only MTA:

> # alternatives --config mta
> 
> There is 1 program that provides 'mta'.
> 
>   Selection    Command
> -----------------------------------------------
> *+ 1           /usr/sbin/sendmail.postfix
> 
> Enter to keep the current selection[+], or type selection number: 

One machine was a fresh install of Fedora 20 back at the F20 release date a while back, the other has been upgraded via Fedup from 18 -> 19 -> 20.  I've used nothing other than Postfix on either of these machines.

Comment 3 Jaroslav Škarvada 2014-11-05 15:19:46 UTC
Thanks for info, it's also happening during upgrade/downgrade between arbitrary postfix versions, thus it's very probably not regression in postfix package. I guess this is regression in alternatives or systemd macros, let me check this.

Comment 4 Tom Horsley 2014-11-05 15:39:20 UTC
Yep. I just noticed I haven't been getting mail since I got
postfix-2.10.5-1.fc20.x86_64 on Nov 3.

I've been running postfix since I did a clean install of f20 back when it was first released and have probably had several updates since then, but this one disabled it.

Comment 5 Jaroslav Škarvada 2014-11-05 15:56:14 UTC
This seems to be regression in alternatives command:

Postfix is the only MTA installed through alternatives:
# systemctl is-enabled postfix
enabled

# alternatives 
# /usr/sbin/alternatives --install /usr/sbin/sendmail mta /usr/sbin/sendmail.postfix 30 --initscript postfix

# systemctl is-enabled postfix
disabled

Reassigning to chkconfig.

Comment 6 Jaroslav Škarvada 2014-11-05 16:10:14 UTC
It's probably related to this:
chkconfig-1.3.62-1
* Tue Aug 12 2014 Lukáš Nykrýn <lnykryn> - 1.3.62-1
- use systemctl preset, not systemctl enable

I can confirm that downgrading to chkconfig-1.3.60-4.fc20 resolves the problem for me.

Comment 7 Jaroslav Škarvada 2014-11-05 16:13:07 UTC
Simple reproducer:
Install postfix:
# yum install postfix

Uninstall all other MTAs, e.g.:
# yum remove sendmail esmtp

# systemctl enable postfix
# dnf reinstall postfix
# systemctl is-enabled postfix

Current result:
disabled

Expected result:
enabled

Comment 8 Lukáš Nykrýn 2014-11-05 16:24:34 UTC
Hmm this could be caused by https://git.fedorahosted.org/cgit/chkconfig.git/commit/?id=e4a7975de597e5571d65f852aea3e54eee671897

Maybe we should call systemctl is-enabled || systemctl preset

Comment 9 Jaroslav Škarvada 2014-11-05 16:41:54 UTC
(In reply to Lukáš Nykrýn from comment #8)
> Hmm this could be caused by
> https://git.fedorahosted.org/cgit/chkconfig.git/commit/
> ?id=e4a7975de597e5571d65f852aea3e54eee671897
> 
> Maybe we should call systemctl is-enabled || systemctl preset

It seems so, but what about:
# systemctl enable sendmail
# alternatives --config mta # set postfix

Previously it enabled postfix and disabled sendmail. Currently it sets postfix according to preset which means set it to disabled.

Comment 10 Lukáš Nykrýn 2014-11-05 16:53:14 UTC
I don't think that this is a problem. I really like the idea that services are automatically enabled only in the case that they are in presets.

Comment 11 Fedora Update System 2014-11-05 17:02:19 UTC
chkconfig-1.3.63-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/chkconfig-1.3.63-1.fc20

Comment 12 Jaroslav Škarvada 2014-11-06 11:17:44 UTC
*** Bug 1160880 has been marked as a duplicate of this bug. ***

Comment 13 Fedora Update System 2014-11-07 02:35:51 UTC
Package chkconfig-1.3.63-1.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing chkconfig-1.3.63-1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-14392/chkconfig-1.3.63-1.fc20
then log in and leave karma (feedback).

Comment 14 Fedora Update System 2014-11-10 06:32:56 UTC
chkconfig-1.3.63-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.