Project

General

Profile

Bug #15380

httpd fails to start after being updated during upgrade

Added by Chris Roberts almost 3 years ago. Updated 11 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
Upgrades
Target version:
Difficulty:
medium
Triaged:
Yes
Bugzilla link:
Team Backlog:
Fixed in Releases:
Found in Releases:

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:

  1. 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.
  1. 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":

  1. 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:

Associated revisions

Revision 10af59e5 (diff)
Added by Chris Roberts almost 3 years ago

Fixes #15380 - remove ssl.conf before installer run

Fixes #15380 - remove ssl.conf before installer run

Fixes #15380 - remove ssl.conf before installer run

Revision c928b7f6
Added by Justin Sherrill almost 3 years ago

Merge pull request #383 from chris1984/1336365

Fixes #15380 - remove ssl.conf before installer run

History

#1 Updated by Justin Sherrill almost 3 years ago

  • Legacy Backlogs Release (now unused) set to 114

#2 Updated by The Foreman Bot almost 3 years ago

  • Status changed from New to Ready For Testing
  • Legacy Backlogs Release (now unused) deleted (114)
  • Pull request https://github.com/Katello/katello-installer/pull/383 added

#3 Updated by Anonymous almost 3 years ago

  • Status changed from Ready For Testing to Closed
  • % Done changed from 0 to 100

#4 Updated by Justin Sherrill almost 3 years ago

  • Legacy Backlogs Release (now unused) set to 143

#5 Updated by Lukas Pramuk over 2 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)

#6 Updated by Josh Baird over 2 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

#7 Updated by Josh Baird over 2 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

#8 Updated by Duncan Innes about 2 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

#9 Updated by Duncan Innes about 2 years ago

  • Status changed from Closed to Assigned

#10 Updated by Duncan Innes about 2 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.

#11 Updated by Chris Roberts about 2 years ago

  • Target version set to 193

#12 Updated by Chris Roberts about 2 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.

Also available in: Atom PDF