L'obiettivo di questo caso d'uso è installare in modo programmatico il servizio dei minion Salt in un minion connettendo una macchina virtuale Linux all'ambiente di Automation Config.

Prerequisiti

Prima di poter distribuire un minion utilizzando l'API in un ambiente Linux, è necessario:
  • Disporre di un ambiente di Automation Config con RaaS distribuito.
  • Installare un Salt Master e un minion Salt.
  • Distribuire una macchina virtuale Linux.
  • Assicurarsi che la porta 22 non sia con firewall e che sia disponibile per l'utilizzo da parte dei minion.

Procedura

  1. Verificare che la cartella etc/salt/cloud.deploy.d contenga una raccolta di questi file. Tali file devono corrispondere al rilascio della distribuzione del sistema operativo e al rilascio di Salt richiesto dal sistema.
    Un elenco dei file necessari nella directory cloud.deploy.d in un Salt Master

    Se i file non sono presenti, contattare il supporto.

    Nota: Il valore xxxx nel nome del file, ad , esempio salt-xxxx-redhat-8-x86_64-amd64.tar.gz, deve corrispondere alla versione del Salt Master. Per verificare la versione del Salt Master, eseguire il comando salt-master -V nel Salt Master.
  2. Se l'ambiente è air gap, procedere come segue:
    1. Aprire il file di configurazione di RaaS in /etc/raas/raas.
    2. Aggiungere queste righe al file di configurazione:
      minion_deployment:
        airgap_install: true
    3. Riavviare il servizio RaaS con il comando service raas restart.
    Nota: Se si utilizza una macchina virtuale Linux con protezione avanzata, in alcune situazioni non è possibile eseguire script da /tmp nella macchina virtuale.
    • Se si utilizza Automation Assembler versione 8.10.2 o successiva: aggiungere la proprietà additionalAuthParams alla risorsa di Automation Config nel modello cloud. Per ulteriori informazioni, vedere Aggiunta della risorsa di Automation Config al modello cloud.
      additionalAuthParams:
        profile:
          tmp_dir: /var/cache/salt
    • Se si utilizza Automation Assembler versione 8.10.1 o precedente: modificare il file /etc/salt/cloud.providers.d/ssc_saltify_provider.conf con
      ssc_saltify_provider:
        driver: saltify
        tmp_dir: /var/cache/salt
      Se questo file di configurazione non esiste, crearlo e aggiungere l'impostazione riportata sopra.
  3. Per identificare il nome di dominio completo del Salt Master, eseguire il comando salt saltmaster grains.get fqdn nel terminale del Salt Master.
  4. Assicurarsi che il nome di dominio completo sia configurato per il Salt Master eseguendo il comando ping [FQDN].
    I risultati dell'esecuzione del comando ping FQDN su un Linux
  5. Per aprire Python, eseguire python3.
  6. Effettuare questa chiamata API utilizzando un client SSEAPI con le credenziali corrette per l'ambiente:
    from sseapiclient import APIClient
    
    client = APIClient('https://<master-ip>', '<ssc-username>', '<sscpassword>', ssl_validate_cert=False)
    
    
    client.api.minions.deploy_minion(
    
     master_id = '<master-id>',
    
     host_name_ip = '<prospective minion’s ip>',
    
     os = ‘<prospective minion’s os>’,
    
     minion_id = '<desired-minion-name-for-prospective-minion>',
    
     username = '<ssh-username-for-prospective-minion>', 
    
     password = '<ssh-password-for-prospective-minion>',
    
    )

    La funzione deploy.minion inizia a essere eseguita nell'ambiente di Automation Config. È possibile verificare che il processo sia in esecuzione nella scheda Attività dell'interfaccia utente di Automation Config.

    Nota: Se si distribuisce un minion da Automation Assembler, questa chiamata API viene eseguita da Automation Assembler.

risultati

Il minion è stato distribuito e configurato correttamente dall'ambiente Linux e dalla chiamata API.

Operazioni successive

Verificare che il minion sia stato distribuito correttamente eseguendo un comando test.ping rispetto al minion utilizzando la finestra Esegui comando o eseguendo i comandi \* test.ping e \* test.versions nella finestra di comando del Salt Master.