os_quota – Управление квотами OpenStack
Новая версия 2.3.
Обзор
- Управление квотами OpenStack. Квоты можно создавать, обновлять или удалять с помощью этого модуля. Квота будет обновлена, если соответствует существующему проекту и присутствует.
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- keystoneauth1 >= 3.4.0
- openstacksdk
- openstacksdk >= 0.13.0
- python >= 2.7
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_timeout целое число | Сколько времени (в секундах) слой сокетов должен ждать перед истечением времени ожидания для API-вызовов. Если этот параметр опущен, он не будет передан в библиотеку requests. | |
| auth словарь | Словарь, содержащий информацию об авторизации, необходимую стратегии подключаемого модуля авторизации облака. Для стандартного подключаемого модуля password он должен содержать auth_url, username, password, project_name и любую информацию о доменах (например, os_user_domain_name или os_project_domain_name), если облако их поддерживает. Для других подключаемых модулей этот параметр должен содержать параметры, требуемые этим подключаемым модулем. Этот параметр не нужен, если указано имя облака или присутствуют переменные окружения OpenStack OS_*. | |
| auth_type строка | Имя подключаемого модуля авторизации для использования. Если облако использует что-то кроме парольной аутентификации, здесь должно быть указано имя подключаемого модуля, а содержимое параметра auth должно быть соответствующим образом обновлено. | |
| availability_zone - | Игнорируется. Присутствует для обратной совместимости. | |
| backup_gigabytes - | Максимальный размер резервных копий в ГБ. | |
| backups - | Максимальное количество разрешенных резервных копий. | |
| ca_cert строка | Путь к пакету сертификата CA, который может использоваться для проверки SSL API-запросов. псевдонимы: cacert | |
| client_cert строка | Путь к клиенту сертификату для использования в рамках SSL транзакции. псевдонимы: cert | |
| client_key строка | Путь к ключу клиента для использования в рамках SSL транзакции. псевдонимы: key | |
| cloud сырой | Наименованное облако или конфигурация облака для работы. Если cloud — строка, она ссылается на конфигурацию облака, определённую в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не нужен, если предоставлен auth или присутствуют переменные окружения OpenStack OS_*. Если cloud — словарь, он содержит полную конфигурацию облака, как в секции clouds.yaml. | |
| cores - | Максимальное количество процессоров на проект. | |
| fixed_ips - | Количество статических IP-адресов для разрешения. | |
| floating_ips - | Количество плавающих IP-адресов, разрешенных в Compute. псевдонимы: compute_floating_ips | |
| floatingip - | Количество плавающих IP-адресов, разрешенных в Network. псевдонимы: network_floating_ips | |
| gigabytes - | Максимальный объём хранилища, разрешенный для проекта. | |
| gigabytes_lvm - | Максимальный размер отдельных томов LVM в ГБ. | |
| injected_file_size - | Максимальный размер файла в байтах. | |
| injected_files - | Количество разрешенных инжектируемых файлов. | |
| injected_path_size - | Максимальный размер пути. | |
| instances - | Максимальное количество разрешенных виртуальных машин. | |
| interface строка добавлено в 2.3 |
| Тип URL конечной точки для получения данных из каталога сервисов. псевдонимы: endpoint_type |
| key_pairs - | Количество разрешенных пар ключей. | |
| loadbalancer - добавлено в 2.4 | Количество разрешенных балансировщиков нагрузки. | |
| name - / обязательно | Имя проекта OpenStack, который нужно управлять. | |
| network - | Количество разрешенных сетей. | |
| per_volume_gigabytes - | Максимальный размер отдельных томов в ГБ. | |
| pool - добавлено в 2.4 | Количество разрешенных пулов балансировщиков нагрузки. | |
| port - | Количество сетевых портов, разрешенных, и это должно быть больше, чем ограничение виртуальных машин. | |
| properties - | Количество разрешенных свойств. | |
| ram - | Максимальный объем оперативной памяти в МБ, разрешенный для проекта. | |
| rbac_policy - | Количество разрешенных политик. | |
| region_name строка | Имя региона. | |
| router - | Количество разрешенных маршрутизаторов. | |
| security_group - | Количество разрешенных групп безопасности. | |
| security_group_rule - | Количество правил на группу безопасности, разрешенных для проекта. | |
| server_group_members - | Количество разрешенных членов групп серверов. | |
| server_groups - | Количество разрешенных групп серверов. | |
| snapshots - | Количество разрешенных снимков. | |
| snapshots_lvm - | Количество разрешенных снимков LVM. | |
| state - | По умолчанию: "present" | Значение present устанавливает квоту, а значение absent сбрасывает квоту до системных значений по умолчанию. |
| subnet - | Количество разрешенных подсетей. | |
| subnetpool - | Количество разрешенных пулов подсетей. | |
| timeout целое число | По умолчанию: 180 | Сколько времени Ansible должен ждать запрошенного ресурса. |
| validate_certs логическое значение |
| Должны ли проверяться API-запросы SSL. До Ansible 2.3 это по умолчанию было yes. псевдонимы: verify |
| volumes - | Количество разрешенных томов. |
| volumes_lvm - | Количество томов LVM для разрешения. | |
| wait boolean |
| Должен ли Ansible ожидать завершения запрошенного ресурса. |
Примечания
Примечание
- Могут использоваться стандартные переменные среды OpenStack, такие как
OS_USERNAME, вместо явных значений. - Информация об авторизации управляется openstacksdk, что означает, что значения могут браться из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.yaml, затем из стандартных переменных среды, и, наконец, из явных параметров в задачах. Дополнительную информацию можно найти на странице https://docs.openstack.org/openstacksdk/
Примеры
# List a Project Quota
- os_quota:
cloud: mycloud
name: demoproject
# Set a Project back to the defaults
- os_quota:
cloud: mycloud
name: demoproject
state: absent
# Update a Project Quota for cores
- os_quota:
cloud: mycloud
name: demoproject
cores: 100
# Update a Project Quota
- os_quota:
name: demoproject
cores: 1000
volumes: 20
volumes_type:
- volume_lvm: 10
# Complete example based on list of projects
- name: Update quotas
os_quota:
name: "{{ item.name }}"
backup_gigabytes: "{{ item.backup_gigabytes }}"
backups: "{{ item.backups }}"
cores: "{{ item.cores }}"
fixed_ips: "{{ item.fixed_ips }}"
floating_ips: "{{ item.floating_ips }}"
floatingip: "{{ item.floatingip }}"
gigabytes: "{{ item.gigabytes }}"
injected_file_size: "{{ item.injected_file_size }}"
injected_files: "{{ item.injected_files }}"
injected_path_size: "{{ item.injected_path_size }}"
instances: "{{ item.instances }}"
key_pairs: "{{ item.key_pairs }}"
loadbalancer: "{{ item.loadbalancer }}"
per_volume_gigabytes: "{{ item.per_volume_gigabytes }}"
pool: "{{ item.pool }}"
port: "{{ item.port }}"
properties: "{{ item.properties }}"
ram: "{{ item.ram }}"
security_group_rule: "{{ item.security_group_rule }}"
security_group: "{{ item.security_group }}"
server_group_members: "{{ item.server_group_members }}"
server_groups: "{{ item.server_groups }}"
snapshots: "{{ item.snapshots }}"
volumes: "{{ item.volumes }}"
volumes_types:
volumes_lvm: "{{ item.volumes_lvm }}"
snapshots_types:
snapshots_lvm: "{{ item.snapshots_lvm }}"
gigabytes_types:
gigabytes_lvm: "{{ item.gigabytes_lvm }}"
with_items:
- "{{ projects }}"
when: item.state == "present"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| openstack_quotas complex | Независимо от того, были ли внесены изменения | Словарь, описывающий квоты проекта. Пример: {'openstack_quotas': {'compute': {'cores': 150, 'fixed_ips': -1, 'floating_ips': 10, 'injected_file_content_bytes': 10240, 'injected_file_path_bytes': 255, 'injected_files': 5, 'instances': 100, 'key_pairs': 100, 'metadata_items': 128, 'ram': 153600, 'security_group_rules': 20, 'security_groups': 10, 'server_group_members': 10, 'server_groups': 10}, 'network': {'floatingip': 50, 'loadbalancer': 10, 'network': 10, 'pool': 10, 'port': 160, 'rbac_policy': 10, 'router': 10, 'security_group': 10, 'security_group_rule': 100, 'subnet': 10, 'subnetpool': -1}, 'volume': {'backup_gigabytes': 1000, 'backups': 10, 'gigabytes': 1000, 'gigabytes_lvm': -1, 'per_volume_gigabytes': -1, 'snapshots': 10, 'snapshots_lvm': -1, 'volumes': 10, 'volumes_lvm': -1}}} |
Статус
- Этот модуль не гарантирует обратную совместимость. [превью]
- Этот модуль поддерживается сообществом Ansible. [community]
Авторы
- Michael Gale (@mgale) <gale.michael@gmail.com>
Подсказка
Если вы заметили какие-либо проблемы в этом руководстве, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/os_quota_module.html