Puede actualizar Automation Config a la versión estable más reciente desde una versión anterior.

Prácticas recomendadas al actualizar

Siga estas instrucciones mientras planifica la actualización:

  • No actualice con el instalador ni con las instrucciones de instalación manual.Si va a actualizar su instalación de Automation Config, consulte las siguientes instrucciones.
  • Para obtener mejores resultados, incremente de una versión principal a la siguiente. Como práctica recomendada, actualice siempre desde la versión principal más reciente de Automation Config a la nueva versión. Si tiene una versión anterior, actualice de forma incremental de una versión a la siguiente.
  • Haga una copia de seguridad de los datos. Para evitar la pérdida de datos, haga una copia de seguridad de los datos.
  • Realice actualizaciones durante las horas de poca actividad de la red. Las actualizaciones de la base de datos requieren volver a indizar los datos. Según la complejidad de los datos, una actualización de la base de datos podría tardar varias horas. Para evitar interrupciones en el servicio, considere actualizar la base de datos durante las horas laborables de menor actividad o reducir la base de datos antes de una actualización.
  • Compruebe si hay comandos antiguos almacenados en la base de datos. En algunos casos, la base de datos de PostgreSQL almacena comandos antiguos que no se han ejecutado. Estos comandos pueden ejecutarse durante el proceso de actualización, cuando se reinicia el complemento principal. Para evitar que esto suceda, compruebe si hay comandos antiguos almacenados en la base de datos y habilite la omisión de trabajos más antiguos que una fecha definida.
  • Pruebe la actualización antes de implementar. Si es posible, podría intentar ejecutar una práctica en un entorno de prueba para saber cuánto tiempo puede tardar la actualización.
  • Lea primero toda la guía. Considere también la posibilidad de leer toda esta guía una vez antes de implementar una actualización para poder tener una buena idea de las tareas que se requieren, y si estas necesitan planificación por parte de su equipo o si se debe notificar a las partes interesadas sobre cambios pendientes.

Actualizar desde versiones anteriores

Como práctica recomendada, actualice siempre desde la versión principal más reciente de Automation Config a la nueva versión. Si va a actualizar desde una versión anterior a la versión más reciente, es posible que obtenga mejores resultados si actualiza en incrementos de una versión principal a la siguiente.

Para obtener instrucciones sobre cómo actualizar a versiones anteriores de Automation Config, consulte las instrucciones de actualización específicas de las versiones desde las que va a actualizar. Las instrucciones de actualización de versiones anteriores se incluyen en el PDF de la guía de instalación de la versión subsiguiente. Por ejemplo, si necesita actualizar de la versión 5.5 a la 6.0, consulte las instrucciones de actualización en el PDF de instalación de la versión 6.0.

Para Automation Config 8.4 y las versiones posteriores, utilice el selector de versión situado en la parte superior de esta página para seleccionar la guía de actualización correcta para su versión de producto. Para las versiones 8.3 y anteriores, utilice las guías en PDF de la siguiente tabla:

Versión Guía de instalación y actualización (PDF)
8.3 Guía de instalación y actualización de la versión 8.3
6.4 Guía de instalación y actualización de la versión 6.4
6.3 Guía de instalación y actualización de la versión 6.3
6.2 Guía de instalación y actualización de la versión 6.2
6.1 Guía de instalación y actualización de la versión 6.1
6.0.1 Guía de instalación y actualización de la versión 6.0.1
6.0 Guía de instalación y actualización de la versión 6.0

Cómo actualizar Automation Config

Para actualizar Automation Config, complete las siguientes tareas en este orden:
  • Hacer una copia de seguridad de los datos, incluidos ciertos archivos y directorios que son cruciales para la instalación específica de Automation Config
  • Actualizar PostgreSQL (opcional, pero recomendado)
  • Actualizar la infraestructura de Salt (opcional, pero recomendado)
  • Descargar los archivos de actualización
  • Actualizar el nodo de RaaS
  • Actualizar los maestros de Salt mediante el complemento principal

