The domain migration consists in migrating the source server's domain content and domain/host configuration files, to the target server. This migration task is optional, and in case the tool is running in interactive mode a prompt will first ask to confirm its execution:
In case the domain migration proceeds, the tool will start by migrating the source server's domain content, a cyphered repository used to store data such as deployments and deployment overlays, referenced by domain/host configurations. Both servers use a similar content repository, thus the migration of such data merely consists of finding, and copying such content among servers.
The domain migration may be customized, by configuring the migration environment:
Domain Configuration File Migration
The migration of a domain configuration file consists of copying the source configuration file to the target server, and then apply the relevant changes for such configuration to work correctly in the target server, and also take advantage of the target’s server’s new functionality:
-
Remove Unsupported Subsystems
-
Migrate Referenced Modules
-
Migrate jacorb Subsystem
-
Migrate messaging Subsystem
-
Update infinispan Subsystem
-
Update undertow Subsystem
-
Add batch-jberet Subsystem
-
Add request-controller Subsystem
-
Add security-manager Subsystem
-
Add singleton Subsystem
-
Update Unsecure Interface
-
Setup Private Interface
-
Add Socket Binding Multicast Address Expressions
-
Remove Permgen Attributes From JVMs
-
Add Load Balancer Profile
-
Migrate Deployments
Remove Unsupported Subsystems
The following WildFly 8 subsystems are not supported by WildFly 10.1:
All unsupported subsystems configurations and extensions are removed from migrated server configurations.
The console indicates which unsupported subsystem configurations and extensions are removed from each server configuration:
19:01:26,806 INFO [org.jboss.migration.core.task.ServerMigrationTask#14] (main) Removed the following unsupported extensions: [org.wildfly.extension.batch]
19:01:26,806 INFO [org.jboss.migration.core.task.ServerMigrationTask#14] (main) Removed the following unsupported subsystems: [urn:jboss:domain:batch:1.0]
Migrate Referenced Modules
A migrated domain configuration may reference, i.e. depend on, modules which are not installed in the target server, and in such case(s) the tool automatically migrates the referenced module(s), from the source server. Beyond that, any module that a referenced module depends on, directly or not, and is not installed in the target server, is automatically migrated too.
A module will be migrated when referenced by:
-
a Datasource subsystem configuration, as datasource driver(s) module
-
an EE subsystem configuration, as a global module
-
a Naming subsystem configuration, as Object Factory module
-
a Messaging subsystem configuration, as JMS Bridge module
Whenever a module is migrated, a message indicating the module's id should be printed in the migration console/log, as exampled below:
03:25:31,218 INFO [org.jboss.migration.core.task.ServerMigrationTask#19] (main) Module cmtool.datasources:main migrated.
03:25:31,222 INFO [org.jboss.migration.core.task.ServerMigrationTask#20] (main) Module cmtool.ee1:main migrated.
03:25:31,225 INFO [org.jboss.migration.core.task.ServerMigrationTask#21] (main) Module cmtool.ee2:main migrated.
03:25:31,229 INFO [org.jboss.migration.core.task.ServerMigrationTask#22] (main) Module cmtool.naming:main migrated.
It's possible to exclude the migration of specific module(s), by specifying the id(s) in the environment property named modules.excludes.
Migrate jacorb Subsystem
The jacorb subsystem is deprecated on Wildfly 10.1, and the tool migrates its configurations to the Wildfly 10.1 subsystem that replaces it, named iiop-openjdk.
The legacy subsystem migration is done without any interaction with the user, and any issue with the legacy subsystem configuration, e.g. missing functionality, results in a warning shown in the migration console and log(s). A successful migration of the legacy subsystem configurations is indicated by the following messages:
07:20:53,357 INFO [org.jboss.migration.core.ServerMigrationTask#331] (main) Migrating subsystem jacorb configurations...
07:20:53,437 INFO [org.jboss.migration.core.ServerMigrationTask#332] (main) Subsystem config /profile=full-ha/subsystem=jacorb migrated.
07:20:53,487 INFO [org.jboss.migration.core.ServerMigrationTask#335] (main) Subsystem config /profile=full/subsystem=jacorb migrated.
07:20:53,534 INFO [org.jboss.migration.core.ServerMigrationTask#336] (main) Extension org.jboss.as.jacorb removed.
07:20:53,534 INFO [org.jboss.migration.core.ServerMigrationTask#331] (main) Subsystem jacorb configurations migrated.
Please note that the Migration Environment may be configured to skip jacorb's subsystem migration, by setting environment property named subsystem.jacorb.migrate.skip as true.
Migrate messaging Subsystem
The messaging subsystem is deprecated on Wildfly 10.1, and the tool migrates its configurations to the Wildfly 10.1 subsystem that replaces it, named messaging-activemq.
The legacy subsystem migration is done without any interaction with the user, and any issue with the legacy subsystem configuration, e.g. missing functionality, results in a warning shown in the migration console and log(s). A successful migration of the legacy subsystem configurations is indicated by the following messages:
07:20:53,796 INFO [org.jboss.migration.core.ServerMigrationTask#343] (main) Migrating subsystem messaging configurations...
07:20:53,902 INFO [org.jboss.migration.core.ServerMigrationTask#344] (main) Subsystem config /profile=full-ha/subsystem=messaging migrated.
07:20:53,983 INFO [org.jboss.migration.core.ServerMigrationTask#347] (main) Subsystem config /profile=full/subsystem=messaging migrated.
07:20:54,009 INFO [org.jboss.migration.core.ServerMigrationTask#348] (main) Extension org.jboss.as.messaging removed.
07:20:54,009 INFO [org.jboss.migration.core.ServerMigrationTask#343] (main) Subsystem messaging configurations migrated.
Please note that the Migration Environment may be configured to skip messaging's subsystem migration, by setting environment property named subsystem.messaging.migrate.skip as true.
Update infinispan Subsystem
The infinispan subsystem configurations are updated to better match the Wildfly 10.1 default configurations:
-
adds the server cache, present on Wildfly 10.1 default configs
-
fixes the module name in hibernate cache configuration
-
adds default concurrent cache to the web container
The changes on the subsystem configurations are fully automated, the tool console and log(s) will merely indicate these changes were done, e.g.:
03:50:11,953 INFO [org.jboss.migration.core.task.ServerMigrationTask#254] (main) Infinispan subsystem's cache hibernate 'module' attribute updated to org.hibernate.infinispan.
03:50:12,061 INFO [org.jboss.migration.core.task.ServerMigrationTask#255] (main) Cache 'concurrent' added to cache container 'web'.
03:50:12,222 INFO [org.jboss.migration.core.task.ServerMigrationTask#257] (main) Infinispan subsystem's cache hibernate 'module' attribute updated to org.hibernate.infinispan.
03:50:12,366 INFO [org.jboss.migration.core.task.ServerMigrationTask#258] (main) Cache 'concurrent' added to cache container 'web'.
03:50:12,447 INFO [org.jboss.migration.core.task.ServerMigrationTask#259] (main) Server cache added to Infinispan subsystem configuration.
03:50:12,525 INFO [org.jboss.migration.core.task.ServerMigrationTask#260] (main) Infinispan subsystem's cache hibernate 'module' attribute updated to org.hibernate.infinispan.
03:50:12,605 INFO [org.jboss.migration.core.task.ServerMigrationTask#261] (main) Cache 'concurrent' added to cache container 'web'.
03:50:12,685 INFO [org.jboss.migration.core.task.ServerMigrationTask#262] (main) Server cache added to Infinispan subsystem configuration.
03:50:12,753 INFO [org.jboss.migration.core.task.ServerMigrationTask#263] (main) Infinispan subsystem's cache hibernate 'module' attribute updated to org.hibernate.infinispan.
03:50:12,827 INFO [org.jboss.migration.core.task.ServerMigrationTask#264] (main) Cache 'concurrent' added to cache container 'web'.
Please note that the Migration Environment may be configured to customise the process of updating the subsystem configuration:
-
fully skip the subsystem config update, by setting environment property named subsystem.infinispan.update.skip as true
-
don't add the server cache, by setting environment property named subsystem.infinispan.update.add-infinispan-server-cache.skip as true
-
don't fix the module name of hibernate cache, by setting environment property named subsystem.infinispan.update.fix-hibernate-cache-module-name.skip as true
-
don't add the default concurrent cache to the web container, by setting environment property named subsystem.infinispan.update.update-infinispan-web-cache.skip as true
Update undertow Subsystem
The migration tool updates Undertow subsystem configuration(s), to enable support for HTTP2, and better match Wildfly 10.1 default configuration files:
-
sets default HTTP Listener redirect socket
-
add default HTTPS Listener
-
enable HTTP2 support
-
sets default Server response header
-
sets default X-Powered-By response header
03:50:12,884 INFO [org.jboss.migration.core.task.ServerMigrationTask#266] (main) Undertow's default HTTP listener 'default' redirect-socket set as 'https'.
03:50:12,928 INFO [org.jboss.migration.core.task.ServerMigrationTask#267] (main) Default HTTPS listener added to server '/profile=ha/subsystem=undertow/server=default-server', in Undertow's config /profile=ha/subsystem=undertow
03:50:12,979 INFO [org.jboss.migration.core.task.ServerMigrationTask#268] (main) HTTP2 enabled for Undertow's HTTP Listener /profile=ha/subsystem=undertow/server=default-server/http-listener=default.
03:50:13,011 INFO [org.jboss.migration.core.task.ServerMigrationTask#268] (main) HTTP2 enabled for Undertow's HTTPS Listener /profile=ha/subsystem=undertow/server=default-server/https-listener=https.
03:50:13,058 INFO [org.jboss.migration.core.task.ServerMigrationTask#269] (main) Response header 'server-header' set as 'Server: WildFly/10' in Undertow's config /profile=ha/subsystem=undertow
03:50:13,101 INFO [org.jboss.migration.core.task.ServerMigrationTask#270] (main) Response header 'x-powered-by-header' set as 'X-Powered-By: Undertow/1' in Undertow's config /profile=ha/subsystem=undertow
03:50:13,168 INFO [org.jboss.migration.core.task.ServerMigrationTask#271] (main) Undertow's default HTTP listener 'default' redirect-socket set as 'https'.
03:50:13,214 INFO [org.jboss.migration.core.task.ServerMigrationTask#272] (main) Default HTTPS listener added to server '/profile=full-ha/subsystem=undertow/server=default-server', in Undertow's config /profile=full-ha/subsystem=undertow
03:50:13,255 INFO [org.jboss.migration.core.task.ServerMigrationTask#273] (main) HTTP2 enabled for Undertow's HTTP Listener /profile=full-ha/subsystem=undertow/server=default-server/http-listener=default.
03:50:13,285 INFO [org.jboss.migration.core.task.ServerMigrationTask#273] (main) HTTP2 enabled for Undertow's HTTPS Listener /profile=full-ha/subsystem=undertow/server=default-server/https-listener=https.
03:50:13,327 INFO [org.jboss.migration.core.task.ServerMigrationTask#274] (main) Response header 'server-header' set as 'Server: WildFly/10' in Undertow's config /profile=full-ha/subsystem=undertow
03:50:13,368 INFO [org.jboss.migration.core.task.ServerMigrationTask#275] (main) Response header 'x-powered-by-header' set as 'X-Powered-By: Undertow/1' in Undertow's config /profile=full-ha/subsystem=undertow
03:50:13,413 INFO [org.jboss.migration.core.task.ServerMigrationTask#276] (main) Undertow's default HTTP listener 'default' redirect-socket set as 'https'.
03:50:13,456 INFO [org.jboss.migration.core.task.ServerMigrationTask#277] (main) Default HTTPS listener added to server '/profile=full/subsystem=undertow/server=default-server', in Undertow's config /profile=full/subsystem=undertow
03:50:13,496 INFO [org.jboss.migration.core.task.ServerMigrationTask#278] (main) HTTP2 enabled for Undertow's HTTP Listener /profile=full/subsystem=undertow/server=default-server/http-listener=default.
03:50:13,531 INFO [org.jboss.migration.core.task.ServerMigrationTask#278] (main) HTTP2 enabled for Undertow's HTTPS Listener /profile=full/subsystem=undertow/server=default-server/https-listener=https.
03:50:13,574 INFO [org.jboss.migration.core.task.ServerMigrationTask#279] (main) Response header 'server-header' set as 'Server: WildFly/10' in Undertow's config /profile=full/subsystem=undertow
03:50:13,614 INFO [org.jboss.migration.core.task.ServerMigrationTask#280] (main) Response header 'x-powered-by-header' set as 'X-Powered-By: Undertow/1' in Undertow's config /profile=full/subsystem=undertow
03:50:13,657 INFO [org.jboss.migration.core.task.ServerMigrationTask#281] (main) Undertow's default HTTP listener 'default' redirect-socket set as 'https'.
03:50:13,698 INFO [org.jboss.migration.core.task.ServerMigrationTask#282] (main) Default HTTPS listener added to server '/profile=default/subsystem=undertow/server=default-server', in Undertow's config /profile=default/subsystem=undertow
03:50:13,741 INFO [org.jboss.migration.core.task.ServerMigrationTask#283] (main) HTTP2 enabled for Undertow's HTTP Listener /profile=default/subsystem=undertow/server=default-server/http-listener=default.
03:50:13,769 INFO [org.jboss.migration.core.task.ServerMigrationTask#283] (main) HTTP2 enabled for Undertow's HTTPS Listener /profile=default/subsystem=undertow/server=default-server/https-listener=https.
03:50:13,814 INFO [org.jboss.migration.core.task.ServerMigrationTask#284] (main) Response header 'server-header' set as 'Server: WildFly/10' in Undertow's config /profile=default/subsystem=undertow
03:50:13,871 INFO [org.jboss.migration.core.task.ServerMigrationTask#285] (main) Response header 'x-powered-by-header' set as 'X-Powered-By: Undertow/1' in Undertow's config /profile=default/subsystem=undertow
This additional update of the new subsystem configuration may be customised through the Migration Environment:
-
fully skip the subsystem config update, by setting environment property named subsystem.undertow.update.skip as true.
-
don't set the default HTTP Listener redirect socket, by setting environment property named subsystem.undertow.update.set-default-http-listener-redirect-socket.skip as true.
-
don't add the default HTTPS Listener, by setting environment property named subsystem.undertow.update.add-undertow-https-listener.skip as true.
-
don't enable HTTP2 support, by setting environment property named subsystem.undertow.update.enable-http2.skip as true.
-
don't set the default Server response header, by setting environment property named subsystem.undertow.update.add-response-header.server-header.skip as true.
-
don't set the default X-Powered-By response header, by setting environment property named subsystem.undertow.update.add-response-header.x-powered-by-header.skip as true.
Add batch-jberet Subsystem
The WildFly 10.1 batch-jberet subsystem provides support for [https://jcp.org/en/jsr/detail?id=352|JSR 352], Batch Applications for the Java EE 7 Platform. Its default configuration is automatically added to all profiles in the migrated configuration file unless the environment property named subsystem.batch-jberet.add.skip is set.
The subsystem and related extension are added without any interaction required by the user. The migration console and logs display the following messages to indicate it was added.
07:20:56,479 INFO [org.jboss.migration.core.ServerMigrationTask#408] (main) Extension org.wildfly.extension.batch.jberet added.
07:20:56,507 INFO [org.jboss.migration.core.ServerMigrationTask#409] (main) Subsystem config /profile=full-ha/subsystem=batch-jberet added.
07:20:56,528 INFO [org.jboss.migration.core.ServerMigrationTask#410] (main) Subsystem config /profile=default/subsystem=batch-jberet added.
07:20:56,557 INFO [org.jboss.migration.core.ServerMigrationTask#411] (main) Subsystem config /profile=ha/subsystem=batch-jberet added.
07:20:56,579 INFO [org.jboss.migration.core.ServerMigrationTask#412] (main) Subsystem config /profile=full/subsystem=batch-jberet added.
Add request-controller Subsystem
The request-controller is a Wildfly 10.1 subsystem that provides congestion control and graceful shutdown functionalities, and its default configuration is automatically added to all profiles in the migrated configuration file, unless the environment property named subsystem.request-controller.add.skip is set.
Please note that such subsystem, and related extension, is added without any interaction with the user, the migration console and log(s) will only indicate it was added, an example:
07:20:56,607 INFO [org.jboss.migration.core.ServerMigrationTask#414] (main) Extension org.wildfly.extension.request-controller added.
07:20:56,629 INFO [org.jboss.migration.core.ServerMigrationTask#415] (main) Subsystem config /profile=full-ha/subsystem=request-controller added.
07:20:56,656 INFO [org.jboss.migration.core.ServerMigrationTask#416] (main) Subsystem config /profile=default/subsystem=request-controller added.
07:20:56,675 INFO [org.jboss.migration.core.ServerMigrationTask#417] (main) Subsystem config /profile=ha/subsystem=request-controller added.
07:20:56,699 INFO [org.jboss.migration.core.ServerMigrationTask#418] (main) Subsystem config /profile=full/subsystem=request-controller added.
Add security-manager Subsystem
The security-manager is a Wildfly 10.1 subsystem that provides the support for Java EE 7 security permissions, and it's default configuration is added to all profiles in the migrated configuration file, unless the environment property named subsystem.security-manager.add.skip is set.
Please note that such subsystem, and related extension, is added without any interaction with the user, the migration console and log(s) will only indicate it was added, an example:
07:20:56,721 INFO [org.jboss.migration.core.ServerMigrationTask#420] (main) Extension org.wildfly.extension.security.manager added.
07:20:56,773 INFO [org.jboss.migration.core.ServerMigrationTask#421] (main) Subsystem config /profile=full-ha/subsystem=security-manager added.
07:20:56,815 INFO [org.jboss.migration.core.ServerMigrationTask#422] (main) Subsystem config /profile=default/subsystem=security-manager added.
07:20:56,876 INFO [org.jboss.migration.core.ServerMigrationTask#423] (main) Subsystem config /profile=ha/subsystem=security-manager added.
07:20:56,921 INFO [org.jboss.migration.core.ServerMigrationTask#424] (main) Subsystem config /profile=full/subsystem=security-manager added.
Add singleton Subsystem
The singleton is a Wildfly 10.1 subsystem which, as the name indicates, provides the singleton functionality. Its default configuration is automatically added to all profiles in the migrated configuration file, unless the environment property named subsystem.singleton.add.skip is set.
Please note that such subsystem, and related extension, is added without any interaction with the user, the migration console and log(s) will only indicate it was added, an example:
07:20:56,948 INFO [org.jboss.migration.core.ServerMigrationTask#426] (main) Extension org.wildfly.extension.clustering.singleton added.
07:20:56,982 INFO [org.jboss.migration.core.ServerMigrationTask#427] (main) Subsystem config /profile=full-ha/subsystem=singleton added.
07:20:57,011 INFO [org.jboss.migration.core.ServerMigrationTask#428] (main) Subsystem config /profile=default/subsystem=singleton added.
07:20:57,038 INFO [org.jboss.migration.core.ServerMigrationTask#429] (main) Subsystem config /profile=ha/subsystem=singleton added.
07:20:57,058 INFO [org.jboss.migration.core.ServerMigrationTask#430] (main) Subsystem config /profile=full/subsystem=singleton added.
Update Unsecure Interface
The tool updates the unsecure interface configuration to match WildFly 10.1 default configurations.
The configuration changes are fully automated, and the following messages, in the migration console and log(s), indicate that such changes were done as expected:
07:20:57,083 INFO [org.jboss.migration.core.ServerMigrationTask#432] (main) Interface unsecure inet address value set as ${jboss.bind.address.unsecure:127.0.0.1}.
The Migration Environment may be configured to skip the Unsecure interface update, by setting environment property named interface.unsecure.update.skip as true.
Setup Private Interface
WildFly 10.1 default configurations uses a new private interface on all jgroups socket bindings, and the tool automatically updates any migrated configuration with jgroups socket-bindings, to follow same setup.
The following messages in the console indicates this configuration update:
07:20:57,102 INFO [org.jboss.migration.core.ServerMigrationTask#434] (main) Interface private added.
07:20:57,121 INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-mping interface set to private
07:20:57,140 INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-tcp interface set to private
07:20:57,159 INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-tcp-fd interface set to private
07:20:57,181 INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-udp interface set to private
07:20:57,202 INFO [org.jboss.migration.core.ServerMigrationTask#436] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=jgroups-udp-fd interface set to private
07:20:57,223 INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-mping interface set to private
07:20:57,244 INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-tcp interface set to private
07:20:57,262 INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-tcp-fd interface set to private
07:20:57,281 INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-udp interface set to private
07:20:57,300 INFO [org.jboss.migration.core.ServerMigrationTask#438] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=jgroups-udp-fd interface set to private
The Migration Environment may be configured to skip adding the private, by setting environment property named interface.private.setup.skip as true.
Add Socket Binding Multicast Address Expressions
WildFly 10.1 default configurations uses value expressions in the multicast-address attribute of modcluster socket bindings, and the migration tool adds such value expressions to migrated configurations.
The following message(s) in the console indicates this configuration update:
03:50:19,651 INFO [org.jboss.migration.core.task.ServerMigrationTask#431] (main) Socket binding /socket-binding-group=full-ha-sockets/socket-binding=modcluster multicast address value expression set as ${jboss.modcluster.multicast.adress:224.0.1.105}.
03:50:19,673 INFO [org.jboss.migration.core.task.ServerMigrationTask#432] (main) Socket binding /socket-binding-group=ha-sockets/socket-binding=modcluster multicast address value expression set as ${jboss.modcluster.multicast.adress:224.0.1.105}.
The Migration Environment may be configured to skip this specific task, by setting environment property named socket-bindings.multicast-address.add-expressions.skip as true.
Remove Permgen Attributes From JVMs
The usage of Permgen attributes in JVM configurations is deprecated, and the tool removes these from all JVM configurations, for all server groups.
07:20:57,629 INFO [org.jboss.migration.core.ServerMigrationTask#453] (main) Removal of permgen attributes from JVM configs starting...
07:20:57,695 INFO [org.jboss.migration.core.ServerMigrationTask#454] (main) Permgen removed from JVM /server-group=main-server-group/jvm=default
07:20:57,731 INFO [org.jboss.migration.core.ServerMigrationTask#455] (main) Permgen removed from JVM /server-group=other-server-group/jvm=default
07:20:57,731 INFO [org.jboss.migration.core.ServerMigrationTask#453] (main) Removal of permgen attributes from JVM configs done.
The Migration Environment may be configured to skip adding this configuration update, by setting environment property named jvms.remove-permgen-attributes.skip as true.
Add Load Balancer Profile
WildFly 10.1 includes a new default profile, specially tailored for hosts servings as load balancers, and the migration tool automatically configures such profile in all migrated domain configurations.
03:50:15,308 INFO [org.jboss.migration.core.task.ServerMigrationTask#332] (main) Adding profile load-balancer...
03:50:15,335 INFO [org.jboss.migration.core.task.ServerMigrationTask#333] (main) Profile load-balancer created.
03:50:15,473 INFO [org.jboss.migration.core.task.ServerMigrationTask#335] (main) Adding subsystem io configuration(s)...
03:50:15,474 INFO [org.jboss.migration.core.task.ServerMigrationTask#336] (main) Extension org.wildfly.extension.io already exists in config.
03:50:15,582 INFO [org.jboss.migration.core.task.ServerMigrationTask#337] (main) Subsystem config /profile=load-balancer/subsystem=io added.
03:50:15,582 INFO [org.jboss.migration.core.task.ServerMigrationTask#338] (main) Adding subsystem undertow configuration(s)...
03:50:15,584 INFO [org.jboss.migration.core.task.ServerMigrationTask#339] (main) Extension org.wildfly.extension.undertow already exists in config.
03:50:15,820 INFO [org.jboss.migration.core.task.ServerMigrationTask#340] (main) Subsystem config /profile=load-balancer/subsystem=undertow added.
03:50:15,821 INFO [org.jboss.migration.core.task.ServerMigrationTask#341] (main) Adding subsystem logging configuration(s)...
03:50:15,822 INFO [org.jboss.migration.core.task.ServerMigrationTask#342] (main) Extension org.jboss.as.logging already exists in config.
03:50:16,048 INFO [org.jboss.migration.core.task.ServerMigrationTask#343] (main) Subsystem config /profile=load-balancer/subsystem=logging added.
03:50:16,049 INFO [org.jboss.migration.core.task.ServerMigrationTask#332] (main) Profile load-balancer added.
The Migration Environment may be configured to skip this particular configuration update, by setting environment property named profile.load-balancer.add.skip as true.
Migrate Deployments
With respect to domain configuration's deployments, the migration tool is capable of migrating the persistent deployments it references, and related deployment overlays as well.
Please be warned that the migration of a deployment, or deployment overlay, merely consists in installing related file resources in the target server, and possibly update the migrated configuration. The tool will not assert if such resources are compatible with the target server, which means these may not deploy/work as expected, or not deploy/work at all! To analyse a deployment, with respect to compatibility among different JBoss servers, it is strongly recommended usage of JBoss Windup.
Migrate Persistent Deployments
When migrating a domain configuration, the migration tool will search for any persistent deployments it refers, and print the results in the migration console/log:
03:19:08,997 INFO [org.jboss.migration.core.task.Task#74] (main) Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
And in interactive mode you will then see the following prompt:
Migrate all persistent deployments found?
yes/no? y
-
If you say yes, or y, all found deployments are migrated.
-
If you say no, or n, you receive a prompt asking to confirm the migration, for each listed deployment:
Migrate persistent deployment 'cmtool-helloworld3.war'?
yes/no?
-
If you say yes, or y, the deployment is migrated.
-
If you say no, or n, all references to the deployment are removed.
04:31:43,562 INFO [org.jboss.migration.core.task.ServerMigrationTask#555] (main) Removed persistent deployment from server group /deployment=cmtool-helloworld4.war
04:31:43,591 INFO [org.jboss.migration.core.task.ServerMigrationTask#555] (main) Removed persistent deployment from configuration /deployment=cmtool-helloworld4.war
If you are running in non-interactive mode, the JBoss Server Migration tool will migrate all listed deployments.
Migrate Deployment Overlays
The migration of deployment overlays is a fully automated process, the migration tool will search for deployment overlays referenced in the domain configuration, and migrates all that are linked to deployments which were migrated.
The migration console/log will list all deployment overlays found, if any, and print a message indicating the migration/removal of each:
04:33:30,053 INFO [org.jboss.migration.core.task.ServerMigrationTask#559] (main) Deployment overlays found: [overlay4, overlay1, overlay2, overlay3]
04:33:30,062 INFO [org.jboss.migration.core.task.ServerMigrationTask#559] (main) Migrating deployment overlay 'overlay4', it's linked to deployment cmtool-helloworld2.war
04:33:30,098 INFO [org.jboss.migration.core.task.ServerMigrationTask#560] (main) Removed deployment overlay from server group /deployment-overlay=overlay1
04:33:30,120 INFO [org.jboss.migration.core.task.ServerMigrationTask#560] (main) Removed deployment overlay from server group /deployment-overlay=overlay1
04:33:30,148 INFO [org.jboss.migration.core.task.ServerMigrationTask#560] (main) Removed deployment overlay from configuration /deployment-overlay=overlay1
04:33:30,175 INFO [org.jboss.migration.core.task.ServerMigrationTask#561] (main) Removed deployment overlay from server group /deployment-overlay=overlay2
04:33:30,198 INFO [org.jboss.migration.core.task.ServerMigrationTask#561] (main) Removed deployment overlay from configuration /deployment-overlay=overlay2
04:33:30,202 INFO [org.jboss.migration.core.task.ServerMigrationTask#559] (main) Migrating deployment overlay 'overlay3', it's linked to deployment cmtool-helloworld2.war
Host Configuration File Migration
The migration of a host configuration file consists of copying the source configuration file to the target server, and then apply the relevant changes for such configuration to work correctly in the target server, and also take advantage of the target’s server’s new functionality:
-
Migrate Referenced Modules
-
Add jmx Subsystem
-
Remove Unsecure Interface
-
Remove Permgen Attributes from JVMs
-
Migrate Compatible Security Realms
-
Add default SSL Server Identity to ApplicationRealm
Migrate Referenced Modules
A migrated host configuration may reference, i.e. depend on, modules which are not installed in the target server, and in such case(s) the tool automatically migrates the referenced module(s), from the source server. Beyond that, any module that a referenced module depends on, directly or not, and is not installed in the target server, is automatically migrated too.
A module will be migrated when referenced by:
Whenever a module is migrated, a message indicating the module's id should be printed in the migration console/log, as exampled below:
03:25:31,205 INFO [org.jboss.migration.core.task.ServerMigrationTask#18] (main) Module cmtool.security-realms:main migrated.
It's possible to exclude the migration of specific module(s), by specifying the id(s) in the environment property named modules.excludes.
Add jmx Subsystem
The WildFly 10.1 default host configurations include a configuration for jmx subsystem, and the tool adds such subsystem configuration to migrated host configurations.
The environment may be configured to skip adding JMX subsystem configuration, by setting environment property named subsystem.jmx.add.skip.
The subsystem and related extension are added without any interaction required by the user. The migration console and logs display the following messages to indicate it was added.
02:30:40,510 INFO [org.jboss.migration.core.ServerMigrationTask#461] (main) Adding JMX subsystem configuration...
02:30:40,566 INFO [org.jboss.migration.core.ServerMigrationTask#462] (main) Extension org.jboss.as.jmx added.
02:30:40,734 INFO [org.jboss.migration.core.ServerMigrationTask#463] (main) Subsystem config /host=master/subsystem=jmx added.
02:30:40,735 INFO [org.jboss.migration.core.ServerMigrationTask#461] (main) JMX subsystem configuration added.
Remove Unsecure Interface
The tool removes the unsecure interface configuration from all host configurations, to match WildFly 10.1 default configurations.
The configuration changes are fully automated, and the following messages, in the migration console and log(s), indicate that such changes were done as expected:
02:30:41,015 INFO [org.jboss.migration.core.ServerMigrationTask#480] (main) Interface unsecure removed.
The Migration Environment may be configured to skip the Unsecure interface update, by setting environment property named interface.unsecure.remove.skip as true.
Remove Permgen Attributes from JVMs
The usage of Permgen attributes in JVM configurations is deprecated, and the tool removes these from all JVM configurations, for all server groups.
02:30:41,016 INFO [org.jboss.migration.core.ServerMigrationTask#483] (main) Removal of permgen attributes from JVM configs starting...
02:30:41,050 INFO [org.jboss.migration.core.ServerMigrationTask#484] (main) Permgen removed from JVM /host=eduardos-mini.lan/jvm=default
02:30:41,050 INFO [org.jboss.migration.core.ServerMigrationTask#483] (main) Removal of permgen attributes from JVM configs done.
The Migration Environment may be configured to skip adding this configuration update, by setting environment property named jvms.remove-permgen-attributes.skip as true.
Migrate Compatible Security Realms
Wildfly 10.1 Security Realms configuration is fully compatible with the source server's Security Realms configuration, which means that no changes are required and done. As for any properties file referenced by such configuration, in case its path is not absolute then the tool will copy such file, to the path expected by the migrated config file.
The migration of Security Realms is fully automated, no user interaction is needed, and details about its execution are shown in the migration console and log(s):
02:30:41,051 INFO [org.jboss.migration.core.ServerMigrationTask#485] (main) Migrating security realms...
02:30:41,055 INFO [org.jboss.migration.core.ServerMigrationTask#486] (main) Security realm ManagementRealm migrated.
02:30:41,059 INFO [org.jboss.migration.core.ServerMigrationTask#487] (main) Security realm ApplicationRealm migrated.
02:30:41,059 INFO [org.jboss.migration.core.ServerMigrationTask#485] (main) Security realms migration done.
Please note that the Migration Environment may be configured to customise the process of migrating security realms:
Add default SSL Server Identity to ApplicationRealm
WildFly 10.1 default configurations include a SSL Server Identity for the default Security Realm named ApplicationRealm, and the migration tool automatically updates migrated configurations to match such change.
The following message(s) printed on the migration console and log(s), indicates this update of ApplicationRealm configuration(s):
03:50:21,610 INFO [org.jboss.migration.core.task.ServerMigrationTask#494] (main) SSL server identity added to security realm ApplicationRealm.
Please note that the Migration Environment may be configured to skip this configuration update, by setting environment property named security-realm.ApplicationRealm.add-ssl-server-identity.skip as true