[
https://issues.jboss.org/browse/WFLY-7092?page=com.atlassian.jira.plugin....
]
Darran Lofthouse commented on WFLY-7092:
----------------------------------------
[~brian.stansberry] Not sure if we are missing something or if this is a general
capabilities and requirements issue. The bug report here is in terms of the error message
on adding the subsystem back but I think the general issue should be that when an
extension and subsystem are removed the capabilities it registered as possible
capabilities should also be removed, that way admin clients are not going to get confused
with possible impossible resources.
Not possible to add Elytron subsystem after it was previously
removed
---------------------------------------------------------------------
Key: WFLY-7092
URL:
https://issues.jboss.org/browse/WFLY-7092
Project: WildFly
Issue Type: Bug
Components: Security
Reporter: Jan Tymel
Assignee: Darran Lofthouse
It is not possible to add Elytron extension that was previously removed. Everything works
fine if the server is reloaded between steps 5 and 6, hence I assume that there is either
'reload required' state missing or Elytron extension is not removed properly.
Actual result:
{code}
{
"outcome" => "failed",
"failure-description" => "WFLYCTL0158: Operation handler failed:
java.lang.IllegalStateException: WFLYCTL0363: Capability
'org.wildfly.security.providers' is already registered in context
'global'.",
"rolled-back" => true
}
{code}
{code}
ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 2)
WFLYCTL0013: Operation ("add") failed - address: ([("extension" =>
"org.wildfly.extension.elytron")]): java.lang.IllegalStateException:
WFLYCTL0363: Capability 'org.wildfly.security.providers' is already registered in
context 'global'.
at
org.jboss.as.controller.CapabilityRegistry.lambda$registerPossibleCapability$0(CapabilityRegistry.java:518)
at java.util.concurrent.ConcurrentHashMap.computeIfPresent(ConcurrentHashMap.java:1769)
at
org.jboss.as.controller.CapabilityRegistry.registerPossibleCapability(CapabilityRegistry.java:512)
at
org.jboss.as.controller.registry.ConcreteResourceRegistration.registerCapability(ConcreteResourceRegistration.java:669)
at
org.jboss.as.controller.SimpleResourceDefinition.registerCapabilities(SimpleResourceDefinition.java:368)
at
org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:108)
at
org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:226)
at
org.wildfly.extension.elytron.ElytronDefinition.registerChildren(ElytronDefinition.java:83)
at
org.jboss.as.controller.registry.NodeSubregistry.registerChild(NodeSubregistry.java:107)
at
org.jboss.as.controller.registry.ConcreteResourceRegistration.registerSubModel(ConcreteResourceRegistration.java:226)
at
org.jboss.as.controller.extension.ExtensionRegistry$SubsystemRegistrationImpl.registerSubsystemModel(ExtensionRegistry.java:694)
at org.wildfly.extension.elytron.ElytronExtension.initialize(ElytronExtension.java:99)
at
org.jboss.as.controller.extension.ExtensionAddHandler.initializeExtension(ExtensionAddHandler.java:131)
at
org.jboss.as.controller.extension.ExtensionAddHandler.execute(ExtensionAddHandler.java:83)
at
org.jboss.as.controller.AbstractOperationContext.executeStep(AbstractOperationContext.java:951)
at
org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:694)
at
org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:389)
at
org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1363)
at
org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:410)
at org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:232)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.doExecute(ModelControllerClientOperationHandler.java:213)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler.access$300(ModelControllerClientOperationHandler.java:136)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:157)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1$1.run(ModelControllerClientOperationHandler.java:153)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:422)
at org.jboss.as.controller.AccessAuditContext.doAs(AccessAuditContext.java:149)
at
org.jboss.as.controller.remote.ModelControllerClientOperationHandler$ExecuteRequestHandler$1.execute(ModelControllerClientOperationHandler.java:153)
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 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
at org.jboss.threads.JBossThread.run(JBossThread.java:320)
{code}
Expected result:
It is possible to add Elytron subsystem after its removal.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)