Chapter 7. Migrating JBoss EAP 7.3 Configurations to JBoss EAP 7.4
7.1. Migrating a JBoss EAP 7.3 Standalone Server to JBoss EAP 7.4
By default, the JBoss Server Migration Tool performs the following tasks when migrating a standalone server configuration from JBoss EAP 7.3 to JBoss EAP 7.4.
7.1.1. Remove Unsupported Subsystems
The JBoss Server Migration Tool removes all unsupported subsystem configurations and extensions from migrated server configurations. The tool logs each subsystem and extension to its log file and to the console as it is removed.
- NOTE
- Any subsystem that was not supported in JBoss EAP 7.3, but was added by an administrator to that server, is also not supported in JBoss EAP 7.4 and will be removed.
To skip removal of the unsupported subsystems, set the subsystems.remove-unsupported-subsystems.skip
environment property to true
.
You can override the default behavior of the JBoss Server Migration Tool and specify which subsystems and extensions should be included or excluded during the migration using the following environment properties.
Property Name | Property Description |
---|---|
|
A list of module names of extensions that should never be migrated, for example, |
|
A list of module names of extensions that should always be migrated, for example, |
|
A list of subsystem namespaces, stripped of the version, that should never be migrated, for example, |
|
A list of subsystem namespaces, stripped of the version, that should always be migrated, for example, |
7.1.2. Migrate Referenced Modules
A configuration that is migrated from a source server to a target server might reference or depend on a module that is not installed on the target server. The JBoss Server Migration Tool detects this and automatically migrates the referenced modules, plus their dependent modules, from the source server to the target server.
A module referenced by a standalone server configuration is migrated using the following process.
- A module referenced by a security realm configuration is migrated as a plug-in module.
-
A module referenced by the
datasource
subsystem configuration is migrated as a datasource driver module. -
A module referenced by the
ee
subsystem configuration is migrated as a global module. -
A module referenced by the
naming
subsystem configuration is migrated as an object factory module. -
A module referenced by the
messaging
subsystem configuration is migrated as a Jakarta Messaging bridge module. - A module referenced by a vault configuration is migrated to the new configuration.
- Any extension that is not installed on the target configuration is migrated to the target server configuration.
The console logs a message noting the module ID for any module that is migrated. It is possible to exclude the migration of specific modules by specifying the module ID in the modules.excludes
environment property. See Configuring the Migration of Modules for more information.
7.1.3. Migrate Referenced Paths
A configuration that is migrated from a source server to a target server might reference or depend on file paths and directories that must also be migrated to the target server. The JBoss Server Migration Tool does not migrate absolute path references. It only migrates files or directories that are configured as relative to the source configuration. The console logs a message noting each path that is migrated.
The JBoss Server Migration Tool automatically migrates the following path references:
- Vault keystore and encrypted file’s directory.
To skip the migration of referenced paths, set the paths.migrate-paths-requested-by-configuration.vault.skip
environment property to true
.
7.1.4. Add the health
subsystem
The JBoss EAP 7.4 health
subsystem provides support for a server’s health functionality. The JBoss Server Migration Tool automatically adds the default health
subsystem configuration to the migrated configuration file.
To skip the addition of the health
subsystem configuration, set the subsystem.health.add.skip
environment property to true
.
After you add the health
subsystem to JBoss EAP 7.4, you’ll see the following message in your web console:
INFO Subsystem health added.
7.1.5. Add the metrics
subsystem
The JBoss EAP 7.4 metrics
subsystem provides support for a server’s metric functionality. The JBoss Server Migration Tool automatically adds the default metrics
subsystem configuration to the migrated configuration file.
To skip the addition of the metrics
subsystem configuration, set the subsystem.metrics.add.skip
environment property to true
.
After you add the metrics
subsystem to JBoss EAP 7.4, you’ll see the following message in your web console:
INFO Subsystem metrics added.
7.1.6. Migrate Compatible Security Realms
Because the JBoss EAP 7.4 security realm configurations are fully compatible with the JBoss EAP 7.3 security realm configurations, they require no update by the JBoss Server Migration Tool. However, if the application-users.properties
, application-roles.properties
, mgmt-users.properties
, and mgmt-groups.properties
files are not referenced using an absolute path, the tool copies them to the path expected by the migrated configuration file.
To skip the security realms migration, set the security-realms.migrate-properties.skip environment
property to true
.
7.1.7. Migrate Deployments
The JBoss Server Migration Tool can migrate the following types of standalone server deployment configurations.
- Deployments it references, also known as persistent deployments.
- Deployments found in directories monitored by its deployment scanners.
- Deployment overlays it references.
The migration of a deployment consists of installing related file resources on the target server, and possibly updating the migrated configuration.
The JBoss Server Migration Tool is preconfigured to skip deployments by default when running in non-interactive mode. To enable migration of deployments, set the deployments.migrate-deployments.skip
environment property to false
.
Be aware that when you run the JBoss Server Migration Tool in interactive mode and enter invalid input, the resulting behavior depends on the value of the deployments.migrate-deployments
environment property.
-
If
deployments.migrate-deployments.skip
is set tofalse
and you enter invalid input, the tool will try to migrate the deployments. -
If
deployments.migrate-deployments.skip
is set totrue
and you enter invalid input, the tool will skip the deployments migration.
To enable the migration of specific types of deployments, see the following sections.
The JBoss Server Migration Tool does not determine whether deployed resources are compatible with the target server. This means that applications or resources might not deploy, might not work as expected, or might not work at all. Also be aware that artifacts such as JBoss EAP 7.3 *-jms.xml
configuration files are copied without modification and can cause the JBoss EAP server to boot with errors.
Red Hat recommends that you use the Migration Toolkit for Applications (MTA) to analyze deployments to determine compatibility among different JBoss EAP servers. For more information, see Product Documentation for Migration Toolkit for Applications.
7.1.7.1. Migrate Persistent Deployments
To enable migration of persistent deployments when running in non-interactive mode, set the deployments.migrate-persistent-deployments.skip
environment property to false
.
The JBoss Server Migration Tool searches for any persistent deployment references and lists them to the console.
INFO [ServerMigrationTask#67] Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
The processing workflow then depends on whether you are running the tool in interactive mode or in non-interactive mode, as described below.
Migrating Persistent Deployments in Non-interactive Mode
If you run the tool in non-interactive mode, the tool uses the preconfigured properties to determine whether to migrate the persistent deployments. Persistent deployments are migrated only if both the deployments.migrate-deployments.skip
and deployments.migrate-persistent-deployments.skip
properties are set to false
.
Migrating Persistent Deployments in Interactive Mode
If you run the tool in interactive mode, the JBoss Server Migration Tool prompts you for each deployment using the following workflow.
After printing the persistent deployments it finds to the console, you 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?
-
Respond with
yes
to skip migration of persistent deployments. All deployment references are removed from the migrated configuration and you end this part of the migration process. -
Respond with
no
to continue with the migration.
-
Respond with
If you choose to continue, you see the following prompt.
Migrate all persistent deployments found? yes/no?
-
Respond with
yes
to automatically migrate all deployments and end this part of the migration process. -
Respond with
no
to continue with the migration.
-
Respond with
If you choose to continue, you receive a prompt asking to confirm the migration for each referenced deployment.
Migrate persistent deployment 'helloworld01.war'? yes/no?
-
Respond with
yes
to migrate the deployment. Respond with
no
to remove the deployment from the migrated configuration.INFO [ServerMigrationTask#68] Removed persistent deployment from configuration /deployment=helloworld01.war
-
Respond with
7.1.7.2. Migrate Deployment Scanner Deployments
Deployment scanners, which are only used in standalone server configurations, monitor a directory for new files and manage their deployment automatically or through special deployment marker files.
To enable migration of deployments that are located in directories watched by a deployment scanner when running in non-interactive mode, set the deployments.migrate-deployment-scanner-deployments.skip
environment property to false
.
When migrating a standalone server configuration, the JBoss Server Migration Tool first searches for any configured deployment scanners. For each scanner found, it searches its monitored directories for deployments marked as deployed and prints the results to the console.
The processing workflow then depends on whether you are running the tool in interactive mode or in non-interactive mode, as described below.
Migrating Deployment Scanner Deployments in Non-interactive Mode
If you run the tool in non-interactive mode, the tool uses the preconfigured properties to determine whether to migrate the deployment scanner deployments. Deployment scanner deployments are migrated only if both the deployments.migrate-deployments.skip
and deployments.migrate-deployment-scanner-deployments.skip
properties are set to false
.
Migrating Deployment Scanner Deployments in Interactive Mode
If you run the tool in interactive mode, the JBoss Server Migration Tool prompts you for each deployment using the following workflow.
After printing the deployment scanner deployments it finds to the console, you see the following prompt.
This tool is not able to assert if the scanner's deployments found are compatible with the target server, skip scanner's deployments migration? yes/no?
-
Respond with
yes
to skip migration of deployment scanner deployments. All deployment references are removed from the migrated configuration and you end this part of the migration process. -
Respond with
no
to continue with the migration.
-
Respond with
If you choose to continue, you see the following prompt.
Migrate all scanner's deployments found? yes/no?
-
Respond with
yes
to automatically migrate all deployments and end this part of the migration process. -
Respond with
no
to continue with the migration.
-
Respond with
If you choose to continue, you receive a prompt asking to confirm the migration for each referenced deployment.
Migrate scanner's deployment 'helloworld02.war'? yes/no?
-
Respond with
yes
to migrate the deployment. Respond with
no
to remove the deployment from the migrated configuration.INFO [ServerMigrationTask#69] Resource with path EAP_HOME/standalone/deployments/helloworld02.war migrated.
-
Respond with
7.1.7.3. Migrate Deployment Overlays
The migration of deployment overlays is a fully automated process. If you have enabled migration of deployments by setting the deployments.migrate-deployments.skip
environment property to false
, the JBoss Server Migration Tool searches for deployment overlays referenced in the standalone server configuration that are linked to migrated deployments. It automatically migrates those that are found, removes those that are not referenced, and logs the results to its log file and to the console.
7.2. Migrating a JBoss EAP 7.3 managed domain to JBoss EAP 7.4
When you use the JBoss Server Migration Tool, migrate your domain controller before you migrate your hosts to ensure your domain controller must use the later version of EAP when compared to the version used by hosts. For example, a domain controller running on EAP 7.3 cannot handle a host running on EAP 7.4.
For more information and to learn about the supported configurations, see Managing Multiple JBoss EAP Versions in the Configuration Guide for JBoss EAP.
By default, the JBoss Server Migration Tool performs the following tasks when migrating a managed domain configuration from JBoss EAP 7.3 to JBoss EAP 7.4
7.2.1. Remove Unsupported Subsystems
The JBoss Server Migration Tool removes all unsupported subsystem configurations and extensions from migrated server configurations. The tool logs each subsystem and extension to its log file and to the console as it is removed.
- NOTE
- Any subsystem that was not supported in JBoss EAP 7.3, but was added by an administrator to that server, is also not supported in JBoss EAP 7.4 and will be removed.
To skip removal of the unsupported subsystems, set the subsystems.remove-unsupported-subsystems.skip
environment property to true
.
You can override the default behavior of the JBoss Server Migration Tool and specify which subsystems and extensions should be included or excluded during the migration using the following environment properties.
Property Name | Property Description |
---|---|
|
A list of module names of extensions that should never be migrated, for example, |
|
A list of module names of extensions that should always be migrated, for example, |
|
A list of subsystem namespaces, stripped of the version, that should never be migrated, for example, |
|
A list of subsystem namespaces, stripped of the version, that should always be migrated, for example, |
7.2.2. Migrate Referenced Modules
A configuration that is migrated from a source server to a target server might reference or depend on a module that is not installed on the target server. The JBoss Server Migration Tool detects this and automatically migrates the referenced modules, plus their dependent modules, from the source server to the target server.
A module referenced by a managed domain configuration is migrated using the following process.
- A module referenced by a security realm configuration is migrated as a plug-in module.
-
A module referenced by the
datasource
subsystem configuration is migrated as a datasource driver module. -
A module referenced by the
ee
subsystem configuration is migrated as a global module. -
A module referenced by the
naming
subsystem configuration is migrated as an object factory module. -
A module referenced by the
messaging
subsystem configuration is migrated as a Jakarta Messaging bridge module. - A module referenced by a vault configuration is migrated to the new configuration.
- Any extension that is not installed on the target configuration is migrated to the target server configuration.
The console logs a message noting the module ID for any module that is migrated. It is possible to exclude the migration of specific modules by specifying the module ID in the modules.excludes
environment property. See Configuring the Migration of Modules for more information.
7.2.3. Migrate Referenced Paths
A configuration that is migrated from a source server to a target server might reference or depend on file paths and directories that must also be migrated to the target server. The JBoss Server Migration Tool does not migrate absolute path references. It only migrates files or directories that are configured as relative to the source configuration. The console logs a message noting each path that is migrated.
The JBoss Server Migration Tool automatically migrates the following path references:
- Vault keystore and encrypted file’s directory.
To skip the migration of referenced paths, set the paths.migrate-paths-requested-by-configuration.vault.skip
environment property to true
.
7.2.4. Add Host Excludes
The JBoss EAP 7.4 domain controller can potentially include functionality that is not supported by hosts running on older versions of the server. The host-exclude
configuration specifies the resources that should be hidden from those older versions.
When migrating a domain controller configuration, the JBoss Server Migration Tool adds to or replaces the source server’s host-exclude
configuration with the configuration of the target JBoss EAP 7.4 server.
The JBoss Server Migration Tool automatically updates the host-exclude
configuration and logs the results to its log file and to the console.
INFO Host-excludes configuration added.
7.2.5. Migrate Deployments
The JBoss Server Migration Tool can migrate the following types of managed domain deployment configurations.
- Deployments it references, also known as persistent deployments.
- Deployment overlays it references.
The migration of a deployment consists of installing related file resources on the target server, and possibly updating the migrated configuration.
The JBoss Server Migration Tool is preconfigured to skip deployments by default when running in non-interactive mode. To enable migration of deployments, set the deployments.migrate-deployments.skip
environment property to false
.
Be aware that when you run the JBoss Server Migration Tool in interactive mode and enter invalid input, the resulting behavior depends on the value of the deployments.migrate-deployments
environment property.
-
If
deployments.migrate-deployments.skip
is set tofalse
and you enter invalid input, the tool will try to migrate the deployments. -
If
deployments.migrate-deployments.skip
is set totrue
and you enter invalid input, the tool will skip the deployments migration.
To enable the migration of specific types of deployments, see the following sections.
The JBoss Server Migration Tool does not determine whether deployed resources are compatible with the target server. This means that applications or resources might not deploy, might not work as expected, or might not work at all. Also be aware that artifacts such as JBoss EAP 7.3 *-jms.xml
configuration files are copied without modification and can cause the JBoss EAP server to boot with errors.
Red Hat recommends that you use the Migration Toolkit for Applications (MTA) to analyze deployments to determine compatibility among different JBoss EAP servers. For more information, see Product Documentation for Migration Toolkit for Applications.
7.2.5.1. Migrate Persistent Deployments
To enable migration of persistent deployments when running in non-interactive mode, set the deployments.migrate-persistent-deployments.skip
environment property to false
.
The JBoss Server Migration Tool searches for any persistent deployment references and lists them to the console.
INFO [ServerMigrationTask#67] Persistent deployments found: [cmtool-helloworld3.war, cmtool-helloworld4.war, cmtool-helloworld2.war, cmtool-helloworld1.war]
The processing workflow then depends on whether you are running the tool in interactive mode or in non-interactive mode, as described below.
Migrating Persistent Deployments in Non-interactive Mode
If you run the tool in non-interactive mode, the tool uses the preconfigured properties to determine whether to migrate the persistent deployments. Persistent deployments are migrated only if both the deployments.migrate-deployments.skip
and deployments.migrate-persistent-deployments.skip
properties are set to false
.
Migrating Persistent Deployments in Interactive Mode
If you run the tool in interactive mode, the JBoss Server Migration Tool prompts you for each deployment using the following workflow.
After printing the persistent deployments it finds to the console, you 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?
-
Respond with
yes
to skip migration of persistent deployments. All deployment references are removed from the migrated configuration and you end this part of the migration process. -
Respond with
no
to continue with the migration.
-
Respond with
If you choose to continue, you see the following prompt.
Migrate all persistent deployments found? yes/no?
-
Respond with
yes
to automatically migrate all deployments and end this part of the migration process. -
Respond with
no
to continue with the migration.
-
Respond with
If you choose to continue, you receive a prompt asking to confirm the migration for each referenced deployment.
Migrate persistent deployment 'helloworld01.war'? yes/no?
-
Respond with
yes
to migrate the deployment. Respond with
no
to remove the deployment from the migrated configuration.INFO [ServerMigrationTask#68] Removed persistent deployment from configuration /deployment=helloworld01.war
-
Respond with
7.2.5.2. Migrate Deployment Overlays
The migration of deployment overlays is a fully automated process. If you have enabled migration of deployments by setting the deployments.migrate-deployments.skip
environment property to false
, the JBoss Server Migration Tool searches for deployment overlays referenced in the standalone server configuration that are linked to migrated deployments. It automatically migrates those that are found, removes those that are not referenced, and logs the results to its log file and to the console.
7.3. Migrating a JBoss EAP 7.3 Host Configuration to JBoss EAP 7.4
By default, the JBoss Server Migration Tool performs the following tasks when migrating a host server configuration from JBoss EAP 6.4 to JBoss EAP 7.4.
7.3.1. Migrate Referenced Modules
A configuration that is migrated from a source server to a target server might reference or depend on a module that is not installed on the target server. The JBoss Server Migration Tool detects this and automatically migrates the referenced modules, plus their dependent modules, from the source server to the target server.
A module referenced by a host server configuration is migrated using the following process.
- A module referenced by a security realm configuration is migrated as a plug-in module.
The console logs a message noting the module ID for any module that is migrated. It is possible to exclude the migration of specific modules by specifying the module ID in the modules.excludes
environment property. See Configuring the Migration of Modules for more information.
7.3.2. Migrate Referenced Paths
A configuration that is migrated from a source server to a target server might reference or depend on file paths and directories that must also be migrated to the target server. The JBoss Server Migration Tool does not migrate absolute path references. It only migrates files or directories that are configured as relative to the source configuration. The console logs a message noting each path that is migrated.
The JBoss Server Migration Tool automatically migrates the following path references:
- Vault keystore and encrypted file’s directory.
To skip the migration of referenced paths, set the paths.migrate-paths-requested-by-configuration.vault.skip
environment property to true
.
7.3.3. Migrate Compatible Security Realms
Because the JBoss EAP 7.4 security realm configurations are fully compatible with the JBoss EAP 7.3 security realm configurations, they require no update by the JBoss Server Migration Tool. However, if the application-users.properties
, application-roles.properties
, mgmt-users.properties
, and mgmt-groups.properties
files are not referenced using an absolute path, the tool copies them to the path expected by the migrated configuration file.
To skip the security realms migration, set the security-realms.migrate-properties.skip environment
property to true
.