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"