Para obtener más información sobre la actualización de Config a través de Aria Suite Lifecycle, consulte Actualizar Automation Config en la documentación de LCM.

Hacer una copia de seguridad de los archivos y directorios de Automation Config

Los siguientes archivos y directorios contienen las configuraciones de Automation Config personalizadas y es necesario realizar una copia de seguridad de ellos antes de actualizar:

  1. En el nodo de RaaS, haga una copia de seguridad de estos directorios completos:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /var/log/raas
    • /etc/raas/pki/
    Nota:

    El directorio pki contiene archivos ocultos, así que asegúrese de hacer una copia de seguridad de todo el directorio. Realizar una copia de seguridad de los archivos de log del directorio /var/log/raas es opcional. Durante el proceso de actualización, borrará los archivos de log para proporcionar un archivo de log limpio si es necesario solucionar problemas.

  2. En cada maestro de Salt, haga una copia de seguridad de /etc/salt/master.d/raas.conf y /etc/salt/master.d/eAPIMasterPaths.conf.
    Nota:

    En función de cómo se haya instalado inicialmente Automation Config, las rutas de acceso al maestro de Salt de eAPI podrían encontrarse en /etc/salt/master.d/raas.conf en su lugar.

Hacer una copia de seguridad del esquema de base de datos

Al actualizar el nodo de RaaS, se actualiza el esquema de base de datos. Por este motivo, asegúrese de crear una copia de seguridad de la base de datos antes de la actualización.

Para realizar una copia de seguridad de la base de datos, primero debe buscar el nombre de la base de datos de PostgreSQL y, a continuación, copiar el contenido:

  1. En el servidor de PostgreSQL, haga una copia de seguridad de estos archivos:
    • postgresql.conf
    • pg_hba.conf
  2. Inicie sesión como el usuario postgres mediante el siguiente comando.
    sudo su - postgres
  3. Obtenga el nombre de la base de datos mediante los siguientes comandos para entrar en PostgreSQL y, a continuación, enumerar las bases de datos:
    psql
    \l
  4. Para salir de PostgreSQL y cerrar sesión como el usuario postgres, presione Ctrl+D y, a continuación, ejecute el siguiente comando:
    exit
  5. Copie el contenido de la base de datos en un archivo. El siguiente comando da un ejemplo:
    pg_dump -U salteapi raas_db_name > postgres_raas_backup_$(date +%Y-%m-%d).sql

Actualizar base de datos de PostgreSQL

Automation Config requiere una base de datos de PostgreSQL 9.6, pero se recomienda PostgreSQL 13.7. La versión recomendada de PostgreSQL se incluye con el instalador de Automation Config.

No es necesario actualizar a la versión más reciente de PostgreSQL. Sin embargo, es posible que la actualización de PostgreSQL mejore el rendimiento. Para obtener instrucciones sobre cómo actualizar a la versión más reciente de PostgreSQL, consulte Actualización de PostgreSQL.

Actualizar base de datos de Redis

Automation Config requiere una base de datos de Redis 5.x, pero se recomienda Redis 6.2.7. La versión recomendada de Redis se incluye con el instalador de Automation Config.

No es necesario actualizar a la versión más reciente de Redis 5.x. Sin embargo, la actualización de Redis puede mejorar el rendimiento. Para obtener instrucciones sobre cómo actualizar Redis, consulte Administración de Redis.

Actualizar Salt

Al actualizar Salt, primero debe actualizar los maestros. Es posible que la ejecución de minions con versiones de Salt más recientes que las de sus maestros no funcione según lo esperado, ya que el minion podría incluir cambios que aún no están disponibles en el maestro. Además, siempre que es posible, se conserva la compatibilidad con versiones anteriores entre nuevos maestros y minions antiguos. Por lo general, la única excepción a esta directiva es si se produce una vulnerabilidad de seguridad.

Para obtener el mejor rendimiento, asegúrese de que los componentes de Salt de su infraestructura se ejecuten en la versión principal de Salt más reciente.

