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

Legacy subsystem messaging's migrate() op should migrate to elytron

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Blocker
    • None
    • 8.0.0.Beta
    • JMS, Migration
    • None
    • False
    • None
    • False

    Description

      Currently the migrate() op is migrating the legacy messaging configuration to a messaging activemq configuration which requires the legacy security domains framework, no longer supported.

      
      2023-04-12 12:18:18,483 DEBUG [ServerMigrationTask#1:2:3:2:34:1] Migrating subsystem config /subsystem=messaging...
      2023-04-12 12:18:18,551 DEBUG [ServerMigrationTask#1:2:3:2:34:1] Migration op result: {"outcome" => "failed","result" => {"migration-warnings" => [],"migration-error" => {"operation" => {"clustered" => undefined,"persistence-enabled" => true,"scheduled-thread-pool-max-size" => undefined,"thread-pool-max-size" => undefined,"security-domain" => undefined,"security-enabled" => undefined,"security-invalidation-interval" => undefined,"override-in-vm-security" => undefined,"wild-card-routing-enabled" => undefined,"management-address" => undefined,"management-notification-address" => undefined,"cluster-user" => undefined,"cluster-password" => expression "${jboss.messaging.cluster.password:CHANGE ME!!}","jmx-management-enabled" => undefined,"jmx-domain" => undefined,"statistics-enabled" => undefined,"message-counter-enabled" => undefined,"message-counter-sample-period" => undefined,"message-counter-max-day-history" => undefined,"connection-ttl-override" => undefined,"async-connection-execution-enabled" => undefined,"transaction-timeout" => undefined,"transaction-timeout-scan-period" => undefined,"message-expiry-scan-period" => undefined,"message-expiry-thread-priority" => undefined,"id-cache-size" => undefined,"persist-id-cache" => undefined,"remoting-interceptors" => undefined,"remoting-incoming-interceptors" => undefined,"remoting-outgoing-interceptors" => undefined,"backup" => undefined,"allow-failback" => undefined,"failback-delay" => undefined,"failover-on-shutdown" => undefined,"shared-store" => undefined,"persist-delivery-count-before-delivery" => undefined,"page-max-concurrent-io" => undefined,"create-bindings-dir" => undefined,"create-journal-dir" => undefined,"journal-type" => "NIO","journal-buffer-timeout" => undefined,"journal-buffer-size" => undefined,"journal-sync-transactional" => undefined,"journal-sync-non-transactional" => undefined,"log-journal-write-rate" => undefined,"journal-file-size" => undefined,"journal-min-files" => 2,"journal-compact-percentage" => undefined,"journal-compact-min-files" => undefined,"journal-max-io" => undefined,"max-saved-replicated-journal-size" => undefined,"perf-blast-pages" => undefined,"run-sync-speed-test" => undefined,"server-dump-interval" => undefined,"memory-warning-threshold" => undefined,"memory-measure-interval" => undefined,"check-for-live-server" => undefined,"backup-group-name" => undefined,"replication-clustername" => undefined,"operation" => "add","address" => [("subsystem" => "messaging-activemq"),("server" => "default")],"operation-headers" => {"caller-type" => "user"},"elytron-domain" => undefined,"cluster-credential-reference" => undefined,"incoming-interceptors" => undefined,"outgoing-interceptors" => undefined,"journal-datasource" => undefined,"journal-database" => undefined,"journal-jdbc-lock-expiration" => undefined,"journal-jdbc-lock-renew-period" => undefined,"journal-jdbc-network-timeout" => undefined,"journal-messages-table" => undefined,"journal-bindings-table" => undefined,"journal-jms-bindings-table" => undefined,"journal-large-messages-table" => undefined,"journal-page-store-table" => undefined,"journal-node-manager-store-table" => undefined,"journal-pool-files" => undefined,"journal-file-open-timeout" => undefined,"journal-max-attic-files" => undefined,"global-max-disk-usage" => undefined,"disk-scan-period" => undefined,"global-max-memory-size" => undefined,"network-check-nic" => undefined,"network-check-period" => undefined,"network-check-timeout" => undefined,"network-check-list" => undefined,"network-check-url-list" => undefined,"network-check-ping-command" => undefined,"network-check-ping6-command" => undefined,"critical-analyzer-enabled" => undefined,"critical-analyzer-check-period" => undefined,"critical-analyzer-timeout" => undefined,"critical-analyzer-policy" => undefined,"address-queue-scan-period" => undefined},"result" => {"outcome" => "failed","failure-description" => "WFLYCTL0369: Required capabilities are not available:
          org.wildfly.security.legacy-security-domain.other; There are no known registration points which can provide this capability.","rolled-back" => true}}},"failure-description" => "WFLYMSG0081: Migration failed, see results for more details.","rolled-back" => true,"response-headers" => {"process-state" => "reload-required"}}
      
      

      Please note above the requirement of a non supported legacy security capability, this is the result of migrating the following legacy messaging subsystem config:

      
              <subsystem xmlns="urn:jboss:domain:messaging:3.0">
                  <hornetq-server>
                      <persistence-enabled>true</persistence-enabled>
                      <cluster-password>${jboss.messaging.cluster.password:CHANGE ME!!}</cluster-password>
                      <journal-type>NIO</journal-type>
                      <journal-min-files>2</journal-min-files>
      
                      <connectors>
                          <netty-connector name="netty" socket-binding="messaging"/>
                          <netty-connector name="netty-throughput" socket-binding="messaging-throughput">
                              <param key="batch-delay" value="50"/>
                          </netty-connector>
                          <in-vm-connector name="in-vm" server-id="0"/>
                      </connectors>
      
                      <acceptors>
                          <netty-acceptor name="netty" socket-binding="messaging"/>
                          <netty-acceptor name="netty-throughput" socket-binding="messaging-throughput">
                              <param key="batch-delay" value="50"/>
                              <param key="direct-deliver" value="false"/>
                          </netty-acceptor>
                          <in-vm-acceptor name="in-vm" server-id="0"/>
                      </acceptors>
      
                      <broadcast-groups>
                          <broadcast-group name="bg-group1">
                              <socket-binding>messaging-group</socket-binding>
                              <broadcast-period>5000</broadcast-period>
                              <connector-ref>
                                  netty
                              </connector-ref>
                          </broadcast-group>
                      </broadcast-groups>
      
                      <discovery-groups>
                          <discovery-group name="dg-group1">
                              <socket-binding>messaging-group</socket-binding>
                              <refresh-timeout>10000</refresh-timeout>
                          </discovery-group>
                      </discovery-groups>
      
                      <cluster-connections>
                          <cluster-connection name="my-cluster">
                              <address>jms</address>
                              <connector-ref>netty</connector-ref>
                              <discovery-group-ref discovery-group-name="dg-group1"/>
                          </cluster-connection>
                      </cluster-connections>
      
                      <security-settings>
                          <security-setting match="#">
                              <permission type="send" roles="guest"/>
                              <permission type="consume" roles="guest"/>
                              <permission type="createNonDurableQueue" roles="guest"/>
                              <permission type="deleteNonDurableQueue" roles="guest"/>
                          </security-setting>
                      </security-settings>
      
                      <address-settings>
                          <address-setting match="#">
                              <dead-letter-address>jms.queue.DLQ</dead-letter-address>
                              <expiry-address>jms.queue.ExpiryQueue</expiry-address>
                              <redelivery-delay>0</redelivery-delay>
                              <max-size-bytes>10485760</max-size-bytes>
                              <page-size-bytes>2097152</page-size-bytes>
                              <address-full-policy>PAGE</address-full-policy>
                              <message-counter-history-day-limit>10</message-counter-history-day-limit>
                              <redistribution-delay>1000</redistribution-delay>
                          </address-setting>
                      </address-settings>
      
                      <jms-connection-factories>
                          <connection-factory name="InVmConnectionFactory">
                              <connectors>
                                  <connector-ref connector-name="in-vm"/>
                              </connectors>
                              <entries>
                                  <entry name="java:/ConnectionFactory"/>
                              </entries>
                          </connection-factory>
                          <connection-factory name="RemoteConnectionFactory">
                              <connectors>
                                  <connector-ref connector-name="netty"/>
                              </connectors>
                              <entries>
                                  <entry name="java:jboss/exported/jms/RemoteConnectionFactory"/>
                              </entries>
                              <ha>true</ha>
                              <block-on-acknowledge>true</block-on-acknowledge>
                              <retry-interval>1000</retry-interval>
                              <retry-interval-multiplier>1.0</retry-interval-multiplier>
                              <reconnect-attempts>-1</reconnect-attempts>
                          </connection-factory>
                          <pooled-connection-factory name="hornetq-ra">
                              <transaction mode="xa"/>
                              <connectors>
                                  <connector-ref connector-name="in-vm"/>
                              </connectors>
                              <entries>
                                  <entry name="java:/JmsXA"/>
                              </entries>
                          </pooled-connection-factory>
                      </jms-connection-factories>
      
                      <jms-destinations>
                          <jms-queue name="ExpiryQueue">
                              <entry name="java:/jms/queue/ExpiryQueue"/>
                          </jms-queue>
                          <jms-queue name="DLQ">
                              <entry name="java:/jms/queue/DLQ"/>
                          </jms-queue>
                      </jms-destinations>
                  </hornetq-server>
              </subsystem>
      
      

      Attachments

        Issue Links

          Activity

            People

              ehugonne1@redhat.com Emmanuel Hugonnet
              emartins@redhat.com Eduardo Martins
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: