community.general.ocapi_command 模块 – 使用开放式可组合 API (OCAPI) 管理带外控制器

注意

此模块是 community.general 集合 (版本 10.1.0) 的一部分。

如果您使用的是 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用: ansible-galaxy collection install community.general

要在 playbook 中使用它,请指定: community.general.ocapi_command

community.general 6.3.0 中的新增功能

概要

  • 在本地构建 OCAPI URI 并将其发送到远程带外控制器以执行操作。

  • 管理带外控制器,例如指示灯、重启、电源模式、固件更新。

参数

参数

注释

baseuri

字符串 / 必需

带外控制器的基本 URI。

category

字符串 / 必需

在带外控制器上执行的操作类别。

command

字符串 / 必需

在带外控制器上执行的命令。

job_name

字符串

对于 command=DeleteJob 命令,要删除的作业的名称。

password

字符串 / 必需

用于向带外控制器进行身份验证的密码。

proxy_slot_number

整数

对于代理的带内请求,IOM 的插槽号。仅当 baseuri 是代理服务器时才适用。

timeout

整数

对带外控制器的 URL 请求的超时时间(秒)。

默认值: 10

update_image_path

字符串

对于 command=FWUpload,本地文件系统上固件更新映像的路径。

username

字符串 / 必需

用于向带外控制器进行身份验证的用户名。

属性

属性

支持

描述

check_mode

支持:完全支持

可以在 check_mode 下运行,并在不修改目标的情况下返回更改状态预测。

diff_mode

支持:不支持

处于差异模式时,将返回有关已更改内容(或可能需要在 check_mode 下更改的内容)的详细信息。

示例

- name: Set the power state to low
  community.general.ocapi_command:
    category: Chassis
    command: PowerModeLow
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"

- name: Set the power state to normal
  community.general.ocapi_command:
    category: Chassis
    command: PowerModeNormal
    baseuri: "{{ baseuri }}"
    username: "{{ username }}"
    password: "{{ password }}"
- name: Set chassis indicator LED to on
  community.general.ocapi_command:
    category: Chassis
    command: IndicatorLedOn
    baseuri: "{{ baseuri }}"
    proxy_slot_number: 2
    username: "{{ username }}"
    password: "{{ password }}"
- name: Set chassis indicator LED to off
  community.general.ocapi_command:
    category: Chassis
    command: IndicatorLedOff
    baseuri: "{{ baseuri }}"
    proxy_slot_number: 2
    username: "{{ username }}"
    password: "{{ password }}"
- name: Reset Enclosure
  community.general.ocapi_command:
    category: Systems
    command: PowerGracefulRestart
    baseuri: "{{ baseuri }}"
    proxy_slot_number: 2
    username: "{{ username }}"
    password: "{{ password }}"
- name: Firmware Upload
  community.general.ocapi_command:
    category: Update
    command: FWUpload
    baseuri: "iom1.wdc.com"
    proxy_slot_number: 2
    username: "{{ username }}"
    password: "{{ password }}"
    update_image_path: "/path/to/firmware.tar.gz"
- name: Firmware Update
  community.general.ocapi_command:
    category: Update
    command: FWUpdate
    baseuri: "iom1.wdc.com"
    proxy_slot_number: 2
    username: "{{ username }}"
    password: "{{ password }}"
- name: Firmware Activate
  community.general.ocapi_command:
    category: Update
    command: FWActivate
    baseuri: "iom1.wdc.com"
    proxy_slot_number: 2
    username: "{{ username }}"
    password: "{{ password }}"
- name: Delete Job
  community.general.ocapi_command:
    category: Jobs
    command: DeleteJob
    job_name: FirmwareUpdate
    baseuri: "{{ baseuri }}"
    proxy_slot_number: 2
    username: "{{ username }}"
    password: "{{ password }}"

返回值

常见返回值已在 此处 记录,以下是此模块特有的字段

描述

jobUri

字符串

用于监视操作状态的 URI。对于异步命令(例如固件更新、固件激活)返回。

返回:支持时

示例: "https://ioma.wdc.com/Storage/Devices/openflex-data24-usalp03020qb0003/Jobs/FirmwareUpdate/"

msg

字符串

包含操作结果或错误描述的消息。

返回:始终返回

示例: "Action was successful"

operationStatusId

整数

OCAPI 状态 ID(有关可能的值,请参阅 OCAPI 文档)。

返回:支持时

示例: 2

作者

  • Mike Moerk (@mikemoerk)