Adaptaciones de Linux

Para los sistemas Linux, Google Cloud Migrate for Compute Engine (antes llamado Velostrata) incluye algunas secuencias de comandos de adaptación en la instalación de Migrate for Compute Engine RPM. Las reglas para las secuencias de comandos de Migrate for Compute Engine se encuentran en la siguiente ruta:

/opt/velostrata/actions/<PHASE>.rules

Los administradores del sistema Linux también pueden definir secuencias de comandos personalizadas. Las reglas para estas secuencias de comandos se encuentran en la siguiente ruta:

/etc/velostrata/actions/<PHASE>.rules

Las reglas se agrupan por <PHASE>, que refleja la fase del proyecto de la VM cuando se ejecuta la secuencia de comandos. <PHASE> puede ser uno de los siguientes valores:

  • origin: las secuencias de comandos se ejecutan cuando la VM se encuentra de manera local.
  • velos: las secuencias de comandos se ejecutan cuando la VM se ejecuta en modo “almacenamiento en caché a pedido”.
  • detach: las secuencias de comando se ejecutan después de la operación de desconexión.

El servicio velostrata.init ejecuta las secuencias de comandos personalizadas en cada inicio. Si un cambio se debe hacer una sola vez, la secuencia de comandos debe reconocer que se ejecutó con anterioridad y no volver a realizar el mismo cambio.

Definiciones de reglas

Cada fase aplica ciertas reglas. Las reglas definen las acciones que ejecuta el servicio. Migrate for Compute Engine procesa las reglas en un orden definido y ejecuta cada una según lo provisto.

Parámetros de regla

Los siguientes parámetros para las reglas se pueden definir en cada archivo <PHASE>.rules:

  • NAME: un nombre de regla único.
  • PLATFORM: nube o plataforma en la que se ejecutará la regla (any).
  • TEST: una prueba de la existencia de un archivo. Si se especifica una ruta de acceso, la regla solo se ejecuta si el archivo y la ruta del directorio existen. Este parámetro también se puede usar a fin de verificar si la secuencia de comandos ya se ejecutó (escribiendo un archivo para indicarlo).
  • ACTION: secuencia de comandos Bash para ejecutar o un comando intercalado
  • REQUIRES: campo opcional para los servicios requeridos a fin de que se ejecute la regla (por el momento, solo se admite rc.local).

Ejemplos de reglas

# adjust network settings

NAME="fix-network-config", PLATFORM="any", TEST="", ACTION="/usr/sbin/velostrata-fix-network-config"