community.general.redfish_command 模块 – 使用 Redfish API 管理带外控制器
注意
此模块是 community.general 集合(版本 10.1.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。 它不包含在 ansible-core
中。 要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.general
。
要在 playbook 中使用它,请指定:community.general.redfish_command
。
概要
在本地构建 Redfish URI 并将其发送到远程 OOB 控制器以执行操作。
管理 OOB 控制器,例如重启、日志管理。
管理 OOB 控制器用户,例如添加、删除、更新。
管理系统电源,例如开机、关机、优雅重启和强制重启。
参数
参数 |
注释 |
---|---|
要更新的帐户服务的属性。 默认值: |
|
要应用于用户帐户的帐户类型数组。 |
|
用于向 OOB 控制器进行身份验证的安全令牌。 |
|
OOB 控制器的基本 URI。 |
|
需要在给定服务器中验证的 BIOS 属性。 |
|
当 bootdevice 为 “UefiBootNext” 时的 BootNext 目标。 |
|
使用覆盖时的启动模式。 选择
|
|
设置启动配置时的启动设备。 |
|
要在 OOB 控制器上执行的类别。 |
|
用于请求的 SSL/TLS 密码。 当提供列表时,所有密码按顺序用 有关更多详细信息,请参阅 OpenSSL 密码列表格式。 可用密码取决于 Python 和 OpenSSL/LibreSSL 版本。 |
|
要在 OOB 控制器上执行的命令列表。 |
|
要删除/修改的帐户 ID。 也可以在帐户创建中使用,以解决供应商问题,其中 POST 请求中需要新用户的 ID。 |
|
要添加/修改的帐户的新密码。 |
|
要添加/删除/修改的帐户的用户名。 |
|
要应用于用户帐户的 OEM 帐户类型数组。 |
|
用于向 OOB 控制器进行身份验证的密码。 |
|
重置为默认值时要应用的模式。 选择
|
|
要修改的系统、管理器或机箱的 ID。 |
|
要添加/修改的帐户的角色。 |
|
会话资源的 URI。 |
|
删除 仅当 选择
|
|
HTTP 请求到 OOB 控制器的超时时间(以秒为单位)。 此参数的默认值在 community.general 9.0.0 中从 默认值: |
|
当 bootdevice 为 “UefiTarget” 时的 UEFI 启动目标。 |
|
何时应用更新的时间。 选择
|
|
用于检索更新映像的凭据。 |
|
用于检索更新映像的密码。 |
|
用于检索更新映像的用户名。 |
|
可选的 OEM 标头,作为多部分 HTTP 推送更新的单独表单数据发送。 根据 DMTF Redfish 规范 12.6.2.2,标头应以“Oem”开头。 有关更多详细信息,请参阅 https://www.dmtf.org/sites/default/files/standards/documents/DSP0266_1.21.0.html 如果设置,则还需要 |
|
用于 HTTP 多部分推送更新的自定义 OEM 属性的 MIME 类型。 |
|
用于 HTTP 多部分推送更新的自定义 OEM 属性。 如果设置,则还需要 这些属性将直接传递,而无需 Ansible 进行任何验证或转换。这意味着内容可以是文件、字符串或任何其他数据。如果内容是应该转换为 JSON 的字典,则必须在使用 ansible.builtin.to_json 过滤器将其传递给此模块之前,将其转换为 JSON。 |
|
用于检查正在进行的更新状态的句柄。 |
|
更新映像的文件名,可选择包含路径。 |
|
更新映像的 URI。 |
|
用于 HTTP 多部分推送更新的属性。 |
|
更新的协议。 |
|
应用更新的目标资源 URI 列表。 默认值: |
|
用于更新 account_username 的新用户名。 |
|
用于向 OOB 控制器进行身份验证的用户名。 |
|
VirtualMedia 命令的选项。 |
|
要插入或弹出的映像的 URL。 |
|
指示在命令完成后将映像视为已插入。 选择
|
|
适用于映像的媒体类型列表。 默认值: |
|
用于访问映像 URL 的密码。 |
|
用于映像的传输方法。 |
|
用于映像的网络协议。 |
|
用于访问映像 URL 的用户名。 |
|
指示该媒体被视为写保护。 选择
|
|
阻塞直到服务再次准备就绪。 选择
|
|
在放弃之前,阻塞多长时间直到服务再次准备就绪。 默认值: |
属性
属性 |
支持 |
描述 |
---|---|---|
支持: 无 |
可以在 |
|
支持: 无 |
当处于 diff 模式时,将返回有关已更改(或可能需要在 |
示例
- name: Restart system power gracefully
community.general.redfish_command:
category: Systems
command: PowerGracefulRestart
resource_id: 437XR1138R2
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Turn system power off
community.general.redfish_command:
category: Systems
command: PowerForceOff
resource_id: 437XR1138R2
- name: Restart system power forcefully
community.general.redfish_command:
category: Systems
command: PowerForceRestart
resource_id: 437XR1138R2
- name: Shutdown system power gracefully
community.general.redfish_command:
category: Systems
command: PowerGracefulShutdown
resource_id: 437XR1138R2
- name: Turn system power on
community.general.redfish_command:
category: Systems
command: PowerOn
resource_id: 437XR1138R2
- name: Reboot system power
community.general.redfish_command:
category: Systems
command: PowerReboot
resource_id: 437XR1138R2
- name: Set one-time boot device to {{ bootdevice }}
community.general.redfish_command:
category: Systems
command: SetOneTimeBoot
resource_id: 437XR1138R2
bootdevice: "{{ bootdevice }}"
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Set one-time boot device to UefiTarget of "/0x31/0x33/0x01/0x01"
community.general.redfish_command:
category: Systems
command: SetOneTimeBoot
resource_id: 437XR1138R2
bootdevice: "UefiTarget"
uefi_target: "/0x31/0x33/0x01/0x01"
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Set one-time boot device to BootNext target of "Boot0001"
community.general.redfish_command:
category: Systems
command: SetOneTimeBoot
resource_id: 437XR1138R2
bootdevice: "UefiBootNext"
boot_next: "Boot0001"
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Set persistent boot device override
community.general.redfish_command:
category: Systems
command: EnableContinuousBootOverride
resource_id: 437XR1138R2
bootdevice: "{{ bootdevice }}"
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Set one-time boot to BiosSetup
community.general.redfish_command:
category: Systems
command: SetOneTimeBoot
boot_next: BiosSetup
boot_override_mode: Legacy
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Disable persistent boot device override
community.general.redfish_command:
category: Systems
command: DisableBootOverride
- name: Set system indicator LED to blink using security token for auth
community.general.redfish_command:
category: Systems
command: IndicatorLedBlink
resource_id: 437XR1138R2
baseuri: "{{ baseuri }}"
auth_token: "{{ result.session.token }}"
- name: Add user
community.general.redfish_command:
category: Accounts
command: AddUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
new_username: "{{ new_username }}"
new_password: "{{ new_password }}"
roleid: "{{ roleid }}"
- name: Add user with specified account types
community.general.redfish_command:
category: Accounts
command: AddUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
new_username: "{{ new_username }}"
new_password: "{{ new_password }}"
roleid: "{{ roleid }}"
account_types:
- Redfish
- WebUI
- name: Add user using new option aliases
community.general.redfish_command:
category: Accounts
command: AddUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
account_password: "{{ account_password }}"
account_roleid: "{{ account_roleid }}"
- name: Delete user
community.general.redfish_command:
category: Accounts
command: DeleteUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
- name: Disable user
community.general.redfish_command:
category: Accounts
command: DisableUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
- name: Enable user
community.general.redfish_command:
category: Accounts
command: EnableUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
- name: Add and enable user
community.general.redfish_command:
category: Accounts
command: AddUser,EnableUser
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
new_username: "{{ new_username }}"
new_password: "{{ new_password }}"
roleid: "{{ roleid }}"
- name: Update user password
community.general.redfish_command:
category: Accounts
command: UpdateUserPassword
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
account_password: "{{ account_password }}"
- name: Update user role
community.general.redfish_command:
category: Accounts
command: UpdateUserRole
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
roleid: "{{ roleid }}"
- name: Update user name
community.general.redfish_command:
category: Accounts
command: UpdateUserName
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
account_updatename: "{{ account_updatename }}"
- name: Update user name
community.general.redfish_command:
category: Accounts
command: UpdateUserName
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
update_username: "{{ update_username }}"
- name: Update AccountService properties
community.general.redfish_command:
category: Accounts
command: UpdateAccountServiceProperties
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_properties:
AccountLockoutThreshold: 5
AccountLockoutDuration: 600
- name: Update user AccountTypes
community.general.redfish_command:
category: Accounts
command: UpdateUserAccountTypes
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
account_username: "{{ account_username }}"
account_types:
- Redfish
- WebUI
- name: Clear Manager Logs with a timeout of 20 seconds
community.general.redfish_command:
category: Manager
command: ClearLogs
resource_id: BMC
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
timeout: 20
- name: Create session
community.general.redfish_command:
category: Sessions
command: CreateSession
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
register: result
- name: Set chassis indicator LED to blink using security token for auth
community.general.redfish_command:
category: Chassis
command: IndicatorLedBlink
resource_id: 1U
baseuri: "{{ baseuri }}"
auth_token: "{{ result.session.token }}"
- name: Delete session using security token created by CreateSesssion above
community.general.redfish_command:
category: Sessions
command: DeleteSession
baseuri: "{{ baseuri }}"
auth_token: "{{ result.session.token }}"
session_uri: "{{ result.session.uri }}"
- name: Clear Sessions
community.general.redfish_command:
category: Sessions
command: ClearSessions
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Simple update
community.general.redfish_command:
category: Update
command: SimpleUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
update_image_uri: https://example.com/myupdate.img
- name: Simple update with additional options
community.general.redfish_command:
category: Update
command: SimpleUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
update_image_uri: //example.com/myupdate.img
update_protocol: FTP
update_targets:
- /redfish/v1/UpdateService/FirmwareInventory/BMC
update_creds:
username: operator
password: supersecretpwd
- name: Multipart HTTP push update; timeout is 600 seconds to allow for a
large image transfer
community.general.redfish_command:
category: Update
command: MultipartHTTPPushUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
timeout: 600
update_image_file: ~/images/myupdate.img
- name: Multipart HTTP push with additional options; timeout is 600 seconds
to allow for a large image transfer
community.general.redfish_command:
category: Update
command: MultipartHTTPPushUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
timeout: 600
update_image_file: ~/images/myupdate.img
update_targets:
- /redfish/v1/UpdateService/FirmwareInventory/BMC
update_oem_params:
PreserveConfiguration: false
- name: Multipart HTTP push with custom OEM options
vars:
oem_payload:
ImageType: BMC
community.general.redfish_command:
category: Update
command: MultipartHTTPPushUpdate
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
update_image_file: ~/images/myupdate.img
update_targets:
- /redfish/v1/UpdateService/FirmwareInventory/BMC
update_custom_oem_header: OemParameters
update_custom_oem_mime_type: "application/json"
update_custom_oem_params: "{{ oem_payload | to_json }}"
- name: Perform requested operations to continue the update
community.general.redfish_command:
category: Update
command: PerformRequestedOperations
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
update_handle: /redfish/v1/TaskService/TaskMonitors/735
- name: Insert Virtual Media
community.general.redfish_command:
category: Systems
command: VirtualMediaInsert
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
virtual_media:
image_url: 'http://example.com/images/SomeLinux-current.iso'
media_types:
- CD
- DVD
resource_id: 1
- name: Insert Virtual Media
community.general.redfish_command:
category: Manager
command: VirtualMediaInsert
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
virtual_media:
image_url: 'http://example.com/images/SomeLinux-current.iso'
media_types:
- CD
- DVD
resource_id: BMC
- name: Eject Virtual Media
community.general.redfish_command:
category: Systems
command: VirtualMediaEject
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
virtual_media:
image_url: 'http://example.com/images/SomeLinux-current.iso'
resource_id: 1
- name: Eject Virtual Media
community.general.redfish_command:
category: Manager
command: VirtualMediaEject
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
virtual_media:
image_url: 'http://example.com/images/SomeLinux-current.iso'
resource_id: BMC
- name: Restart manager power gracefully
community.general.redfish_command:
category: Manager
command: GracefulRestart
resource_id: BMC
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Restart manager power gracefully and wait for it to be available
community.general.redfish_command:
category: Manager
command: GracefulRestart
resource_id: BMC
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
wait: True
- name: Restart manager power gracefully
community.general.redfish_command:
category: Manager
command: PowerGracefulRestart
resource_id: BMC
- name: Turn manager power off
community.general.redfish_command:
category: Manager
command: PowerForceOff
resource_id: BMC
- name: Restart manager power forcefully
community.general.redfish_command:
category: Manager
command: PowerForceRestart
resource_id: BMC
- name: Shutdown manager power gracefully
community.general.redfish_command:
category: Manager
command: PowerGracefulShutdown
resource_id: BMC
- name: Turn manager power on
community.general.redfish_command:
category: Manager
command: PowerOn
resource_id: BMC
- name: Reboot manager power
community.general.redfish_command:
category: Manager
command: PowerReboot
resource_id: BMC
- name: Factory reset manager to defaults
community.general.redfish_command:
category: Manager
command: ResetToDefaults
resource_id: BMC
reset_to_defaults_mode: ResetAll
- name: Verify BIOS attributes
community.general.redfish_command:
category: Systems
command: VerifyBiosAttributes
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
bios_attributes:
SubNumaClustering: "Disabled"
WorkloadProfile: "Virtualization-MaxPerformance"
返回值
通用返回值在此处记录 这里,以下是此模块独有的字段
键 |
描述 |
---|---|
包含操作结果或错误描述的消息 返回: 始终 示例: |
|
包含来自操作的特定于命令的响应数据的字典。 返回: 成功时 示例: |