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) 文件。

export

布尔值

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

此操作需要 *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。

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

这适用于 *run* 为 True 且 *reboot_type* 为 power_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_typenfs, cifs, httphttps 时,需要 ip_address

password

字符串

网络共享的密码。

share_typecifs 时,需要 password

proxy_password

字符串

代理服务器的密码。

仅当 share_typehttphttpsproxy_supportparameters_proxy 时,proxy_password 才适用。

proxy_port

整数

代理服务器的端口。

仅当 share_typehttphttpsproxy_supportparameters_proxy 时,proxy_port 才适用。

默认值: 80

proxy_server

字符串

代理服务器的IP地址。

proxy_supportparameters_proxy 时,需要 proxy_server

仅当 share_typehttphttpsproxy_supportparameters_proxy 时,proxy_server 才适用。

proxy_support

字符串

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

off 不使用代理设置。

default_proxy 使用默认代理设置。

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

仅当 share_typehttphttps 时,proxy_support 才适用。

选项

  • "off" ← (默认)

  • "default_proxy"

  • "parameters_proxy"

proxy_type

字符串

代理服务器的代理类型。

http 选择HTTP代理。

socks 选择SOCKS代理。

仅当 share_typehttphttpsproxy_supportparameters_proxy 时,proxy_type 才适用。

选项

  • "http" ← (默认)

  • "socks"

proxy_username

字符串

代理服务器的用户名。

仅当 share_typehttphttpsproxy_supportparameters_proxy 时,proxy_username 才适用。

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": "A Remote Diagnostic (ePSA) job already exists.", "MessageArgs": [], "[email protected]": 0, "MessageId": "IDRAC.2.9.SYS098", "RelatedProperties": [], "[email protected]": 0, "Resolution": "A response action is not required if the scheduled start time of the existing Remote Diagnostic (ePSA) job is ok. Else, delete the existing Diagnostics (ePSA) job and recreate another with an appropriate start time.", "Severity": "Informational"}], "code": "Base.1.12.GeneralError", "message": "A general error has occurred. See ExtendedInfo for more information."}}

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": "已完成", "JobType": "远程诊断", "Message": "作业已成功完成。", "MessageArgs": [], "[email protected]": 0, "MessageId": "SYS018", "Name": "远程诊断", "PercentComplete": 100, "StartTime": "2024-01-10T10:12:15", "TargetSettingsURI": null}

消息

字符串

诊断操作的状态。

返回值: 始终返回

示例: "已成功运行并导出诊断数据。"

作者

  • Shivam Sharma(@ShivamSh3)