Bug #15380
closedhttpd fails to start after being updated during upgrade
Description
Description of problem:
Running "yum update" on a Satellite 6.2 beta installed on RHEL 7 results in package httpd being updated from 2.4.6-40.el7 to 2.4.6-40.el7_2.1.
This causes previously non existent file /etc/httpd/conf.d/ssl.conf to be created.
Running "foreman-installer --scenario katello --upgrade" does not remove /etc/httpd/conf.d/ssl.conf and httpd fails to start.
"Listen 443" in /etc/httpd/conf.d/ssl.conf conflicts with "Listen 443" on /etc/httpd/conf/ports.conf .
Version-Release number of selected component (if applicable):
foreman-installer-1.11.0.3-1.el7sat
How reproducible:
Always
Steps to Reproduce:
1. Run "yum update" on the Satellite and have httpd package updated.
2. Running "foreman-installer --scenario katello --upgrade"
3.
Actual results:
httpd fails to start:
- foreman-installer --scenario katello --upgrade
Upgrading...
Upgrade Step: stop_services...
Upgrade Step: start_databases...
Upgrade Step: migrate_pulp...
Upgrade Step: start_httpd...
Upgrade step start_httpd failed. Check logs for more information.
- tail /var/log/httpd/error_log
[Mon May 16 09:26:03.951254 2016] [core:crit] [pid 46664] (22)Invalid argument: AH00069: make_sock: for address [::]:443, apr_socket_opt_set: (IPV6_V6ONLY)
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:443
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:443
[Mon May 16 09:26:03.951314 2016] [mpm_prefork:alert] [pid 46664] no listening sockets available, shutting down
[Mon May 16 09:26:03.951317 2016] [:emerg] [pid 46664] AH00019: Unable to open logs, exiting
/usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:105:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED)
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:105:in `new'
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:105:in `connect'
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:86:in `socket'
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:90:in `head_request'
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:145:in `<main>'
/usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:105:in `initialize': Connection refused - connect(2) (Errno::ECONNREFUSED)
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:105:in `new'
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:105:in `connect'
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:112:in `connect'
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:86:in `socket'
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:90:in `head_request'
from /usr/share/gems/gems/passenger-4.0.18/helper-scripts/prespawn:145:in `<main>'
Duplicated "Listen 443" directives as a result of httpd package provided file /etc/httpd/conf.d/ssl.conf not being cleared by "foreman-installer --scenario katello --upgrade":
- grep -r "Listen 443" /etc/httpd
/etc/httpd/conf/ports.conf:Listen 443
/etc/httpd/conf.d/ssl.conf:Listen 443 https
Expected results:
"foreman-installer --scenario katello --upgrade" resolves the conflict and httpd starts successfully.
Additional info:
Updated by Justin Sherrill over 8 years ago
- Translation missing: en.field_release set to 114
Updated by The Foreman Bot over 8 years ago
- Status changed from New to Ready For Testing
- Translation missing: en.field_release deleted (
114) - Pull request https://github.com/Katello/katello-installer/pull/383 added
Updated by Anonymous over 8 years ago
- Status changed from Ready For Testing to Closed
- % Done changed from 0 to 100
Applied in changeset katello-installer|10af59e5e4f4d6fc23959228f45a8e5f81e50a77.
Updated by Justin Sherrill over 8 years ago
- Translation missing: en.field_release set to 143
Updated by Lukas Pramuk about 8 years ago
By a fleeting glance at fix I'm pretty sure that bug is not fixed and persists.
Can we reopen this?
Post-deleting or pre-deleting the file doesn't help at all.
The file has to be left empty. That's it.
(Only by this the mod_ssl package update wont break apache as it will create *.rpmnew file)
Updated by Josh Baird almost 8 years ago
This is still occuring. I just upgraded a 1.13.2 instance to 1.13.4 (using 'yum update' on EL7) and httpd is borken:
root@fmpr-d1-ap01:/etc/httpd/conf# grep -r 'Listen 443' *
ports.conf:Listen 443
root@fmpr-d1-ap01:/etc/httpd/conf.d# grep -r 'Listen 443' *
ssl.conf:Listen 443 https
Updated by Josh Baird almost 8 years ago
Josh Baird wrote:
This is still occurring. I just upgraded a Foreman (no Katello) 1.13.2 instance to 1.13.4 (using 'yum update' on EL7) and httpd is borken:
root@fmpr-d1-ap01:/etc/httpd/conf# grep -r 'Listen 443' *
ports.conf:Listen 443
root@fmpr-d1-ap01:/etc/httpd/conf.d# grep -r 'Listen 443' *
ssl.conf:Listen 443 https
Updated by Duncan Innes over 7 years ago
Just to add information; I'm getting this issue after eventually managing to upgrade to Katello 3.3.1 and Foreman 1.14.3
The versions prior to upgrade were 3.3.0 and 1.14.1
Updated by Duncan Innes over 7 years ago
Apologies, not sure I should have changed the Status to Assigned. I was looking for options to re-open and managed to save by mistake.
Updated by Chris Roberts over 7 years ago
- Status changed from Assigned to Closed
Upgraded from katello 3.3 latest to katello 3.4 RC and httpd is working:
Upgrade completed!
[root@centos7-katello-3-3 ~]# service httpd status
Redirecting to /bin/systemctl status httpd.service
● httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2017-05-17 16:51:02 UTC; 1h 30min ago
Docs: man:httpd(8)
man:apachectl(8)
Process: 7828 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Main PID: 8654 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─8654 /usr/sbin/httpd -DFOREGROUND
├─8675 (wsgi:pulp) -DFOREGROUND
├─8676 (wsgi:pulp) -DFOREGROUND
├─8677 (wsgi:pulp) -DFOREGROUND
├─8678 (wsgi:pulp-cont -DFOREGROUND
├─8679 (wsgi:pulp-cont -DFOREGROUND
├─8680 (wsgi:pulp-cont -DFOREGROUND
├─8681 (wsgi:pulp_forg -DFOREGROUND
├─8682 PassengerWatchdog
├─8686 PassengerHelperAgent
├─8696 PassengerLoggingAgent
├─8713 /usr/sbin/httpd -DFOREGROUND
├─8714 /usr/sbin/httpd -DFOREGROUND
├─8715 /usr/sbin/httpd -DFOREGROUND
├─8716 /usr/sbin/httpd -DFOREGROUND
├─8717 /usr/sbin/httpd -DFOREGROUND
├─8718 /usr/sbin/httpd -DFOREGROUND
├─8719 /usr/sbin/httpd -DFOREGROUND
├─8720 /usr/sbin/httpd -DFOREGROUND
└─9267 Passenger RackApp: /usr/share/foreman
May 17 16:52:30 centos7-katello-3-3.example.com pulp8676: kombu.transport.qpid:INFO: Connected to qpid with SASL mechanism ANONYMOUS
May 17 16:52:38 centos7-katello-3-3.example.com pulp8677: kombu.transport.qpid:INFO: Connected to qpid with SASL mechanism ANONYMOUS
May 17 16:53:32 centos7-katello-3-3.example.com pulp8677: kombu.transport.qpid:INFO: Connected to qpid with SASL mechanism ANONYMOUS
May 17 16:53:32 centos7-katello-3-3.example.com pulp8677: py.warnings:WARNING: (8677-54496) /usr/lib/python2.7/site-packages/pulp/server/db/model/__init__.py:551: DeprecationWarning: update is deprecated. Use replace_one, update_one or update_many instead.
May 17 16:53:32 centos7-katello-3-3.example.com pulp8677: py.warnings:WARNING: (8677-54496) TaskStatus._get_collection().update({'task_id': task_id}, update, upsert=True)
May 17 16:53:32 centos7-katello-3-3.example.com pulp8677: py.warnings:WARNING: (8677-54496)
May 17 17:35:09 centos7-katello-3-3.example.com pulp8676: kombu.transport.qpid:INFO: Connected to qpid with SASL mechanism ANONYMOUS
May 17 17:35:09 centos7-katello-3-3.example.com pulp8676: py.warnings:WARNING: (8676-11136) /usr/lib/python2.7/site-packages/pulp/server/db/model/__init__.py:551: DeprecationWarning: update is deprecated. Use replace_one, update_one or update_many instead.
May 17 17:35:09 centos7-katello-3-3.example.com pulp8676: py.warnings:WARNING: (8676-11136) TaskStatus._get_collection().update({'task_id': task_id}, update, upsert=True)
May 17 17:35:09 centos7-katello-3-3.example.com pulp8676: py.warnings:WARNING: (8676-11136)
Marking this closed.