Bug 1376929

Summary: Not all EAP Domain Server fields are populated
Product: Red Hat CloudForms Management Engine Reporter: Matt Mahoney <mmahoney>
Component: ProvidersAssignee: Jirka Kremser <jkremser>
Status: CLOSED CURRENTRELEASE QA Contact: Matt Mahoney <mmahoney>
Severity: medium Docs Contact:
Priority: medium    
Version: unspecifiedCC: cpelland, hrupp, jfrey, jhardy, mazz, mmahoney, obarenbo, simaishi
Target Milestone: GAKeywords: TestOnly, Triaged
Target Release: 5.8.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard: hawkular
Fixed In Version: 5.8.0.0 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1393033 (view as bug list) Environment:
Last Closed: 2017-06-12 16:41:15 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: Middleware Target Upstream Version:
Bug Depends On:    
Bug Blocks: 1393033    
Attachments:
Description Flags
Servers View
none
server2, running
none
server3, cold standby (never started) none

Description Matt Mahoney 2016-09-16 20:40:30 UTC
Created attachment 1201824 [details]
Servers View

Description of problem:
With an EAP Domain server inventoried, the Servers view does not populate all of the Domain Server fields.

In the attached snapshot, the Product and Host Name are not populated for one of the servers.

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

How reproducible:


Steps to Reproduce:
1. Add an EAP Domain server to HS inventory.
2. Refresh Hawkular Server Provider
3. Navigate to Servers View, validate that the EAP Domain server(s) are displayed
4. Observe whether all of the EAP Domain fields are populated in the Servers table

Actual results:
Not all of EAP Domain Servers table fields are populated.

Expected results:
All EAP Domain Servers table fields should be populated

Additional info:

