Release Notes

This page documents production updates to Migrate for Anthos. You can periodically check this page for announcements about new or updated features, bug fixes, known issues, and deprecated functionality.

You can see the latest product updates for all of Google Cloud on the Google Cloud release notes page.

To get the latest product updates delivered to you, add the URL of this page to your feed reader, or add the feed URL directly: https://cloud.google.com/feeds/migrateanthos-release-notes.xml

March 30, 2020

v1.3.0

New migctl CLI for deploying Migrate for Anthos, creating and operating migrations using a structured workflow and a migration processing cluster.

Introducing a unified migration workflow across all supported VM sources -- VMware, AWS EC2, Azure VMs and Compute Engine VMs.

Migrations are defined and operated using a Kubernetes CRD.

Automated generation of a suggested migration plan (specified in a CRD), CI/CD artifacts and deployment specs. The migration process now results in extracting and generating container and deployment artifacts, including a container image and a Dockerfile, extracted data in a persistent volume, deployment/statefulSet, PVC and PV specs in an auto-generated YAML file for easy workload deployment.

The Migrate for Anthos software runtime layer now offers a compatibility feature for older Java versions that are not container aware by reflecting the correct resource allocations in the container's /proc file system.

Migrate for Anthos v1.0 Marketplace deployment is now removed. Migrate for Anthos v1.3 allows installation in v1.0 compatibility mode where needed.

Preview features -- contact your Google Sales representative to enroll.

  • Migrating Windows VMs with IIS ASP.NET web applications to Windows 2019 containers on GKE.
  • Processing migrations in Anthos on-prem.

151505531, 150052607: In some cases, migration can be stuck with no progress. When running migctl migration status migration-name --verbose, you might see an event such as this:

could not find attached GC⁣E PD

Workaround: Delete the migration using migctl migration delete and re-create it.

147211918: In some cases, migration from AWS or Azure as a source can be stuck with no progress. If this happens, run kubectl describe storageclass to view related events. You can also check the status of the matching Cloud Details in Migrate for Compute Engine.

146699220: When the source VM has a systemd service with a NICE config property, the service might not start when running in a container.

Workaround: Remove the NICE property in the source VM before the migration.

144896313: Migration of Security-Enhanced Linux (SELinux) is not supported.

149900626: Some file systems not listed in Compatible VM operating systems may fail to migrate. When running migctl migration logs migration-name, the logs in Cloud Logging may show a message such as:

failed to mount - exit status 32 - mount: /tmp/bootdir: unknown filesystem type 'LVM2\_member'.

152194161: Your migrated workload container fails when running a cluster with GKE nodes of type "COS". When you run the command kubectl logs [podname], you might see the following:

apparmor.go:385] Couldn't set label to lxc-container-default - write /proc/1/attr/current: no such file or directory

This is an indication that the required AppArmor profiles are not installed on the GKE nodes. To solve this, run migctl setup install --cos-runtime.

148334068: When Migrating a physical VM from on-premises connected via Migrate for Compute Engine, Migrate for Anthos attempts to optimize network utilization and discards (rather than stream) blocks that are not in use on the source VM file system. In some cases, this might cause VMware storage sessions to time out. For assistance, please contact support.

GKE on-prem preview: If a source was created with migctl source create using the wrong credentials, migrations will fail. Attempts to delete the migration with migctl migration delete may hang in a "Terminating" state, as in the following example:

$ migctl migration list
NAME       PROCESS              STATE                   STATUS        PROGRESS   AGE
my-vm-01   generate-artifacts   createSourceSnapshots   TERMINATING   [2/13]

December 19, 2019

v1.0.1

When specifying a mixed-case value for the clone_vm_disks script's -A <var>app-name</var> argument, the YAML file generated by the script would include a workload name that could not be deployed.

The command now checks for a valid input value.

The Migrate for Compute Engine password could be inadvertently logged in Stackdriver Logging.

Migrate for Anthos failed to recognize a reference to a disk specified as a PARTUUID in the fstab file. PARTUUID is now supported.

Deleting a StatefulSet attached to a persistent volume would leave the volume in an attached state./p>

Using configuration YAML from a version prior to 1.0 caused the pod to enter a crashloop stage.

An error message now is now displayed to request that you update to the latest definition.

When resolving block devices in a multipath device, the operation appeared to succeed even if there was an error with one of the block devices.

Resolving source storage devices would sometimes fail without error if one of the devices has no partitions.

Using kubectl exec on a migration pod would sometimes display superfluous bash warnings about LC_ALL.

Attempting to switch to a non-root user with the su command after connecting to the machine with ssh would fail when you had previously used su to switch to another user.

Migrate for Anthos CSI drive would sometimes fail connecting to the migrated VM.

The kubectl cp command would fail when copying files to the migrated pod.

November 13, 2019

v1.0.0

Migrate for Anthos supports migrating existing VMware, Amazon EC2, Azure, and Compute Engine VMs to containers on Google Kubernetes Engine. For more information, see Benefits of Migrate for Anthos.

You can monitor export of short-term storage to a persistent volume using kubectl. For more information, see Exporting streaming PVs to permanent storage.

Using a ConfigMap, you can have content from application log files you specify written to Stackdriver Logging (a default list is included). For more, see Configuring logging to Stackdriver Logging.

For information on operating systems supported by Migrate for Anthos, see Compatible VM operating systems.

On the Migrate for Compute Engine portlet in VMWare vCenter, VMs will be shown as Managed by Migrate for Compute Engine during migration process. Only the cache and storage migration status are updated in this view. Other functionality, such as Migrate for Compute Engine actions, may not be functional.

For known issues and workarounds, see Troubleshooting Migrate for Anthos.

VMs using EFI configurations are not compatible for migration with this release.

Operating systems running systemd versions lower than 234 are limited to 65536 open files.

When using a private GKE cluster, the GKE master might be unable to reach Migrate for Anthos infrastructure (specifically, the admission-controller) by default. This is because the admission-controller pod listens on port 7000.

To work around this issue, add port 7000 to the firewall rules of the master node. For more, see Creating a private cluster.

When specifying a mixed-case value for the clone_vm_disks script's -A <var>app-name</var> argument, the YAML file generated by the script includes a workload name that can not be deployed.

To work around this issue, specify the argument's value in lowercase only.

The Migrate for Compute Engine password can be inadvertently logged in Stackdriver Logging.

Migrate for Anthos fails to recognize a reference to a disk specified as a PARTUUID in the fstab file.

Deleting a StatefulSet attached to a persistent volume will leave the volume in an attached state.

Using configuration YAML from a version prior to 1.0 causes the pod to enter a crashloop stage.

To work around this, update your YAML file to conform to the latest definition.

When resolving block devices in a multipath device, the operation appears to succeed even if there was an error with one of the block devices.

Resolving source storage devices would sometimes fail without error if one of the devices has no partitions.

Using kubectl exec on a migration pod sometimes displays superfluous bash warnings about LC_ALL. These are only cosmetic.

Attempting to switch to a non-root user with the su command after connecting to the machine with ssh fails when you have previously used su to switch to another user.

To work around this issue, use kubectl exec instead of ssh to get a shell to the container.

Migrate for Anthos CSI drive may sometimes fail connecting to the migrated VM.

The kubectl cp command fails when copying files to the migrated pod.