dellemc.openmanage.idrac_diagnostics 模块 – 运行并导出 iDRAC 诊断

注意

此模块是 dellemc.openmanage 集合(版本 9.9.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install dellemc.openmanage。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:dellemc.openmanage.idrac_diagnostics

dellemc.openmanage 9.0.0 中的新增功能

概要

  • 此模块允许您在 iDRAC 上运行和导出诊断。

要求

执行此模块的主机需要满足以下要求。

  • python >= 3.9.6

参数

参数

注释

ca_path

路径

在 dellemc.openmanage 5.0.0 中添加

包含用于验证的 CA 证书的隐私增强邮件 (PEM) 文件。

导出

布尔值

将诊断信息导出到给定的共享。

此操作需要 *share_parameters*。

当 *run* 为 true 且 *job_wait* 为 false 时,才会触发运行诊断作业。*export* 被忽略。

选择

  • false

  • true

idrac_ip

字符串 / 必需

iDRAC IP 地址。

idrac_password

别名:idrac_pwd

字符串

iDRAC 用户密码。

如果未提供密码,则使用环境变量 IDRAC_PASSWORD

示例:export IDRAC_PASSWORD=password

idrac_port

整数

iDRAC 端口。

默认值: 443

idrac_user

字符串

iDRAC 用户名。

如果未提供用户名,则使用环境变量 IDRAC_USERNAME

示例:export IDRAC_USERNAME=username

job_wait

布尔值

提供等待作业完成的选项。

当 *run* 为 true 且 *reboot_type* 为 power_cycle 时适用。

仅适用于运行诊断作业。

选择

  • false

  • true ←(默认)

job_wait_timeout

整数

等待作业完成的时间(以秒为单位)。

当 *job_wait* 为 true 时适用。

默认值: 1200

reboot_type

字符串

此选项提供立即重启主机以运行诊断的选择。

当 *run* 为 true 时适用。

force 强制正常关机,向操作系统发出关闭信号并等待十分钟。如果操作系统未关闭,则 iDRAC 将对系统进行电源循环。

graceful 正常关机等待操作系统关闭并等待系统重新启动。

power_cycle 对设备执行电源循环进行硬重置。

选择

  • "force"

  • "graceful" ←(默认)

  • "power_cycle"

resource_id

字符串

资源的 ID。

如果未提供资源 ID 的值,则模块将从 iDRAC 返回的系统资源列表中选取第一个可用的资源 ID。

run

布尔值

在 iDRAC 上运行诊断作业。

根据 *run_mode* 运行诊断作业,并将报告保存在内部存储中。*reboot_type* 适用。

选择

  • false

  • true

run_mode

字符串

此选项提供运行诊断的选择。

express 快速诊断为每个服务器子系统运行一个测试包。但是,它不会为每个子系统运行包中可用的完整测试集。

extended 扩展诊断为所有子系统的每个测试包运行所有可用的测试。

long_run 长时间运行诊断运行快速和扩展测试。

选择

  • "express" ←(默认)

  • "extended"

  • "long_run"

scheduled_end_time

字符串

在 *scheduled_start_time* 之后,将诊断运行到指定的结束日期和结束时间。

接受的格式为 yyyymmddhhmmss 和 YYYY-MM-DDThh:mm:ss+HH:MM。

如果运行操作在指定的结束时间之前未完成,则操作将失败。

runTruereboot_typepower_cycle时适用。

scheduled_start_time

字符串

在指定时间安排作业。

接受的格式为 yyyymmddhhmmss 和 YYYY-MM-DDThh:mm:ss+HH:MM。

runtruereboot_type为power_cycle时适用。

share_parameters

字典

诊断导出操作所需的参数。

exporttrue时,share_parameters是必需的。

file_name

字符串

export操作的诊断文件名。

ignore_certificate_warning

字符串

连接到共享时忽略证书警告,仅当share_typehttps时适用。

on 忽略证书警告。

off 不忽略证书警告。

选择

  • "off" ← (默认)

  • "on"

ip_address

字符串

网络共享的 IP 地址。

share_typenfscifshttphttps时,ip_address是必需的。

password

字符串

网络共享的密码。

share_typecifs时,password是必需的。

proxy_password

字符串

代理服务器的密码。

proxy_password 仅当share_typehttphttps且当proxy_supportparameters_proxy时适用。

proxy_port

整数

代理服务器的端口。

proxy_port 仅当share_typehttphttps且当proxy_supportparameters_proxy时适用。

默认值: 80

proxy_server

字符串

代理服务器的 IP 地址。

proxy_supportparameters_proxy时,proxy_server是必需的。

proxy_server 仅当share_typehttphttps且当proxy_supportparameters_proxy时适用。

proxy_support

字符串

指定是否必须使用代理支持。

off 不使用代理设置。

default_proxy 使用默认的代理设置。

parameters_proxy 使用指定的代理设置。当proxy_supportparameters_proxy时,proxy_server是必需的。

proxy_support 仅当share_typehttphttps时适用。

选择

  • "off" ← (默认)

  • "default_proxy"

  • "parameters_proxy"

proxy_type

字符串

代理服务器的代理类型。

http 选择 HTTP 代理。

socks 选择 SOCKS 代理。

proxy_type 仅当share_typehttphttps且当proxy_supportparameters_proxy时适用。

选择

  • "http" ← (默认)

  • "socks"

proxy_username

字符串

代理服务器的用户名。

proxy_username 仅当share_typehttphttps且当proxy_supportparameters_proxy时适用。

share_name

字符串

诊断文件的网络共享或本地路径。

share_type

字符串

网络共享的共享类型。

local 使用本地路径进行export操作。

nfs 使用 NFS 共享进行export操作。

cifs 使用 CIFS 共享进行export操作。

http 使用 HTTP 共享进行export操作。

https 使用 HTTPS 共享进行export操作。

选择

  • "local" ← (默认)

  • "nfs"

  • "cifs"

  • "http"

  • "https"

username

字符串

网络共享的用户名。

share_typecifs时,username是必需的。

workgroup

字符串

网络共享的工作组。

workgroup仅当share_typecifs时适用。

timeout

整数

在 dellemc.openmanage 5.0.0 中添加

套接字级别的超时时间,以秒为单位。

默认值: 30

validate_certs

布尔值

在 dellemc.openmanage 5.0.0 中添加

如果为false,则不会验证 SSL 证书。

仅在个人控制的站点上使用自签名证书时配置false

在集合版本5.0.0之前,validate_certs 默认为false

选择

  • false

  • true ←(默认)

x_auth_token

字符串

在 dellemc.openmanage 9.3.0 中添加

身份验证令牌。

如果未提供 x_auth_token,则使用环境变量IDRAC_X_AUTH_TOKEN

示例:export IDRAC_X_AUTH_TOKEN=x_auth_token

备注

注意

  • 从可以直接访问 Dell iDRAC 的系统运行此模块。

  • 此模块仅支持 iDRAC9 及更高版本。

  • 此模块支持 IPv4 和 IPv6 地址。

  • 此模块支持check_mode

  • 此模块需要在服务器上存在“Dell Diagnostics”固件包。

  • export 操作的 share_typelocal 时,不显示 job_details。

示例

---
- name: Run and export the diagnostics to local path
  dellemc.openmanage.idrac_diagnostics:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "path/to/ca_file"
    run: true
    export: true
    share_parameters:
      share_type: "local"
      share_path: "/opt/local/diagnostics/"
      file_name: "diagnostics.txt"

- name: Run the diagnostics with power cycle reboot on schedule
  dellemc.openmanage.idrac_diagnostics:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "path/to/ca_file"
    run: true
    run_mode: "express"
    reboot_type: "power_cycle"
    scheduled_start_time: 20240101101015

- name: Run and export the diagnostics to HTTPS share
  dellemc.openmanage.idrac_diagnostics:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "path/to/ca_file"
    run: true
    export: true
    share_parameters:
      share_type: "HTTPS"
      ignore_certificate_warning: "on"
      share_name: "/share_path/diagnostics_collection_path"
      ip_address: "192.168.0.2"
      file_name: "diagnostics.txt"

- name: Run and export the diagnostics to NFS share
  dellemc.openmanage.idrac_diagnostics:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "path/to/ca_file"
    run: true
    export: true
    share_parameters:
      share_type: "NFS"
      share_name: "nfsshare/diagnostics_collection_path/"
      ip_address: "192.168.0.3"
      file_name: "diagnostics.txt"

- name: Export the diagnostics to CIFS share
  dellemc.openmanage.idrac_diagnostics:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "path/to/ca_file"
    export: true
    share_parameters:
      share_type: "CIFS"
      share_name: "/cifsshare/diagnostics_collection_path/"
      ip_address: "192.168.0.4"
      file_name: "diagnostics.txt"

- name: Export the diagnostics to HTTPS share via proxy
  dellemc.openmanage.idrac_diagnostics:
    hostname: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "path/to/ca_file"
    export: true
    share_parameters:
      share_type: "HTTPS"
      share_name: "/share_path/diagnostics_collection_path"
      ignore_certificate_warning: "on"
      ip_address: "192.168.0.2"
      file_name: "diagnostics.txt"
      proxy_support: parameters_proxy
      proxy_type: http
      proxy_server: "192.168.0.5"
      proxy_port: 1080
      proxy_username: "proxy_user"
      proxy_password: "proxy_password"

返回值

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

描述

diagnostics_file_path

字符串

返回诊断文件的完整路径。

返回: 对于导出操作

示例: "/share_path/diagnostics_collection_path/diagnostics.txt"

error_info

字典

HTTP 错误的详细信息。

返回: 在 HTTP 错误时

示例: {"error": {"@Message.ExtendedInfo": [{"Message": "已存在远程诊断 (ePSA) 作业。", "MessageArgs": [], "[email protected]": 0, "MessageId": "IDRAC.2.9.SYS098", "RelatedProperties": [], "[email protected]": 0, "Resolution": "如果现有远程诊断 (ePSA) 作业的计划开始时间正常,则无需执行响应操作。否则,请删除现有诊断 (ePSA) 作业并使用适当的开始时间重新创建另一个作业。", "Severity": "Informational"}], "code": "Base.1.12.GeneralError", "message": "发生了一般错误。有关详细信息,请参阅 ExtendedInfo。"}}

job_details

字典

返回作业状态的输出。

返回: 对于运行和导出操作

示例: {"ActualRunningStartTime": "2024-01-10T10:14:31", "ActualRunningStopTime": "2024-01-10T10:26:34", "CompletionTime": "2024-01-10T10:26:34", "Description": "作业实例", "EndTime": "2024-01-10T10:30:15", "Id": "JID_XXXXXXXXXXXX", "JobState": "Completed", "JobType": "RemoteDiagnostics", "Message": "作业已成功完成。", "MessageArgs": [], "[email protected]": 0, "MessageId": "SYS018", "Name": "远程诊断", "PercentComplete": 100, "StartTime": "2024-01-10T10:12:15", "TargetSettingsURI": null}

msg

字符串

诊断操作的状态。

返回: 始终

示例: "成功运行并导出了诊断。"

作者

  • Shivam Sharma(@ShivamSh3)