ngine_io.cloudstack.cs_storage_pool – Управляет первичными хранилищами на облаках, основанных на Apache CloudStack.
Примечание
Этот плагин входит в коллекцию ngine_io.cloudstack (версия 1.1.0).
Для его установки используйте: ansible-galaxy collection install ngine_io.cloudstack.
Для использования в playbook укажите: ngine_io.cloudstack.cs_storage_pool.
Новое в версии 0.1.0: плагина ngine_io.cloudstack
Обзор
- Создание, обновление, перевод в техническое обслуживание, отключение, включение и удаление хранилищ.
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- python >= 2.6
- cs >= 0.9.0
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| allocation_state строка |
| Состояние выделения хранилища. |
| api_http_method строка |
| Метод HTTP, используемый для запроса к API-точке. Если не указан, используется переменная среды CLOUDSTACK_METHOD. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. Значение по умолчанию: get, если не указано. |
| api_key строка | Ключ API CloudStack. Если не указан, используется переменная среды CLOUDSTACK_KEY. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. | |
| api_region строка | По умолчанию: "cloudstack" | Имя раздела ini в файле cloustack.ini. Если не указан, используется переменная среды CLOUDSTACK_REGION. |
| api_secret строка | Секретный ключ API CloudStack. Если не указан, используется переменная среды CLOUDSTACK_SECRET. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. | |
| api_timeout целое число | Таймаут HTTP в секундах. Если не указан, используется переменная среды CLOUDSTACK_TIMEOUT. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. Значение по умолчанию 10 секунд, если не указано. | |
| api_url строка | URL CloudStack API, например, https://cloud.example.com/client/api. Если не указан, используется переменная среды CLOUDSTACK_ENDPOINT. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. | |
| api_verify_ssl_cert строка | Файл сертификата авторитета CA. Если не указан, используется переменная среды CLOUDSTACK_VERIFY. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. Значение по умолчанию: null, если не указано. | |
| capacity_bytes целое число | Количество байтов, которые CloudStack может выделить из этого хранилища. | |
| capacity_iops целое число | Количество операций ввода-вывода в секунду, которые CloudStack может выделить из этого хранилища. | |
| cluster строка | Имя кластера. | |
| hypervisor строка | Требуется при создании хранилища на уровне зоны. Возможные значения: KVM, VMware, BareMetal, XenServer, LXC, HyperV, UCS, OVM, Simulator. | |
| managed булево |
| Указывает, должно ли хранилище управляться CloudStack. Применимо только при создании. |
| name строка / обязательный | Имя хранилища. | |
| pod строка | Имя подсети. | |
| provider строка | По умолчанию: "DefaultPrimary" | Имя поставщика хранилища, например, SolidFire, SolidFireShared, DefaultPrimary, CloudByte. |
| scope строка |
| Область действия хранилища. По умолчанию cluster, если указан cluster, в противном случае zone. |
| state строка |
| Состояние хранилища. |
| storage_tags список / элементы=строка | Теги, связанные с этим хранилищем. псевдонимы: storage_tag | |
| storage_url строка | URL хранилища. Требуется, если state=present. | |
| zone строка | Имя зоны, в которой должен быть развернут хост. Если не задано, используется зона по умолчанию. |
Примечания
Примечание
- Ansible использует метод конфигурации библиотеки
cs, если учетные данные не предоставлены аргументамиapi_url,api_key,api_secret. Конфигурация считывается из нескольких мест в следующем порядке.CLOUDSTACK_ENDPOINT,CLOUDSTACK_KEY,CLOUDSTACK_SECRETиCLOUDSTACK_METHOD. Переменные средыCLOUDSTACK_TIMEOUT. Переменная средыCLOUDSTACK_CONFIG, указывающая на файл.ini. Файлcloudstack.iniв текущей рабочей директории. Файл.cloudstack.iniв домашней директории пользователя. Дополнительно, можно указать несколько учетных данных и конечных точек с использованием разделов ini вcloudstack.ini. Используйте аргументapi_regionдля выбора имени раздела, по умолчанию используетсяcloudstack. Подробнее см. https://github.com/exoscale/cs. - Подробное руководство по модулям Cloudstack можно найти в Руководстве по облаку CloudStack.
- Этот модуль поддерживает режим проверки.
Примеры
- name: ensure a zone scoped storage_pool is present
ngine_io.cloudstack.cs_storage_pool:
zone: zone01
storage_url: rbd://admin:SECRET@ceph-mons.domain/poolname
provider: DefaultPrimary
name: Ceph RBD
scope: zone
hypervisor: KVM
- name: ensure a cluster scoped storage_pool is disabled
ngine_io.cloudstack.cs_storage_pool:
name: Ceph RBD
zone: zone01
cluster: cluster01
pod: pod01
storage_url: rbd://admin:SECRET@ceph-the-mons.domain/poolname
provider: DefaultPrimary
scope: cluster
allocation_state: disabled
- name: ensure a cluster scoped storage_pool is in maintenance
ngine_io.cloudstack.cs_storage_pool:
name: Ceph RBD
zone: zone01
cluster: cluster01
pod: pod01
storage_url: rbd://admin:SECRET@ceph-the-mons.domain/poolname
provider: DefaultPrimary
scope: cluster
allocation_state: maintenance
- name: ensure a storage_pool is absent
ngine_io.cloudstack.cs_storage_pool:
name: Ceph RBD
state: absent
Возвращаемые значения
Общие значения, возвращаемые модулем, описаны здесь. Следующие поля уникальны для этого модуля:
| Ключ | Возвращено | Описание |
|---|---|---|
| allocation_state строка | успех | Состояние хранилища. Пример: enabled |
| capacity_iops целое число | при доступности | IOPS, которые CloudStack может предоставить из этого хранилища. Пример: 60000 |
| cluster строка | при вызове по кластеру | Имя кластера. Пример: Cluster01 |
| created строка | успех | Дата создания пула. Пример: 2014-12-01T14:57:57+0100 |
| disk_size_allocated целое число | успех | Текущий размер выделенного дискового пространства пула. Пример: 2443517624320 |
| disk_size_total целое число | успех | Общий размер пула. Пример: 3915055693824 |
| disk_size_used целое число | успех | Текущий размер используемого дискового пространства пула. Пример: 1040862622180 |
| hypervisor строка | при доступности | Гипервизор, связанный с этим хранилищем. Пример: KVM |
| id строка | успех | UUID пула. Пример: a3fca65a-7db1-4891-b97c-48806a978a96 |
| overprovision_factor строка | успех | Коэффициент перевыделения хранилища. Пример: 2.0 |
| path строка | успех | Путь к хранилищу, используемый в storage_url. Пример: poolname |
| pod строка | при вызове по кластеру | Имя подсети. Пример: Cluster01 |
| scope строка | успех | Область применения хранилища. Пример: cluster |
| state строка | успех | Состояние хранилища, возвращённое API. Пример: Up |
| storage_capabilities словарь | успех | Возможности хранилища. Пример: {'VOLUME_SNAPSHOT_QUIESCEVM': 'false'} |
| storage_tags список / элементы=строка | успех | Теги хранилища. Пример: ['perf', 'ssd'] |
| suitable_for_migration булево | успех | Подходит ли хранилище для миграции тома. |
| zone строка | успех | Имя зоны. Пример: Zone01 |
Авторы
- Netservers Ltd. (@netservers)
- René Moser (@resmo)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/ngine_io/cloudstack/cs_storage_pool_module.html