Customize a migration plan
Review application migration reports
You can review the application migration report generated by the IBM WebSphere Application Server Migration Toolkit for Application Binaries. The toolkit generates an HTML report for each app in the source VM. View the HTML file to evaluate the app migration.
To review the application migration report:
Open the Cloud Storage browser in the Google Cloud console:
Navigate to the
/outputfolder in the migration artifacts bucket on Google Cloud Storage.
For each app discovered in the VM you will see an HTML file named:
Select the HTML file to view it, or download it locally, to evaluate the migration.
Edit the migration plan
To edit the migration plan, download the migration plan, edit it, then update it using
The migration plan is represented by the WebSphereGenerateArtifactsFlow CRD:
Download the migration plan. The migration plan is represented by a WebSphereGenerateArtifactsFlow object:
migctl migration get my-migration
Because you are going to edit this file, first make a copy so that you can recover it:
cp my-migration.yaml my-migration-original.yaml
Edit the downloaded migration plan,
my-migration.yaml, in a text editor.
Ensure that you only have one
The WebSphereGenerateArtifactsFlow object contains a
pathproperty for every app that Migrate to Containers discovered in the WAS traditional VM. Delete all but one
pathdefinition, and any
sharedLibrariesspecifications, so that only one app is specified. This edit ensures that each app has its own container image.
The WebSphereGenerateArtifactsFlow object lists all apps in the form:
spec: appBinariesMigrationToolkit: applications: - path: "PATH_TO_APP1" sharedLibraries: - sharedLibrary1 sharedLibrary2 - path: "PATH_TO_APP2" sharedLibraries: - sharedLibrary1 - path: "PATH_TO_APP3"
Ensure that the app_name is unique for each app.
deploymentfield specifies the name of the app used in the
deployment_spec.yamlfile. Set this field to a unique value for each app in the CRD. You must ensure that you deploy each app container with its own unique app name.
deployment: appName: app-name
Set the tag name of the image.
imagefield value defines the name and location of images created from a migrated VM. By default, a tag corresponding to the timestamp of the migration is automatically applied to the
"image_name"value. This tag is in the form:
You can use the timestamp to differentiate migrations. Alternatively, you can apply your own tag. For example, edit the CRD and add the
rev1tag as shown below:
Set any other properties you want to customize.
Save the file.
When your edits are complete, upload the edited migration plan:
migctl migration update my-migration --main-config my-migration.yaml
You can now migrate the app. After you complete the migration for one app, edit the WebSphereGenerateArtifactsFlow object for each additional app in the VM that you want to migrate.
On the migration plan, the application field represents the applications to migrate. If you do not want to migrate all applications, You can remove them.
applications: - appName: hello-world-servlet-ear httpEndpoints: - httpPort: 9080 httpsPort: 9443 id: defaulthttpendpoint image: name: hello-world-servlet-ear path: /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/m4a-twas-ndNode01Cell/applications/Hello-World-Servlet.ear … - appName: commons-ejb-ear-provided-ear httpEndpoints: - httpPort: 9080 httpsPort: 9443 id: defaulthttpendpoint image: name: commons-ejb-ear-provided-ear path: /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/m4a-twas-ndNode01Cell/applications/commons-ejb-ear-provided.ear sharedLibraries: - /opt/IBM/WebSphere/AppServer/sharedJars/commons-io-2.8.0.jar
Set the scanner options
On the migration plan,
the scannerOptions field represents the argument to pass
to the IBM WebSphere Application Server Migration Toolkit for Application Binaries.
You can edit the arguments.
scannerOptions: # Setting 'includeSensitiveData: true' will upload sensitive data, if exists, such as private keys, to the artifacts repository includeSensitiveData: false sourceAppServer: was90