12.3.7. Depuración de un fallo de migración parcial

Puede depurar un mensaje de advertencia de fallo de migración parcial utilizando la CLI de Velero para examinar los registros del recurso personalizado (CR) Restore.

Un fallo parcial se produce cuando Velero encuentra un problema que no hace que la migración falle. Por ejemplo, si falta una definición de recurso personalizada (CRD) o si hay una discrepancia entre las versiones de CRD en los clústeres de origen y de destino, la migración se completa pero el CR no se crea en el clúster de destino.

Velero registra el problema como un fallo parcial y, luego, procesa el resto de los objetos en el CR Backup.

Procedimiento

  1. Compruebe el estado del CR MigMigration:

    $ oc get migmigration <migmigration> -o yaml

    Ejemplo de salida

    status:
      conditions:
      - category: Warn
        durable: true
        lastTransitionTime: "2021-01-26T20:48:40Z"
        message: 'Final Restore openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf: partially failed on destination cluster'
        status: "True"
        type: VeleroFinalRestorePartiallyFailed
      - category: Advisory
        durable: true
        lastTransitionTime: "2021-01-26T20:48:42Z"
        message: The migration has completed with warnings, please look at `Warn` conditions.
        reason: Completed
        status: "True"
        type: SucceededWithWarnings

  2. Compruebe el estado del CR Restore mediante el comando describe de Velero:

    $ oc exec $(oc get pods -n openshift-migration -o name | grep velero) -n openshift-migration -- ./velero restore describe <restore>

    Ejemplo de salida

    Phase:  PartiallyFailed (run 'velero restore logs ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf' for more information)
    
    Errors:
      Velero:     <none>
      Cluster:    <none>
      Namespaces:
        migration-example:  error restoring example.com/migration-example/migration-example: the server could not find the requested resource

  3. Compruebe los registros del CR Restore utilizando el comando logs Velero:

    $ oc exec $(oc get pods -n openshift-migration -o name | grep velero) -n openshift-migration -- ./velero restore logs <restore>

    Ejemplo de salida

    time="2021-01-26T20:48:37Z" level=info msg="Attempting to restore migration-example: migration-example" logSource="pkg/restore/restore.go:1107" restore=openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf
    time="2021-01-26T20:48:37Z" level=info msg="error restoring migration-example: the server could not find the requested resource" logSource="pkg/restore/restore.go:1170" restore=openshift-migration/ccc7c2d0-6017-11eb-afab-85d0007f5a19-x4lbf

    El mensaje de error de registro del CR Restore, el servidor no pudo encontrar el recurso solicitado, indica la causa de la migración parcialmente fallida.