Bug 1335875

Summary: Upgrade step start_httpd failed on RHEL6 with "Include directory '/etc/httpd/conf.modules.d' not found"
Product: Red Hat Satellite Reporter: Lukas Pramuk <lpramuk>
Component: UpgradesAssignee: John Mitsch <jomitsch>
Status: CLOSED ERRATA QA Contact: Lukas Pramuk <lpramuk>
Severity: high Docs Contact:
Priority: unspecified    
Version: 6.2.0CC: bbuckingham, cwelton, ehelms, jomitsch, tbrisker
Target Milestone: UnspecifiedKeywords: Triaged
Target Release: Unused   
Hardware: Unspecified   
OS: Unspecified   
URL: http://projects.theforeman.org/issues/15072
Whiteboard:
Fixed In Version: katello-installer-base-3.0.0.32-1 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-07-27 11:04:04 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:
Bug Depends On:    
Bug Blocks: 1335807    

Description Lukas Pramuk 2016-05-13 12:33:44 UTC
Description of problem:


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1)
# satellite-installer -S satellite --upgrade --force
Upgrading...
Upgrade Step: stop_services...
Upgrade Step: start_databases...
Upgrade Step: update_http_conf...
Upgrade Step: migrate_pulp...
Upgrade Step: start_httpd...
Upgrade step start_httpd failed. Check logs for more information.
/usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/logger.rb:108:in `error': wrong number of arguments (4 for 1) (ArgumentError)
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/logger.rb:108:in `send'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/logger.rb:108:in `dump_buffer'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/logger.rb:108:in `each'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/logger.rb:108:in `dump_buffer'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/logger.rb:107:in `each'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/logger.rb:107:in `dump_buffer'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/logger.rb:98:in `dump_errors'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/logger.rb:103:in `dump_errors'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/exit_handler.rb:28:in `exit'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/kafo_configure.rb:162:in `exit'
        from /usr/share/katello-installer-base/hooks/pre/30-upgrade.rb:63:in `fail_and_exit'
        from /usr/share/katello-installer-base/hooks/pre/30-upgrade.rb:57:in `upgrade_step'
        from /usr/share/katello-installer-base/hooks/pre/30-upgrade.rb:77:in `load'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/hook_context.rb:13:in `instance_exec'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/hook_context.rb:13:in `execute'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/hooking.rb:51:in `execute'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/hooking.rb:49:in `each'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/hooking.rb:49:in `execute'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/kafo_configure.rb:373:in `run_installation'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/kafo_configure.rb:149:in `execute'
        from /usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:67:in `run'
        from /usr/lib/ruby/gems/1.8/gems/clamp-0.6.2/lib/clamp/command.rb:125:in `run'
        from /usr/lib/ruby/gems/1.8/gems/kafo-0.7.3/lib/kafo/kafo_configure.rb:156:in `run'
        from /usr/sbin/foreman-installer:12

Actual results:
Upgrade step start_httpd fails

Expected results:
Upgrade step start_httpd succeeds

Additional info:
# service httpd start
Starting httpd: [Fri May 13 08:27:30 2016] [warn] module passenger_module is already loaded, skipping
httpd: Syntax error on line 48 of /etc/httpd/conf/httpd.conf: Include directory '/etc/httpd/conf.modules.d' not found
[FAILED]

Comment 1 Lukas Pramuk 2016-05-13 12:38:00 UTC
/etc/httpd/conf/httpd.conf:
46: Include "/etc/httpd/conf.d/*.conf"
47:
48: Include "/etc/httpd/conf.modules.d/*.conf"  <<< dir not found

>>> It seems that 6.1 httpd conf layout is not migrated to 6.2 layout...

Comment 3 Lukas Pramuk 2016-05-13 13:07:49 UTC
>>> That directory exists only on RHEL7 with httpd-2.4 while RHEL6 has httpd-2.2

# rpm -qf /etc/httpd/conf.modules.d
httpd-2.4.6-40.el7.x86_64

>>> Upgrades should handle also RHEL6 httpd-2.2

Comment 4 Lukas Pramuk 2016-05-16 09:11:16 UTC
The error is not so hard, after removing line 48 in /etc/httpd/conf/httpd.conf, the upgrade step start_httpd succeeds and Upgrades proceed further

Comment 5 Tomer Brisker 2016-05-16 13:02:51 UTC
I confirm, the root cause is here:
https://github.com/Katello/katello-installer/blob/master/hooks/pre/30-upgrade.rb#L13
This was introduced in the fix for bug 1332700. John - can you please take a look as you fixed the related bug?

Comment 6 John Mitsch 2016-05-16 15:02:27 UTC
Tomer,

I assigned this to myself and will take a look.

-John

Comment 8 John Mitsch 2016-05-17 14:05:41 UTC
Created redmine issue http://projects.theforeman.org/issues/15072 from this bug

Comment 9 Bryan Kearney 2016-05-23 22:16:18 UTC
Moving to POST since upstream bug http://projects.theforeman.org/issues/15072 has been closed

Comment 10 Lukas Pramuk 2016-05-26 01:46:15 UTC
VERIFIED.

@satellite-6.2.0-13.0.el6sat.noarch

# satellite-installer -S satellite --upgrade 
Upgrading...
Upgrade Step: stop_services...
Upgrade Step: start_databases...
Upgrade Step: update_http_conf...
Upgrade Step: migrate_pulp...
Upgrade Step: fix_pulp_httpd_conf...
Upgrade Step: start_httpd...           <<< step went successfully
Upgrade Step: start_qpidd...
Upgrade Step: start_pulp...
Upgrade Step: migrate_candlepin...
Upgrade Step: start_tomcat...
Upgrade Step: fix_katello_settings_file...
Upgrade Step: migrate_foreman...
Upgrade Step: migrate_gutterball...
Upgrade Step: remove_nodes_distributors...
Upgrade Step: Running installer...
...

Comment 11 Bryan Kearney 2016-07-27 11:04:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1501