lenovo.lxca-config
Ansible 角色:联想 LXCA 配置
这是一个用于在联想 xClarity 管理器上对托管元素进行各种配置操作的 Ansible 角色(如管理、更新固件、配置策略、操作系统部署)。
要求
Ansible 版本 2.4.2 或更高(Ansible 安装文档)
联想 xClarity 管理器的 Python 客户端(LXCA Python 客户端 v2.5.0)
使用 pip 安装:
pip install pylxca
必需变量
可用的变量如下所示,以及其描述:
变量 | 描述 |
---|---|
lxca_user | 连接到 lxca 的用户 |
lxca_password | 用户密码 |
lxca_url | 连接到 lxca 的 URL |
角色变量
可用的变量如下所示,以及其描述:
变量 | 描述 |
---|---|
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 | 重置 IMM 操作 |
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 | 删除存储的凭据 |
依赖关系
与联想 xClarity 管理器的连接。
示例 Playbook
要执行 Ansible playbook,您需要选择上述指定的标签之一,并提供标签使用的变量,使用以下命令: ####管理 管理使用以下附加变量 用户、密码或存储的凭据 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
####取消管理 取消管理使用以下附加变量 endpoint_ip,即 IP 地址、UUID、设备类型 设备类型可以有以下值:
- 机箱
- ThinkServer
- 存储
- 机架交换机
- 机架塔式
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 - 机架交换机
- STORAGE - 联想存储系统
- SERVER - 计算节点或机架服务器
uuid_list: 描述:
- 与命令 update_all_firmware_withpolicy 一起使用。将固件应用于列表中的 UUID。
- 如果 uuid_list 为空,则固件会为所有可更新组件与策略一起更新。
- "示例 ['38D9D7DBCB713C12A210E60C74A0E931','00000000000010008000542AA2D3CB00']"
mode: 描述:
- "与命令 update_firmware、update_all_firmware_withpolicy 一起使用,指示何时激活更新。这可以是以下值之一。"
- "immediate - 在应用固件更新时使用立即激活模式到所选端点。"
- "delayed - 在应用固件更新时使用延迟激活模式到所选端点。"
列出所有策略
----------------
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,无论是节点、机架、塔式
- flex 的 endpointdid
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
获取带有 includeSettings 的指定 ID 的配置模式
----------------
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 角色的 vars 文件夹中的 config_pattern_import.yml 文件读取配置模式数据
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 - 返回联想 xClarity 管理器的当前版本。
- 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
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
管理服务器的更新选项
----------------------------------
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
设置操作系统映像的全局设置
-----------------
要设置全局设置,请从获取全局设置中获取详细信息,并更改所需的参数。此示例设置 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', '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.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: 从 LXCA 获取 configtargets 数据
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