Bug 837449 - Apache httpd VirtualHost ServerName value should be used for resource's name in inventory
Summary: Apache httpd VirtualHost ServerName value should be used for resource's name ...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: JBoss Operations Network
Classification: JBoss
Component: Plugin -- Apache, Usability
Version: JON 3.2.3
Hardware: All
OS: All
medium
high
Target Milestone: ---
: One-off release
Assignee: Michael Burman
QA Contact: Sunil Kondkar
URL:
Whiteboard:
Depends On: 835312
Blocks: 1127874
TreeView+ depends on / blocked
 
Reported: 2012-07-03 22:52 UTC by Larry O'Leary
Modified: 2018-12-01 15:38 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of: 835312
: 1127874 (view as bug list)
Environment:
Last Closed: 2015-04-29 22:20:51 UTC
Type: Support Patch
Embargoed:


Attachments (Terms of Use)
screenshot (115.36 KB, image/png)
2014-08-19 11:08 UTC, Sunil Kondkar
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 150243 0 None None None 2012-07-03 22:53:52 UTC

Description Larry O'Leary 2012-07-03 22:52:49 UTC
+++ This bug was initially created as a clone of upstream RHQ Bug #835312 +++

Description of problem:
When importing an Apache httpd virtual host which has a ServerName value which is not resolvable back to an interface on the local machine, the hostname or IP of the local machine is used instead of the ServerName value.  For an httpd instance with multiple virtual hosts with unresolvable ServerName values, this results in virtual host resources that are only identifiable by the port number in the resource name, or by manually inspecting each resource for the ServerName value recorded in the resource key.

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

How reproducible:
Very

Steps to Reproduce:
1. Add virtual host section to httpd.conf with unresolvable ServerName value:
Listen 8080
<VirtualHost *:8080>
        ServerName myunresolvablehost:8080
</VirtualHost>

2. Start httpd instance
3. Run discovery in agent to pick up "myunresolvablehost" ('discovery -f' if httpd instance is already in inventory
4. Navigate to httpd's virtual host children
5. Identify the newly added virtual host resource
  
Actual results:
Resource name is the local machine's hostname or IP address in format "hostname:8080"

Expected results:
Resource name should be referencing the value of the ServerName directive of the virtual host configuration.  For example, "myunresolvablehost:8080".

Comment 1 Larry O'Leary 2012-07-03 22:56:45 UTC
This is a usability issue that makes it difficult to identify a virtual host in the resource list as we do not retain the virtual host name as the resource name in the even the virtual host name is not resolvable. Apache does not require the server name to be resolvable as it is a "virtual" name and not a "logical" name.

The fix for this should be relatively easy with no impact.

Comment 3 Charles Crouch 2012-08-29 16:06:11 UTC
As per 8/20 triage 8/20 pushing to JON312

Comment 6 Michael Burman 2014-08-05 18:20:06 UTC
Fixed in the master. This change does not touch the resourceKey format, only resourceName.

commit 33ce700d3c3d9c657e0d5b98511c178e797e48bb
Author: burmanm <miburman>
Date:   Tue Aug 5 21:17:47 2014 +0300

    [BZ 837449] Change behaviour of apache plugin to select ServerName + VirtualHost combination as first priority for resourceName and fall back to server

Comment 7 John Mazzitelli 2014-08-07 18:37:03 UTC
commit to release/jon3.2.x : bb173ddb263775f7c4dd3abf91ffa2559d425ea6

Comment 8 Simeon Pinder 2014-08-15 03:19:11 UTC
Moving to ON_QA as this is available for test in JON 3.2.3 ER01 build:

http://jon01.mw.lab.eng.bos.redhat.com:8042/dist/release/jon/3.2.3.GA/8-14-14/

Comment 9 Sunil Kondkar 2014-08-19 11:07:29 UTC
Tested on Version : 3.2.0.GA Update 03 Build Number :bca1bc8:e19c43d

Added below virtual host entry to httpd.conf with unresolvable ServerName value:

Listen 8080
<VirtualHost *:8080>
        ServerName myunresolvablehost:8080
</VirtualHost>

- Started httpd instance
- After discovery navigated to httpd's virtual host children
- Observed that he newly added virtual host resource name has the format "<hostname>:8080"
  
Please refer the attached screenshot.

Comment 10 Sunil Kondkar 2014-08-19 11:08:07 UTC
Created attachment 928313 [details]
screenshot

Comment 14 Larry O'Leary 2015-04-29 22:20:51 UTC
This issue was fixed and released in JWS management plug-in for JBoss ON 3.3 per BZ-1127874. Please upgrade to JBoss ON 3.3 to receive this fix.


Note You need to log in before you can comment on or make changes to this bug.