È possibile aggiornare SaltStack Config alla versione stabile più recente da una versione precedente.

Procedure consigliate durante l'aggiornamento

Durante la pianificazione dell'aggiornamento, seguire queste linee guida:

  • Non eseguire l'aggiornamento tramite il programma di installazione o le istruzioni di installazione manuale.Se si sta aggiornando l'installazione di SaltStack Config, fare riferimento alle seguenti istruzioni di aggiornamento.
  • Per risultati ottimali, passare da una versione principale a un'altra. È consigliabile eseguire sempre l'aggiornamento dalla versione principale più recente di SaltStack Config alla nuova versione. Se è installata una versione precedente, eseguire l'aggiornamento in modo incrementale da una versione a quella successiva.
  • Eseguire il backup dei dati. Per evitare la perdita dei dati, eseguirne il backup.
  • Eseguire gli aggiornamenti durante le ore in cui l'attività di rete è minore. Gli aggiornamenti del database richiedono la reindicizzazione dei dati. A seconda della complessità dei dati, un aggiornamento del database potrebbe richiedere diverse ore. Per evitare interruzioni del servizio, è consigliabile aggiornare il database durante le ore lavorative meno intense o eseguire il trimming del database prima di un aggiornamento.
  • Verificare se nel database sono presenti comandi esistenti da archiviare. In alcuni casi, il database PostgreSQL archivia i vecchi comandi che non sono stati eseguiti. Questi comandi potrebbero essere eseguiti durante il processo di aggiornamento, quando si riavvia il plug-in Master. Per evitare che ciò accada, controllare se nel database sono memorizzati vecchi comandi ed escludere i processi precedenti a una data definita.
  • Verificare l'aggiornamento prima della distribuzione. Se possibile, provare a eseguire una prova generale in un ambiente di test per avere un'idea del tempo necessario per l'aggiornamento.
  • Leggere innanzitutto tutta la guida. È inoltre consigliabile leggere una volta l'intera guida prima di implementare un aggiornamento in modo da avere un'idea delle attività necessarie e se richiedono una pianificazione da parte del team o se le parti interessate devono essere informate delle modifiche in sospeso.

Aggiornamento dalle versioni precedenti

È consigliabile eseguire sempre l'aggiornamento dalla versione principale più recente di SaltStack Config alla nuova versione. Se si esegue l'aggiornamento da una versione precedente alla versione più recente, è possibile ottenere risultati migliori eseguendo l'aggiornamento in modo incrementale da una versione principale a quella successiva.

Per istruzioni sull'aggiornamento dalle versioni precedenti di SaltStack Config, consultare le istruzioni di aggiornamento specifiche della versione da cui si esegue l'aggiornamento. Le istruzioni di aggiornamento per le versioni precedenti sono incluse nel PDF della guida all'installazione per la versione successiva. Ad esempio, se è necessario eseguire l'aggiornamento dalla versione 5.5 alla versione 6.0, consultare le istruzioni di aggiornamento nel PDF dell'installazione della versione 6.0.

Per SaltStack Config versione 8.4 e successive, utilizzare il selettore di versione nella parte superiore di questa pagina per selezionare la guida all'aggiornamento corretta per la versione del prodotto in uso. Per le versioni 8.3 e precedenti, utilizzare le guide PDF indicate nella tabella seguente:

Versione Guida all'installazione e all'aggiornamento (PDF)
8.3 Guida all'installazione e all'aggiornamento della versione 8.3
6.4 Guida all'installazione e all'aggiornamento della versione 6.4
6.3 Guida all'installazione e all'aggiornamento della versione 6.3
6.2 Guida all'installazione e all'aggiornamento della versione 6.2
6.1 Guida all'installazione e all'aggiornamento della versione 6.1
6.0.1 Guida all'installazione e all'aggiornamento della versione 6.0.1
6.0 Guida all'installazione e all'aggiornamento della versione 6.0

Come aggiornare SaltStack Config

Per aggiornare SaltStack Config, completare le seguenti attività in questo ordine:
  • Eseguire il backup dei dati, inclusi alcuni file e directory cruciali per l'installazione specifica di SaltStack Config
  • Aggiornare PostgreSQL (facoltativo, ma consigliato)
  • Aggiornare l'infrastruttura Salt (facoltativo, ma consigliato)
  • Scaricare i file dell'aggiornamento
  • Aggiornamento del nodo RaaS
  • Aggiornare tutti i Salt Master utilizzando il plug-in Master

