[jboss-jira] [JBoss JIRA] (WFCORE-887) "Deprecate" using an expression in model refs to interfaces
Brian Stansberry (JIRA)
issues at jboss.org
Wed Dec 6 14:05:00 EST 2017
[ https://issues.jboss.org/browse/WFCORE-887?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13502639#comment-13502639 ]
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)
More information about the jboss-jira
mailing list