23 KiB
23 KiB
Модуль decort_disk
Обзор модуля decort_disk
Модуль decort_disk предназначен для выполнения следующих действий над дисками:
- создать (см. примеры)
- с указанием описания (см. параметр description и примеры)
- c указанием СХД (см. параметр sep_id и примеры)
- с указанием СХД и пула (см. параметр sep_id и параметр pool и примеры)
- удалить (см. примеры)
- в корзину (см. параметр state и примеры)
- безвозвратно (см. параметр state и параметр permanently и примеры)
- восстановить из корзины (см. параметр state и примеры)
- изменить (см. примеры)
- имя (см. параметр name и примеры)
- размер (см. параметр size и примеры)
- лимиты ввода/вывода (см. параметр limitIO и примеры)
- политику хранения (см. параметр storage_policy_id и примеры)
- включить/отключить общий доступ (см. параметр shareable и примеры)
Параметры модуля decort_disk
Ниже приведен список параметров для модуля decort_disk (за исключением общих параметров):
| Параметр | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| account_id | (int) |
Уникальный целочисленный идентификатор аккаунта, которому принадлежит данный диск.
При идентификации диска по имени (см. параметр name) должен быть задан либо идентификатор, либо имя аккаунта (см. параметр account_name). Если одновременно заданы и account_id, и account_name, то account_name игнорируется. |
|||||
| account_name | (str) |
Имя аккаунта, которому принадлежит данный диск.
При идентификации диска по имени (см. параметр name) должно быть задано либо имя, либо идентификатор учётной записи (см. параметр account_id). Если одновременно заданы и account_id, и account_name, то account_name игнорируется. |
|||||
| description | (str) |
Текстовое описание диска.
Данный параметр является опциональным и учитывается только при создании диска, а при всех прочих операциях игнорируется. |
|||||
| id | (int) |
Уникальный целочисленный идентификатор диска.
Соответствующий диск должен существовать (таким образом, с помощью id нельзя создать новый диск, а только управлять уже имеющимися). Если задан данный параметр, то параметры name, account_name и account_id игнорируются. |
|||||
| force_detach |
(bool)
Default: false
|
Задаёт поведение платформы при попытке удалить диск, подключённый к виртуальной машине.
По умолчанию, удаление подключённых дисков не разрешается, и попытка удалить такой диск приведёт к аварийному завершению модуля. Чтобы изменить это поведение, явно установите force_detach: true.
|
|||||
| limitIO | (dict) |
Параметр, позволяющий ограничить скорость ввода/вывода диска как в iops, так и в байтах в секунду.
Обратите внимание, что параметры с total не задаются вместе с read/write. |
|||||
| read_bytes_sec | (int) | ||||||
| read_bytes_sec_max | (int) | ||||||
| read_iops_sec | (int) | ||||||
| read_iops_sec_max | (int) | ||||||
| size_iops_sec | (int) | ||||||
| total_bytes_sec | (int) | ||||||
| total_bytes_sec_max | (int) | ||||||
| total_iops_sec | (int) | ||||||
| total_iops_sec_max | (int) | ||||||
| write_bytes_sec | (int) | ||||||
| write_bytes_sec_max | (int) | ||||||
| write_iops_sec | (int) | ||||||
| write_iops_sec_max | (int) | ||||||
| name | (str) |
Имя диска.
Для идентификации диска требуется либо его name и информация об аккаунте (account_id или account_name), которому принадлежит диск, либо его id. |
|||||
| permanently |
(bool)
Default: false
|
Параметр, использующийся при удалении диска.
При значении true - диск удалится навсегда, а при false - попадёт в корзину.
|
|||||
| place_with | (int) |
Идентификатор образа диска, из которого следует взять параметр sep_id, чтобы разместить данный диск на той же системе хранения данных, что и указанный образ диска.
Данный параметр является опциональным и используется только на стадии создания диска. Если задан place_with, то sep_id игнорируется. |
|||||
| pool | (str) |
Название пула на системе хранения данных, в рамках которой следует создать данный диск.
Этот параметр используется только на стадии создания диска и игнорируется при операциях над уже существующими дисками. Параметр является опциональным, если не задан, то платформа будет использовать пул, который сконфигурирован на целевой системе хранения как пул по умолчанию. |
|||||
| sep_id | (int) |
Идентификатор системы хранения данных (Storage End-point).
Данный параметр определяет систему хранения данных, на ресурсах которой создаётся диск. Используется только при создании диска и игнорируется при прочих операциях. Альтернативой данному параметру является place_with, позволяющий разместить диск на той же системе хранения, что и указанный образ диска, на базе которого создаётся виртуальная машина. |
|||||
| shareable |
(bool)
Default: false
|
Включение/отключение общего доступа к диску. | |||||
| size | (int) |
Размер диска в ГБ.
Этот параметр является обязательным при создании диска. Если он задан для уже существующего диска, а текущий размер диска меньше заданного, то будет предпринята попытка увеличить размер диска. При прочих операциях данный параметр игнорируется. |
|||||
| state |
(str)
Значения: present
absent
Default: present
|
Целевое состояние диска. | |||||
| storage_policy_id | (int) |
Идентификатор политики хранения.
Обязателен при создании. |
|||||
Возвращаемые значения модуля decort_disk
Модуль decort_disks возвращает информацию о диске в виде словаря facts со следующими ключами:
| Ключ | Тип | Описание | |||||
|---|---|---|---|---|---|---|---|
| account_id | int | Уникальный целочисленный идентификатор аккаунта, которому принадлежит диск. | |||||
| blkdiscard | bool |
true - unmap
false - ignore
|
|||||
| cache_mode | str | Режим кэширования диска. | |||||
| computes | dict | Словарь, в котором ключ - идентификатор, а значение - имя виртуальной машины, к которой в настоящий момент подключён диск. Если диск не подключён, то возвращается пустой словарь. | |||||
| gid | int | Идентификатор физического кластера (Grid ID), на ресурсах которого создан диск. | |||||
| id | int | Уникальный целочисленный идентификатор данного диска. | |||||
| iotune | dict | Текущие ограничения ввода/вывода диска. | |||||
| read_bytes_sec | int | null | ||||||
| read_bytes_sec_max | int | null | ||||||
| read_iops_sec | int | null | ||||||
| read_iops_sec_max | int | null | ||||||
| size_iops_sec | int | null | ||||||
| total_bytes_sec | int | null | ||||||
| total_bytes_sec_max | int | null | ||||||
| total_iops_sec | int | null | ||||||
| total_iops_sec_max | int | null | ||||||
| write_bytes_sec | int | null | ||||||
| write_bytes_sec_max | int | null | ||||||
| write_iops_sec | int | null | ||||||
| write_iops_sec_max | int | null | ||||||
| name | str | Имя диска. Обратите внимание, что имя диска не является уникальным с точки зрения системы хранения данных, на которой этот диск расположен. | |||||
| pool | str | Имя пула на системе хранения данных, в котором размещаются ресурсы диска. | |||||
| sep_id | int | Идентификатор системы хранения данных (Storage Endpoint), на которой размещаются ресурсы данного диска. | |||||
| size | int | Размер диска в ГБ. | |||||
| size_available | float | Размер незанятого пространства в ГБ. | |||||
| size_used | float | Размер используемого пространства в ГБ. | |||||
| state | str | Текущий статус диска. | |||||
| storage_policy_id | int | Идентификатор политики хранения. | |||||
| to_clean | bool | Диск помечен для очистки после удаления. | |||||
Примеры использования
Создать
С указанием описания
- name: Example
hosts: localhost
tasks:
- name: Create disk with description
decort_disk:
# Параметры для авторизации упущены
account_id: "{{ account_id }}"
name: "{{ disk_name }}"
size: "{{ disk_size }}"
storage_policy_id: "{{ storage_policy_id }}"
description: "{{ disk_description }}"
С указанием СХД
- name: Example
hosts: localhost
tasks:
- name: Create disk with sep
decort_disk:
# Параметры для авторизации упущены
account_id: "{{ account_id }}"
name: "{{ disk_name }}"
size: "{{ disk_size }}"
storage_policy_id: "{{ storage_policy_id }}"
sep_id: "{{ sep_id }}"
С указанием СХД и пула
- name: Example
hosts: localhost
tasks:
- name: Create disk with sep and pool
decort_disk:
# Параметры для авторизации упущены
account_id: "{{ account_id }}"
name: "{{ disk_name }}"
size: "{{ disk_size }}"
storage_policy_id: "{{ storage_policy_id }}"
sep_id: "{{ sep_id }}"
pool: "{{ sep_pool_name }}"
Удалить
В корзину
- name: Example
hosts: localhost
tasks:
- name: Delete
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
state: absent
Безвозвратно
- name: Example
hosts: localhost
tasks:
- name: Delete permanently
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
permanently: true
state: absent
Восстановить из корзины
- name: Example
hosts: localhost
tasks:
- name: Restore
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
state: present
Изменить
Имя
- name: Example
hosts: localhost
tasks:
- name: Change name
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
name: "{{ disk_new_name }}"
Размер
- name: Example
hosts: localhost
tasks:
- name: Change size
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
size: "{{ disk_new_size }}"
Лимиты ввода/вывода
- name: Example
hosts: localhost
tasks:
- name: Change IO limits
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
limitIO:
read_bytes_sec: "{{ read_bytes_sec }}"
write_bytes_sec: "{{ write_bytes_sec }}"
read_iops_sec: "{{ read_iops_sec }}"
write_iops_sec: "{{ write_iops_sec }}"
read_bytes_sec_max: "{{ read_bytes_sec_max }}"
write_bytes_sec_max: "{{ write_bytes_sec_max }}"
read_iops_sec_max: "{{ read_iops_sec_max }}"
write_iops_sec_max: "{{ write_iops_sec_max }}"
size_iops_sec: "{{ size_iops_sec }}"
Политику хранения
- name: Example
hosts: localhost
tasks:
- name: Change storage policy
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
storage_policy_id: "{{ disk_new_storage_policy_id }}"
Включить/отключить общий доступ
- name: Example
hosts: localhost
tasks:
- name: Change shareable
decort_disk:
# Параметры для авторизации упущены
id: "{{ disk_id }}"
shareable: "{{ shareable }}"