
Алексей
13.06.2017
14:13:49
Нужно --tags один раз но теги через запятую

lastsky
13.06.2017
14:13:55

Hackru
13.06.2017
14:13:56
ну так я так и делал или че
и до 2.5

Google

lastsky
13.06.2017
14:14:09
последняя опция в предложении - —skip-tags

Igor
13.06.2017
14:30:44
А как лучше организовать такую тему:
Мне для разных серверов нужны разные значения в template.
допустим:
для одного сервера 5 строк определённых, для другого - 7 строк определённых

Pavel
13.06.2017
14:34:09
может 2 разных темплейта и в хост-варс имя темлейта как параметр

Igor
13.06.2017
14:34:47
хм, вариант

Pavel
13.06.2017
14:36:10
я так делаю для веб-сервера: разные темплейты для http и https...

Igor
13.06.2017
14:37:14
спасибо

Pavel
13.06.2017
14:42:20
спасибо
пожалуйста... мы ж здесь для того и собрались чтобы помогать друг другу

Igor
13.06.2017
14:43:55
?

Роман
14.06.2017
07:46:59
Ребята, а как мне присвоить переменной то, что ввёл пользователь (то есть я) с клавиатуры?
vars_prompt работает так, как надо, но не там, где надо. У меня несколько ролей и запрос переменных нужен только у некоторых.
Пробовал pause и register, но пишет undefined в задаче, где используется шаблон.

lastsky
14.06.2017
07:51:52
ansible-playbook release.yml —extra-vars "version=1.23.45 other_variable=foo"
вот так, точнее

Serg
14.06.2017
09:09:44
Всем привет. Как указать в ансибле путь до приватных ключей для подключения к нодам?

Google

Zhenia
14.06.2017
09:12:19
ansible_ssh_private_key_file
гугли

Vladimir
14.06.2017
09:13:02
или в ansible.cfg

Zhenia
14.06.2017
09:13:22
не, я так понял ему нужно для разных нод, разные ключи

Serg
14.06.2017
09:16:04
ansible_ssh_private_key_file Похоже на то. Для каждой ноды одинаковые ключи. Но их 2 , для рута и пользователя.
Ни кто не сталкивался с ошибкой dict_keys' object does not support indexing? Создаю instance в openstack модуль os_server

Sander
14.06.2017
13:34:23
Всем привет
как чистить кеш с помощью ansible быстрей?
мой способ делает это очень медленно
- name: "Find cache files in folders"
find:
paths: "{{ cache_folders }}"
patterns: "*"
register: cache_files_result
- name: "Remove cache"
file:
path: "{{ item.path }}"
state: absent
with_items: "{{ cache_files_result.files }}"

Pavel
14.06.2017
13:38:19

Hackru
14.06.2017
13:51:22

Pavel
14.06.2017
13:53:48
что не есть хорошо

Hackru
14.06.2017
13:54:14
defined же, ну куку

Pavel
14.06.2017
13:54:46
очипятка

Hackru
14.06.2017
13:54:54
два раза подряд?

Pavel
14.06.2017
13:55:05
копи-паст
нипридирайся

Google

Sander
14.06.2017
14:03:03
как-то не хотелось использовать command
конечно пробовал
command: rm -rf "{{ cache_folders }}/*"
другого нормального способа нет?

Hackru
14.06.2017
14:56:03
модуль file чем не подходит?
state=absent recurse=yes
не?

Kuroi
14.06.2017
16:21:46
Привет! Играюсь тут с ufw, и выяснилось, что моя изначальная задумка кормить ufw не ip-адресами a inventory_hostname провалилась, ибо ufw не понимет хостнеймы (хотя iptables под капотом). В следующий заход я попробовал скормить ufw ansible_default_ipv4 из hostvars['groupname'], но и тут не удалось, ибо серевра могут быть в нескольких подсетях, в том числе и внешних, а нужен один конкретный адрес из конкретной подсети, а ansible_default_ipv4 отдает адрес с 1 интерфейса. Есть мысль написать луп с резолвом на каждый inventory_hostname, но это во первых не красиво, а во вторых будет долго. Может есть еще какие способы?

