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 NameProperty Description

extensions.excludes

A list of module names of extensions that should never be migrated, for example, com.example.extension1,com.example.extension3.

extensions.includes

A list of module names of extensions that should always be migrated, for example, com.example.extension2,com.example.extension4.

subsystems.excludes

A list of subsystem namespaces, stripped of the version, that should never be migrated, for example, urn:jboss:domain:logging, urn:jboss:domain:ejb3.

subsystems.includes

A list of subsystem namespaces, stripped of the version, that should always be migrated, for example, urn:jboss:domain:security, urn:jboss:domain:ee.

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.

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.

Important

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 to false and you enter invalid input, the tool will try to migrate the deployments.
  • If deployments.migrate-deployments.skip is set to true 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.

Warning

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.

  1. 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.
  2. 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.
  3. 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

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.

  1. 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.
  2. 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.
  3. 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.

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

Warning

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 NameProperty Description

extensions.excludes

A list of module names of extensions that should never be migrated, for example, com.example.extension1,com.example.extension3.

extensions.includes

A list of module names of extensions that should always be migrated, for example, com.example.extension2,com.example.extension4.

subsystems.excludes

A list of subsystem namespaces, stripped of the version, that should never be migrated, for example, urn:jboss:domain:logging, urn:jboss:domain:ejb3.

subsystems.includes

A list of subsystem namespaces, stripped of the version, that should always be migrated, for example, urn:jboss:domain:security, urn:jboss:domain:ee.

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.

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.

Important

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 to false and you enter invalid input, the tool will try to migrate the deployments.
  • If deployments.migrate-deployments.skip is set to true 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.

Warning

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.

  1. 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.
  2. 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.
  3. 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

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.