Uploaded image for project: 'JBoss Enterprise Application Platform'
  1. JBoss Enterprise Application Platform
  2. JBEAP-20345

With operator it is not possible to mount a server configuration file from a config map

    XMLWordPrintable

Details

    • Bug
    • Resolution: Obsolete
    • Minor
    • None
    • None
    • OpenShift
    • None
    • False
    • False
    • Undefined
    • Hide

      Run the clustering example we have in the Operator to reproduce the issue

      Show
      Run the clustering example we have in the Operator to reproduce the issue

    Description

      Since WF20, mounting the server configuration file from a config map makes the to start with the following errors:

      08:14:57,540 INFO  [org.jboss.as.cli] (Controller Boot Thread) WFLYCLI0001: Processing CLI script /tmp/cli-script-1602749692.cli
      08:14:57,934 ERROR [org.jboss.as.controller.management-operation] (CLI command executor) org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0268: Failed to rename temp file /opt/wildfly/standalone/configuration/standalone.xml.tmp to /opt/wildfly/standalone/configuration/standalone.xml: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0268: Failed to rename temp file /opt/wildfly/standalone/configuration/standalone.xml.tmp to /opt/wildfly/standalone/configuration/standalone.xml
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.FilePersistenceUtils.moveTempFileToMain(FilePersistenceUtils.java:112)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.ConfigurationFile.commitTempFile(ConfigurationFile.java:577)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.ConfigurationFilePersistenceResource.doCommit(ConfigurationFilePersistenceResource.java:71)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.AbstractFilePersistenceResource.commit(AbstractFilePersistenceResource.java:63)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl$3.commit(ModelControllerImpl.java:756)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeDoneStage(AbstractOperationContext.java:856)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:770)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:468)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1415)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:431)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:248)
      	at org.wildfly.security.elytron-private@1.13.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
      	at org.wildfly.security.elytron-private@1.13.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:248)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.executeInModelControllerCl(ModelControllerClientFactoryImpl.java:259)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.executeOperation(ModelControllerClientFactoryImpl.java:157)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl.lambda$executeInVm$0(ModelControllerClientFactoryImpl.java:351)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.access.InVmAccess.runInVm(InVmAccess.java:85)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl.executeInVm(ModelControllerClientFactoryImpl.java:351)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl.access$000(ModelControllerClientFactoryImpl.java:59)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$1.executeOperation(ModelControllerClientFactoryImpl.java:82)
      	at org.jboss.as.cli@13.0.1.Final//org.jboss.as.cli.handlers.batch.BatchRunHandler.doHandle(BatchRunHandler.java:89)
      	at org.jboss.as.cli@13.0.1.Final//org.jboss.as.cli.handlers.CommandHandlerWithHelp.handle(CommandHandlerWithHelp.java:89)
      	at org.jboss.as.cli@13.0.1.Final//org.jboss.as.cli.impl.CommandExecutor$2.lambda$build$0(CommandExecutor.java:685)
      	at org.jboss.as.cli@13.0.1.Final//org.jboss.as.cli.impl.CommandExecutor.lambda$execute$0(CommandExecutor.java:708)
      	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      Caused by: java.nio.file.FileSystemException: /opt/wildfly/standalone/configuration/standalone.xml: Device or resource busy
      	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
      	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
      	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
      	at java.base/sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:468)
      	at java.base/sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:267)
      	at java.base/java.nio.file.Files.move(Files.java:1421)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.FilePersistenceUtils.moveTempFileToMain(FilePersistenceUtils.java:110)
      	... 28 more
      
      08:14:58,001 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 33) org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0268: Failed to rename temp file /opt/wildfly/standalone/configuration/standalone.xml.tmp to /opt/wildfly/standalone/configuration/standalone.xml: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0268: Failed to rename temp file /opt/wildfly/standalone/configuration/standalone.xml.tmp to /opt/wildfly/standalone/configuration/standalone.xml
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.FilePersistenceUtils.moveTempFileToMain(FilePersistenceUtils.java:112)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.ConfigurationFile.commitTempFile(ConfigurationFile.java:577)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.ConfigurationFilePersistenceResource.doCommit(ConfigurationFilePersistenceResource.java:71)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.AbstractFilePersistenceResource.commit(AbstractFilePersistenceResource.java:63)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl$3.commit(ModelControllerImpl.java:756)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeDoneStage(AbstractOperationContext.java:856)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:770)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:468)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1415)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:431)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:248)
      	at org.wildfly.security.elytron-private@1.13.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
      	at org.wildfly.security.elytron-private@1.13.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:248)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.executeInModelControllerCl(ModelControllerClientFactoryImpl.java:259)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.lambda$runOperation$0(ModelControllerClientFactoryImpl.java:249)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.access.InVmAccess.runInVm(InVmAccess.java:63)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.SecurityActions$InVmActions$1.runInVm(SecurityActions.java:149)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.SecurityActions.runInVm(SecurityActions.java:49)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.runOperation(ModelControllerClientFactoryImpl.java:249)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.access$600(ModelControllerClientFactoryImpl.java:114)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient$2.run(ModelControllerClientFactoryImpl.java:203)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
      Caused by: java.nio.file.FileSystemException: /opt/wildfly/standalone/configuration/standalone.xml: Device or resource busy
      	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
      	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
      	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
      	at java.base/sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:468)
      	at java.base/sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:267)
      	at java.base/java.nio.file.Files.move(Files.java:1421)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.FilePersistenceUtils.moveTempFileToMain(FilePersistenceUtils.java:110)
      	... 27 more
      
      08:14:58,022 ERROR [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 26) org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0268: Failed to rename temp file /opt/wildfly/standalone/configuration/standalone.xml.tmp to /opt/wildfly/standalone/configuration/standalone.xml: org.jboss.as.controller.persistence.ConfigurationPersistenceException: WFLYCTL0268: Failed to rename temp file /opt/wildfly/standalone/configuration/standalone.xml.tmp to /opt/wildfly/standalone/configuration/standalone.xml
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.FilePersistenceUtils.moveTempFileToMain(FilePersistenceUtils.java:112)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.ConfigurationFile.commitTempFile(ConfigurationFile.java:577)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.ConfigurationFilePersistenceResource.doCommit(ConfigurationFilePersistenceResource.java:71)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.AbstractFilePersistenceResource.commit(AbstractFilePersistenceResource.java:63)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl$3.commit(ModelControllerImpl.java:756)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeDoneStage(AbstractOperationContext.java:856)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.AbstractOperationContext.processStages(AbstractOperationContext.java:770)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.AbstractOperationContext.executeOperation(AbstractOperationContext.java:468)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.OperationContextImpl.executeOperation(OperationContextImpl.java:1415)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl.internalExecute(ModelControllerImpl.java:431)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl.lambda$execute$1(ModelControllerImpl.java:248)
      	at org.wildfly.security.elytron-private@1.13.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:304)
      	at org.wildfly.security.elytron-private@1.13.1.Final//org.wildfly.security.auth.server.SecurityIdentity.runAs(SecurityIdentity.java:270)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerImpl.execute(ModelControllerImpl.java:248)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.executeInModelControllerCl(ModelControllerClientFactoryImpl.java:259)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.lambda$runOperation$0(ModelControllerClientFactoryImpl.java:249)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.access.InVmAccess.runInVm(InVmAccess.java:63)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.SecurityActions$InVmActions$1.runInVm(SecurityActions.java:149)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.SecurityActions.runInVm(SecurityActions.java:49)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.runOperation(ModelControllerClientFactoryImpl.java:249)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient.access$600(ModelControllerClientFactoryImpl.java:114)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.ModelControllerClientFactoryImpl$LocalClient$2.run(ModelControllerClientFactoryImpl.java:203)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
      	at java.base/java.lang.Thread.run(Thread.java:834)
      	at org.jboss.threads@2.4.0.Final//org.jboss.threads.JBossThread.run(JBossThread.java:513)
      Caused by: java.nio.file.FileSystemException: /opt/wildfly/standalone/configuration/standalone.xml: Device or resource busy
      	at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
      	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:111)
      	at java.base/sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:116)
      	at java.base/sun.nio.fs.UnixCopyFile.move(UnixCopyFile.java:468)
      	at java.base/sun.nio.fs.UnixFileSystemProvider.move(UnixFileSystemProvider.java:267)
      	at java.base/java.nio.file.Files.move(Files.java:1421)
      	at org.jboss.as.controller@13.0.1.Final//org.jboss.as.controller.persistence.FilePersistenceUtils.moveTempFileToMain(FilePersistenceUtils.java:110)
      	... 27 more
      

      I opened this issue as minor because mounting the server configuration from a config map is unsupported, but it is a procedure we have in the Operator documentation. This feature was working fine before, however, when we introduced the improvements for the startup boot time on WF20, this ability stop to work.

      At first glance, the uses of CONFIG_IS_FINAL=true should work around the issue, and we could argue that if you are supplying a configuration in a config map, such configuration should be immutable.

      Attachments

        Activity

          People

            yborgess1@redhat.com Yeray Borges Santana
            yborgess1@redhat.com Yeray Borges Santana
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: