lxca-config

Ansible Роль: Настройка Lenovo LXCA

Ansible роль для выполнения различных операций настройки (таких как управление, обновление прошивки, настройка политики, развертывание ОС) на управляемых объектах из Lenovo xClarity Administrator.

Требования

Обязательные переменные

Доступные переменные указаны ниже с описанием:

Переменная Описание
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
Лицензия
bsd-3-clause
Загрузки
33994
Владелец
Open source projects from Lenovo