consul_session - управление сессиями consul
Новая версия 2.0.
Обзор
- позволяет добавлять, изменять и удалять сессии в кластере consul. Эти сессии могут использоваться совместно с парами ключ-значение для реализации распределённых блокировок. Более подробная документация по работе с сессиями доступна здесь http://www.consul.io/docs/internals/sessions.html
Требования (для хоста, на котором выполняется модуль)
- python >= 2.6
- python-consul
- requests
Параметры
| параметр | обязательный | по умолчанию | варианты | комментарии |
|---|---|---|---|---|
| behavior (добавлено в 2.2)
| нет | release | дополнительное поведение, которое можно прикрепить к сессии при её создании. Может быть установлено в 'release' или 'delete'. Управляет поведением при аннулировании сессии. | |
| checks | нет | None | список проверок, которые будут использоваться для проверки состояния сессии. Если все проверки завершатся неудачно, сессия будет аннулирована, и все блокировки, связанные с ней, будут освобождены и могут быть повторно захвачены после истечения связанной задержки. | |
| datacenter | нет | None | имя датацентра, в котором существует или должна быть создана сессия. | |
| delay | нет | 15 | дополнительная задержка блокировки, которая может быть прикреплена к сессии при ее создании. Блокировки аннулированных сессий блокируются от захвата до истечения этой задержки. Значения в секундах | |
| host | нет | localhost | хост агента consul, по умолчанию localhost | |
| name | нет | None | имя, которое должно быть ассоциировано с сессией. Оно не используется consul и необязательно. | |
| node | нет | None | имя узла, с которым будет связана сессия. По умолчанию - имя агента. | |
| port | нет | 8500 | порт, на котором работает агент consul | |
| scheme (добавлено в 2.1)
| нет | http | протокол, по которому работает агент consul | |
| state | нет | present |
| указывает, должна ли сессия существовать (создаваться, если она не существует), отсутствовать (удаляться, если существует). Если создаётся, ID сессии возвращается в выводе. Если отсутствует, требуется имя или ID для удаления сессии. Информация о единичной сессии, всех сессиях для узла или всех доступных сессиях может быть получена, задав info, node или list для state; для node или info необходимо указать имя узла или ID сессии в качестве параметра. |
| validate_certs (добавлено в 2.1)
| нет | True | выполнять проверку сертификата TLS агента consul |
Примеры
- name: register basic session with consul
consul_session:
name: session1
- name: register a session with an existing check
consul_session:
name: session_with_check
checks:
- existing_check_name
- name: register a session with lock_delay
consul_session:
name: session_with_delay
delay: 20s
- name: retrieve info about session by id
consul_session: id=session_id state=info
- name: retrieve active sessions
consul_session: state=list
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется обратной совместимостью.
Для помощи в разработке модулей, если это вас интересует, пожалуйста, прочитайте Информацию о сообществе и вклад, Тестирование Ansible и Разработка модулей.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.4/consul_session_module.html