lxca-config
Ansible Роль: Настройка Lenovo LXCA
Ansible роль для выполнения различных операций настройки (таких как управление, обновление прошивки, настройка политики, развертывание ОС) на управляемых объектах из Lenovo xClarity Administrator.
Требования
Версия Ansible 2.4.2 или выше (Документация по установке Ansible)
Python клиент для Lenovo xClarity Administrator. (LXCA Python Client v2.5.0)
pip install pylxca
Обязательные переменные
Доступные переменные указаны ниже с описанием:
Переменная | Описание |
---|---|
lxca_user | имя пользователя lxca для подключения |
lxca_password | пароль пользователя |
lxca_url | URL lxca для подключения |
Переменные роли
Доступные переменные указаны ниже с описанием:
Переменная | Описание |
---|---|
uuid | UUID управляемого элемента |
id | ID ресурса |
endpoint_ip | IP-адрес конечной точки |
user | имя пользователя |
password | пароль |
recovery_password | пароль восстановления для ресурса |
storedcredential_id | ID сохраненных учетных данных |
jobid | ID задания фонового процесса |
mode | режим операции для конфигурации |
lxca_action | операция для настройки |
server | детали вычислительного узла |
switch | детали коммутатора |
storage | детали хранилища |
cmm | детали cmm |
force | флаг принудительного выполнения операции |
policy_info | детали политики |
policy_name | имя политики |
policy_type | тип политики |
repo_key | ключ репозитория |
machine_type | тип машины |
scope | область операции |
fixids | ID образа прошивки |
file_type | тип файла в настройке |
endpoint | целевая управляемая конечная точка для настройки |
restart | операция конфигурации |
config_pattern_name | имя шаблона конфигурации |
config_profile_name | имя профиля конфигурации |
powerdown | операция питания |
resetimm | сброс действия |
pattern_update_dict | словарь информации о шаблоне категории |
pattern_from_file | путь к файлу данных шаблона |
includeSettings | флаг для чтения данных конфигурации |
osimages_info | информация об образах ОС |
osimages_dict | словарь информации об образах ОС |
files | местоположение файлов |
update_key | ключ для обновления прошивки |
status | статус управляемого элемента |
uuid_list | список UUID |
subcmd | подпараметр для команд конфигурации |
Поддерживаемые теги
Поддерживаемые теги указаны ниже с описанием:
теги | Описание |
---|---|
get_configpatterns | вернуть все шаблоны серверов |
get_particular_configpattern | получить шаблон конфигурации по имени или ID |
import_configpatterns | импортировать шаблон конфигурации в lxca |
apply_configpatterns | применить шаблон конфигурации к устройству |
get_configstatus | получить статус конфигурации устройства по uuid |
configprofiles | операции с профилями конфигурации |
configtargets | получить детали целевых конфигураций |
manage | выполнить операцию управления на обнаруженном устройстве |
manage_status | проверить статус завершения операции управления |
unmanage | выполнить операцию отмены управления |
unmanage_status | проверить статус завершения операции отмены управления |
osimages | Выполнить операции с образами ОС и развертыванием ОС |
updaterepo | операция обновления репозитория |
update_firmware | обновить прошивку для конкретного устройства с указанными mt и fixids |
update_firmware_all | обновить прошивку для устройства со списком uuid с назначенной политикой |
update_firmware_query_status | проверить статус обновления прошивки |
update_firmware_query_comp | перечислить обновляемые компоненты |
get_managementserver_pkg | получить детали пакетов управления сервером |
update_managementserver_pkg | обновить пакеты управления сервером |
import_managementserver_pkg | импортировать пакеты управления с локальной системы |
updatepolicy | операции по обновлению политики соблюдения |
get_storedcredentials | получить сохраненные учетные данные |
create_storedcredentials | создать новые сохраненные учетные данные |
update_storedcredentials | обновить существующие сохраненные учетные данные |
delete_storedcredentials | удалить сохраненные учетные данные |
Зависимости
Соединение с Lenovo xClarity Administrator.
Пример плейбука
Для выполнения плейбука Ansible вам нужно выбрать один из тегов, указанных выше, и предоставить переменные, которые используются этим тегом, с помощью следующей команды: ####manage manage использует следующие дополнительные переменные user, password или 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 использует следующие дополнительные переменные endpoint_ip, который является ip_address, uuid, device_type device_type может иметь следующее значение Шасси ThinkServer Хранилище Коммутатор-стойка 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;Chassis force=True"
test.yml -v --tag unmanage
Обновление политики и прошивки
Следующие дополнительные переменные используются с этими тегами
policy_info: описание:
- используется с командой updatepolicy, возможные значения
- "FIRMWARE - Получить список применимых политик прошивки"
- "RESULTS - Список сохраненных результатов сравнения для серверов, к которым назначена политика"
- "COMPARE_RESULTS - Проверить соответствие назначенной политике соблюдения, используя ID задания или задачи, который был возвращен при назначении политики соблюдения."
- "NAMELIST - Возвращает доступные политики соблюдения"
policy_name: описание: используется с командой updatepolicy, имя политики, которую нужно применить
policy_type: описание:
- используется с командой updatepolicy, политика применяется к указанному значению и может иметь следующее значение
- CMM - Модуль управления шасси
- IOSwitch - Гибкий переключатель
- RACKSWITCH - Коммутатор RackSwitch
- STORAGE - Хранилище Lenovo
- SERVER - Вычислительный узел или сервер стойки
uuid_list: описание:
- используется с командой update_all_firmware_withpolicy. Применить прошивку к uuid в списке
- если uuid_list пуст, прошивка обновляется для всех обновляемых компонентов с политикой.
- "пример ['38D9D7DBCB713C12A210E60C74A0E931','00000000000010008000542AA2D3CB00']"
mode: описание:
- "используется с командой update_firmware, update_all_firmware_withpolicy Указывает, когда активировать обновление. Это может быть одно из следующих значений."
- "немедленно - Используется режим немедленной активации при применении обновлений прошивки к выбранным конечным устройствам."
- "отложенно - Используется режим отложенной активации при применении обновлений прошивки к выбранным конечным устройствам."
Список всех политик
----------------
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
Получить список применимых политик прошивки
----------------
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
Список сохраненных результатов сравнения для серверов, к которым назначена политика
----------------
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
Проверить соответствие назначенной политике соблюдения, используя ID задания или задачи, который был возвращен при назначении политики соблюдения.
----------------
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
Назначить политику конечной точке
----------------
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
Обновление прошивки конечной точки
================
Запрос обновляемых компонентов
----------------
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
Запрос статуса обновления прошивки
----------------
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
Применение прошивки с политикой
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 mode=immediate lxca_action=apply server='7C5E041E3CCA11E18B715CF3FC112D8A,IMM2 (Primary)'" playbooks/config/config.yml -vvvv --tag update_firmware
Применение прошивки с политикой для указанных обновляемых компонентов
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217 mode=immediate lxca_action=apply uuid_list=['38D9D7DBCB713C12A210E60C74A0E931','00000000000010008000542AA2D3CB00']" 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=immediate 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=immediate lxca_action=apply" playbooks/config/config.yml -vvvv --tag update_all_firmware_withpolicy
Операции с шаблонами конфигурации, профилями конфигурации и целями конфигурации
Следующие дополнительные переменные используются для этого тега
endpoint: описание:
- используется с командами configprofiles, apply_configpatterns и get_configstatus,
- это UUID устройства для узла, стойки, башни
- endpointdid для flex
restart: описание:
- используется с командами configprofiles и apply_configpatterns
- когда активировать настройки конфигурации. Это может быть одно из следующих значений
- defer - активировать настройки IMM, но не перезагружать сервер.
- immediate - активировать все настройки и немедленно перезагрузить сервер
- pending - вручную активировать профиль сервера и перезагрузить сервер. это можно использовать только с apply_configpatterns. выбор:
- defer
- immediate
- pending
type: описание:
- используется с apply_configpatterns, допустимые значения выбор:
- node
- rack
- tower
- flex
powerdown: описание: используется с командой configprofiles для выключения сервера
resetimm: описание: используется с командой configprofiles для сброса imm
pattern_update_dict: описание: используется с командой import_configpatterns для импорта шаблона, указанного в этой переменной как словарь.
includeSettings: описание: используется с командой get_configpatterns для получения подробных настроек набора шаблона конфигурации, установите это в значение 'True'
Получить все шаблоны конфигурации
----------------
ansible-playbook -e "lxca_user=USERID lxca_password=Passw0rd lxca_url=https://10.240.29.217" playbooks/config/config.yml -vvvv --tag get_configpatterns
Получить указанный шаблон конфигурации с 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
Получить указанный шаблон конфигурации для id с 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
Применить шаблон к конечной точке
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 id=65 endpoint=B918EDCA1B5F11E2803EBECB82710ADE restart=pending type=node" playbooks/config/config.yml -vvvv --tag apply_configpatterns
используя имя
----------
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=node" playbooks/config/config.yml -vvvv --tag apply_configpatterns
Импортировать шаблон 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':'Шаблон созданный тестовым API ','location':'location','name':'Learned-System_Info-99','systemName':{'autogen':'Disable','hyphenChecked':False},'type':'SystemInfo','uri':'\/config\/template\/61','userDefined':True}}" playbooks/config/config.yml -vvvv --tag import_configpatterns
Импортировать шаблон из файла
------------------------
Читать данные шаблона конфигурации из файла config_pattern_import.yml в папке vars конфиг
ролей
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
статус конфигурации
------------
получить статус конфигурации
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
Операции с профилями конфигурации
получить все профили
----------------
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
получить указанный профиль с 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
Изменить имя профиля id
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=rename id=69 config_profile_name='измененное имя 3' " playbooks/config/config.yml -vvvv --tag configprofiles
Активировать профиль для конечной точки
----------------
ansible-playbook -e "lxca_user=TEST lxca_password=CME44ibm lxca_url=https://10.240.29.220 subcmd=activate id=69 endpoint=B918EDCA1B5F11E2803EBECB82710ADE restart=immediate " playbooks/config/config.yml -vvvv --tag configprofiles
Отменить назначение профиля
----------------
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
Удалить профиль
----------------
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
Команды обновления репозитория
Следующие дополнительные переменные используются для этого тега
machine_type: описание:
- используется с командой updaterepo
- это строка со значением, например, '7903'
fixids: описание:
- используется с командами updaterepo, get_particular_managementserver_pkg и update_managementserver_pkg
- это строка со значением, например, 'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch'
scope: описание:
- используется с командой updaterepo, возможные значения
- all - Когда lxca_action=refresh указано, этот параметр возвращает информацию обо всех версиях всех обновлений прошивки, доступных для всех поддерживаемых устройств.
- latest - Когда lxca_action=refresh указано, этот параметр возвращает информацию о самой последней версии всех обновлений прошивки для всех поддерживаемых устройств.
- payloads - Когда lxca_action=acquire указано, этот параметр возвращает информацию о конкретных обновлениях прошивки.
file_type: описание:
- используется с командой updaterepo, когда lxca_action=delete или lxca_action=export указано, этот параметр используется. Вы можете указать одно из следующих значений
- all - Удалить выбранные файлы обновлений (платеж, история изменений, памятка и метаданные файлы)
- payloads - Удаляет только выбранные файлы изображений платфом
Запросы
----------------
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
Действие
----------------
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
Операции серверов управления
Следующие дополнительные переменные используются для этого тега
fixids: описание:
- используется с командами updaterepo, get_particular_managementserver_pkg и update_managementserver_pkg
- это строка со значением, например, 'lnvgy_sw_lxca-fw-repository-pack_1-1.0.1_anyos_noarch'
update_key: описание:
- Используется с командами управления серверами, следующие параметры допустимы Возвращает указанный тип обновления. Это может быть одно из следующих значений.
- all - Возвращает всю информацию. Это значение по умолчанию.
- currentVersion - Возвращает текущую версию Lenovo XClarity Administrator.
- history Возвращает историю обновлений серверов управления.
- importDir Возвращает каталог для репозитория обновлений сервера управления.
- size - Возвращает размер репозитория (в байтах).
- updates - Возвращает информацию о всех пакетах обновлений.
- updatedDate - Возвращает дату последнего обновления.
files: описание:
- Используется с командами управления серверами для импорта файлов в LXCA, файл можно указать как строку с разделением запятой
- пример
- '/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'
получить сервер управления с различными ключевыми параметрами
-----------------------------------------------
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
получить конкретные данные с 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
nsible-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
Обновление параметров для сервера управления
----------------------------------
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
Импортировать локальные файлы на сервер управления
--------------------------------------
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
файлы, указанные относительно файла плейбука
----------------------------------------------
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
Операции с образами ОС
Следующие дополнительные переменные используются для этого тега
subcmd: описание:
- Используется с образом ОС, он может иметь следующие значения
- list - список всех или указанных деталей образов ОС
- delete - удалить указанные детали образов ОС
- globalsettings - Установка глобальных значений, используемых в развертывании ОС
- hostsettings - Установка конкретных значений хоста, используемых в развертывании ОС
- hostPlatforms - Используется для развертывания образов ОС
- remoteFileServers - Используется для операций с удаленными ftp, http серверами
imagetype: описание: Используется с импортом образа ОС типа файлов. выбор:
- BUNDLE
- BOOT
- DUD
- OS
- OSPROFILE
- SCRIPT
- CUSTOM_CONFIG
- UNATTENDED
osimages_dict: тип: dict описание: Используется с образом ОС, он используется для установки параметров образа ОС и развертывания ОС.
получить все образцы ОС
-----------------
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
удалить образ ОС с 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
получить глобальные настройки для образов ОС
-----------------
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
установить глобальные настройки для образов ОС
-----------------
для настройки глобальных настроек получите детали из get golbalSetting и измените
параметр, который вы хотите изменить. Этот пример устанавливает пароль по умолчанию для 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
получить настройки хоста для образов ОС
-----------------
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
создать настройки хоста для образов ОС
-----------------
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
обновить настройки хоста для образов ОС
-----------------
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
удалить настройки хоста для образов ОС
-----------------
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
импортировать файл образа ОС с удаленного сервера
-------------------------------------
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
импортировать файл скрипта образа ОС локально
-------------------------------------
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
получить детали платформ хоста для образов ОС
------------------------------------
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
развернуть образ ОС на узле
----------------------
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
получить все удаленные серверы файлов
-------------------------
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
Получить конкретные удаленные серверы файлов
------------------------------
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
Удалить конкретный удаленный файловый сервер
---------------------------------
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
Добавить удаленный файловый сервер
----------------------
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 является необязательной командой подробного вывода, которая помогает определить, что происходит во время выполнения плейбука.
- name: получить данные configtargets от 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/ansible-role-lxca-config