[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