A partir de la versión de Salt 3006, Salt Project utiliza el sistema de empaquetado onedir. Onedir significa "un directorio" (one directory) porque contiene todos los ejecutables que necesita Salt, incluido Python y otras dependencias de Salt. Onedir permite utilizar Salt de forma inmediata.
Importante: Salt Project recomienda actualizar a onedir para seguir recibiendo actualizaciones de la versión de Salt. A partir de la versión 3006 de Salt, solo los paquetes onedir estarán disponibles para las actualizaciones. Para obtener más información sobre las versiones de Salt y onedir, consulte KB 89728.
Importante: Las versiones 3006 y posteriores de Salt utilizan un paquete de instalación de onedir que no es compatible con Automation Config. Para usar Salt 3006 o una versión posterior con Automation Config, utilice solo paquetes de instalación clásicos.

Para obtener información sobre la instalación de paquetes onedir de Salt, consulte Instalación de paquetes onedir de Salt.

Nota: Se ha retirado el uso del paquete de instalación Salt Crystal. Para futuras instalaciones, se recomienda utilizar el paquete de instalación onedir.

Obligatorio:Para las implementaciones complementarias o de actualización, a partir de Salt 3006, el maestro de Salt está configurado para ejecutarse como usuario "salt" en lugar del "usuario raíz" tradicional. Como resultado, esto puede provocar errores de permisos en los flujos de trabajo relacionados con RaaS, como la implementación de minions y las actualizaciones del complemento principal de RaaS.

Para solucionar este problema, modifique el archivo /etc/salt/master.d/raas.conf para cambiar el usuario a raíz: user: root.

Para las implementaciones totalmente nuevas, el comando sseapi-config configura el complemento principal y genera el archivo raas.conf con el valor de configuración de user: root correcto. No se requiere la intervención del usuario.

Actualizar el nodo de RaaS

Después de actualizar PostgreSQL, Redis y Salt a la versión más reciente, puede actualizar el nodo de RaaS de la versión anterior a la versión más reciente.

Nota: Las actualizaciones de la base de datos requieren volver a indizar los datos. Si los datos son complejos, una actualización de la base de datos puede tardar varias horas.
Importante:

Antes de actualizar el nodo de RaaS, debe hacer una copia de seguridad de los datos del sistema para evitar la pérdida de datos. Para conservar la configuración, guarde los cambios realizados en el sistema de archivos predeterminado, los datos del pilar y los trabajos como nuevos archivos o trabajos. Además, debe registrar o realizar una copia de las asignaciones de destino de pilares existentes, ya que se eliminan durante el proceso de actualización.

