Manejo de errores

Migrate to Containers puede detectar dos tipos de errores durante una migración: reintentables y de terminal. Cuando Migrate to Containers detecta un error, la acción que realiza depende del tipo de error que se detectó:

  • Si el error es reintentable: Migrate to Containers vuelve a intentar la operación. Cuando se detecta, el estado de la operación se establece en Reintentando.

  • Si el error es de terminal: Migrate to Containers detiene la operación porque este tipo de error suele requerir intervención manual. Cuando se detecta, el estado de la operación se establece en Error.

Consulta el estado de una operación

Usa la herramienta de migctl o la consola de Google Cloud para ver el progreso de una migración. En la consola de Google Cloud, usa la columna Estado de la migración para verificar el estado actual de la migración.

También puedes usar el siguiente comando de migctl:

migctl migration status my-migration

El resultado tiene el siguiente formato:

NAME            CURRENT-OPERATION       PROGRESS        STEP            STATUS   AGE
my-migration    GenerateArtifacts       [1/1]           ExtractImage    Retrying 12m2s

Con migctl, también puedes obtener un resultado de estado detallado. En la parte inferior del resultado detallado, se muestra una lista de eventos e información adicional del error. Por ejemplo, el siguiente comando especifica la opción -v para obtener el estado detallado de la migración:

migctl migration status my-migration -v

El resultado contiene los eventos y un mensaje de error para ayudarte a diagnosticar el error:

Events:
  Type     Reason             Age                     From                                           Message
  ----     ------             ----                    ----                                           -------
  Warning  GetInstanceFailed  2m39s (x91 over 5h32m)  SourceSnapshot sourcesnapshot-58a2405a-603ba2  Failed quering VM my-vm, with error: googleapi: got HTTP response code 404 with body:

En este ejemplo, el mensaje indica que no se puede encontrar la VM llamada my-vm.

Errores que se pueden volver a intentar

Un error que se puede volver a intentar es un tipo de error que se puede resolver si se reintenta la operación o interviene el usuario. Si la operación se reintenta con éxito, se reanudará el procesamiento.

Por ejemplo, antes de crear una migración para una VM de Compute Engine, primero debes cerrar la VM. Si la VM no se cierra y, luego, intentas ejecutar la migración, Migrate to Containers detecta el error y vuelve a intentar la migración. Migrate to Containers continúa reintentando la operación hasta que cierres la VM o canceles la migración.

Errores de terminal

Un error de terminal es un error que no se puede resolver volviendo a intentar la operación. Por lo general, estos errores solo pueden resolverse si interviene el usuario.

La manera de manejar un error de terminal depende del error y del momento del proceso de migración en el que se presenta el error:

  • Si un error de terminal se presenta mientras creas una migración, debes borrar la migración, solucionar el error y, luego, volver a crear la migración.

  • Si se presenta un error de terminal mientras se generan artefactos de migración en la operación de ejecución de una migración, puedes resolver el error de forma manual y volver a intentar la operación.

Por ejemplo, si intentas migrar una aplicación de Windows IIS sin que se instale IIS en la VM. Esto provoca un error de terminal porque Migrate to Containers requiere que las aplicaciones Windows IIS tengan instalado Microsoft IIS 7 o versiones posteriores. Debes resolver este problema en la VM antes de continuar con la migración.

Además de mostrar un estado de Error, los errores de terminal pueden mostrar información adicional específica del error que puedes usar a fin de diagnosticar el error.