community.general.xenserver_guest_info 模块 – 收集在 Citrix Hypervisor/XenServer 主机或池上运行的虚拟机的信息

注意

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

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

要安装它,请使用:ansible-galaxy collection install community.general。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 Playbook 中使用它,请指定:community.general.xenserver_guest_info

概要

  • 此模块可用于收集基本的 VM 信息。

要求

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

  • XenAPI

参数

参数

注释

hostname

别名:host,pool

字符串

XenServer 主机或 XenServer 池主机的 hostname 或 IP 地址。

如果任务中未指定该值,则将改为使用环境变量 XENSERVER_HOST 的值。

默认值: "localhost"

name

别名:name_label

字符串

要从中收集信息的 VM 的名称。

在 XenServer 上运行的 VM 不一定具有唯一的名称。如果找到多个具有相同名称的 VM,则模块将失败。

如果有多个具有相同名称的 VM,请使用 uuid 来唯一指定要管理的 VM。

此参数区分大小写。

password

别名:pass,pwd

字符串

用于连接到 XenServer 的密码。

如果任务中未指定该值,则将改为使用环境变量 XENSERVER_PASSWORD 的值。

username

别名:admin,user

字符串

用于连接到 XenServer 的用户名。

如果任务中未指定该值,则将改为使用环境变量 XENSERVER_USER 的值。

默认值: "root"

uuid

字符串

要收集信息的 VM 的 UUID。这是 XenServer 的唯一标识符。

如果名称不是唯一的,则它是必需的。

validate_certs

布尔值

当 SSL 证书无效时允许连接。当证书不受信任时,设置为 false

如果任务中未指定该值,则将改为使用环境变量 XENSERVER_VALIDATE_CERTS 的值。

选项

  • false

  • true ←(默认)

属性

属性

支持

描述

check_mode

支持:完全

此操作不会修改状态。

可以在 check_mode 中运行,并返回更改的状态预测,而无需修改目标。

diff_mode

支持: 不适用

此操作不会修改状态。

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

注释

注意

  • XenServer 的最低支持版本是 5.6。

  • 该模块已在 XenServer 6.5、7.1、7.2、7.6、Citrix Hypervisor 8.0、XCP-ng 7.6 和 8.0 上进行了测试。

  • 要获取 XenAPI Python 库,只需在 Ansible 控制节点上运行 pip install XenAPI 即可。该库也可以在 Citrix Hypervisor/XenServer SDK(可从 Citrix 网站下载)中找到。将 SDK 中的 XenAPI.py 文件复制到 Ansible 控制节点上的 Python site-packages 中即可使用它。也可以从 GitHub 获取该库的最新版本:https://raw.githubusercontent.com/xapi-project/xen-api/master/scripts/examples/python/XenAPI/XenAPI.py

  • 如果在 hostname 中未指定协议,模块将默认使用 http://,因为 https:// 在大多数设置中存在问题。请确保在受信任的环境中访问 XenServer 主机,或显式使用 https:// 协议。

  • 要为 hostname 使用 https:// 协议,您必须将主机证书导入到您的操作系统证书存储中,或者使用 validate_certs: no。后者需要 XenServer 7.2 SDK 或更高版本的 XenAPI 库,以及 Python 2.7.9 或更高版本。

示例

- name: Gather facts
  community.general.xenserver_guest_info:
    hostname: "{{ xenserver_hostname }}"
    username: "{{ xenserver_username }}"
    password: "{{ xenserver_password }}"
    name: testvm_11
  delegate_to: localhost
  register: facts

返回值

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

描述

实例

字典

关于虚拟机的元数据

返回: 总是

示例: {"cdrom": {"type": "none"}, "customization_agent": "native", "disks": [{"name": "testvm_11-0", "name_desc": "", "os_device": "xvda", "size": 42949672960, "sr": "Local storage", "sr_uuid": "0af1245e-bdb0-ba33-1446-57a962ec4075", "vbd_userdevice": "0"}, {"name": "testvm_11-1", "name_desc": "", "os_device": "xvdb", "size": 42949672960, "sr": "Local storage", "sr_uuid": "0af1245e-bdb0-ba33-1446-57a962ec4075", "vbd_userdevice": "1"}], "domid": "56", "folder": "", "hardware": {"memory_mb": 8192, "num_cpu_cores_per_socket": 2, "num_cpus": 4}, "home_server": "", "is_template": false, "name": "testvm_11", "name_desc": "", "networks": [{"gateway": "192.168.0.254", "gateway6": "fc00::fffe", "ip": "192.168.0.200", "ip6": ["fe80:0000:0000:0000:e9cb:625a:32c5:c291", "fc00:0000:0000:0000:0000:0000:0000:0001"], "mac": "ba:91:3a:48:20:76", "mtu": "1500", "name": "Pool-wide network associated with eth1", "netmask": "255.255.255.128", "prefix": "25", "prefix6": "64", "vif_device": "0"}], "other_config": {"base_template_name": "Windows Server 2016 (64-bit)", "import_task": "OpaqueRef:e43eb71c-45d6-5351-09ff-96e4fb7d0fa5", "install-methods": "cdrom", "instant": "true", "mac_seed": "f83e8d8a-cfdc-b105-b054-ef5cb416b77e"}, "platform": {"acpi": "1", "apic": "true", "cores-per-socket": "2", "device_id": "0002", "hpet": "true", "nx": "true", "pae": "true", "timeoffset": "-25200", "vga": "std", "videoram": "8", "viridian": "true", "viridian_reference_tsc": "true", "viridian_time_ref_count": "true"}, "state": "poweredon", "uuid": "e3c0b2d5-5f05-424e-479c-d3df8b3e7cda", "xenstore_data": {"vm-data": ""}}

作者

  • Bojan Vitnik (@bvitnik)