Uploaded image for project: 'WildFly'
  1. WildFly
  2. WFLY-14648

Undertow subsystem does not resolve expression for enabled attribute

    XMLWordPrintable

Details

    • Hide

      Start WildFly
      run CLI

      /subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=enabled, value=${env.val:false})
      
      Show
      Start WildFly run CLI /subsystem=undertow/server= default -server/http-listener= default :write-attribute(name=enabled, value=${env.val: false })
    • Undefined

    Description

      Per undertow subsystem http listener resource description attribute enabled allows expressions:

      /subsystem=undertow/server=default-server/http-listener=default:read-resource-description
      
                 "enabled" => {
                      "type" => BOOLEAN,
                      "description" => "If the listener is enabled",
                      "expressions-allowed" => true,
                      "required" => false,
                      "nillable" => true,
                      "default" => true,
                      "deprecated" => {
                          "since" => "3.2.0",
                          "reason" => "Enabled attributes are being deprecated, as they cause problems in enforcement o
      f configuration consistency."
                      },
                      "access-type" => "read-write",
                      "storage" => "configuration",
                      "restart-required" => "all-services"
                  },
      
      

      However, expression resolution does not work for enabled attribute for http-listener in underdow subsystem. Running CLI command

      /subsystem=undertow/server=default-server/http-listener=default:write-attribute(name=enabled, value=${env.val:false})
      

      results into exception:

      13:26:49,289 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) WFLYCTL0013: Operation ("write-attribute") failed - address: ([
          ("subsystem" => "undertow"),
          ("server" => "default-server"),
          ("http-listener" => "default")
      ]): java.lang.IllegalArgumentException
      	at org.jboss.dmr.StringModelValue.asBoolean(StringModelValue.java:157)
      	at org.jboss.dmr.ModelNode.asBoolean(ModelNode.java:324)
      	at org.wildfly.extension.undertow.ListenerResourceDefinition$EnabledAttributeHandler.applyUpdateToRuntime(ListenerResourceDefinition.java:344)
      	at org.jboss.as.controller.AbstractWriteAttributeHandler$1.execute(AbstractWriteAttributeHandler.java:110)
      	at org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:1045)
      	at org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:779)
      	at org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:468)
      	at org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1415)
      	at org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:431)
      	at org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:248)
      	at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
      	at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
      	at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:248)
      	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:240)
      	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$400(ModelControllerClientOperationHandler.java:138)
      	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:162)
      	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:158)
      	at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:328)
      	at org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:285)
      	at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:254)
      	at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:225)
      	at org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:158)
      	at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$1.doExecute(ManagementRequestContextImpl.java:70)
      	at org.jboss.as.protocol.mgmt.ManagementRequestContextImpl$AsyncTaskRunner.run(ManagementRequestContextImpl.java:160)
      	at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at java.lang.Thread.run(Thread.java:748)
      	at org.jboss.threads.JBossThread.run(JBossThread.java:513)
      

      Setting priority to major due to the deprecation of the attribute.

      Attachments

        Issue Links

          Activity

            People

              chaowan@redhat.com Chao Wang
              istraka@redhat.com Ivan Straka
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: