rax - создание/удаление экземпляра в Rackspace Public Cloud
Обзор
- создает/удаляет экземпляр Rackspace Public Cloud и необязательно ожидает, пока он станет «запущенным».
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- python >= 2.6
- pyrax
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key | Ключ API Rackspace, переопределяет credentials. псевдонимы: пароль | |
| auth_endpoint (добавлено в 1.5) | По умолчанию: "https://identity.api.rackspacecloud.com/v2.0/" | URI службы аутентификации. |
| auto_increment bool (добавлено в 1.5) |
| Указывает, следует ли увеличивать единственное число с именем созданных серверов. Применимо только при использовании атрибута group или метаключа. |
| boot_from_volume bool (добавлено в 1.9) |
| Указывает, следует ли загружать экземпляр с помощью тома Cloud Block Storage. Если указано yes и image, при загрузке будет создан новый том. boot_volume_size требуется вместе с image для создания нового тома при загрузке. |
| boot_volume (добавлено в 1.9) | Идентификатор или имя Cloud Block Storage, используемое в качестве загрузочного тома экземпляра | |
| boot_volume_size (добавлено в 1.9) | По умолчанию: 100 | Размер создаваемого тома в гигабайтах. Требуется только вместе с image и boot_from_volume. |
| boot_volume_terminate bool (добавлено в 1.9) |
| Указывает, будет ли том boot_volume или новый том из image удален при завершении работы сервера |
| config_drive bool (добавлено в 1.7) |
| Присоединить только для чтения конфигурационный том к серверу в качестве метки config-2 |
| count (добавлено в 1.4) | По умолчанию: 1 | количество экземпляров для запуска |
| count_offset (добавлено в 1.4) | По умолчанию: 1 | номер для начала подсчета |
| credentials | Файл для поиска учетных данных Rackspace. Игнорируется, если предоставлены api_key и username. псевдонимы: creds_file | |
| disk_config (добавлено в 1.4) |
| Стратегия разбиения дисков |
| env (добавлено в 1.5) | Настройка среды в ~/.pyrax.cfg, см. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#pyrax-configuration. | |
| exact_count bool (добавлено в 1.4) |
| Явное обеспечение точного количества экземпляров, используется со state=active/present. Если указано yes и count меньше, чем сопоставленных серверов, серверы будут удалены для соответствия количеству. Если количество сопоставленных серверов меньше, чем указано в count, будут добавлены дополнительные серверы. |
| extra_client_args (добавлено в 1.6) | Хэш пар ключ/значение, используемый при создании клиента cloudservers. Это считается продвинутым вариантом, используйте его разумно и с осторожностью. | |
| extra_create_args (добавлено в 1.6) | Хэш пар ключ/значение, используемый при создании нового сервера. Это считается продвинутым вариантом, используйте его разумно и с осторожностью. | |
| files | Файлы для вставки в экземпляр. remotefilename:localcontent | |
| flavor | Используемый тип экземпляра | |
| group (добавлено в 1.4) | Группа хостов для назначения серверу, также используется для идемпотентных операций для обеспечения определенного количества экземпляров | |
| identity_type (добавлено в 1.5) | По умолчанию: "rackspace" | Используемый механизм аутентификации, например, rackspace или keystone. |
| image | Используемый образ для экземпляра. Может быть id, human_id или name. С boot_from_volume, будет создан том Cloud Block Storage с этим образом | |
| instance_ids (добавлено в 1.4) | Список идентификаторов экземпляров, в настоящее время используется только при state='absent' для удаления экземпляров | |
| key_name | Используемая пара ключей для экземпляра псевдонимы: keypair | |
| meta | Хэш метаданных, связанных с экземпляром | |
| name | Имя, присваиваемое экземпляру | |
| networks (добавлено в 1.4) | По умолчанию: ["public", "private"] | Сеть для подключения к экземплярам. Если указано, необходимо указать ВСЕ сети, включая общедоступные и частные интерфейсы. Может быть id или label. |
| region | По умолчанию: "DFW" | Регион для создания экземпляра. |
| state |
| Указывает желаемое состояние ресурса |
| tenant_id (добавлено в 1.5) | Идентификатор арендатора, используемый для аутентификации. | |
| tenant_name (добавлено в 1.5) | Имя арендатора, используемое для аутентификации. | |
| user_data (добавлено в 1.7) | Данные, которые будут загружены на конфигурационный том серверов. Этот параметр подразумевает config_drive. Может быть путем к файлу или строкой | |
| username | Имя пользователя Rackspace, переопределяет credentials. | |
| verify_ssl (добавлено в 1.5) | Требовать ли проверку SSL для конечных точек API. | |
| wait bool |
| ожидать, пока экземпляр не перейдет в состояние 'запущен' |
| wait_timeout | По умолчанию: 300 | длительность ожидания, прежде чем оно прекратится, в секундах |
Примечания
Примечание
-
exact_count может быть «деструктивным», если количество работающих серверов в группе больше, чем указано в count. В таком случае состояние фактически устанавливается в
absentи лишние серверы удаляются. В случае удаления возвращаемая структура данных будет иметьactionустановленным вdelete, а самые старые серверы в группе будут удалены. - Можно использовать следующие переменные среды:
RAX_USERNAME,RAX_API_KEY,RAX_CREDS_FILE,RAX_CREDENTIALS,RAX_REGION. -
RAX_CREDENTIALSиRAX_CREDS_FILEуказывают на файл с учетными данными, подходящий для pyrax. См. https://github.com/rackspace/pyrax/blob/master/docs/getting_started.md#authenticating -
RAX_USERNAMEиRAX_API_KEYпозволяют обойти использование файла с учетными данными -
RAX_REGIONопределяет регион Rackspace Public Cloud (DFW, ORD, LON, …)
Примеры
- name: Build a Cloud Server
gather_facts: False
tasks:
- name: Server build request
local_action:
module: rax
credentials: ~/.raxpub
name: rax-test1
flavor: 5
image: b11d9567-e412-4255-96b9-bd63ab23bcfe
key_name: my_rackspace_key
files:
/root/test.txt: /home/localuser/test.txt
wait: yes
state: present
networks:
- private
- public
register: rax
- name: Build an exact count of cloud servers with incremented names
hosts: local
gather_facts: False
tasks:
- name: Server build requests
local_action:
module: rax
credentials: ~/.raxpub
name: test%03d.example.org
flavor: performance1-1
image: ubuntu-1204-lts-precise-pangolin
state: present
count: 10
count_offset: 10
exact_count: yes
group: test
wait: yes
register: rax
Статус
Этот модуль помечен как превью, что означает, что он не гарантирует обратную совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что его поддерживает сообщество Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, поддерживаемых сообществом Ansible, см. здесь.
Автор
- Jesse Keating (@omgjlk)
- Matt Martz (@sivel)
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/rax_module.html