Adaptações do Linux

Para os sistemas Linux, o Google Cloud Migrate for Compute Engine (antigo Velostrata) inclui alguns scripts de adaptação na instalação do RPM dele. As regras para os scripts do Migrate for Compute Engine encontram-se aqui:

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

Os administradores do sistema Linux também podem definir scripts personalizados. As regras para esses scripts podem ser encontradas aqui:

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

As regras são agrupadas por <PHASE>, que reflete a fase do projeto da VM quando o script é executado. <PHASE> pode ser um dos seguintes valores:

  • origin: os scripts são executados quando a VM está no local.
  • velos – os scripts são executados quando a VM está em execução no modo "cache sob demanda".
  • detach – os scripts são executados após a operação de desanexação.

Os scripts personalizados são executados pelo serviço velostrata.init a cada inicialização. Se uma alteração precisar ser feita apenas uma vez, o script deverá reconhecer que ela foi executada anteriormente e não realizará a mesma alteração novamente.

Definições de regras

Cada fase aplica certas regras. As regras definem as ações que o serviço executa. O Migrate for Compute Engine processa as regras em uma ordem definida e executa cada regra, conforme fornecido.

Parâmetros de regra

Os seguintes parâmetros para regras podem ser definidos em cada arquivo <PHASE>.rules:

  • NOME: um nome de regra exclusivo.
  • PLATAFORMA: nuvem ou plataforma para executar a regra em (any).
  • TESTE: um teste para a existência de um arquivo. Se um caminho for especificado, a regra será executada apenas se o arquivo e o caminho do diretório existirem. Esse parâmetro também pode ser usado para verificar se o script já foi executado (gravando um arquivo para indicá-lo).
  • AÇÃO: script de bash a ser executado ou um comando in-line
  • REQUER: campo opcional para que os serviços necessários para a regra sejam executados (no momento, apenas rc.local é compatível).

Exemplos de regras

#ajustar configurações de rede

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