Per ulteriori informazioni sull'aggiornamento di SSC tramite Lifecyle Manager, vedere Aggiornamento di vRealize Automation SaltStack Config nella documentazione di LCM.

Backup dei file e delle directory di SaltStack Config

I file e le directory seguenti contengono le configurazioni di SaltStack Config personalizzate e devono essere sottoposti a backup prima dell'aggiornamento:

  1. Nel nodo RaaS, eseguire il backup di queste directory complete:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /var/log/raas
    • /etc/raas/pki/
    Nota:

    Poiché la directory pki contiene file nascosti, assicurarsi di eseguire il backup dell'intera directory. Il backup dei file di registro nella directory /var/log/raas è facoltativo. Durante il processo di aggiornamento, è possibile cancellare i file di registro per poter fornire un file di registro pulito se dovesse essere necessario risolvere problemi.

  2. In ogni Salt Master, eseguire il backup dei file /etc/salt/master.d/raas.conf e /etc/salt/master.d/eAPIMasterPaths.conf.
    Nota:

    In base alla modalità di installazione iniziale di SaltStack Config, i percorsi del Salt Master eAPI potrebbero invece trovarsi nel file /etc/salt/master.d/raas.conf.

Backup dello schema del database

Quando si aggiorna il nodo RaaS, lo schema del database viene aggiornato. Per tale motivo, assicurarsi di creare un backup del database prima dell'aggiornamento.

Per eseguire il backup del database, è innanzitutto necessario cercare il nome del database PostgreSQL e quindi copiare i contenuti:

  1. Nel server PostgreSQL, eseguire il backup di questi file:
    • postgres.conf
    • pg_hba.conf
  2. Accedere come utente postgres utilizzando il comando seguente:
    sudo su - postgres
  3. Recuperare il nome del database utilizzando i comandi seguenti per accedere a PostgreSQL e quindi elencare i database:
    psql
    \l
  4. Per uscire da PostgreSQL ed effettuare la disconnessione come utente postgres, premere Ctrl+D ed eseguire il comando seguente:
    exit
  5. Copiare i contenuti del database in un file. Il comando seguente fornisce un esempio:
    pg_dump -U salt_eapi raas_db_name > postgres_raas_backup_$(date +%Y-%m-%d).sql

Aggiornamento del database PostgreSQL

SaltStack Config richiede un database PostgreSQL 9.6, ma è consigliabile utilizzare PostgreSQL 12.4. La versione di PostgreSQL consigliata è inclusa nel programma di installazione di SaltStack Config.

Non è necessario eseguire l'aggiornamento alla versione più recente di PostgreSQL. Tuttavia, l'aggiornamento di PostgreSQL può migliorare le prestazioni. Per istruzioni sull'aggiornamento alla versione più recente di PostgreSQL, vedere Aggiornamento di PostgreSQL.

Aggiornamento del database Redis

SaltStack Config richiede un database Redis 5.x, ma è consigliabile utilizzare Redis 5.0.4. La versione di Redis consigliata è inclusa nel programma di installazione di SaltStack Config.

Non è necessario eseguire l'aggiornamento alla versione più recente di Redis 5.x. Tuttavia, l'aggiornamento di Redis può migliorare le prestazioni. Per istruzioni sull'aggiornamento di Redis, vedere Amministrazione di Redis.

Aggiornamento di Salt

Per ottenere prestazioni ottimali, assicurarsi che i componenti di Salt nell'infrastruttura siano in esecuzione nella versione principale più recente di Salt. Ad esempio, verificare che i minion vengano eseguiti nella versione più recente di Salt.

Per istruzioni sull'aggiornamento dei Salt Master e degli altri componenti di Salt, vedere Aggiornamento dell'infrastruttura di Salt.

Per istruzioni sull'aggiornamento del pacchetto Salt Crystal, vedere Come aggiornare Salt Crystal.

Aggiornamento del nodo RaaS

Dopo aver effettuato l'aggiornamento alla versione più recente di PostgreSQL, Redis e Salt, è possibile aggiornare il nodo RaaS dalla versione precedente alla versione più recente.

Nota: Gli aggiornamenti del database richiedono la reindicizzazione dei dati. Se i dati sono complessi, l'aggiornamento del database potrebbe richiedere diverse ore.
Importante:

Prima di aggiornare il nodo RaaS, è necessario eseguire il backup dei dati di sistema per evitare la perdita dei dati.