Comment 3 John Mazzitelli 2016-09-20 13:52:20 UTC
Can you be more specific as to what the agent is actually talking to? Is the agent talking to a set of remote EAP instances in the domain or is it talking directly to an EAP Domain Controller (in other words, what does the agent's <managed-server> section look like in its configuration - is it pointing to a <remote-dmr> that is a domain controller? Or is it <local-dmr> and the agent is deployed inside the domain controller? Or is the agent in some other EAP instances (NOT a domain controller)?

Comment 4 Heiko W. Rupp 2016-09-22 17:35:57 UTC
Matt, can you please look at #c3?

Comment 5 Heiko W. Rupp 2016-09-27 10:30:34 UTC
Mazz this is with the embedded agent. See attached screenshots of the properties.
I used the pilhuhn/hawkfly-domain docker images for this, which is with agent 0.22

Comment 6 Heiko W. Rupp 2016-09-27 10:31:14 UTC
Created attachment 1205154 [details]
server2, running

Comment 7 Heiko W. Rupp 2016-09-27 10:31:51 UTC
Created attachment 1205155 [details]
server3, cold standby (never started)

Comment 9 John Mazzitelli 2016-09-27 15:02:59 UTC
This is all normal, expected behavior because the EAP/WildFly domain controller *itself* doesn't even know this information yet, and because the domain controller doesn't know it, it can't provide this information to the agent when the agent asks for it.

To see this, just using the jboss-cli tool that comes with WildFly - you'll see the domain controller doesn't tell us anything about the server that is down - look at the DMR data that comes back from the domain controller for server-three (the downed server):

$ ./jboss-cli.sh --connect '/host=master/server=server-three/:read-resource(include-runtime=true)'
{
    "outcome" => "success",
    "result" => {
        "launch-type" => "DOMAIN",
        "server-state" => "STOPPED"
    }
}

That's all you get from WildFly's domain controller. Now compare this with either server-one or server-two (the two servers that are running) - again, run just the jboss-cli tool and notice you get all the information about that server:

$ ./jboss-cli.sh --connect '/host=master/server=server-two/:read-resource(include-runtime=true)'
{
    "outcome" => "success",
    "result" => {
        "host" => "master",
        "launch-type" => "DOMAIN",
        "management-major-version" => 4,
        "management-micro-version" => 0,
        "management-minor-version" => 0,
        "name" => "server-two",
        "namespaces" => [],
        "process-type" => "Server",
        "product-name" => "WildFly Full",
        "product-version" => "10.0.0.Final",
        "profile-name" => "full",
        "release-codename" => "Kenny",
        "release-version" => "2.0.10.Final",
        "running-mode" => "NORMAL",
        "schema-locations" => [],
        "server-group" => "main-server-group",
        "server-state" => "running",
        "suspend-state" => "RUNNING",
        "uuid" => "ff6b1067-7d33-4ba9-b402-261d35ca079f",
        "core-service" => {
            "platform-mbean" => undefined,
            "management" => undefined,
            "service-container" => undefined,
            "server-environment" => undefined,
            "patching" => undefined,
            "module-loading" => undefined
        },
        "deployment" => undefined,
        "deployment-overlay" => undefined,
        "extension" => {
            "org.jboss.as.clustering.infinispan" => undefined,
            "org.jboss.as.clustering.jgroups" => undefined,
            "org.jboss.as.connector" => undefined,
            "org.jboss.as.ee" => undefined,
            "org.jboss.as.ejb3" => undefined,
            "org.jboss.as.jaxrs" => undefined,
            "org.jboss.as.jdr" => undefined,
            "org.jboss.as.jmx" => undefined,
            "org.jboss.as.jpa" => undefined,
            "org.jboss.as.jsf" => undefined,
            "org.jboss.as.jsr77" => undefined,
            "org.jboss.as.logging" => undefined,
            "org.jboss.as.mail" => undefined,
            "org.jboss.as.modcluster" => undefined,
            "org.jboss.as.naming" => undefined,
            "org.jboss.as.pojo" => undefined,
            "org.jboss.as.remoting" => undefined,
            "org.jboss.as.sar" => undefined,
            "org.jboss.as.security" => undefined,
            "org.jboss.as.transactions" => undefined,
            "org.jboss.as.webservices" => undefined,
            "org.jboss.as.weld" => undefined,
            "org.wildfly.extension.batch.jberet" => undefined,
            "org.wildfly.extension.bean-validation" => undefined,
            "org.wildfly.extension.clustering.singleton" => undefined,
            "org.wildfly.extension.io" => undefined,
            "org.wildfly.extension.messaging-activemq" => undefined,
            "org.wildfly.extension.request-controller" => undefined,
            "org.wildfly.extension.security.manager" => undefined,
            "org.wildfly.extension.undertow" => undefined,
            "org.wildfly.iiop-openjdk" => undefined
        },
        "interface" => {
            "management" => undefined,
            "public" => undefined,
            "private" => undefined,
            "unsecure" => undefined
        },
        "path" => {
            "jboss.server.log.dir" => undefined,
            "jboss.server.data.dir" => undefined,
            "jboss.server.base.dir" => undefined,
            "jboss.server.config.dir" => undefined,
            "user.dir" => undefined,
            "user.home" => undefined,
            "jboss.domain.base.dir" => undefined,
            "jboss.server.temp.dir" => undefined,
            "jboss.controller.temp.dir" => undefined,
            "jboss.home.dir" => undefined,
            "java.home" => undefined,
            "jboss.domain.config.dir" => undefined
        },
        "socket-binding-group" => {"full-sockets" => undefined},
        "subsystem" => {
            "jaxrs" => undefined,
            "iiop-openjdk" => undefined,
            "jsr77" => undefined,
            "jpa" => undefined,
            "ee" => undefined,
            "messaging-activemq" => undefined,
            "transactions" => undefined,
            "remoting" => undefined,
            "jmx" => undefined,
            "security" => undefined,
            "weld" => undefined,
            "pojo" => undefined,
            "infinispan" => undefined,
            "jca" => undefined,
            "request-controller" => undefined,
            "undertow" => undefined,
            "bean-validation" => undefined,
            "security-manager" => undefined,
            "datasources" => undefined,
            "logging" => undefined,
            "naming" => undefined,
            "webservices" => undefined,
            "jsf" => undefined,
            "jdr" => undefined,
            "batch-jberet" => undefined,
            "ejb3" => undefined,
            "io" => undefined,
            "mail" => undefined,
            "sar" => undefined,
            "resource-adapters" => undefined
        },
        "system-property" => {"java.net.preferIPv4Stack" => undefined}
    }
}

$ ./jboss-cli.sh --connect '/host=master/server=server-one/:read-resource(include-runtime=true)'
{
    "outcome" => "success",
    "result" => {
        "host" => "master",
        "launch-type" => "DOMAIN",
        "management-major-version" => 4,
        "management-micro-version" => 0,
        "management-minor-version" => 0,
        "name" => "server-one",
        "namespaces" => [],
        "process-type" => "Server",
        "product-name" => "WildFly Full",
        "product-version" => "10.0.0.Final",
        "profile-name" => "full",
        "release-codename" => "Kenny",
        "release-version" => "2.0.10.Final",
        "running-mode" => "NORMAL",
        "schema-locations" => [],
        "server-group" => "main-server-group",
        "server-state" => "running",
        "suspend-state" => "RUNNING",
        "uuid" => "d282b254-142e-45c6-84dc-7bf250672bf2",
        "core-service" => {
            "platform-mbean" => undefined,
            "management" => undefined,
            "service-container" => undefined,
            "server-environment" => undefined,
            "patching" => undefined,
            "module-loading" => undefined
        },
        "deployment" => undefined,
        "deployment-overlay" => undefined,
        "extension" => {
            "org.jboss.as.clustering.infinispan" => undefined,
            "org.jboss.as.clustering.jgroups" => undefined,
            "org.jboss.as.connector" => undefined,
            "org.jboss.as.ee" => undefined,
            "org.jboss.as.ejb3" => undefined,
            "org.jboss.as.jaxrs" => undefined,
            "org.jboss.as.jdr" => undefined,
            "org.jboss.as.jmx" => undefined,
            "org.jboss.as.jpa" => undefined,
            "org.jboss.as.jsf" => undefined,
            "org.jboss.as.jsr77" => undefined,
            "org.jboss.as.logging" => undefined,
            "org.jboss.as.mail" => undefined,
            "org.jboss.as.modcluster" => undefined,
            "org.jboss.as.naming" => undefined,
            "org.jboss.as.pojo" => undefined,
            "org.jboss.as.remoting" => undefined,
            "org.jboss.as.sar" => undefined,
            "org.jboss.as.security" => undefined,
            "org.jboss.as.transactions" => undefined,
            "org.jboss.as.webservices" => undefined,
            "org.jboss.as.weld" => undefined,
            "org.wildfly.extension.batch.jberet" => undefined,
            "org.wildfly.extension.bean-validation" => undefined,
            "org.wildfly.extension.clustering.singleton" => undefined,
            "org.wildfly.extension.io" => undefined,
            "org.wildfly.extension.messaging-activemq" => undefined,
            "org.wildfly.extension.request-controller" => undefined,
            "org.wildfly.extension.security.manager" => undefined,
            "org.wildfly.extension.undertow" => undefined,
            "org.wildfly.iiop-openjdk" => undefined
        },
        "interface" => {
            "management" => undefined,
            "public" => undefined,
            "private" => undefined,
            "unsecure" => undefined
        },
        "path" => {
            "jboss.server.log.dir" => undefined,
            "jboss.server.data.dir" => undefined,
            "jboss.server.base.dir" => undefined,
            "jboss.server.config.dir" => undefined,
            "user.dir" => undefined,
            "user.home" => undefined,
            "jboss.domain.base.dir" => undefined,
            "jboss.server.temp.dir" => undefined,
            "jboss.controller.temp.dir" => undefined,
            "jboss.home.dir" => undefined,
            "java.home" => undefined,
            "jboss.domain.config.dir" => undefined
        },
        "socket-binding-group" => {"full-sockets" => undefined},
        "subsystem" => {
            "jaxrs" => undefined,
            "iiop-openjdk" => undefined,
            "jsr77" => undefined,
            "jpa" => undefined,
            "ee" => undefined,
            "messaging-activemq" => undefined,
            "transactions" => undefined,
            "remoting" => undefined,
            "jmx" => undefined,
            "security" => undefined,
            "weld" => undefined,
            "pojo" => undefined,
            "infinispan" => undefined,
            "jca" => undefined,
            "request-controller" => undefined,
            "undertow" => undefined,
            "bean-validation" => undefined,
            "security-manager" => undefined,
            "datasources" => undefined,
            "logging" => undefined,
            "naming" => undefined,
            "webservices" => undefined,
            "jsf" => undefined,
            "jdr" => undefined,
            "batch-jberet" => undefined,
            "ejb3" => undefined,
            "io" => undefined,
            "mail" => undefined,
            "sar" => undefined,
            "resource-adapters" => undefined
        },
        "system-property" => {"java.net.preferIPv4Stack" => undefined}
    }
}

Comment 11 Heiko W. Rupp 2016-10-20 14:16:51 UTC
I was first thinking we should just copy the information from a running managed server, but that would be wrong, as the DomainController can manage servers of different versions.

So putting in a message "not yet available" is probably the right way to go.
N/A sounds wrong to me though.

Comment 12 Jirka Kremser 2016-10-26 10:04:30 UTC
PR sent https://github.com/ManageIQ/manageiq/pull/12177

Comment 13 CFME Bot 2016-11-01 18:26:24 UTC
New commit detected on ManageIQ/manageiq/euwe:
https://github.com/ManageIQ/manageiq/commit/3b7cedbc3413f03c61d45af38ab460dedbc2449e

commit 3b7cedbc3413f03c61d45af38ab460dedbc2449e
Author:     Martin Povolny <mpovolny>
AuthorDate: Tue Nov 1 18:40:16 2016 +0100
Commit:     Oleg Barenboim <chessbyte>
CommitDate: Tue Nov 1 14:20:41 2016 -0400

    Merge pull request #12177 from Jiri-Kremser/not-all-eap-domain-server-fields-populated
    
    Not all eap domain server fields populated
    (cherry picked from commit 467982e4739c058feb8e373045841952763ec3f7)
    
    https://bugzilla.redhat.com/show_bug.cgi?id=1376929

 .../middleware_server_helper/textual_summary.rb    | 24 +++++++++++++++++++---
 .../hawkular/middleware_manager/refresh_parser.rb  | 14 +++++++++----
 .../hawkular/middleware_manager/refresher_spec.rb  | 12 +++++++++++
 3 files changed, 43 insertions(+), 7 deletions(-)

Comment 14 Heiko W. Rupp 2016-11-04 13:51:11 UTC
Setting on POST, since this was merged and also ported to Euwe