[
https://issues.jboss.org/browse/WFCORE-887?page=com.atlassian.jira.plugin...
]
Brian Stansberry commented on WFCORE-887:
-----------------------------------------
Analysis of the current (master) WildFly management API using the hal/model-graph[1] tool
shows the following attributes that are credential references but also support
expressions:
{code}
╒══════════════════════════════════════════════════════════════════════╤═════════════════════════════╕
│"r.address"
│"a.name" │
╞══════════════════════════════════════════════════════════════════════╪═════════════════════════════╡
│"/host=master/core-service=management/management-interface=http-interf│"interface"
│
│ace" │
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/host=master/core-service=management/management-interface=native-inte│"interface"
│
│rface" │
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/host=master/socket-binding-group=*"
│"default-interface" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/host=master/socket-binding-group=*/local-destination-outbound-socket│"socket-binding-ref"
│
│-binding=*" │
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/host=master/socket-binding-group=*/local-destination-outbound-socket│"source-interface"
│
│-binding=*" │
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/host=master/socket-binding-group=*/remote-destination-outbound-socke│"source-interface"
│
│t-binding=*" │
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/host=master/socket-binding-group=*/socket-binding=*"
│"interface" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/profile=*/subsystem=mail/mail-session=*/custom=*"
│"outbound-socket-binding-ref"│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/profile=*/subsystem=remoting/local-outbound-connection=*"
│"outbound-socket-binding-ref"│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/profile=*/subsystem=remoting/remote-outbound-connection=*"
│"outbound-socket-binding-ref"│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/profile=*/subsystem=singleton/singleton-policy=*/election-policy=ran│"socket-binding-preferences"
│
│dom" │
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/profile=*/subsystem=singleton/singleton-policy=*/election-policy=sim│"socket-binding-preferences"
│
│ple" │
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/profile=*/subsystem=undertow/configuration=filter/mod-cluster=*"
│"advertise-socket-binding" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/profile=*/subsystem=undertow/configuration=filter/mod-cluster=*"
│"management-socket-binding" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/profile=*/subsystem=undertow/configuration=filter/mod-cluster=*"
│"worker" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/profile=*/subsystem=undertow/configuration=handler/reverse-proxy=*/h│"outbound-socket-binding"
│
│ost=*" │
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/socket-binding-group=*"
│"default-interface" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/socket-binding-group=*/local-destination-outbound-socket-binding=*"
│"socket-binding-ref" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/socket-binding-group=*/local-destination-outbound-socket-binding=*"
│"source-interface" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/socket-binding-group=*/remote-destination-outbound-socket-binding=*"│"source-interface"
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/socket-binding-group=*/socket-binding=*"
│"interface" │
└──────────────────────────────────────────────────────────────────────┴─────────────────────────────┘
{code}
This was a test against the model reported by an HC using host-master.xml and the standard
domain.xml modified to add the rts, xts and picketlink extensions.
The Cypher query used was:
{code}
MATCH (r:Resource)-->(a:Attribute)-[:REFERENCES_CAPABILITY]->(c:Capability)
WHERE c IS NOT NULL AND
a.`expressions-allowed` = true
RETURN r.address, a.name
{code}
Following is a check of standalone using standalone-full-ha.xml.
{code}
╒══════════════════════════════════════════════════════════════════════╤═════════════════════════════╕
│"r.address"
│"a.name" │
╞══════════════════════════════════════════════════════════════════════╪═════════════════════════════╡
│"/socket-binding-group=*"
│"default-interface" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/socket-binding-group=*/local-destination-outbound-socket-binding=*"
│"socket-binding-ref" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/socket-binding-group=*/local-destination-outbound-socket-binding=*"
│"source-interface" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/socket-binding-group=*/remote-destination-outbound-socket-binding=*"│"source-interface"
│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/socket-binding-group=*/socket-binding=*"
│"interface" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/subsystem=mail/mail-session=*/custom=*"
│"outbound-socket-binding-ref"│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/subsystem=remoting/local-outbound-connection=*"
│"outbound-socket-binding-ref"│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/subsystem=remoting/remote-outbound-connection=*"
│"outbound-socket-binding-ref"│
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/subsystem=singleton/singleton-policy=*/election-policy=random"
│"socket-binding-preferences" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/subsystem=singleton/singleton-policy=*/election-policy=simple"
│"socket-binding-preferences" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/subsystem=undertow/configuration=filter/mod-cluster=*"
│"advertise-socket-binding" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/subsystem=undertow/configuration=filter/mod-cluster=*"
│"management-socket-binding" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/subsystem=undertow/configuration=filter/mod-cluster=*"
│"worker" │
├──────────────────────────────────────────────────────────────────────┼─────────────────────────────┤
│"/subsystem=undertow/configuration=handler/reverse-proxy=*/host=*"
│"outbound-socket-binding" │
└──────────────────────────────────────────────────────────────────────┴─────────────────────────────┘
{code}
[1]
https://github.com/hal/model-graph Sweet!
[2]
https://neo4j.com/docs/cypher-refcard/current/
"Deprecate" using an expression in model refs to
interfaces
-----------------------------------------------------------
Key: WFCORE-887
URL:
https://issues.jboss.org/browse/WFCORE-887
Project: WildFly Core
Issue Type: Task
Components: Domain Management
Reporter: Brian Stansberry
Fix For: 4.0.0.Alpha5
SocketBindingGroupResourceDefinition and OutboundSocketBindingResourceDefinition both
have attributes that represent model refs to interface resources, but which also allow
expressions.
Model references should not allow expressions. These were "grandfathered in"
when the large scale expression support roll out happened for AS 7.2 / EAP 6.1.
There's no metadata facility to record that expression support is deprecated, but the
add handler for these should log a WARN if they encounter an expression. Hopefully in EAP
8 we can then remove expression support.
We should look for other cases like this too, although those changes should be separate
JIRAs.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)