From 0b621804226484a7866a20adcb6b712b646f0b5e Mon Sep 17 00:00:00 2001
From: msbolshakov <108739148+msbolshakov@users.noreply.github.com>
Date: Mon, 31 Oct 2022 17:55:54 +0700
Subject: [PATCH] =?UTF-8?q?Updated=20=D0=BC=D0=BE=D0=B4=D1=83=D0=BB=D1=8C?=
=?UTF-8?q?=20decort=5Fdisk=20(markdown)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
модуль-decort_disk.md | 81 +++++++++++++++++++++++++++++++++++--
1 file changed, 78 insertions(+), 3 deletions(-)
diff --git a/модуль-decort_disk.md b/модуль-decort_disk.md
index 50b1ef5..bb47cda 100644
--- a/модуль-decort_disk.md
+++ b/модуль-decort_disk.md
@@ -5,6 +5,9 @@
- создание / удаление диска;
- изменение размера диска.
+- переименование диска.
+- ограничение ввода / вывода диска.
+- восстановление удаленного диска из корзины.
Обратите внимание:
@@ -26,16 +29,22 @@
|app_secret | (string) | Секретный ключ приложения, который используется для подключения к контроллеру облачной платформы DECORT в режиме authenticator: oauth2. Данный параметр является обязательным для указанного режима. Так как он содержит секретную информацию, то его не рекомендуется задавать непосредственно в playbook. Если параметр не задан в playbook, то модуль будет использовать значение переменной окружения `DECORT_APP_SECRET`.|
| authenticator | Значения:
`legacy`
`oauth2`
`jwt` <- default | Режим аутентификации при подключении к контроллеру облачной платформы DECORT. |
|controller_url | (string) | URL контроллера, соответствующего экземпляру облачной платформы DECORT, в рамках которого должен быть создан (или уже существует) данный виртуальный сервер. Данный параметр является обязательным.|
+| description | (string) | Описание диска. Используется при создании диска, по умолчанию установлено: "Disk created with Ansible Decort_disk module." |
|id | (int) | Уникальный целочисленный идентификатор диска. Соответствующий диск должен существовать (таким образом, с помощью id нельзя создать новый диск, а только управлять уже имеющимися). Если задан данный параметр, то параметры `name`, `account_name` и `account_id` игнорируются.|
+| iops | (int) | Ограничение ввода/вывода диска. Используется при создании диска. |
| force_detach | (bool)
`True`
`False` <- default | Задаёт поведение платформы при попытке удалить диск, подключённый к экземпляру _compute_.
По умолчанию, удаление подключённых дисков не разрешается, и попытка удалить такой диск приведёт к аварийному завершению модуля. Чтобы изменить это поведение, явно установите `force_detach: True`. |
-|jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt` Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения `DECORT_JWT`.
+|jwt | (string) | JSON Web Token (JWT), который будет использоваться для подключения к контроллеру облачной платформы DECORT в режиме `authenticator: jwt` Данный параметр является обязательным для указанного режима. Так как он содержит потенциально секретную информацию, а сам JWT, как правило, имеет ограниченное время жизни, то его не рекомендуется задавать непосредственно в playbook. Если этот параметр не определен в playbook, то модуль будет использовать значение переменной окружения `DECORT_JWT`.|
+| limitIO | (dict) | Параметр, позволяющий ограничить скорость ввода/вывода диска в iops, так и в байтах в секунду. Обратите внимание, что параметры с total не задаются вместе с read/write. Все возможные подпараметры можно увидеть в примерах.|
| name | (string) | Имя диска. Для идентификации диска требуется либо его имя name и информация об учётной записи (`account_id` или `account_name`), которой принадлежит диск, либо его `id`.|
|oauth2_url | (string) | URL авторизационного сервера, работающего по протоколу Oauth2, который должен использоваться в режиме `authenticator: oauth2`. Данный параметр является обязательным для указанного режима. Если параметр не задан в playbook, модуль будет использовать значение переменной окружения `DECORT_OAUTH2_URL`.|
+| permanently | (bool) | Параметр, использующийся при удалении диска, при значении True - диск удалится навсегда, а при False - попадёт в корзину. |
|place_with | (int) | Идентификатор образа ОС, из которого следует взять параметр `sep_id`, чтобы разместить данный диск на той же системе хранения данных, что и указанный образ ОС. Данный параметр является опциональным и используется только на стадии создания диска. Если задан `place_with`, то `sep_id` игнорируется.|
|pool | (string) | Название пула на системе хранения данных, в рамках которой следует создать данный диск. Этот параметр используется только на стадии создания диска и игнорируется при операциях над уже существующими дисками. Параметр является опциональным, значение по умолчанию - пустая строка (в этом случае платформа использует пул, который сконфигурирован на целевой системе хранения как пул по умолчанию). |
+| reason | (string) | Причина, по которой было выполнено какое-либо действие, в данном модуле используется только при удалении диска. |
|sep_id | (int) | Идентификатор провайдера системы хранения данных (Storage End-point Provider). Данный параметр определяет систему хранения данных, на ресурсах которой создаётся диск. Используется только при создании диска и игнорируется при прочих операциях. Альтернативой данному параметру является `place_with`, позволяющий разместить диск на той же системе хранения, что и указанный загрузочный образ, на базе которого создаётся экземпляр compute.|
|size | (int) | Размер диска в ГБ. Этот параметр является обязательным при создании диска. Если он задан для уже существующих дисков, а текущий размер диска меньше заданного, то будет предпринята попытка увеличить размер диска. При прочих операциях данный параметр игнорируется.|
| state | Значения:
`present` <- default
`absent`
| Целевое состояние диска. |
+| type | (string) | Тип создаваемого диска. Возможные значения: B-Boot, D-Data, T-Temp. По умолчанию установлено значение D.|
| verify_ssl | (bool)
`True` <- default
`False` | Позволяет отключить проверку SSL сертификатов при выполнении API вызовов в адрес контроллера облачной инфраструктуры, например, при работе с изолированной облачной инфраструктурой, использующей самоподписанные сертификаты.
Применяйте данный параметр с осторожностью, предпочтительно в защищенных средах. |
| workflow_callback | (string) | URL, по которому вышестоящее приложение (например, пользовательский портал или оркестратор верхнего уровня, инициирующий запуск Ansible playbook) ожидает API вызова, в параметрах которого модуль будет оперативно передавать информацию о своем статусе и текущей фазе исполнения.
Данный параметр является опциональным.
Функциональность callbacks в текущей версии модуля не реализована.|
| workflow_context | (string) | Контекстная информация, которая будет содержаться в параметрах API вызова, адресованного к `workflow_callback` URL.
Данная информация призвана однозначно идентифицировать задачу, выполняемую модулем в настоящий момент, чтобы оркестратор верхнего уровня мог сопоставить получаемые через вызов `workflow_callback` данные со своим внутренним состоянием и отслеживать инициированные им задачи.
Параметр является опциональным и имеет значение только при условии, что также задан `workflow_callback`.
Функциональность callbacks в текущей версии модуля не реализована.|
@@ -51,6 +60,7 @@
|attached_to | int | Идентификатор экземпляра Compute (напр., виртуального сервера), к которому в настоящий момент подключён диск. Если диск не подключён, то attached_to=0|
|gid | int | Идентификатор физического кластера (Grid ID), на ресурсах которого создан диск.|
|id | int | Уникальный целочисленный идентификатор данного диска.|
+| iotune | dict | Текущие ограничение ввода / вывода диска. |
|name | string | Имя диска. Обратите внимание, что имя диска не является уникальным с точки зрения системы хранения данных, на которой этот диск расположен.|
|pool | string | Имя пула на системе хранения данных, в котором размещаются ресурсы диска.|
|sep_id | int | Идентификатор системы хранения (Storage Endpoint Provider), на которой размещаются ресурсы данного диска.|
@@ -60,7 +70,7 @@
## Пример использования модуля decort_disk
-В данном примере создаётся диск размером 50ГБ (size: 50) на ресурсах системы хранения, доступной через Storage Endpoint provider под номером 1 (sep_id: 1) в пуле "data01".
+В данном примере создаётся диск размером 50ГБ (size: 50), с ограничением ввода / вывода в 2000 iops, на ресурсах системы хранения, доступной через Storage Endpoint provider под номером 1 (sep_id: 1) в пуле "data01".
```
- name: manage data disk
@@ -74,11 +84,76 @@
size: 50
account_name: "MyAccount"
sep_id: 1
+ iops: 2000
+ description: "Disk example"
pool: data01
state: present
register: my_data_disk01
delegate_to: localhost
```
+В данном примере ограничивается уже существующий диск с именем "DataDisk01", ограничивается как чтение/запись в iops, так и в байтах, также задаётся их максимальное чтение / запись(read/write_*_sec_max).
+
+```
+- name: manage data disk
+ decort_disk:
+ authenticator: oauth2
+ app_id: "{{ my_app_id }}"
+ app_secret: "{{ my_app_secret }}"
+ oauth2_url: "https://sso.digitalenergy.online"
+ controller_url: "https://cloud.digitalenergy.online"
+ name: "DataDisk01"
+ account_name: "MyAccount"
+ limitIO:
+ read_bytes_sec: 100
+ read_bytes_sec_max: 100
+ read_iops_sec: 100
+ read_iops_sec_max: 100
+ size_iops_sec: 100
+ write_bytes_sec: 100
+ write_bytes_sec_max: 100
+ write_iops_sec: 100
+ write_iops_sec_max: 100
+ total_bytes_sec: 0
+ total_iops_sec: 0
+ total_bytes_sec_max: 0
+ total_iops_sec_max: 0
+ state: present
+ register: my_data_disk01
+ delegate_to: localhost
+```
+
+В данном примере выполняется восстановление удаленного диска с id 111 из корзины.
+
+```
+- name: manage data disk
+ decort_disk:
+ authenticator: oauth2
+ app_id: "{{ my_app_id }}"
+ app_secret: "{{ my_app_secret }}"
+ oauth2_url: "https://sso.digitalenergy.online"
+ controller_url: "https://cloud.digitalenergy.online"
+ id: 111
+ state: present
+ register: my_data_disk01
+ delegate_to: localhost
+```
+
+В данном примере выполняется переименование диска с id 111 на новое имя "NewExampleDisk".
+
+```
+- name: manage data disk
+ decort_disk:
+ authenticator: oauth2
+ app_id: "{{ my_app_id }}"
+ app_secret: "{{ my_app_secret }}"
+ oauth2_url: "https://sso.digitalenergy.online"
+ controller_url: "https://cloud.digitalenergy.online"
+ id: 111
+ name: "NewExampleDisk"
+ state: present
+ register: my_data_disk01
+ delegate_to: localhost
+```
Здесь результат работы модуля decort_disk записывается в переменную my_data_disk01. Для получения идентификатора диска, например, при подключении его к виртуальному серверу, следует воспользоваться показанной ниже конструкцией:
@@ -89,4 +164,4 @@
data_disks:
- "{{ my_data_disk01.facts.id }}"
<< для краткости фрагмент опущен >>
-```
+```
\ No newline at end of file