Para actualizar el nodo de RaaS:

  1. Descargue los archivos de actualización de Customer Connect.
  2. Detenga el servicio RaaS con el siguiente comando:
    sudo systemctl stop raas
  3. Elimine los archivos de log del directorio /var/log/raas. Al limpiar los archivos de log, se obtiene un archivo de log limpio por si es necesario solucionar problemas.
  4. Elimine la versión de la API (RaaS) instalada actualmente con el siguiente comando:
    sudo yum remove raas
  5. Actualice el nodo de RaaS instalando el RPM más reciente. Utilice el siguiente comando de ejemplo, reemplazando por el nombre de archivo exacto del RPM:
    sudo yum install raas-rpm-file-name.rpm
  6. IMPORTANTE: Restaure la copia de seguridad de los siguientes archivos:
    • /etc/raas/raas
    • /etc/raas/raas.secconf
    • /etc/raas/pki/
  7. Actualice los permisos del usuario raas con el siguiente comando:
    sudo chown -R raas:raas /etc/pki/raas/certs
  8. OPCIONAL: Si tiene una licencia de Automation for Secure Hosts y desea agregar la biblioteca de conformidad, agregue la siguiente sección nueva al archivo /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:

    Este paso es opcional y solo se aplica a las organizaciones que tienen una licencia válida de Automation for Secure Hosts. Este módulo adicional está disponible para Automation Config 6.0 y versiones posteriores. Las opciones de configuración anteriores del archivo de configuración /etc/raas/raas son específicas de estos módulos adicionales.

  9. OPCIONAL: Si tiene una licencia de Automation for Secure Hosts y desea agregar la biblioteca de vulnerabilidad, agregue una nueva sección al archivo /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:

    Este paso es opcional y solo se aplica a las organizaciones que tienen una licencia válida de Automation for Secure Hosts. Este módulo adicional está disponible para Automation Config 6.0 y versiones posteriores. Las opciones de configuración anteriores del archivo de configuración /etc/raas/raas son específicas de estos módulos adicionales.

  10. RaaS actualmente tiene un problema conocido relacionado con trabajos obsoletos. Durante la actualización, es posible que algunos usuarios observen una cola de trabajos obsoletos que quedan en estado pendiente. La actualización del nodo de RaaS puede hacer que estos trabajos se ejecuten, a menos que se borren antes.

    Para evitar que esto suceda, compruebe primero si hay comandos antiguos almacenados en la base de datos. En el nodo de PostgreSQL, compruebe los trabajos pendientes mediante el siguiente comando:

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

    El resultado es la cantidad de trabajos pendientes. Si el número de trabajos es 0, continúe con el resto del proceso de actualización.

  11. Actualice la base de datos del servicio RaaS con el siguiente comando:
    sudo su - raas
    raas upgrade
    Nota:

    Según el tamaño de la base de datos, la actualización puede tardar entre varios minutos y más de una hora. Si encuentra errores, consulte el archivo de registro de /var/log/raas/raas para obtener más información.

  12. Después de la actualización, cierre sesión del usuario raas con el siguiente comando:
    exit
  13. Inicie el servicio RaaS mediante el siguiente comando:
    sudo systemctl enable raas
    sudo systemctl start raas

Actualizar el complemento principal mediante la interfaz de usuario de Automation Config

Nota: Esta función se admite para Automation Config 8.11.2 o versiones posteriores. Para versiones anteriores, primero debe actualizar el complemento principal a la versión 8.11.2 o posterior mediante la CLI.
Nota: El maestro de Salt debe ejecutarse como raíz.

Automation Config actualiza automáticamente el complemento principal a la versión más reciente sin que el usuario deba realizar ninguna acción.

Sin embargo, también puede actualizar el complemento principal desde la interfaz de usuario de Automation Config. Para actualizar el complemento principal, en Automation Config, seleccione Administración y, a continuación, haga clic en Complementos principales. La pestaña Complemento principal muestra la versión del complemento y el entorno de Automation Config, junto con una lista de los identificadores del complemento principal. En la pestaña Complementos principales, puede seleccionar los complementos principales que desea actualizar y, a continuación, hacer clic en Actualizar.

Actualizar el complemento principal mediante la CLI

Después de actualizar correctamente el nodo de RaaS, puede actualizar los maestros de Salt que utilicen el complemento principal para conectarse a Automation Config.

Se recomienda actualizar la configuración del complemento principal mediante la generación de un archivo de configuración predeterminado y la aplicación de cualquier ajuste que se conserve de la configuración existente. Por ejemplo:
# sseapi-config --default >/tmp/raas.conf 
# cd /etc/salt/master.d 
# vim -d raas.conf /tmp/raas.conf
Importante: Si instaló Salt mediante onedir, la ruta de acceso a este archivo ejecutable es /opt/saltstack/salt/extras-3.10/bin/sseapi-config.

A partir de la versión 8.13.0, el complemento principal incluye un motor tgtmatch que ahora descarga los grupos de destino que coinciden del servidor RaaS a los maestros de Salt. Se recomienda habilitar y configurar ese motor tgtmatch para que las conincidencias de grupos de destino respondan mejor, especialmente en entornos con:

  • Un gran número de grupos de destino (100 o más)
  • Un gran número de minions (3000 o más)
  • Cambios frecuentes en los granos de minions (diarios o más frecuentes)
  • Creación y eliminación frecuentes de minions (diarias o más frecuentes)
