SALTSTACK - MODULOS PERSONALIZADOS

Describimos como podemos crear módulos personalizados en SaltStack para su posterior ejecución en nuestra infraestructura.

Cargando video...

NOTA: Solo puedes ver una versión limitada del video a baja resolución, si quieres ver la versión completa por favor regístrate y obtén alguno de nuestros planes!

Descripción del Vídeo

Construyendo la Primera Función de un Módulo Personalizado:

Salt viene preconfigurado para leer todos los módulos personalizados en la ruta “/srv/salt/_modules”, sin embargo ninguno de los instaladores crea el directorio, así que se procederá a crearlo:


$> sudo mkdir -p /srv/salt/_modules/
 

Salt crea una variable definida como __salt__ que es un paquete que se crea dentro de cada módulo luego que Salt los carga en el Minion y representa un diccionario de Python que contiene todas las funciones que el script puede ejecutar 


$> vi /srv/salt/_modules/customuser.py
def users_as_csv():
    """
Extrae todos los usuarios del Minion, pero en formato CVS
Ejemplo CLI: 
.. code-block:: bash
salt '*' customuser.users_as_csv
    """
    user_list = __salt__['user.list_users']()
    csv_list = ','.join(user_list)
    return csv_list

Sincronizando la ejecución de módulos con los minions

Ahora hay que sincronizar la función con todos los Minions, para ello SALT ofrece una función propia “saltutil.sync_all”.

$> sudo salt '*' saltutil.sync_all
myminion:
    ----------
    beacons:
    grains:
    log_handlers:
    modules:
        - modules.customuser
    output:
    renderers:
    returners:
    states:
    utils:


Ahora que la función ya se sincronizó, se procederá a probar lo que se escribió:  


$> sudo salt '*' customuser.users_as_csv
myminion:
    adm,avahi-autoipd,bin,daemon,dbus,ejos,lp,mail,mailnull,...

Rating

Global

Ver video en playlist

comments powered by Disqus