1. Overview
This document describes how to use the JBoss Server Migration Tool to migrate from JBoss EAP 7.4 to JBoss EAP 8.0.
----------------------------------------------------------
---- JBoss Server Migration Tool -----------------------
----------------------------------------------------------
Retrieving servers...
INFO SOURCE server name: JBoss EAP, version: 7.4.0.GA.
INFO TARGET server name: JBoss EAP, version: 8.0.0.GA.
Server migration starting...
The server migration from JBoss EAP 7.4 to JBoss EAP 8.0 includes:
-
Modules Migration
-
Standalone Server Migration
-
Managed Domain Migration
2. Modules Migration
The JBoss Server Migration Tool is capable of migrating any module installed in the source server, as long as the module is not already installed on the target server.
The migration of source server’s module can be done explicitly, i.e. by user demand, or implicitly, because a migrated module or server configuration depends on it.
You can specify which modules should be migrated or not, by using the modules.includes
and modules.excludes
environment properties:
-
A module whose ID is referenced by the
modules.excludes
environment property is never migrated. -
A module whose ID is referenced by the
modules.includes
environment property is always migrated, unless it referenced by themodules.excludes
environment property.
Important
|
The syntax for a module ID is name:slot; The slot is optional, and if it is not specified, defaults to main. |
As an example, to migrate modules com.example.moduleA
and com.example.moduleB
, and do not migrate module com.example.moduleC
:
-
You can configure the properties in the tool’s
config/environment.properties
file:modules.includes=com.example.moduleA,com.example.moduleB modules.excludes=com.example.moduleC
-
You can include the above properties in your own custom properties file, and then pass the file on the command line using the
--environment
argument. -
You can pass the information on the command line using a system property. The environment property names must be prefixed with
jboss.server.migration.
:-Djboss.server.migration.modules.includes="com.example.moduleA,com.example.moduleB" -Djboss.server.migration.modules.excludes="com.example.moduleC"
Warning
|
The JBoss Server Migration Tool does not verify that the source server’s module is compatible with the target server, and the migration of an incompatible module may cause the target server to malfunction, or not work at all. |
3. Standalone Server Migration
3.1. Standalone Configuration Processing Overview
When tasked to migrate standalone server configurations, the JBoss Server Migration Tool migrates the configuration files and related content from the source server to the target server. This migration task is optional.
If you run the migration tool in interactive
mode, which is the default, you are are prompted to confirm its execution.
Migrate the source's standalone server?
yes/no?
-
If you reply with yes or y, the standalone server migration proceeds.
-
If you reply with no or n, the standalone server migration is skipped.
If you choose to proceed, the tool starts by migrating the source standalone server’s content. Because both the source and target servers use a similar cyphered content repository to store data that is referenced by standalone server configurations, such as deployments and deployment overlays, migration of this data merely consists of finding and copying the content from the source server to the target server.
INFO --- Migrating standalone server...
INFO Source's standalone content migrated.
Next, the tool scans the source server for standalone server configurations files and prints the results in the console.
INFO Source's standalone configurations found: [standalone-full-ha.xml, standalone-full.xml, standalone-ha.xml, standalone.xml]
If you run the migration tool in non-interactive
mode, the JBoss Server Migration Tool migrates all listed configuration files.
If you run the migration tool in interactive
mode, which is the default, you are presented with the following prompt.
Migrate all configurations?
yes/no?
-
If you reply yes, all listed configuration files are migrated.
-
If you reply no, you receive a prompt asking to confirm the migration, for each listed configuration file:
Migrate configuration standalone-full-ha.xml ? yes/no? y
3.2. Customizing the Migration of the Standalone Configuration
The standalone server migration can be customized by configuring the following environment properties:
Property Name | Property Description |
---|---|
|
If set to |
|
Defines an alternative path for the source’s standalone server directory. Please note that a non absolute path is considered relative to the source server’s base directory, and if not defined this property defaults to "standalone". |
|
Defines an alternative path for the source’s standalone server configuration directory. Please note that a non absolute path is considered relative to the source’s standalone server directory, and if not defined this property defaults to "configuration". |
|
Specifies the file names of the source standalone server configurations to be migrated. |
|
Defines an alternative path for the target’s standalone server directory. Please note that a non absolute path is considered relative to the target server’s base directory, and if not defined this property defaults to "standalone". |
|
Defines an alternative path for the target’s standalone server configuration directory. Please note that a non absolute path is considered relative to the target’s standalone server directory, and if not defined this property defaults to "configuration". |
The environment configuration can be customized in one of the following ways:
-
You can configure the properties in the tool’s
config/environment.properties
file:standalone.skip=false server.source.standalone.serverDir=standalone server.source.standalone.configDir=configuration server.source.standalone.configFiles=standalone.xml,standalone-full.xml server.target.standalone.serverDir=standalone server.target.standalone.configDir=configuration
-
You can include the above properties in your own custom properties file, and then pass the file on the command line using the
--environment
argument. -
You can pass the information on the command line using a system property. The environment property names must be prefixed with
jboss.server.migration.
, for example:-Djboss.server.migration.server.source.standalone.serverDir="standalone"
3.3. Standalone Configuration File Migration
When migrating the standalone server configuration, the JBoss Server Migration Tool first copies the source configuration files to the target server. It then updates the configuration to not only work correctly in the target server, but also to take advantage of the target server’s new functionality.
3.3.1. Migrate JBoss Domain Properties
The words master
and slave
on Domain related property names were replaced with the words 'primary' and 'secondary', and the migrates automatically fixes any usage of the old property names.
The console logs all properties renamed by the migration.
INFO JBoss domain property jboss.domain.master.address migrated to jboss.domain.primary.address
INFO JBoss domain property jboss.domain.master.port migrated to jboss.domain.primary.port
INFO JBoss domain property jboss.domain.master.protocol migrated to jboss.domain.primary.protocol
INFO JBoss domain properties migrated.
3.3.2. Remove Unsupported Subsystems
All subsystems, and related extensions, which are not supported by JBoss EAP 8.0, are automatically removed from a migrated configuration.
Note
|
A subsystem installed in JBoss EAP 7.4 by the user, is also considered as unsupported by JBoss EAP 8.0, and by default will not be migrated. |
The console logs the configuration namespaces, and extension modules, of unsupported subsystems removed from the server configuration being migrated:
INFO Unsupported extensions removed: [com.example.extension1]
INFO Unsupported subsystems removed: [urn:example:domain:subsystem1:1.0]
It is possible to override the default behaviour and indicate subsystems and extensions which should always, or never, be migrated, by configuring the following environment properties:
Property Name | Property Description |
---|---|
|
A list with the module names of extensions that should never be migrated. |
|
A list with the module names of extensions that should always be migrated. |
|
A list with the XML Namespaces, without the version part, of subsystems that should never be migrated. |
|
A list with the XML Namespaces, without the version part, of subsystems that should always be migrated. |
The environment configuration can be customized in one of the following ways:
-
You can configure the properties in the tool’s
config/environment.properties
file:extensions.excludes=com.example.extension1 extensions.includes=com.example.extension2,com.example.extension3 subsystems.excludes=urn:example:domain:subsystem1 subsystems.includes=urn:example:domain:subsystem2,urn:example:domain:subsystem3
-
You can include the above properties in your own custom properties file, and then pass the file on the command line using the
--environment
argument. -
You can pass the information on the command line using a system property. The environment property names must be prefixed with
jboss.server.migration.
, for example:-Djboss.server.migration.extensions.excludes="com.example.extension1" -Djboss.server.migration.subsystems.excludes="urn:example:domain:subsystem1"
3.3.3. Migrate Referenced Modules
A migrated configuration may reference and depend on a module that is not installed on the target server. The tool automatically migrates the referenced modules, and their dependent modules as well.
The console logs a message noting the module ID for any module that is migrated, for example:
INFO Module cmtool.datasources:main migrated.
INFO Module cmtool.ee1:main migrated.
INFO Module cmtool.ee2:main migrated.
INFO Module cmtool.naming:main migrated.
Tip
|
It is possible to exclude the migration of specific modules by specifying the id(s) in the environment property named modules.excludes .
|
3.3.4. Migrate Referenced Paths
A migrated configuration may reference paths, i.e. files and directories, which may need to be migrated to the target server.
A referenced path is migrated only if it’s not an absolute path, and such migration consists in copying the resource to such path, but relative to the migrated configuration, in the target server.
The console logs a message noting the migrations of paths:
INFO Referenced paths migrated.
3.3.5. Migrate Legacy Security Realms
JBoss EAP 8.0 does not supports the legacy Security Realms framework, and the tool migrates any usage of such resources to instead use the default JBoss EAP 8.0 Elytron replacements.
Please note that further manual Elytron configuration may be needed if the legacy security realm(s) being used were not the JBoss EAP 7.4’s defaults!
The console logs all configuration resources migrated to the default JBoss EAP 8.0 Elytron replacements.
INFO Legacy security XML configuration retrieved.
WARN Migrated Remoting subsystem's http connector resource /subsystem/remoting/http-connector/http-remoting-connector using a legacy security-realm, to Elytron's default application SASL Authentication Factory migration-defaultApplicationSaslAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem https-listener resource /subsystem/undertow/server/default-server/https-listener/https using a legacy security-realm, to Elytron's default TLS ServerSSLContext migration-defaultTLSServerSSLContext. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem http-invoker resource /subsystem/undertow/server/default-server/host/default-host/setting/http-invoker using a legacy security-realm, to Elytron's default Application HTTP AuthenticationFactory migration-defaultApplicationHttpAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
INFO Legacy security realms migrated to Elytron.
3.3.6. Migrate Legacy Security Domains
JBoss EAP 8.0 does not supports the legacy Security Domains framework, and the tool migrates any usage of such resources to instead use the default JBoss EAP 8.0 Elytron replacements.
Please note that further manual Elytron configuration may be needed if the legacy Security Domain(s) being used were not the JBoss EAP 7.4’s defaults!
The console logs all configuration resources migrated to the default JBoss EAP 8.0 Elytron replacements.
WARN Migrated ejb3 subsystem resource /subsystem/ejb3/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated undertow subsystem resource /subsystem/undertow/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
3.3.7. Migrate keycloak Subsystem
The keycloak subsystem is deprecated in JBoss EAP 8.0 and is replaced by the elytron-oidc-client subsystem.
By default, the JBoss Server Migration Tool automatically migrates any legacy subsystem configuration found.
If you prefer this migration task is not executed, you can set the subsystem.keycloak.migrate.skip
environment property value to true
.
The legacy subsystem migration is done without requiring any interaction from the user.
The outcome of the legacy keycloak subsystem migration is printed in the console, as an example:
INFO Subsystem keycloak migrated.
Any issues encountered during the migration are written to the log files and displayed in the migration console.
3.3.8. Migrate picketlink-federation Subsystem
The picketlink-federation subsystem is deprecated in JBoss EAP 8.0 and is replaced by the keycloak-saml subsystem.
By default, the JBoss Server Migration Tool automatically migrates any legacy subsystem configuration found.
If you prefer this migration task is not executed, you can set the subsystem.picketlink-federation.migrate.skip
environment property value to true
.
The legacy subsystem migration is done without requiring any interaction from the user.
The outcome of the legacy picketlink-federation subsystem migration is printed in the console, as an example:
INFO Subsystem picketlink-federation migrated.
Any issues encountered during the migration are written to the log files and displayed in the migration console.
3.3.9. Update jgroups Subsystem Configuration
The JBoss Server Migration Tool currently is not capable to automate the migration of the jgroups
subsystem configuration, and thus reverts it to the default JBoss EAP 8.0 jgroups
configuration.
Please note that further manual jgroups
subsystem configuration may be needed if the configuration being used was not the default JBoss EAP 7.4 jgroups
subsystem configuration!
The console logs a message when it updates the jgroups
subsystem configuration.
WARN Configuration of JGroups protocols has been changed to match the default protocols of the target server. Please note that further manual configuration may be needed if the legacy configuration being used was not the source server's default configuration!
3.3.10. Add the health Subsystem
The JBoss EAP 8.0 health subsystem provides support for server’s health functionality.
Its default configuration is automatically added to the migrated configuration file, unless the environment property named subsystem.health.add.skip
is set to true
.
The subsystem and related extension are added without any interaction required by the user. Upon successful addition of the health subsystem configuration, you should see the following messages in the console:
INFO Subsystem health added.
3.3.11. Add the metrics Subsystem
The JBoss EAP 8.0 metrics subsystem provides support for server’s metrics functionality.
Its default configuration is automatically added to the migrated configuration file, unless the environment property named subsystem.metrics.add.skip
is set to true
.
The subsystem and related extension are added without any interaction required by the user. Upon successful addition of the metrics subsystem configuration, you should see the following messages in the console:
INFO Subsystem metrics added.
3.3.12. Add the microprofile-jwt-smallrye Subsystem
The JBoss EAP 8.0 microprofile-jwt-smallrye subsystem provides support for Eclipse MicroProfile JWT.
Its default configuration is automatically added to the migrated configuration file, unless the environment property named subsystem.microprofile-jwt-smallrye.add.skip
is set to true
.
The subsystem and related extension are added without any interaction required by the user. Upon successful addition of the microprofile-jwt-smallrye subsystem configuration, you should see the following messages in the console:
INFO Subsystem microprofile-jwt-smallrye added.
3.3.13. Migrate Deployments
The JBoss Server Migration Tool, when migrating a configuration, may also migrate:
-
Deployments it references, also known as persistent deployments.
-
Deployments found in directories monitored by its deployment scanners.
-
Deployment Overlays it references.
Warning
|
The migration of a deployment or deployment overlay merely consists of installing related file resources on the target server, and possibly updating the migrated configuration. The tool will not assert if these resources are compatible with the target server, which means that a migrated deployment might not work as expected, or might not work at all. Red Hat recommends that you use Red Hat Application Migration Toolkit to analyze a deployment with respect to compatibility among different JBoss servers. |
Note
|
If you run the migration tool in non-interactive mode, by default the JBoss Server Migration Tool will not migrate any deployments and overlays. To migrate deployments the environment property deployments.migrate-deployments.skip should be set as false .
|
Migrate Persistent Deployments
When migrating a configuration, the tool searches for references to deployments persisted in the source server, and prints the names of the deployments found in the console, e.g.:
INFO Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
If you run the migration tool in interactive
mode, you then see the following prompt:
This tool is not able to assert if persistent deployments found are compatible with the target server, skip persistent deployments migration?
yes/no?
-
If you reply yes, or y, the all deployment references are removed from the migrated configuration, i.e. the deployments will not be migration.
-
If you reply no, or n, you receive an additional prompt asking if all deployments should be the migrated:
Migrate all persistent deployments found? yes/no?
-
If you reply yes, or y, all deployments are migrated.
-
If you reply no, or n, you receive a prompt asking to confirm the migration for each referenced deployment:
Migrate persistent deployment 'cmtool-helloworld3.war'? yes/no?
-
If you reply yes, or y, the deployment is migrated.
-
If you reply no, or n, the deployment reference is removed from the migrated configuration, i.e. the deployment is not migrated.
INFO Persistent deployment cmtool-helloworld3.war migrated.
-
-
If you run the migration tool in non-interactive
mode, the JBoss Server Migration Tool will migrate or not migrate all
persistent deployments, depending on the environment configuration.
Persistent deployments are migrated only if none of the following environment properties is set as true
:
-
deployments.migrate-deployments.skip
-
deployments.migrate-persistent-deployments.skip
Migrate Deployment Scanner Deployments
Deployment scanners monitor a directory for new files and manage their deployment automatically or through special deployment marker files,
and the migration tool, when migrating the server configuration, first searches for any configured deployment scanners, and then for each scanner found, searches its monitored directories for deployments marked as deployed
.
A list with the names of deployments found are printed to the console, for instance:
INFO Non-persistent deployments found in /jboss-eap-7.4/standalone/deployments: [cmtool-helloworld5.war, cmtool-helloworld6.war]
If you run the migration tool in interactive
mode, you then see the following prompt:
This tool is not able to assert if the non-persistent deployments found are compatible with the target server, skip scanner's deployments migration?
yes/no?
-
If you reply yes, or y, all deployments are not migrated.
-
If you reply no, or n, you receive an additional prompt asking if all deployments should be the migrated:
Migrate all non-persistent deployments found? yes/no?
-
If you reply yes, or y, all deployments are migrated.
INFO Non-persistent deployment cmtool-helloworld5.war migrated. INFO Non-persistent deployment cmtool-helloworld6.war migrated.
-
If you reply no, or n, you receive a prompt asking to confirm the migration for each deployment:
Migrate non-persistent deployment cmtool-helloworld5.war? yes/no?
-
If you reply no, or n, the deployment is not migrated.
-
If you reply yes, or y, the deployment is migrated.
-
INFO Non-persistent deployment cmtool-helloworld5.war migrated.
-
If you run the migration tool in non-interactive
mode, the JBoss Server Migration Tool will migrate or not migrate all
deployments found, depending on the environment configuration.
Persistent deployments are migrated only if none of the following environment properties is set as true
:
-
deployments.migrate-deployments.skip
-
deployments.migrate-deployment-scanner-deployments.skip
Migrate Deployment Overlays
The migration of deployment overlays is a fully automated process. The migration tool searches for deployment overlays referenced in the standalone server configuration. It then migrates those that are linked to deployments that were migrated.
The migration tool prints a message to the console for each deployment overlay that is migrated.
INFO Deployment overlay overlay1 migrated.
INFO Deployment overlay overlay2 migrated.
4. Managed Domain Migration
4.1. Managed Domain Processing Overview
When tasked to migrate managed domains, the JBoss Server Migration Tool migrates the domain and host configuration files and their related domain content from the source server to the target server. This migration task is optional.
If you run the migration tool in interactive
mode, which is the default, you are prompted to confirm its execution.
Migrate the source's managed domain?
yes/no?
-
If you reply with yes or y, the domain migration proceeds.
-
If you reply with no or n, the domain migration is skipped.
If you choose to proceed, the tool begins migrating the domain content of the source server. A cyphered repository used to store data, such as deployments and deployment overlays, that are referenced by the source server’s domain and host configurations. Because the source and target servers use a similar content repository, the migration of this data merely consists of finding and copying the content between the servers.
INFO --- Migrating managed domain...
INFO Source's domain content migrated.
Next, the migration tool scans the source server for domain configuration files and prints the results in the console.
INFO Source's domain configurations found: [cmtool-domain.xml, domain.xml]
If you run the migration tool non-interactive
mode, the JBoss Server Migration Tool migrates all listed domain configuration files.
If you run the migration tool in interactive
mode, which is the default, you are presented with the following prompt.
Migrate all configurations?
yes/no?
-
If you reply with yes, all listed configuration files are migrated.
-
If you reply with no, you are prompted to confirm the migration for each listed configuration file:
Migrate configuration cmtool-domain.xml ? yes/no? y
Next, the migration tool scans the source server for host configurations files and prints the results in the console.
INFO Source's host configurations found: [host-master.xml, host-slave.xml, host.xml]
If you run the migration tool in non-interactive
mode, the JBoss Server Migration Tool migrates all listed host configuration files.
If you run the migration tool in interactive
mode, which is the default, you are presented with the following prompt.
Migrate all configurations?
yes/no?
-
If you reply with yes, all listed configuration files are migrated.
-
If you reply with no, you are prompted to confirm the migration for each listed configuration file:
Migrate configuration host-master.xml ? yes/no? y
4.2. Customizing the Migration of the Managed Domain Configuration
Managed domain migration can be customized by configuring the following environment properties:
Property Name | Property Description |
---|---|
|
If set to |
|
Defines an alternative path for the source server’s domain directory. Please note that a non absolute path is considered relative to the source server’s base directory, and if not defined this property defaults to "domain". |
|
Defines an alternative path for the source server’s domain configuration directory. Please note that a non absolute path is considered relative to the source server’s domain directory, and if not defined this property defaults to "configuration". |
|
Specifies a comma delimited list of the file names of the source server host configurations that are to be migrated. |
|
Defines an alternative path for the target server’s domain directory. Please note that a non absolute path is considered relative to the target server’s base directory, and if not defined this property defaults to "domain". |
|
Defines an alternative path for the target server’s domain configuration directory. Please note that a non absolute path is considered relative to the target server’s domain directory, and if not defined this property defaults to "configuration". |
The environment configuration may be done in one of the following ways:
-
You can configure the tool’s
config/environment.properties
properties file:
domain.skip=false server.source.domain.domainDir=domain server.source.domain.configDir=configuration server.source.domain.domainConfigFiles=domain.xml server.source.domain.hostConfigFiles=host-master.xml, host.xml server.target.domain.domainDir=domain server.target.domain.configDir=configuration
-
You can configure the properties in your own custom properties file and pass the file on the command line using the
--environment
argument. -
You can pass the information on the command line using system properties. In this case, all environment property names should be prefixed with
jboss.server.migration.
.
4.3. Domain Configuration File Migration
When migrating the domain configuration, the JBoss Server Migration Tool first copies the source configuration files to the target server. It then updates the configuration to not only work correctly in the target server, but also to take advantage of the target server’s new functionality.
4.3.1. Migrate JBoss Domain Properties
The words master
and slave
on Domain related property names were replaced with the words 'primary' and 'secondary', and the migrates automatically fixes any usage of the old property names.
The console logs all properties renamed by the migration.
INFO JBoss domain property jboss.domain.master.address migrated to jboss.domain.primary.address
INFO JBoss domain property jboss.domain.master.port migrated to jboss.domain.primary.port
INFO JBoss domain property jboss.domain.master.protocol migrated to jboss.domain.primary.protocol
INFO JBoss domain properties migrated.
4.3.2. Remove Unsupported Subsystems
All subsystems, and related extensions, which are not supported by JBoss EAP 8.0, are automatically removed from a migrated configuration.
Note
|
A subsystem installed in JBoss EAP 7.4 by the user, is also considered as unsupported by JBoss EAP 8.0, and by default will not be migrated. |
The console logs the configuration namespaces, and extension modules, of unsupported subsystems removed from the server configuration being migrated:
INFO Unsupported extensions removed: [com.example.extension1]
INFO Unsupported subsystems removed: [urn:example:domain:subsystem1:1.0]
It is possible to override the default behaviour and indicate subsystems and extensions which should always, or never, be migrated, by configuring the following environment properties:
Property Name | Property Description |
---|---|
|
A list with the module names of extensions that should never be migrated. |
|
A list with the module names of extensions that should always be migrated. |
|
A list with the XML Namespaces, without the version part, of subsystems that should never be migrated. |
|
A list with the XML Namespaces, without the version part, of subsystems that should always be migrated. |
The environment configuration can be customized in one of the following ways:
-
You can configure the properties in the tool’s
config/environment.properties
file:extensions.excludes=com.example.extension1 extensions.includes=com.example.extension2,com.example.extension3 subsystems.excludes=urn:example:domain:subsystem1 subsystems.includes=urn:example:domain:subsystem2,urn:example:domain:subsystem3
-
You can include the above properties in your own custom properties file, and then pass the file on the command line using the
--environment
argument. -
You can pass the information on the command line using a system property. The environment property names must be prefixed with
jboss.server.migration.
, for example:-Djboss.server.migration.extensions.excludes="com.example.extension1" -Djboss.server.migration.subsystems.excludes="urn:example:domain:subsystem1"
4.3.3. Migrate Referenced Modules
A migrated configuration may reference and depend on a module that is not installed on the target server. The tool automatically migrates the referenced modules, and their dependent modules as well.
The console logs a message noting the module ID for any module that is migrated, for example:
INFO Module cmtool.datasources:main migrated.
INFO Module cmtool.ee1:main migrated.
INFO Module cmtool.ee2:main migrated.
INFO Module cmtool.naming:main migrated.
Tip
|
It is possible to exclude the migration of specific modules by specifying the id(s) in the environment property named modules.excludes .
|
4.3.4. Migrate Referenced Paths
A migrated configuration may reference paths, i.e. files and directories, which may need to be migrated to the target server.
A referenced path is migrated only if it’s not an absolute path, and such migration consists in copying the resource to such path, but relative to the migrated configuration, in the target server.
The console logs a message noting the migrations of paths:
INFO Referenced paths migrated.
4.3.5. Migrate Legacy Security Realms
JBoss EAP 8.0 does not supports the legacy Security Realms framework, and the tool migrates any usage of such resources to instead use the default JBoss EAP 8.0 Elytron replacements.
Please note that further manual Elytron configuration may be needed if the legacy security realm(s) being used were not the JBoss EAP 7.4’s defaults!
The console logs all configuration resources migrated to the default JBoss EAP 8.0 Elytron replacements, for each configuration profile.
INFO Legacy security XML configuration retrieved.
WARN Migrated Remoting subsystem's http connector resource /profile/full-ha/subsystem/remoting/http-connector/http-remoting-connector using a legacy security-realm, to Elytron's default application SASL Authentication Factory migration-defaultApplicationSaslAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem https-listener resource /profile/full-ha/subsystem/undertow/server/default-server/https-listener/https using a legacy security-realm, to Elytron's default TLS ServerSSLContext migration-defaultTLSServerSSLContext. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem http-invoker resource /profile/full-ha/subsystem/undertow/server/default-server/host/default-host/setting/http-invoker using a legacy security-realm, to Elytron's default Application HTTP AuthenticationFactory migration-defaultApplicationHttpAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
INFO Legacy security realms migrated to Elytron.
WARN Migrated Remoting subsystem's http connector resource /profile/full/subsystem/remoting/http-connector/http-remoting-connector using a legacy security-realm, to Elytron's default application SASL Authentication Factory migration-defaultApplicationSaslAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem https-listener resource /profile/full/subsystem/undertow/server/default-server/https-listener/https using a legacy security-realm, to Elytron's default TLS ServerSSLContext migration-defaultTLSServerSSLContext. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem http-invoker resource /profile/full/subsystem/undertow/server/default-server/host/default-host/setting/http-invoker using a legacy security-realm, to Elytron's default Application HTTP AuthenticationFactory migration-defaultApplicationHttpAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
INFO Legacy security realms migrated to Elytron.
WARN Migrated Remoting subsystem's http connector resource /profile/ha/subsystem/remoting/http-connector/http-remoting-connector using a legacy security-realm, to Elytron's default application SASL Authentication Factory migration-defaultApplicationSaslAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem https-listener resource /profile/ha/subsystem/undertow/server/default-server/https-listener/https using a legacy security-realm, to Elytron's default TLS ServerSSLContext migration-defaultTLSServerSSLContext. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem http-invoker resource /profile/ha/subsystem/undertow/server/default-server/host/default-host/setting/http-invoker using a legacy security-realm, to Elytron's default Application HTTP AuthenticationFactory migration-defaultApplicationHttpAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
INFO Legacy security realms migrated to Elytron.
WARN Migrated Remoting subsystem's http connector resource /profile/default/subsystem/remoting/http-connector/http-remoting-connector using a legacy security-realm, to Elytron's default application SASL Authentication Factory migration-defaultApplicationSaslAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem https-listener resource /profile/default/subsystem/undertow/server/default-server/https-listener/https using a legacy security-realm, to Elytron's default TLS ServerSSLContext migration-defaultTLSServerSSLContext. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
WARN Migrated Undertow subsystem http-invoker resource /profile/default/subsystem/undertow/server/default-server/host/default-host/setting/http-invoker using a legacy security-realm, to Elytron's default Application HTTP AuthenticationFactory migration-defaultApplicationHttpAuthenticationFactory. Please note that further manual Elytron configuration may be needed if the legacy security realm being used was not the source server's default Application Realm configuration!
INFO Legacy security realms migrated to Elytron.
4.3.6. Migrate Legacy Security Domains
JBoss EAP 8.0 does not supports the legacy Security Domains framework, and the tool migrates any usage of such resources to instead use the default JBoss EAP 8.0 Elytron replacements.
Please note that further manual Elytron configuration may be needed if the legacy Security Domain(s) being used were not the JBoss EAP 7.4’s defaults!
The console logs all configuration resources migrated to the default JBoss EAP 8.0 Elytron replacements, for each configuration profile.
WARN Migrated ejb3 subsystem resource /profile/default/subsystem/ejb3/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated undertow subsystem resource /profile/default/subsystem/undertow/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated ejb3 subsystem resource /profile/full/subsystem/ejb3/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated undertow subsystem resource /profile/full/subsystem/undertow/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated messaging-activemq subsystem server resource /profile/full/subsystem/messaging-activemq/server/default, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated iiop-openjdk subsystem resource using legacy security domain to Elytron defaults. Please note that further manual Elytron configuration should be needed!
WARN Migrated ejb3 subsystem resource /profile/ha/subsystem/ejb3/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated undertow subsystem resource /profile/ha/subsystem/undertow/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated ejb3 subsystem resource /profile/full-ha/subsystem/ejb3/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated undertow subsystem resource /profile/full-ha/subsystem/undertow/application-security-domain/other using legacy security domain other, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated messaging-activemq subsystem server resource /profile/full-ha/subsystem/messaging-activemq/server/default, to Elytron's default application Security Domain. Please note that further manual Elytron configuration may be needed if the legacy security domain being used was not the source server's default Application Domain configuration!
WARN Migrated iiop-openjdk subsystem resource using legacy security domain to Elytron defaults. Please note that further manual Elytron configuration should be needed!
4.3.7. Migrate keycloak Subsystem
The keycloak subsystem is deprecated in JBoss EAP 8.0 and is replaced by the elytron-oidc-client subsystem.
By default, the JBoss Server Migration Tool automatically migrates any legacy subsystem configuration found.
If you prefer this migration task is not executed, you can set the subsystem.keycloak.migrate.skip
environment property value to true
.
The legacy subsystem migration is done without requiring any interaction from the user.
The outcome of the legacy keycloak subsystem migration is printed in the console, as an example:
INFO Subsystem keycloak migrated.
Any issues encountered during the migration are written to the log files and displayed in the migration console.
4.3.8. Migrate picketlink-federation Subsystem
The picketlink-federation subsystem is deprecated in JBoss EAP 8.0 and is replaced by the keycloak-saml subsystem.
By default, the JBoss Server Migration Tool automatically migrates any legacy subsystem configuration found.
If you prefer this migration task is not executed, you can set the subsystem.picketlink-federation.migrate.skip
environment property value to true
.
The legacy subsystem migration is done without requiring any interaction from the user.
The outcome of the legacy picketlink-federation subsystem migration is printed in the console, as an example:
INFO Subsystem picketlink-federation migrated.
Any issues encountered during the migration are written to the log files and displayed in the migration console.
4.3.9. Update jgroups Subsystem Configuration
The JBoss Server Migration Tool currently is not capable to automate the migration of the jgroups
subsystem configuration, and thus reverts it to the default JBoss EAP 8.0 jgroups
configuration.
Please note that further manual jgroups
subsystem configuration may be needed if the configuration being used was not the default JBoss EAP 7.4 jgroups
subsystem configuration!
The console logs a message when it updates the jgroups
subsystem configuration.
WARN Configuration of JGroups protocols has been changed to match the default protocols of the target server. Please note that further manual configuration may be needed if the legacy configuration being used was not the source server's default configuration!
4.3.10. Add Host Excludes
A JBoss EAP 8.0 domain controller may have functionality that is not supported by hosts running on older version, and it’s through its "host-excludes" configuration that such functionality is filtered.
The JBoss Migration Tool, when migrating a domain controller configuration, will add/replace the source’s "host-excludes" configuration, with the target’s one.
The configuration changes are fully automated, and upon successful completion of the configuration, you should see the following messages in the console:
INFO Host-excludes configuration added.
4.3.11. Migrate Deployments
The JBoss Server Migration Tool, when migrating a configuration, may also migrate:
-
Deployments it references, also known as persistent deployments.
-
Deployment Overlays it references.
Warning
|
The migration of a deployment or deployment overlay merely consists of installing related file resources on the target server, and possibly updating the migrated configuration. The tool will not assert if these resources are compatible with the target server, which means that a migrated deployment might not work as expected, or might not work at all. Red Hat recommends that you use Red Hat Application Migration Toolkit to analyze a deployment with respect to compatibility among different JBoss servers. |
Note
|
If you run the migration tool in non-interactive mode, by default the JBoss Server Migration Tool will not migrate any deployments and overlays. To migrate deployments the environment property deployments.migrate-deployments.skip should be set as false .
|
Migrate Persistent Deployments
When migrating a configuration, the tool searches for references to deployments persisted in the source server, and prints the names of the deployments found in the console, e.g.:
INFO Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
If you run the migration tool in interactive
mode, you then see the following prompt:
This tool is not able to assert if persistent deployments found are compatible with the target server, skip persistent deployments migration?
yes/no?
-
If you reply yes, or y, the all deployment references are removed from the migrated configuration, i.e. the deployments will not be migration.
-
If you reply no, or n, you receive an additional prompt asking if all deployments should be the migrated:
Migrate all persistent deployments found? yes/no?
-
If you reply yes, or y, all deployments are migrated.
-
If you reply no, or n, you receive a prompt asking to confirm the migration for each referenced deployment:
Migrate persistent deployment 'cmtool-helloworld3.war'? yes/no?
-
If you reply yes, or y, the deployment is migrated.
-
If you reply no, or n, the deployment reference is removed from the migrated configuration, i.e. the deployment is not migrated.
INFO Persistent deployment cmtool-helloworld3.war migrated.
-
-
If you run the migration tool in non-interactive
mode, the JBoss Server Migration Tool will migrate or not migrate all
persistent deployments, depending on the environment configuration.
Persistent deployments are migrated only if none of the following environment properties is set as true
:
-
deployments.migrate-deployments.skip
-
deployments.migrate-persistent-deployments.skip
Migrate Deployment Overlays
The migration of deployment overlays is a fully automated process. The migration tool searches for deployment overlays referenced in the standalone server configuration. It then migrates those that are linked to deployments that were migrated.
The migration tool prints a message to the console for each deployment overlay that is migrated.
INFO Deployment overlay overlay1 migrated.
INFO Deployment overlay overlay2 migrated.
4.4. Host Configuration File Migration
When migrating the host configuration, the JBoss Server Migration Tool first copies the source configuration files to the target server. It then updates the configuration to not only work correctly in the target server, but also to take advantage of the target server’s new functionality.
4.4.1. Migrate JBoss Domain Properties
The words master
and slave
on Domain related property names were replaced with the words 'primary' and 'secondary', and the migrates automatically fixes any usage of the old property names.
The console logs all properties renamed by the migration.
INFO JBoss domain property jboss.domain.master.address migrated to jboss.domain.primary.address
INFO JBoss domain property jboss.domain.master.port migrated to jboss.domain.primary.port
INFO JBoss domain property jboss.domain.master.protocol migrated to jboss.domain.primary.protocol
INFO JBoss domain properties migrated.
4.4.2. Migrate Referenced Modules
A migrated configuration may reference and depend on a module that is not installed on the target server. The tool automatically migrates the referenced modules, and their dependent modules as well.
The console logs a message noting the module ID for any module that is migrated, for example:
INFO Module cmtool.datasources:main migrated.
INFO Module cmtool.ee1:main migrated.
INFO Module cmtool.ee2:main migrated.
INFO Module cmtool.naming:main migrated.
Tip
|
It is possible to exclude the migration of specific modules by specifying the id(s) in the environment property named modules.excludes .
|
4.4.3. Migrate Referenced Paths
A migrated configuration may reference paths, i.e. files and directories, which may need to be migrated to the target server.
A referenced path is migrated only if it’s not an absolute path, and such migration consists in copying the resource to such path, but relative to the migrated configuration, in the target server.
The console logs a message noting the migrations of paths:
INFO Referenced paths migrated.