Per aggiornare il nodo RaaS:

  1. Scaricare i file dell'aggiornamento da Customer Connect.
  2. Salvare le eventuali modifiche apportate al file system, ai dati del pillar e ai processi predefiniti come nuovi file o processi.
  3. Prendere nota di tutte le assegnazioni del pillar che vengono effettuate alle destinazioni predefinite. È necessario eseguire di nuovo l'assegnazione dopo l'aggiornamento.
  4. Arrestare il servizio RaaS con il comando seguente:
    sudo systemctl stop raas
  5. Rimuovere i file di registro nella directory /var/log/raas. Se si cancellano i dati dei file di registro, è possibile ottenere un file di registro pulito da utilizzare nel caso sia necessario risolvere problemi.
  6. Rimuovere la versione attualmente installata dell'API (RaaS) con il comando seguente:
    sudo yum remove raas
  7. Aggiornare il nodo RaaS installando l'RPM più recente. Utilizzare il seguente comando di esempio, specificando il nome di file esatto dell'RPM:
    sudo yum install raas-rpm-file-name.rpm
  8. IMPORTANTE: ripristinare il backup dei seguenti file:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /etc/raas/pki/
  9. Aggiornare le autorizzazioni per l'utente raas con il comando seguente:
    sudo chown -R raas:raas /etc/pki/raas/certs
  10. FACOLTATIVO: se si dispone di una licenza SaltStack SecOps e si desidera aggiungere la libreria di conformità, aggiungere la nuova sezione seguente al file /etc/raas/raas:
    sec:
      ingest_override: true
      locke_dir: locke
      post_ingest_cleanup: true
      username: 'secops'
      content_url: 'https://enterprise.saltstack.com/secops_downloads'
      download_enabled: true
      download_frequency: 86400
      stats_snapshot_interval: 3600
      compile_stats_interval: 10
      ingest_on_boot: True
      content_lock_timeout: 60
      content_lock_block_timeout: 120
    Nota:

    Questo passaggio è facoltativo e si applica solo alle organizzazioni che dispongono di una licenza di SaltStack SecOps valida. Questo modulo del componente aggiuntivo è disponibile per SaltStack Config versione 6.0 e successive. Le opzioni di configurazione precedenti nel file di configurazione /etc/raas/raas sono specifiche di questi moduli del componente aggiuntivo.

  11. FACOLTATIVO: se si dispone di una licenza di SaltStack SecOps e si desidera aggiungere la libreria di vulnerabilità, aggiungere una nuova sezione al file /etc/raas/raas:
    vman:
      vman_dir: vman
      download_enabled: true
      download_frequency: 86400
      username: vman
      content_url: 'https://enterprise.saltstack.com/vman_downloads'
      ingest_on_boot: true
      compile_stats_interval: 60
      stats_snapshot_interval: 3600
      old_policy_file_lifespan: 2
      delete_old_policy_files_interval: 86400
      tenable_asset_import_enabled: True
      tenable_asset_import_grains: ['fqdn', 'ipv4', 'ipv6', 'hostname', 'mac_address', 'netbios_name',
                                    'bios_uuid', 'manufacturer_tpm_id', 'ssh_fingerprint',
                                    'mcafee_epo_guid', 'mcafee_epo_agent_guid', 'symantec_ep_hardware_key',
                                    'qualys_asset_id', 'qualys_host_id', 'servicenow_sys_id', 'gcp_project_id',
                                    'gcp_zone', 'gcp_instance_id', 'azure_vm_id', 'azure_resource_id',
                                    'aws_availability_zone', 'aws_ec2_instance_ami_id',
                                    'aws_ec2_instance_group_name', 'aws_ec2_instance_state_name',
                                    'aws_ec2_instance_type', 'aws_ec2_name', 'aws_ec2_product_code',
                                    'aws_owner_id', 'aws_region', 'aws_subnet_id', 'aws_vpc_id',
                                    'installed_software', 'bigfix_asset_id'
                                    ]
    Nota:

    Questo passaggio è facoltativo e si applica solo alle organizzazioni che dispongono di una licenza di SaltStack SecOps valida. Questo modulo del componente aggiuntivo è disponibile per SaltStack Config versione 6.0 e successive. Le opzioni di configurazione precedenti nel file di configurazione /etc/raas/raas sono specifiche di questi moduli del componente aggiuntivo.

  12. Al momento, RaaS include un problema noto relativo ai processi obsoleti. Quando eseguono l'aggiornamento, alcuni utenti potrebbero notare una coda di processi obsoleti bloccati nello stato In sospeso. L'aggiornamento del nodo RaaS può causare l'esecuzione di questi processi a meno che non vengano cancellati prima.

    Per evitare che ciò si verifichi, verificare innanzitutto se nel database sono archiviati comandi precedenti. Nel nodo PostgreSQL, verificare la presenza di eventuali processi in sospeso utilizzando il comando seguente:

    select count(1) from commands where state='new';

    Il risultato è il numero di processi in sospeso. Se il numero di processi è 0, continuare il processo di aggiornamento.

  13. Aggiornare il database del servizio RaaS utilizzando il comando seguente:
    sudo su - raas
    raas upgrade
    Nota:

    A seconda delle dimensioni del database, l'aggiornamento può richiedere da alcuni minuti a più di un'ora. Se si verificano errori, controllare il file di registro /var/log/raas/raas per maggiori informazioni.

  14. Dopo l'aggiornamento, uscire dalla sessione per l'utente raas con il comando seguente:
    exit
  15. Avviare il servizio RaaS con il comando seguente:
    sudo systemctl enable raas
    sudo systemctl start raas

