Adattamenti Linux

Per i sistemi Linux, Google Cloud Migrate for Compute Engine (in precedenza Velostrata) include alcuni script di adattamento nell'installazione RPM di Migrate for Compute Engine. Le regole per gli script Migrate for Compute Engine sono disponibili qui:

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

Gli amministratori di sistema Linux possono anche definire script personalizzati. Le regole per questi script sono disponibili qui:

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

Le regole sono raggruppate per <PHASE>, che riflette la fase del progetto della VM durante l'esecuzione dello script. <PHASE> può essere uno dei seguenti valori:

  • origin: gli script vengono eseguiti quando la VM è on-premise.
  • velos: gli script vengono eseguiti quando la VM è in esecuzione in modalità "cache on demand".
  • detach - Gli script vengono eseguiti dopo l'operazione di scollegamento.

Gli script personalizzati vengono eseguiti dal servizio velostrata.init a ogni avvio. Se una modifica deve essere apportata solo una volta, lo script dovrebbe riconoscere che è stata eseguita in precedenza e non eseguire di nuovo la stessa modifica.

Definizioni delle regole

Ogni fase applica determinate regole. Le regole definiscono le azioni eseguite dal servizio. Migrate for Compute Engine elabora le regole in un ordine definito ed esegue ogni regola come indicato.

Parametri regola

I seguenti parametri per le regole possono essere definiti in ogni file <PHASE>.rules:

  • NAME: un nome univoco per la regola.
  • PIATTAFORMA: cloud o piattaforma su cui eseguire la regola (any).
  • TEST: un test dell'esistenza di un file. Se è specificato un percorso, la regola viene eseguita solo se esistono il percorso del file e della directory. Questo parametro può essere utilizzato anche per verificare se lo script è già stato eseguito (scrivendo un file che lo indichi).
  • AZIONE: script Bash da eseguire o un comando incorporato
  • REQUISITI: campo facoltativo per i servizi richiesti per l'esecuzione della regola (al momento è supportato solo rc.local).

Esempi di regole

# Modifica delle impostazioni di rete

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