infinidat.infinibox.infini_vol 模块 – 在 Infinibox 上创建、删除或修改卷

注意

此模块是 infinidat.infinibox 集合(版本 1.4.5)的一部分。

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

要安装它,请使用:ansible-galaxy collection install infinidat.infinibox。您需要满足其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定:infinidat.infinibox.infini_vol

infinidat.infinibox 2.3.0 中的新增功能

概要

  • 此模块在 Infinibox 上创建、删除或修改卷。

要求

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

参数

参数

注释

name

字符串

卷名。

parent_volume_name

字符串

指定卷名。这是创建快照的卷父卷。如果 volume_type 为快照,则需要此参数。

password

字符串 / 必需

Infinibox 用户密码。

pool

字符串

主卷所在的池。创建主卷需要此参数,但快照不需要。

restore_volume_from_snapshot

布尔值

指定为 true 以从名称字段指定的现有快照还原卷 (parent_volume_name)。

状态必须设置为 present,volume_type 必须为“snapshot”。

选项

  • false ← (默认)

  • true

serial

字符串

卷序列号。

size

字符串

卷大小(以 MB、GB 或 TB 为单位)。创建主卷需要此参数,但快照不需要。

snapshot_lock_expires_at

字符串

这将导致快照在指定的日期时间被锁定。使用 Python 的 datetime 格式 YYYY-mm-dd HH:MM:SS.ffffff,例如 2020-02-13 16:21:59.699700

snapshot_lock_only

布尔值

这将锁定现有快照,但会禁止刷新快照。

选项

  • false ← (默认)

  • true

state

字符串

创建/修改主卷或快照(如果存在),或删除(如果不存在)。

选项

  • "present"

  • "present" ← (默认)

  • "absent"

system

字符串 / 必需

Infinibox 主机名或 IPv4 地址。

thin_provision

布尔值

主卷是否应进行精简配置或完整配置。

选项

  • false

  • true ← (默认)

user

字符串 / 必需

具有足够权限的 Infinibox 用户用户名(请参阅注释)。

volume_type

字符串

指定卷类型,常规卷或快照。

选项

  • "master" ← (默认)

  • "snapshot"

write_protected

字符串

指定卷是否应受写保护。快照的默认值为 True,常规卷的默认值为 False。

选项

  • "Default" ← (默认)

  • "True"

  • "False"

注释

注意

  • 此模块需要 infinisdk python 库

  • 如果未将 user 和 password 参数直接传递给模块,则必须设置 INFINIBOX_USER 和 INFINIBOX_PASSWORD 环境变量

  • 如果未提供凭据,Ansible 将使用 infinisdk 配置文件 ~/.infinidat/infinisdk.ini。请参阅 http://infinisdk.readthedocs.io/en/latest/getting_started.html

  • 所有 Infinidat 模块都支持检查模式(--check)。但是,如果资源依赖关系不满足任务的要求,则创建资源的预演可能会失败。例如,考虑一个在池中创建卷的任务。如果池不存在,则卷创建任务将失败。即使剧本中存在先前任务会创建池但未创建(因为池创建也是预演的一部分),它也会失败。

示例

- name: Create new volume named foo under pool named bar
  infini_vol:
    name: foo
    # volume_type: master  # Default
    size: 1TB
    thin_provision: true
    pool: bar
    state: present
    user: admin
    password: secret
    system: ibox001
- name: Create snapshot named foo_snap from volume named foo
  infini_vol:
    name: foo_snap
    volume_type: snapshot
    parent_volume_name: foo
    state: present
    user: admin
    password: secret
    system: ibox001
- name: Stat snapshot, also a volume, named foo_snap
  infini_vol:
    name: foo_snap
    state: present
    user: admin
    password: secret
    system: ibox001
- name: Remove snapshot, also a volume, named foo_snap
  infini_vol:
    name: foo_snap
    state: absent
    user: admin
    password: secret
    system: ibox001

作者

  • David Ohlemacher (@ohlemacher)