Bug 1223615

Summary: apache RA should allow quotes around httpd.conf Include directives
Product: Red Hat Enterprise Linux 7 Reporter: Crag Wolfe <cwolfe>
Component: resource-agentsAssignee: Fabio Massimo Di Nitto <fdinitto>
Status: CLOSED ERRATA QA Contact: cluster-qe <cluster-qe>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.3CC: agk, cluster-maint, djansa, mnovacek
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: resource-agents-3.9.5-46.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-11-19 04:48:02 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 Crag Wolfe 2015-05-21 03:19:59 UTC
Description of problem:

If there are quotes around the argument of an Include directive in an apache configuration file, it is not processed by the apachecat() function in apache-conf.sh.  Thus, directives such as Listen may not be determined by the apache resource agent and the server-status url does not get inferred correctly.

Version-Release number of selected component (if applicable):
resource-agents-3.9.5-40.el7_1.3.x86_64

How reproducible:
Every time

Steps to Reproduce:
1. Put your Listen directive in /etc/httpd/conf/ports.conf.
2. Add the line

Include "/etc/httpd/conf/ports.conf"

to /etc/httpd/conf/httpd.conf.
3. Add the resource agent: pcs resource create horizon apache --clone interleave=true

Actual results:

The resource agent fails to start on any of the nodes.  pcs output includes something like:

Failed actions:
    horizon_start_0 on pcmk-c1a3 'unknown error' (1): call=647, status=complete, exit-reason='Failed to access httpd status page.', last-rc-change='Wed May 20 19:39:23 2015', queued=0ms, exec=3476ms

Comment 2 David Vossel 2015-06-23 20:01:20 UTC
upstream patch posted

https://github.com/ClusterLabs/resource-agents/pull/624

Comment 4 michal novacek 2015-08-13 10:39:21 UTC
I have verified that it is possible to have Include directive in httpd.conf with a value in double quotes and apache resource agents will start correctly with resou    rce-agents-3.9.5-50.el7.x86_64.

----

[root@virt-151 ~]# grep 'Listen 80' httpd.conf
Listen 80
[root@virt-151 ~]# sed -i -e 's_Listen 80_Include "/etc/httpd/conf/ports.conf"_' /etc/httpd/conf/httpd.conf
[root@virt-151 ~]# echo 'Listen 80' > /etc/httpd/conf/ports.conf
[root@virt-151 ~.d]# grep -r 'Listen 80' /etc/httpd
/etc/httpd/conf/ports.conf:Listen 80
[root@virt-151 ~]# apachectl -S
[root@virt-151 ~]# echo $?
0

[root@virt-151 ~]# export OCF_ROOT=/usr/lib/ocf

[root@virt-151 ~]# /usr/lib/ocf/resource.d/heartbeat/apache monitor
INFO: apache not running

[root@virt-151 ~]# /usr/lib/ocf/resource.d/heartbeat/apache start
INFO: Successfully retrieved http header at http://localhost:80

[root@virt-151 ~]# /usr/lib/ocf/resource.d/heartbeat/apache monitor
INFO: Successfully retrieved http header at http://localhost:80

[root@virt-151 ~]# /usr/lib/ocf/resource.d/heartbeat/apache stop
INFO: Attempting graceful stop of apache PID 11996
INFO: apache stopped.

Comment 7 errata-xmlrpc 2015-11-19 04:48:02 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://rhn.redhat.com/errata/RHBA-2015-2190.html