Алексей
14.06.2017
16:40:27
да .hostvars[inventory_hostname].ansible_all_ipv4_addresses
запили
- name: Display ansible_connection type
debug:
var: ansible_connection
verbosity: 8
tags:
- always
сохрани как файлик. используй как справочник

lastsky
14.06.2017
17:58:38
я видел таск который проверяет ip адрес на публичность но это такое программирование на конфигах что я даже не буду вспоминать, где.
для этой же задачи.

Pavel
14.06.2017
18:01:01
модуль file чем не подходит?
там ньюанс есть небольшой - рекурсив только для папки идет
и {{ cache_folders }}/* не прокатит, только для {{ cache_folders }} и потом ее ({{ cache_folders }}) пересоздать надо будет

Admin
ERROR: S client not available

Алексей
14.06.2017
18:22:53
быть может можно примотать ?

Anatoly
14.06.2017
18:24:54
Дернуть urlом ifcfg.me?

Алексей
14.06.2017
18:35:22
наличие внешнего ойпи не гарантирует наличие интернета

Anatoly
14.06.2017
18:46:20
ipify_facts? В таком случае


Sergey
14.06.2017
19:54:31
Привет! Играюсь тут с ufw, и выяснилось, что моя изначальная задумка кормить ufw не ip-адресами a inventory_hostname провалилась, ибо ufw не понимет хостнеймы (хотя iptables под капотом). В следующий заход я попробовал скормить ufw ansible_default_ipv4 из hostvars['groupname'], но и тут не удалось, ибо серевра могут быть в нескольких подсетях, в том числе и внешних, а нужен один конкретный адрес из конкретной подсети, а ansible_default_ipv4 отдает адрес с 1 интерфейса. Есть мысль написать луп с резолвом на каждый inventory_hostname, но это во первых не красиво, а во вторых будет долго. Может есть еще какие способы?
есть вообще фильтр ipaddr. пример использования:
vars.yml:
—-
check_source: "{{ ansible_all_ipv4_addresses | ipaddr('192.168.20.0/24') | ipaddr(-1) | first }}:1025-65000"
типа - взяли все адреса, взли из них нужную подсеть, взяли из адресов, принадлежащих этой подсети, последний элемент, взяли первый элемент получившегося списка

Google

Kuroi
14.06.2017
19:57:50
Ага, спасибо, попробую по всякому

lastsky
15.06.2017
06:35:44
- set_fact: public_ip_detected="{{ ansible_default_ipv4.address | ipaddr('private') is none }}"
- name: do something
<...>
when: public_ip_detected
вчера был заёбан, сегодня вот вспомнил, нашел свой факап годичной давности.

Igor
15.06.2017
06:50:09
Да, забавный факап

Алексей
15.06.2017
08:32:36

lastsky
15.06.2017
08:34:54
кстати да, pip install netaddr

Sergey
15.06.2017
08:34:55

Алексей
15.06.2017
08:35:22
В докере.

Sergey
15.06.2017
08:35:37
ну вот, не утерпел, придётся язык с мылом мыть
ну то есть руки

lastsky
15.06.2017
08:37:56
вот кстати поэтому я и выкинул данный кусок кода и поскорее забыл, а вопрос решился политически, переменными ext_ip и int_ip в hostvars.
(и в принципе много других проблем этими переменными решилось)
https://github.com/ansible/ansible/issues/23517
чем меньше нестабильных модулей, костылей и прочего, тем меньше багов. важно найти баланс ?
вот например такое я переделал на ext_ip и убрал костыль для вагранта.
- name: restrict listening interface
lineinfile:
state=present
dest=/etc/ssh/sshd_config
regexp="^ListenAddress {{ ansible_default_ipv4.address }}"
line="ListenAddress {{ ansible_default_ipv4.address }}"
when: ansible_default_ipv4.address != "127.0.0.1"
notify: reload sshd