Aggiornamento del plug-in Master

Dopo aver completato l'aggiornamento del nodo RaaS, è possibile aggiornare tutti i Salt Master che utilizzano il plug-in Master per connettersi a SaltStack Config.

Nota:

Prima di aggiornare i Salt Master, assicurarsi che l'applicazione pip3 sia installata nei Salt Master. Se si esegue l'aggiornamento dalla versione più recente del plug-in Master, questa applicazione è già installata.

Per aggiornare il plug-in Master in un Salt Master:

  1. Arrestare il servizio salt-master con il comando seguente:
    sudo systemctl stop salt-master
  2. Controllare quale versione di Python è in esecuzione nel Salt Master. Se è Python 3.6 o versione successiva, non è necessaria alcuna modifica. In caso contrario, eliminare la versione precedente del modulo SSEAPE. (SSEAPE è il plug-in di SaltStack Config per il Salt Master). Ad esempio:

    RHEL/CentOS

    sudo rm -rf /usr/lib/python3.6/site-packages/SSEAPE*

    Ubuntu

    sudo rm /usr/lib/python3.6/dist-packages/SSEAPE*
  3. Aggiornare il plug-in Master installando manualmente il file wheel di Python aggiornato. Utilizzare i seguenti comandi di esempio, specificando il nome esatto del file wheel:

    RHEL/CentOS

    sudo pip3 install SSEAPE-file-name.whl --prefix /usr

    Ubuntu

    sudo pip3 install SSEAPE-file-name.whl
    Nota:

    È possibile che alcuni utenti debbano utilizzare la sintassi pip3.6 o pip36 per i loro sistemi operativi.

  4. Aggiornare i percorsi del modulo API (RaaS) modificando il file /etc/salt/master.d/eAPIMasterPaths.conf per fare riferimento ai percorsi dei vari moduli. Ad esempio, potrebbe essere necessario sostituire tutti i riferimenti python2.7 in questo file con python3.6.
    Nota:

    In base alla modalità di installazione iniziale di SaltStack Config, i percorsi del Salt Master eAPI potrebbero invece trovarsi nel file /etc/salt/master.d/raas.conf.

  5. Controllare la sezione engines in /etc/salt/master.d/raas.conf per verificare che corrisponda a quanto segue:
    engines:
      - sseapi: {}
      - eventqueue: {}
      - rpcqueue: {}
      - jobcompletion: {}
      - keyauth: {}
    Nota:

    Se si verifica un problema, è possibile che sia necessario ripristinare i backup dei file /etc/salt/master.d/raas.conf e /etc/salt/master.d/eAPIMasterPaths.conf.

  6. Se si utilizza l'autenticazione con chiave salt-master (scelta consigliata), assicurarsi che sseapi_pubkey_path sia configurato e che sseapi_username e sseapi_password siano commentati in /etc/salt/master.d/raas.conf.
    sseapi_pubkey_path: /etc/salt/pki/master/sseapi_key.pub
    
    #sseapi_username:
    #sseapi_password:
  7. Verificare che le voci master_job_cache e event_return selezionate siano impostate su sseapi. il returner pgjsonb non è più disponibile.
  8. Avviare il servizio salt-master con il comando seguente:
    sudo systemctl start salt-master

A questo punto, il processo di aggiornamento è stato completato. Se si verificano altri errori, fare riferimento alla sezione Risoluzione dei problemi.