lenovo.lxca-config
Ansible Role: Configuración de Lenovo LXCA
Rol de Ansible para diversas operaciones de configuración (como administrar, actualizar firmware, configurar políticas, desplegar sistemas operativos) en los elementos gestionados desde Lenovo xClarity Administrator.
Requisitos
Versión de Ansible 2.4.2 o posterior (documentación de instalación de Ansible)
Cliente de Python para Lenovo xClarity Administrator (Cliente Python LXCA v2.5.0)
pip install pylxca
Variables Obligatorias
Las variables disponibles se enumeran a continuación, junto con su descripción:
Variable | Descripción |
---|---|
lxca_user | Usuario de lxca para conectarse a lxca |
lxca_password | Contraseña del usuario |
lxca_url | URL de lxca a la que conectarse |
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con su descripción:
Variable | Descripción |
---|---|
uuid | UUID de un elemento gestionado |
id | ID de un recurso |
endpoint_ip | Dirección IP del endpoint |
user | Nombre de usuario |
password | Contraseña |
recovery_password | Contraseña de recuperación para el recurso |
storedcredential_id | ID de las credenciales almacenadas |
jobid | ID del trabajo de fondo |
mode | Modo de operación para la acción de configuración |
lxca_action | Operación de configuración |
server | Detalles del nodo de computación |
switch | Detalles del conmutador |
storage | Detalles del almacenamiento |
cmm | Detalles del CMM |
force | Bandera de forzar acción de configuración |
policy_info | Detalles de la política |
policy_name | Nombre de la política |
policy_type | Tipo de política |
repo_key | Clave del repositorio |
machine_type | Tipo de máquina |
scope | Alcance de la operación |
fixids | ID de la imagen de firmware |
file_type | Tipo de archivo en la acción de configuración |
endpoint | Endpoint gestionado objetivo para la acción de configuración |
restart | Acción de configuración |
config_pattern_name | Nombre del patrón de configuración |
config_profile_name | Nombre del perfil de configuración |
powerdown | Operación de energía |
resetimm | Acción de reinicio del IMM |
pattern_update_dict | Diccionario de información de patrones de categoría |
pattern_from_file | Ruta del archivo para los datos de patrones |
includeSettings | Bandera para leer datos de configuración |
osimages_info | Información sobre imágenes de sistema operativo |
osimages_dict | Diccionario de información sobre imágenes de sistema operativo |
files | Ubicación de los archivos |
update_key | Clave para actualización de firmware |
status | Estado de elemento gestionado |
uuid_list | Lista de UUID |
subcmd | Subcomando para comandos de configuración |
Etiquetas Soportadas
Las etiquetas soportadas se enumeran a continuación, junto con su descripción:
tags | Descripción |
---|---|
get_configpatterns | Devuelve todos los patrones de servidor |
get_particular_configpattern | Obtiene patrón de configuración por nombre o ID |
import_configpatterns | Importa patrón de configuración a lxca |
apply_configpatterns | Aplica patrón de configuración al dispositivo |
get_configstatus | Obtiene el estado de configuración del dispositivo por uuid |
configprofiles | Operaciones de perfiles de configuración |
configtargets | Obtiene detalles de los objetivos de configuración |
manage | Realiza operación de gestión en el dispositivo descubierto |
manage_status | Verifica el estado de finalización de la operación de gestión |
unmanage | Realiza operación de desaprobación |
unmanage_status | Verifica el estado de finalización de la operación de desaprobación |
osimages | Realiza operación de imágenes de sistema operativo y despliegue de sistemas operativos |
updaterepo | Actualiza operación de repositorio |
update_firmware | Actualiza firmware para dispositivo específico con mt y fixids especificados |
update_firmware_all | Actualiza firmware para dispositivo con lista de uuid con política asignada |
update_firmware_query_status | Verifica el estado de la actualización de firmware |
update_firmware_query_comp | Lista los componentes que se pueden actualizar |
get_managementserver_pkg | Obtiene detalles de los paquetes de gestión |
update_managementserver_pkg | Actualiza paquetes del servidor de gestión |
import_managementserver_pkg | Importa servidor de gestión desde el sistema local |
updatepolicy | Actualiza operaciones de políticas de cumplimiento |
get_storedcredentials | Obtiene credenciales almacenadas |
create_storedcredentials | Crea nuevas credenciales almacenadas |
update_storedcredentials | Actualiza credenciales almacenadas existentes |
delete_storedcredentials | Elimina credenciales almacenadas |
Dependencias
Conectividad con Lenovo xClarity Administrator.
Ejemplo de Playbook
Para ejecutar un playbook de Ansible, necesita elegir una de las etiquetas especificadas arriba, también proporcionar las variables utilizadas por la etiqueta usando el siguiente comando: ####manage manage utiliza las siguientes variables adicionales user, password o storedcredential_id
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd
lxca_url=https://10.240.29.217 endpoint_ip=10.240.72.172 user=USERID
password=CME44ibm recovery_password=CME55ibm force=True" test.yml -vvvv --tag
manage
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd
lxca_url=https://10.240.29.217 endpoint_ip=10.240.72.172 storedcredential_id=21 force=True" test.yml -vvvv --tag
manage
####unmanage unmanage utiliza la siguiente variable adicional endpoint_ip que es ip_address,uuid,device_type device_type puede tener el siguiente valor Chasis ThinkServer Almacenamiento Rackswitch Rack-Tower
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd
lxca_url=https://10.240.29.217
endpoint_ip=10.240.72.172;46920C143355486F97C19A34ABC7D746;Chasis force=True"
test.yml -v --tag unmanage
Actualización de política y firmware
Las siguientes variables adicionales son utilizadas con estas etiquetas
policy_info: description:
- usado con el comando updatepolicy por los siguientes valores posibles
- "FIRMWARE - Obtener lista de políticas de firmware aplicables"
- "RESULTS - Listar los resultados de comparación persistidos para servidores a los que se asignó una política"
- "COMPARE_RESULTS - Verificar cumplimiento con la política de cumplimiento asignada usando el ID de trabajo o tarea que se devolvió al asignar la política de cumplimiento."
- "NAMELIST - Devuelve las políticas de cumplimiento disponibles"
policy_name: description: usado con el comando updatepolicy, nombre de la política a aplicar
policy_type: description:
- usado con el comando updatepolicy, política aplicada al valor especificado puede tener el siguiente valor
- CMM - Módulo de gestión de chasis
- IOSwitch - Interruptor flexible
- RACKSWITCH - Interruptor RackSwitch
- STORAGE - Sistema de almacenamiento Lenovo
- SERVER - Nodo de computación o servidor de rack
uuid_list: description:
- usado con el comando update_all_firmware_withpolicy. Aplicar firmware a uuid en la lista
- si uuid_list está vacío, el firmware se actualiza para todos los componentes actualizables con política.
- "ejemplo ['38D9D7DBCB713C12A210E60C74A0E931','00000000000010008000542AA2D3CB00']"
mode: description:
- "usado con el comando update_firmware, update_all_firmware_withpolicy Indica cuándo activar la actualización. Esto puede ser uno de los siguientes valores."
- "inmediato - Usa el modo de activación inmediata al aplicar actualizaciones de firmware a los endpoints seleccionados."
- "retrasado - Usa el modo de activación retrasada al aplicar actualizaciones de firmware a los endpoints seleccionados."
Listar todas las políticas
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 subcmd=list" playbooks/config/config.yml -vvvv --tag updatepolicy
Obtener lista de políticas de firmware aplicables
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query policy_info=FIRMWARE" playbooks/config/config.yml -vvvv --tag updatepolicy
Listar los resultados de comparación persistidos para servidores a los que se asignó una política
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query update_policy_info=RESULTS" playbooks/config/config.yml -vvvv --tag updatepolicy
Verificar cumplimiento con la política de cumplimiento asignada usando el ID de trabajo o tarea que se devolvió cuando se asignó la política de cumplimiento.
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=status uuid=EF362CF0FB4511E397AB40F2E9AF01D0 jobid=2" playbooks/config/config.yml -vvvv --tag updatepolicy
Asignar política al endpoint
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=assign policy_name=x220_imm2 policy_type=SERVER uuid=7C5E041E3CCA11E18B715CF3FC112D8A" playbooks/config/config.yml -vvvv --tag updatepolicy
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=status jobid=16" playbooks/config/config.yml -vvvv --tag updatepolicy
Actualizar Firmware de Endpoint
================
Consultar componentes actualizables
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217" playbooks/config/config.yml -v --tag query_update_comp
Consultar estado de actualización de firmware
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220" playbooks/config/config.yml -vvvv --tag query_update_status
Aplicar firmware con política
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 mode=inmediato lxca_action=apply server='7C5E041E3CCA11E18B715CF3FC112D8A,IMM2 (Primario)'" playbooks/config/config.yml -vvvv --tag update_firmware
Aplicar firmware con política para componentes actualizables especificados
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 mode=inmediato lxca_action=apply uuid_list=['38D9D7DBCB713C12A210E60C74A0E931','00000000000010008000542AA2D3CB00']" playbooks/config/config.yml -vvvv --tag update_all_firmware_withpolicy
Aplicar firmware con política para todos los componentes actualizables
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 mode=inmediato lxca_action=apply uuid_list=[]" playbooks/config/config.yml -vvvv --tag update_all_firmware_withpolicy
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 mode=inmediato lxca_action=apply" playbooks/config/config.yml -vvvv --tag update_all_firmware_withpolicy
Operaciones de patrones de configuración, perfil de configuración y objetivos de configuración
Las siguientes variables adicionales se utilizan para esta etiqueta
endpoint: description:
- utilizado con comandos configprofiles, apply_configpatterns y get_configstatus,
- es el uuid del dispositivo para nodo, estante, torre
- endpointdid para flexible
restart: description:
- usado con comandos configprofiles y apply_configpatterns
- cuándo activar las configuraciones. Esto puede ser uno de los siguientes valores
- deferir - Activar los ajustes de IMM, pero no reiniciar el servidor.
- inmediato - Activar todas las configuraciones y reiniciar el servidor inmediatamente
- pendiente - Activar manualmente el perfil del servidor y reiniciar el servidor. esto se puede usar solo con apply_configpatterns. choices:
- deferir
- inmediato
- pendiente
type: description:
- utilizado con apply_configpatterns, valores válidos son choices:
- nodo
- estante
- torre
- flexible
powerdown: description: usado con comandos configprofiles para apagar el servidor
resetimm: description: usado con comandos configprofiles para reiniciar el imm
pattern_update_dict: description: usado con el comando import_configpatterns para importar el patrón especificado en esta variable como diccionario.
includeSettings: description: usado con el comando get_configpatterns para obtener configuraciones detalladas de patrones de configuración, establecer esto a 'True'
Obtener todos los patrones de configuración
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217" playbooks/config/config.yml -vvvv --tag get_configpatterns
Obtener patrón de configuración especificado con id
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 id=52" playbooks/config/config.yml -vvvv --tag get_particular_configpattern
Obtener patrón de configuración especificado por id con includeSettings
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 id=52 includeSettings=True" playbooks/config/config.yml -vvvv --tag get_particular_configpattern
Aplicar patrón al endpoint
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 id=65 endpoint=B918EDCA1B5F11E2803EBECB82710ADE restart=pending type=nodo" playbooks/config/config.yml -vvvv --tag apply_configpatterns
usando nombre
----------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 config_pattern_name=From_abcdef endpoint=B918EDCA1B5F11E2803EBECB82710ADE restart=pending type=nodo" playbooks/config/config.yml -vvvv --tag apply_configpatterns
Importar patrón SystemInfo
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 pattern_update_dict={'template_type':'SystemInfo','template':{'contact':'contact','description':'Patrón creado por prueba de API ','location':'location','name':'Learned-System_Info-99','systemName':{'autogen':'Desactivar','hyphenChecked':False},'type':'SystemInfo','uri':'\/config\/template\/61','userDefined':True}}" playbooks/config/config.yml -vvvv --tag import_configpatterns
Importar patrón desde archivo
------------------------
Leer datos de patrón de configuración desde el archivo config_pattern_import.yml en la carpeta vars de configuraciones de roles
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 pattern_file=config_pattern_import.yml pattern_from_file=true" playbooks/config/config.yml -vvvv --tag import_configpatterns
estado de configuración
------------
obtener estado de configuración
ansible-playbook -e "lxca_user=USERID lxca_password=CME44ibm lxca_url=https://10.240.29.217 endpoint=B918EDCA1B5F11E2803EBECB82710ADE" playbooks/config/config.yml -vvvv --tag get_configstatus
Operaciones de Perfil de Configuración
obtener todos los perfiles
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 subcmd=list" playbooks/config/config.yml -v --tag configprofiles
obtener perfil especificado con id
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=list id=69 " playbooks/config/config.yml -vvvv --tag configprofiles
Cambiar nombre de perfil de id
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=rename id=69 config_profile_name='nombre cambiado 3' " playbooks/config/config.yml -vvvv --tag configprofiles
Activar perfil para el endpoint
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=activate id=69 endpoint=B918EDCA1B5F11E2803EBECB82710ADE restart=inmediato " playbooks/config/config.yml -vvvv --tag configprofiles
Desasignar perfil
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=unassign id=69" playbooks/config/config.yml -vvvv --tag configprofiles
Eliminar perfil
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 id=69 subcmd=delete" playbooks/config/config.yml -vvvv --tag configprofiles
#####Actualizar comandos de Repositorio Las siguientes variables adicionales se utilizan para esta etiqueta
machine_type: description:
- utilizado con el comando updaterepo
- es una cadena con un valor como '7903'
fixids: description:
- utilizado con comandos updaterepo , get_particular_managementserver_pkg y update_managementserver_pkg
- es una cadena con un valor como 'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch'
scope: description:
- utilizado con el comando updaterepo, los siguientes son posibles valores
- all - Cuando lxca_action=refresh está especificado, este parámetro devuelve información sobre todas las versiones de todas las actualizaciones de firmware que están disponibles para todos los dispositivos soportados.
- latest - Cuando lxca_action=refresh está especificado, este parámetro devuelve información sobre la versión más actual de todas las actualizaciones de firmware para todos los dispositivos soportados.
- payloads - Cuando lxca_action=acquire está especificado, este parámetro devuelve información sobre actualizaciones de firmware específicas.
file_type: description:
- utilizado con el comando updaterepo, cuando lxca_action=delete o lxca_action=export está especificado, este parámetro se usa. Puede especificar uno de los siguientes valores
- all - Elimina archivos de paquete de actualización seleccionados (carga, historial de cambios, readme y archivos de metadatos)
- payloads - Elimina solo los archivos de imagen de carga seleccionados
Consultas
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=importDir" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=lastRefreshed" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=publicKeys" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=size" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=supportedMts" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=updates" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=updatesByMt" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=query repo_key=updatesByMtByComp" playbooks/config/config.yml -vvvv --tag updaterepo
Acción
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=read lxca_action=read" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=refresh lxca_action=refresh machine_type=7903" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=delete lxca_action=delete machine_type=7903 file_type=payloads fixids=ibm_fw_imm2_1aoo78j-6.20_anyos_noarch" playbooks/config/config.yml -vvvv --tag updaterepo
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=acquire lxca_action=acquire machine_type=7903 scope=payloads fixids=ibm_fw_imm2_1aoo78j-6.20_anyos_noarch" playbooks/config/config.yml -vvvv --tag updaterepo
operaciones del servidor de gestión
Las siguientes variables adicionales se utilizan para esta etiqueta
fixids: description:
- utilizado con el comando updaterepo , get_particular_managementserver_pkg y update_managementserver_pkg
- es una cadena con un valor como 'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch'
update_key: description:
- utilizado con comandos del servidor de gestión, las siguientes son opciones válidas Devuelve el tipo de actualización especificado. Esto puede ser uno de los siguientes valores.
- all - Devuelve toda la información. Este es el valor predeterminado.
- currentVersion - Devuelve la versión actual de Lenovo XClarity Administrator.
- history Devuelve el historial de actualizaciones del servidor de gestión.
- importDir Devuelve el directorio para el repositorio de actualizaciones del servidor de gestión.
- size - Devuelve el tamaño del repositorio (en bytes).
- updates - Devuelve información sobre todos los paquetes de actualizaciones.
- updatedDate - Devuelve la fecha en que se realizó la última actualización.
files: description:
- Usado con comandos del servidor de gestión para importar archivos a LXCA, el archivo puede ser especificado como una cadena separada por comas
- ejemplo
- '/home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.txt, /home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.chg, /home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.xml'
obtener servidor de gestión con diferentes opciones de clave
-----------------------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query', 'update_key':'importDir'}" playbooks/config/config.yml -vvvv --tag get_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query', 'update_key':'size'}" playbooks/config/config.yml -vvvv --tag get_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query', 'update_key':'updates'}" playbooks/config/config.yml -vvvv --tag get_managementserver_pkg
obtener detalles particulares con fixids
----------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query_fixids', 'update_key':'filetypes', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch'}" playbooks/config/config.yml -vvvv --tag get_particular_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'query_fixids', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch','type':'readme'}" playbooks/config/config.yml -vvvv --tag get_particular_managementserver_pkg
Opciones de actualización para el servidor de gestión
----------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'refresh'}" playbooks/config/config.yml -vvvv --tag update_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch','subcmd':'acquire'}" playbooks/config/config.yml -vvvv --tag update_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch','subcmd':'apply'}" playbooks/config/config.yml -vvvv --tag update_managementserver_pkg
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'fixids':'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch','subcmd':'delete'}" playbooks/config/config.yml -vvvv --tag update_managementserver_pkg
Importar archivos locales al servidor de gestión
--------------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'import', 'files':'/home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.txt,/home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.chg,/home/naval/updates/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.xml'}" playbooks/config/config.yml -vvvv --tag import_managementserver_pkg
Archivos especificados relativos a los archivos del playbook
----------------------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'import', 'files':'../../files/updates/lnvgy_sw_lxca_thinksystemrepo1-1.3.2_anyos_noarch.xml'}" playbooks/config/config.yml -vvvv --tag import_managementserver_pkg
Operaciones de imágenes de sistema operativo
Las siguientes variables adicionales se utilizan para esta etiqueta
subcmd: description:
- Utilizado con osimage, puede tener los siguientes valores
- list - listar todos o detalles específicos de imágenes de sistema operativo
- delete - eliminar detalles de imágenes de sistema operativo especificadas
- globalsettings - Establecer valores globales utilizados en el despliegue de sistema operativo
- hostsettings - Configurar valores particulares del host utilizados en el despliegue de sistema operativo
- hostPlatforms - Usado para desplegar imágenes de sistema operativo
- remoteFileServers - Usado para operaciones de servidores ftp, http remotos
imagetype: description: Usado con la imagen de sistema operativo para importar el tipo de archivos. choices:
- BUNDLE
- BOOT
- DUD
- OS
- OSPROFILE
- SCRIPT
- CUSTOM_CONFIG
- UNATTENDED
osimages_dict: type: dict description: Usado con osimage, se utiliza para establecer parámetros de imágenes de sistema operativo y despliegue.
obtener todas las imágenes de sistema operativo
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'subcmd':'list'}" playbooks/config/config.yml -v --tag osimages
eliminar imágenes de sistema operativo con id
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.197.119','subcmd':'delete','id':'20190227190109_trail.py'}" playbooks/config/config.yml -vvvv --tag osimages
obtener globalSetting para imágenes de sistema operativo
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'globalsettings'}" playbooks/config/config.yml -vvvv --tag osimages
establecer globalSetting para imágenes de sistema operativo
-----------------
para establecer un globalSetting, obtén los detalles de get globalSetting y cambia los
parámetros que deseas modificar. Este ejemplo establece la contraseña predeterminada de LINUX.
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'CME44ibm', 'lxca_url':'https://10.243.9.238', 'subcmd':'globalsettings', 'osimages_dict':{'activeDirectory':{'allDomains': [],'defaultDomain':None}, 'credentials':[{'name': 'root', 'password':'Test1234', 'passwordChanged':True, 'type': 'LINUX'}, {'type': "WINDOWS", 'name': 'Administrator', password: None, 'passwordChanged': False}],'ipAssignment':'dhcpv4', 'isVLANMode': 'false', 'licenseKeys': {'win2012r1': {'dataCenterLicenseKey': '','standardLicenseKey': '',},'win2012r2':{'dataCenterLicenseKey': '', 'standardLicenseKey': ''}, 'win2016r1': {'dataCenterLicenseKey': '', 'standardLicenseKey': ''}, 'win2019r1': {'dataCenterLicenseKey': '','standardLicenseKey': ''}}}}" playbooks/config/config.yml -vvvv --tag osimages
obtener hostSetting para imágenes de sistema operativo
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostsettings'}" playbooks/config/config.yml -vvvv --tag osimages
crear hostSetting para imágenes de sistema operativo
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostsettings', 'osimages_dict':{\"action\": \"create\", \"hosts\": [{\"storageSettings\": {\"targetDevice\": \"localdisk\"}, \"uuid\": \"A1445C6FDBAA11E6A87F86E06E3AFFFF\", \"networkSettings\": {\"dns2\": \"\", \"dns1\": \"10.240.0.10\", \"hostname\": \"nodeundefined\", \"vlanId\": 0, \"selectedMAC\": \"AUTO\", \"gateway\": \"10.243.0.1\", \"subnetMask\": \"255.255.240.0\", \"mtu\": 1500, \"prefixLength\": 64, \"ipAddress\": \"10.243.9.79\"}}, {\"storageSettings\": {\"targetDevice\": \"localdisk\"}, \"uuid\": \"A122FB03FF4011E68D9BA32E3A66DDDD\", \"networkSettings\": {\"dns2\": \"\", \"dns1\": \"10.240.0.10\", \"hostname\": \"proton1\", \"vlanId\": 0, \"selectedMAC\": \"AUTO\", \"gateway\": \"10.243.0.1\", \"subnetMask\": \"255.255.240.0\", \"mtu\": 1500, \"prefixLength\": 64, \"ipAddress\": \"10.243.9.87\"}}]}}" playbooks/config/config.yml -vvvv --tag osimages
actualizar hostSetting para imágenes de sistema operativo
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.197.119','subcmd':'hostsettings', 'osimages_dict':{'action': 'update', 'hosts': [{'storageSettings': {'targetDevice': 'localdisk'}, 'uuid': 'A1445C6FDBAA11E6A87F86E06E3AFFFF', 'networkSettings': {'dns2': '', 'dns1': '10.240.0.10', 'hostname': 'nodeundefined', 'vlanId': 0, 'selectedMAC': 'AUTO', 'gateway': '10.243.0.1', 'subnetMask': '255.255.240.0', 'mt': 1500, 'prefixLength': 64, 'ipAddress': '10.243.9.79'}}, {'storageSettings': {'targetDevice': 'localdisk'}, 'uuid': 'A122FB03FF4011E68D9BA32E3A66DDDD', 'networkSettings': {'dns2': '', 'dns1': '10.240.0.10', 'hostname': 'proton1', 'vlanId': 0, 'selectedMAC': 'AUTO', 'gateway': '10.243.0.1', 'subnetMask': '255.255.240.0', 'mt': 1500, 'prefixLength': 64, 'ipAddress': '10.243.9.87'}}]}}" playbooks/config/config.yml -vvvv --tag osimages
eliminar hostSetting para imágenes de sistema operativo
-----------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostsettings', 'osimages_dict':{'action': 'delete', 'uuid': 'A1445C6FDBAA11E6A87F86E06E3AFFFF'}}" playbooks/config/config.yml -vvvv --tag osimages
importar archivo de imagen de sistema operativo desde servidor remoto
-------------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'osimages_imagetype_dict':{'imageType':'OS'}, 'import_dict':{'imageType':'OS','os':'rhels','imageName':'fixed','path':'iso/rhel73.iso','serverId':'1'}}" playbooks/config/config.yml -vvvv --tag import_osimages
importar archivo script de imagen de sistema operativo desde local
-------------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217', 'osimages_imagetype_dict':{'imageType':'SCRIPT'}, 'import_dict':{'imageType':'SCRIPT', "imageName":"trail.py", "os":"rhels", "description":"test_python_file", "file": "/home/naval/trail.py" }}" playbooks/config/config.yml -vvvv --tag import_osimages
obtener detalles de plataformas de host para imágenes de sistema operativo
------------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostplatforms'}" playbooks/config/config.yml -vvvv --tag osimages
desplegar imagen de sistema operativo en nodo
----------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'hostplatforms','osimages_dict':{'networkSettings':{'dns1': '10.240.0.10','dns2':'10.240.0.11','gateway':'10.240.28.1','ipAddress':'10.240.29.226','mtu':1500,'prefixLength':64,'selectedMac':'AUTO','subnetMask':'255.255.252.0','vlanId':521},'selectedImage':'rhels7.3|rhels7.3-x86_64-install-Minimal','storageSettings':{'targetDevice':'localdisk'},'uuid':'B918EDCA1B5F11E2803EBECB82710ADE'}}" playbooks/config/config.yml -vvvv --tag osimages
obtener todos los servidores de archivos remotos
-------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'remotefileservers'}" playbooks/config/config.yml -vvvv --tag osimages
Obtener Servidores de Archivos Remotos Específicos
------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'remotefileservers', 'osimages_dict':{'id':'1'}}" playbooks/config/config.yml -vvvv --tag osimages
Eliminar Servidor de Archivos Remoto Específico
---------------------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'remotefileservers', 'osimages_dict':{'deleteid':'2'}}" playbooks/config/config.yml -vvvv --tag osimages
Agregar Servidor de Archivos Remoto
----------------------
ansible-playbook -e "{'lxca_user':'USERID', 'lxca_password':'Passw0rd', 'lxca_url':'https://10.240.29.217','subcmd':'remotefileservers', 'osimages_dict':{'displayName':'TEST99','address': '192.168.1.10','keyPassphrase': 'Passw0rd','keyType': 'RSA-2048','port': 8080,'protocol': 'HTTPS'}}" playbooks/config/config.yml -vvvv --tag osimages
-vvv es un comando opcional de verbose que ayuda a identificar qué está sucediendo durante la ejecución del playbook.
- name: obtener datos de configtargets de LXCA
pylxca_module:
login_user: "{{ lxca_user }}"
login_password: "{{ lxca_password }}"
auth_url: "{{ lxca_url }}"
id: "{{ id }}"
command_options: configtargets
register: rslt
tags:
configtargets
The lxca-config ansible role facilitates configuration of managed endpoiints from Lenovo xClarity Adiministrator.
ansible-galaxy install lenovo.lxca-config