Bug 1477945

Summary: The environment and cache fields are not shown on the JBoss ON page when viewing the configuration of /subsystem=naming/binding entries
Product: [JBoss] JBoss Operations Network Reporter: bkramer <bkramer>
Component: Plugin -- JBoss EAP 6Assignee: Ruben Vargas Palma <rvargasp>
Status: CLOSED CURRENTRELEASE QA Contact: Filip Brychta <fbrychta>
Severity: high Docs Contact:
Priority: high    
Version: JON 3.3.8CC: fbrychta, rvargasp, spinder
Target Milestone: CR01Keywords: Triaged
Target Release: One-off release   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1478094 (view as bug list) Environment:
Last Closed: 2018-02-16 10:02:18 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: 1477947    
Bug Blocks: 1387292    

Description bkramer 2017-08-03 09:47:23 UTC
Description of problem:
The environment and cache fields are not shown on the JBoss ON page when viewing the configuration of /subsystem=naming/binding entries

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

How reproducible:
Every time

Steps to Reproduce:
1. Add object-factory JNDI to the EAP 6 and EAP 7. For instance something like this is added in the standalone.xml file:

*********************************
<subsystem xmlns="urn:jboss:domain:naming:2.0">
    <bindings>
      <object-factory name="java:global/MongoClient" module="com.mongodb.jndi" class="com.mongodb.jndi.MongoClientJNDIFactory">
          <environment>
            <property name="mongoClientURI" value="mongodb://username:password:27017,username:password:27017"/>
          </environment>
      </object-factory>
    </bindings>
    <remote-naming/>
</subsystem>
*********************************
Full instructions for this can be found in: https://stackoverflow.com/questions/25311699/custom-jndi-object-factory-in-wildfly-8-for-cdi

2. Start both EAP 6 and EAP 7;
3. Discover newly started EAP 6 and EAP 7 and add them to the inventory;
4. Navigate to JBoss ON UI -> EAP 6 resource -> Subsystem -> naming -> Bindings -> java:global/MongoClient resource -> Configuration tab -> and check what's visible there.

Actual results:
Visible fields are: Binding Type, Class, Lookup, Module, Type and Value. However, Environment and Cache fields are not there.

Expected results:
Everything should be visible - including Environment and Cache fields. 

Additional info:

Comment 1 Ruben Vargas Palma 2017-11-02 03:26:50 UTC
commit 704076e040f8410ba0b53e1753c1c4447ad5501b
Merge: 4eea9fc d574eaa
Author: Josejulio Martínez <finwemartinez>
Date:   Tue Oct 31 16:04:56 2017 -0600

    Merge pull request #333 from rubenvp8510/binding_env_eap6
    
    Bug 1477945 Environment and cache parameters added to subsystem=naming/binding fo…

commit d574eaab930e17f6b6fe1eaa37ca4758a9e527d9
Author: Ruben Vargas <rvargasp>
Date:   Mon Oct 30 22:53:02 2017 -0600

    Environment and cache parameters added to subsystem=naming/binding for EAP6

Comment 4 Filip Brychta 2017-11-16 14:13:47 UTC
Missing fields are added but attempt to update Cache field fails with {JBAS014653: Composite operation failed and was rolled back. Steps that failed:={Operation step-7=JBAS011877: Binding type object-factory can not take a 'cache' attribute}}, rolled-back=true

Update of Environment properties works fine.

Issue is visible in both standalone and domain.

Comment 5 Filip Brychta 2017-11-20 11:52:01 UTC
Discussed the issue with EAP QE. This behavior is expected. jboss-cli is showing all attributes for all binding types and keeps those which are not applicable for given binding type as undefined. Attempt to update attribute which is not applicable for given binding type fails. User is expected to only update expected attributes.

Marking as verified

I created new bz1515203 for missing external-context type