Spec-Zone.ru › Ansible

Модуль community.libvirt.virt_volume — управление томами libvirt в пуле хранения

Примечание

Этот модуль входит в коллекцию community.libvirt (версия 2.2.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.libvirt. Для использования этого модуля требуются дополнительные компоненты; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.libvirt.virt_volume.

Новое в community.libvirt 1.4.0

  • Краткое описание
  • Требования
  • Параметры
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Управление томами libvirt в пуле хранения.

Требования

На узле, выполняющем этот модуль, необходимы следующие компоненты.

  • libvirt
  • привязки libvirt для Python
  • lxml
  • pycdlib
  • python >= 2.6

Параметры

Параметр

Комментарии

clone_source

строка

Имя тома, из которого выполняется клонирование.

При необходимости указывается с помощью state present или command create.

cloudinit_config

словарь

Словарь Ansible с данными cloud-init для создания CD-ROM CIDATA.

Данные должны содержать ключи METADATA, USERDATA и/или NETWORK_CONFIG.

Этот параметр обязателен, если command имеет значение create_cidata_cdrom.

command

строка

create — аналогично state / present

delete — аналогично state / absent

wipe — выполняет очистку *только* указанного параметром name тома — том *не удаляется*.

list_volumes — выводит список всех томов в пуле хранения.

get_xml — получает XML указанного параметром name тома.

create_cidata_cdrom — создает CD-ROM CIDATA с предоставленными данными cloudinit_config. Позволяет выполнять начальную настройку виртуальных машин с поддержкой cloud-init.

Не может использоваться вместе с state.

Варианты:

  • "create"
  • "delete"
  • "wipe"
  • "list_volumes"
  • "get_xml"
  • "create_cidata_cdrom"

name

псевдонимы: volume

строка

Имя управляемого тома. Обратите внимание, что том должен быть предварительно определен с помощью XML.

pool

строка / обязательный

Имя пула хранения, в котором находится том.

state

строка

Если present, создает новый том на основе предоставленного XML, при необходимости клонируя образ из clone_source. Имя тома задается в XML (если указан параметр name, он игнорируется). Параметр xml обязателен.

Если absent, удаляет из пула хранения том, указанный параметром name. Если для wipe задано значение true, перед удалением том будет очищен.

Не может использоваться вместе с command.

Можно использовать для изменения размера существующих томов, если xml имеет большую емкость, чем текущий том.

Варианты:

  • "present"
  • "absent"

uri

строка

URI подключения к libvirt.

По умолчанию: "qemu:///system"

wipe

логическое значение

Следует ли очистить том перед удалением.

Варианты:

  • false ← (по умолчанию)
  • true

xml

строка

Определение создаваемого тома в формате XML.

Этот параметр обязателен, если command имеет значение create

Примеры

- name: Create volume in existing default pool
  community.libvirt.virt_volume:
    state: present
    pool: default
    xml: |
      <volume>
      <name>testing-volume</name>
      <allocation>0</allocation>
      <capacity unit="M">10</capacity>
      <target>
        <permissions>
          <mode>0644</mode>
          <label>virt_image_t</label>
        </permissions>
      </target>
      </volume>

- name: Create a volume from a template
  community.libvirt.virt_volume:
    pool: default
    xml: "{{ lookup('ansible.builtin.template', 'volume-template.xml.j2') }}"
    state: present

- name: List volumes in default pool
  community.libvirt.virt_volume:
    pool: default
    command: list_volumes

- name: Get volume XML
  community.libvirt.virt_volume:
    pool: default
    command: get_xml
    name: testing-volume
  register: r__virt_volume__get_xml

- name: Wipe a volume
  community.libvirt.virt_volume:
    pool: default
    command: wipe
    name: testing-volume

- name: Delete volume from default pool, wiping it first (using state parameter)
  community.libvirt.virt_volume:
    pool: default
    state: absent
    name: testing-volume
    wipe: true

- name: Delete volume from default pool (using command parameter)
  community.libvirt.virt_volume:
    pool: default
    command: delete
    name: testing-volume

- name: Create a volume from an existing image (clone)
  community.libvirt.virt_volume:
    pool: default
    command: create
    clone_source: gold-ubuntu2404-base-image
    xml: |
      <volume type='file'>
        <name>testing_volume--boot</name>
        <capacity unit='G'>10</capacity>
        <target><format type='qcow2'/></target>
      </volume>

- name: Create CIDATA (cloud-init) cdrom
  community.libvirt.virt_volume:
    pool: default
    command: create_cidata_cdrom
    name: testing_cidata.iso
    cloudinit_config:
      NETWORK_CONFIG: {version: 2, ethernets: {eth0: {dhcp4: true}}}
      USERDATA: {users: [{name: testuser, lock_passwd: false, shell: /bin/bash, ssh_authorized_keys: ["ssh-rsa xxxxxxxxxxxxxxxxxxxxx=="]}]}
      METADATA: {local-hostname: my_host}
  register: r__virt_volume__create_cidata_cdrom

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

allocation

целое число

При command=list_volumes возвращает текущий выделенный размер тома в байтах.

Возвращается: при успешном выполнении

Пример: 2740523008

capacity

целое число

При command=list_volumes возвращает общую емкость тома в байтах.

Возвращается: при успешном выполнении

Пример: 8589934592

type

строка

При command=list_volumes возвращает тип тома, определяемый типом нижележащего пула.

Возвращается: при успешном выполнении

Пример: "file"

Авторы

  • Leonardo Galli (@galli-leo)
  • Niclas Kretschmer (@NK308)
  • Dougal Seeley (@dseeley)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/libvirt/virt_volume_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API