# Migrating from WildFly 10.1 to JBoss EAP 7.1

version 1.9.0.Final, 2020-06-18T18:13:38Z

## 1. Overview

This document describes how to use the JBoss Server Migration Tool to migrate from WildFly 10.1 to JBoss EAP 7.1.

    ----------------------------------------------------------
    ----  JBoss Server Migration Tool  -----------------------
    ----------------------------------------------------------

    Retrieving servers...
    INFO SOURCE server name: WildFly, version: 10.1.0.Final.
    INFO TARGET server name: JBoss EAP, version: 7.1.0.GA.

    Server migration starting...

The server migration from WildFly 10.1 to JBoss EAP 7.1 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 the `modules.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
--- | ---
`standalone.skip` | If set to `true`, the tool skips the entire standalone server migration.
`server.source.standalone.serverDir` | 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".
`server.source.standalone.configDir` | 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".
`server.source.standalone.configFiles` | Specifies the file names of the source standalone server configurations to be migrated.
`server.target.standalone.serverDir` | 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".
`server.target.standalone.configDir` | 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"

Unresolved directive in topics/WFLY10.1toEAP7.1-ServerMigration-StandaloneServer.adoc - include::WFLY10.1toWFLY11.0-ServerMigration-StandaloneServer-StandaloneServerConfiguration.adoc[]

## 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
--- | ---
`domain.skip` | If set to `true`, the tool skips the entire domain migration.
`server.source.domain.domainDir` | 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".
`server.source.domain.configDir` | 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".
`server.source.domain.hostConfigFiles` | Specifies a comma delimited list of the file names of the source server host configurations that are to be migrated.
`server.target.domain.domainDir` | 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".
`server.target.domain.configDir` | 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.`.

Unresolved directive in topics/WFLY10.1toEAP7.1-ServerMigration-ManagedDomain.adoc - include::WFLY10.1toWFLY11.0-ServerMigration-ManagedDomain-DomainConfiguration.adoc[]

Unresolved directive in topics/WFLY10.1toEAP7.1-ServerMigration-ManagedDomain.adoc - include::WFLY10.1toWFLY11.0-ServerMigration-ManagedDomain-HostConfiguration.adoc[]