Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-3758

ParsedInterfaceCriteria.parseCriteria is not maintaining ExpressionValues

    Details

    • Steps to Reproduce:
      Hide

      Create an environment variable reference in the interfaces section of standalone.xml, define the associated environment variable, and start the server:

      <interfaces>
      <interface name="management">
      <loopback-address value="${env.OPENSHIFT_INTERNAL_IP}"/>
      </interface>
      <interface name="public">
      <loopback-address value="${env.OPENSHIFT_INTERNAL_IP}"/>
      </interface>
      </interfaces>

      This fails to be parsed with an error like:

      16:07:02,565 WARN [org.jboss.as.server] (MSC service thread 1-2) JBAS014600: Cannot resolve address "${env.OPENSHIFT_INTERNAL_IP}", so cannot match it to any InetAddress

      Show
      Create an environment variable reference in the interfaces section of standalone.xml, define the associated environment variable, and start the server: <interfaces> <interface name="management"> <loopback-address value="${env.OPENSHIFT_INTERNAL_IP}"/> </interface> <interface name="public"> <loopback-address value="${env.OPENSHIFT_INTERNAL_IP}"/> </interface> </interfaces> This fails to be parsed with an error like: 16:07:02,565 WARN [org.jboss.as.server] (MSC service thread 1-2) JBAS014600: Cannot resolve address "${env.OPENSHIFT_INTERNAL_IP}", so cannot match it to any InetAddress
    • Estimated Difficulty:
      Low

      Description

      The parsing of interfaces is throwing away ExpressionValues that are created from parsePossibleExpression since the resulting ExpressionValue is not passed onto the

      For example, in this LOOPBACK_ADDRESS block, the input property.getValue() is passed to the LoopbackAddressInterfaceCriteria ctor rather than the ExpressionValue that is created by parsePossibleExpression:

      parseCriteria snippet
                  case LOOPBACK_ADDRESS: {
                      ModelNode value = property.getValue();
                      value = parsePossibleExpression(value);
                      checkStringType(value, element.getLocalName(), true);
                      return new LoopbackAddressInterfaceCriteria(property.getValue());
                  }
      

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  starksm64 Scott Stark
                  Reporter:
                  starksm64 Scott Stark
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Time Tracking

                    Estimated:
                    Original Estimate - 1 hour
                    1h
                    Remaining:
                    Remaining Estimate - 1 hour
                    1h
                    Logged:
                    Time Spent - Not Specified
                    Not Specified