Para configurar el motor tgtmatch, asegúrese de que estos ajustes estén presentes en el archivo de configuración del complemento principal (/etc/salt/master.d/raas.conf).
engines: 
    - sseapi: {} 
    - eventqueue: {} 
    - rpcqueue: {} 
    - jobcompletion: {}    
    - tgtmatch: {} 

sseapi_local_cache:     
    load: 3600 
    tgt: 86400 
    pillar: 3600 
    exprmatch: 86400 
    tgtmatch: 86400 

sseapi_tgt_match: 
    poll_interval: 60     
    workers: 0 
    nice: 19
Para configurar RaaS de modo que espere que los maestros de Salt suministren los datos coincidentes con el destino, asegúrese de que el siguiente ajuste esté presente en el archivo de configuración de RaaS (/etc/raas/raas):
target_groups_from_master_only: true
Nota:

Antes de actualizar los maestros de Salt, asegúrese de que la aplicación pip3 esté instalada en los maestros de Salt. Si va a actualizar desde la versión más reciente del complemento principal, esta aplicación ya está instalada.

Para actualizar el complemento principal en un maestro de Salt:

  1. Detenga el servicio salt-master mediante el siguiente comando:
    sudo systemctl stop salt-master
  2. Compruebe qué versión de Python se está ejecutando en el maestro de Salt. Si ejecuta Python 3.6 o una versión posterior, no es necesario realizar ningún cambio. De lo contrario, elimine la versión anterior del módulo SSEAPE. (SSEAPE es el complemento de Automation Config para el maestro de Salt). Por ejemplo:

    RHEL/CentOS

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

    Ubuntu

    sudo rm /usr/lib/python3.6/dist-packages/SSEAPE*
  3. Para actualizar el complemento principal, desinstale y reinstale de forma manual el wheel de Python actualizado. Utilice los siguientes comandos de ejemplo, reemplazando con el nombre exacto del archivo wheel:
    Nota: El complemento existente debe desinstalarse para evitar que haya varias instancias de sseapi-config.
    pip3 uninstall SSEAPE-8.12.1.3-py3-none-any.whl
    mv /etc/salt/master.d/raas.conf /tmp
    salt-call pip.install SSEAPE-8.12.1.3-py3-none-any.whl
    cp /tmp/raas.conf /etc/salt/master.d/raas.conf
    systemctl restart salt-master
  4. Actualice las rutas del módulo de la API (RaaS) editando el archivo /etc/salt/master.d/eAPIMasterPaths.conf para que haga referencia a las rutas de los diversos módulos. Por ejemplo, puede cambiar todas las referencias a python2.7 de este archivo a python3.6.
    Nota:

    En función de cómo se haya instalado inicialmente Automation Config, las rutas de acceso al maestro de Salt de eAPI podrían encontrarse en /etc/salt/master.d/raas.conf en su lugar.

  5. Compruebe la sección engines de /etc/salt/master.d/raas.conf para confirmar si coincide con lo siguiente:
    engines:
      - sseapi: {}
      - eventqueue: {}
      - rpcqueue: {}
      - jobcompletion: {}
    Nota:

    Si se produjo un problema, es posible que deba restaurar las copias de seguridad de los archivos /etc/salt/master.d/raas.conf y /etc/salt/master.d/eAPIMasterPaths.conf.

  6. Si utiliza la autenticación de clave principal de Salt (recomendado), asegúrese de que sseapi_username y sseapi_password estén comentados en /etc/salt/master.d/raas.conf.
    #sseapi_username:
    #sseapi_password:
  7. Compruebe que las entradas master_job_cache y event_return se hayan establecido en sseapi. El regresador pgjsonb ya no se encuentra disponible.
  8. Inicie el servicio salt-master mediante el siguiente comando:
    sudo systemctl start salt-master
  9. Compruebe que el maestro de Salt se esté ejecutando como usuario "root" y no como usuario "salt". Si no es así, modifique el archivo /etc/salt/master.d/raas.conf para cambiar el usuario a raíz: user: root.

El proceso de actualización ya ha finalizado. Si detecta otros errores, consulte la Solución de problemas.