
zhag
11.04.2017
11:37:50
Ребята, я могу в терминале подсунуть yaml файл с vars?

Pavel
11.04.2017
11:40:25

zhag
11.04.2017
11:40:38
Да

Pavel
11.04.2017
11:41:17
ansible-playbook —help
.....
-e EXTRA_VARS, —extra-vars=EXTRA_VARS
set additional variables as key=value or YAML/JSON
....

Google

Pavel
11.04.2017
11:41:27
ответ "да"

zhag
11.04.2017
11:42:26
Спасибо, мне почему-то казалось что —extra-vars принимает только json

Pavel
11.04.2017
11:44:03
ну вообще-то yaml роднее для ansible

Dmitriy
11.04.2017
12:10:21
Подскажите чего может не хватать
- name: get list of config to which need create link
become: true
shell: ls -l /etc/nginx/sites-available | awk '{print $9}'
register: linklist
- name: Create simlink of nginx configs
become: true
file: src=/etc/nginx/sites-available/{{ item }} dest=/etc/nginx/sites-enabled/ state=link
with_items: linklist.stdout_lines
Ошибка:
failed: [nginx-01.app.com] (item=linklist.stdout_lines) => {"failed": true, "gid": 0, "group": "root", "item": "linklist.stdout_lines", "mode": "0755", "msg": "src file does not exist, use \"force=yes\" if you really want to create the link: /etc/nginx/sites-available/linklist.stdout_lines", "owner": "root", "path": "/etc/nginx/sites-enabled/", "size": 4096, "src": "/etc/nginx/sites-available/linklist.stdout_lines", "state": "directory", "uid": 0}

Denis 災 nobody
11.04.2017
12:13:33
force=yes не помог?

Dmitriy
11.04.2017
12:16:52
сейчас скажу. не пробывал
не помогло
failed: [nginx-01.app.com] (item=linklist.stdout_lines) => {"failed": true, "item": "linklist.stdout_lines", "msg": "Error while replacing: [Errno 2] No such file or directory", "path": "/etc/nginx/sites-enabled/", "state": "absent"}

lastsky
11.04.2017
12:23:17
тебе фильтр нужно слабать, примерно такой:
with_items: "{{ registered_results|list }}"
текст ошибки о том что файла /etc/nginx/sites-available/linklist.stdout_lines нет

Dmitriy
11.04.2017
12:27:52
сейчас попробую

lastsky
11.04.2017
12:29:24
а вообще если по-нормальному, то так:
- сначала в /etc/nginx/sites-available через template конфиги, список конечен
- потом для них делается линк в sites-enabled по тому же самому списку
- список опционально запихивается в переменные


Dmitriy
11.04.2017
12:30:44
так и есть сейча. но список растет. и стало противно его каждый раз обновлять. захотел ускорить этот процес
прям напасть какаята
код
- name: Create simlink of nginx configs
become: true
file: src=/etc/nginx/sites-available/{{ item }} dest=/etc/nginx/sites-enabled/{{ item }} state=link force=yes
with_items: "{{ linklist|list }}"
ошибка
changed: [nginx-01.app.com] => (item=changed) => {"changed": true, "dest": "/etc/nginx/sites-enabled/changed", "item": "changed", "src": "/etc/nginx/sites-available/changed", "state": "absent"}
changed: [nginx-01.app.com] => (item=end) => {"changed": true, "dest": "/etc/nginx/sites-enabled/end", "item": "end", "src": "/etc/nginx/sites-available/end", "state": "absent"}
changed: [nginx-01.app.com] => (item=stdout) => {"changed": true, "dest": "/etc/nginx/sites-enabled/stdout", "item": "stdout", "src": "/etc/nginx/sites-available/stdout", "state": "absent"}
changed: [nginx-01.app.com] => (item=cmd) => {"changed": true, "dest": "/etc/nginx/sites-enabled/cmd", "item": "cmd", "src": "/etc/nginx/sites-available/cmd", "state": "absent"}
changed: [nginx-01.app.com] => (item=rc) => {"changed": true, "dest": "/etc/nginx/sites-enabled/rc", "item": "rc", "src": "/etc/nginx/sites-available/rc", "state": "absent"}
changed: [nginx-01.app.com] => (item=start) => {"changed": true, "dest": "/etc/nginx/sites-enabled/start", "item": "start", "src": "/etc/nginx/sites-available/start", "state": "absent"}changed: [nginx-01.app.com] => (item=stderr) => {"changed": true, "dest": "/etc/nginx/sites-enabled/stderr", "item": "stderr", "src": "/etc/nginx/sites-available/stderr", "state": "absent"}
changed: [nginx-01.app.com] => (item=delta) => {"changed": true, "dest": "/etc/nginx/sites-enabled/delta", "item": "delta", "src": "/etc/nginx/sites-available/delta", "state": "absent"}
changed: [nginx-01.app.com] => (item=stdout_lines) => {"changed": true, "dest": "/etc/nginx/sites-enabled/stdout_lines", "item": "stdout_lines", "src": "/etc/nginx/sites-available/stdout_lines", "state": "absent"}
changed: [nginx-01.app.com] => (item=warnings) => {"changed": true, "dest": "/etc/nginx/sites-enabled/warnings", "item": "warnings", "src": "/etc/nginx/sites-available/warnings", "state": "absent"}
пробовал вот так
with_items: "{{ linklist.out|list }}"
Почти то что надо) оно пыталось для каждой быквы имени файла сделать ссылку

Google

lastsky
11.04.2017
12:59:22
а, так тебе shell уже даёт этот лист, зачем же ещё фильтром то ) а просто with_items: "{{ linklist.stdout_lines }}" тебе какую ошибку выдаёт?
немного не понял, зачем делать awk если тебе нужен список файлов?
ls -1 /etc/nginx/sites-available

Dmitriy
11.04.2017
13:05:51
Так работает. вот только что сделал и пошло.
- name: get list of config to which need create link
become: true
shell: ls /etc/nginx/sites-available
register: linklist
- name: Create simlink of nginx configs
become: true
file: src=/etc/nginx/sites-available/{{ item }} dest=/etc/nginx/sites-enabled/{{ item }} state=link force=yes
with_items: "{{ linklist.stdout_lines }}"
awk - то я типа список только имён фалов выбирал
Спасибо)

Konstantin
11.04.2017
13:14:36
http://docs.ansible.com/ansible/playbooks_loops.html#id4

Pavel
11.04.2017
13:16:47
может linklist.stdout_lines в {{ }} надо?
{{ linklist.stdout_lines }}
пока написал - уже порешали...

lastsky
11.04.2017
13:19:40
а че fileglob у нас уже с remote_src работает? изображение_слоупока.jpg

Konstantin
11.04.2017
13:21:08
http://docs.ansible.com/ansible/find_module.html

Hackru
11.04.2017
13:37:29
и не изобретать мерзкие костыли

Andrey
11.04.2017
13:50:52
есть два пусти - как у сысоева и как в debian/ubuntu
оба неплохи

Dmitriy
11.04.2017
13:51:04

Hackru
11.04.2017
13:51:07
в дебиан/убунту тоже инклюдятся конфиги из conf.d
помимо sites-enabled

Andrey
11.04.2017
13:51:33

Hackru
11.04.2017
13:52:06
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
из debian8 nginx пакет

Google

Hackru
11.04.2017
13:52:21
не из сысоевской репы

Andrey
11.04.2017
13:52:26
возможно поменяли. извиняюсь
давно не пользовался дебиановским

Dmitriy
11.04.2017
13:54:32
вот так сейчас и есть
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
Я не хотел переменую в ансебле обновлять руками, вот и решил пойти таким путем. из files выбираю по маске и потом по списку, который формирую с сервера делаю линки в /etc/nginx/sites-enabled/

hdhog
12.04.2017
09:15:39
кто нить пробовал ансиблом тянуть с minio файлы стандартным s3 модулем?
чет у меня все ругается
ansible s3 function' object has no attribute 'urlparse
- name: Get latest wiki backup from s3
s3: bucket=backups mode=list prefix=/wiki aws_access_key={{aws_access_key}} aws_secret_key={{aws_secret_key}} s3_url={{s3_url}}

Hackru
12.04.2017
09:19:35
питонячих либ недоставил?

hdhog
12.04.2017
09:23:24
boto поставил. иначе он на нег оругается.
а хз что ему еще надо. в доках указан ток boto
чет похоже эт бага
https://github.com/ansible/ansible/issues/20820

Sergey
12.04.2017
09:29:37
как вариант - проверь версию питона, под которой запускается ансибл
эта функция была переименована при переходе 2->3

hdhog
12.04.2017
09:39:04
python 3 используется

lastsky
12.04.2017
09:40:34
задай в inventory хоста чтобы использовался второй питон тогда?
[vagrant]
vagrant1 ansible_host=127.0.0.1 ansible_port=2222 ansible_user=root ansible_python_interpreter=/usr/bin/python2.7

hdhog
12.04.2017
09:44:01
хотя не. я гоню. на машине 3 питон. с которой запускаю. а там уже 2.7 как раз
в общем ни с 3 ни со 2 питоном не работает

Hackru
12.04.2017
10:03:02
Облачные технологии во всей красе

Google

hdhog
12.04.2017
10:35:05
ну а причем тут облако то ?)
облако ни как не влияет на то, что они исправили багу в январе. а у же апрель и в релизе все еще нет исправления

Vlad
12.04.2017
12:36:42

hdhog
12.04.2017
12:43:30
эм. нет http://
в доках все примеры http)

Vlad
12.04.2017
12:44:24
Для minio нужно задавать fakes3://

Admin
ERROR: S client not available

hdhog
12.04.2017
12:44:39
толку 0) не помогло
s3_url: "fakes3://10.0.2.3:9000"
ну и опять же что урл должен с fakes3 начинаться не сказано там
S3 URL endpoint for usage with Ceph, Eucalypus, fakes3, etc. Otherwise assumes AWS
для того же ceph там не пишется ceph)

Vlad
12.04.2017
12:47:23
в сорцах написано :)

hdhog
12.04.2017
12:48:34
не спасло ) function' object has no attribute 'urlparse'"

Vlad
12.04.2017
12:49:30
а какая версия ansible?

hdhog
12.04.2017
12:50:12
ansible-playbook —version
ansible-playbook 2.2.2.0
config file =
configured module search path = Default w/o overrides

Vlad
12.04.2017
13:19:39
А-ха-ха! В ansible 2.1 будет работать. В 2.2 поломали six urlparse. Нужно модуль переписывать.

Dmitry
12.04.2017
13:20:31
на кол скотов! :)
у меня pip install как попало работает :) впрочем, он всегда через жопу работал у них, если editable=True

Andrey
12.04.2017
14:24:57
Hi all, we're very happy to announce that Ansible 2.3.0 has been released!

Google

Dmitrii
12.04.2017
14:26:18
Nooooooooooooooo

Andrey
12.04.2017
14:26:20
https://groups.google.com/d/msg/ansible-announce/bCrrCFprTcI/oRIxZ5_jAAAJ

Pavel
12.04.2017
14:27:00
very
happy

Алексей
12.04.2017
14:28:30
dense" callback to produce a more condensed output. Тестил кто?

Andrey
12.04.2017
14:28:44
вот щас и потестим (с)
?

Michael
12.04.2017
14:48:49
нуу... чот он какой-то совсем куцый
вывод-то стал. через dense

Pavel
12.04.2017
15:42:32
dense dense diskoteka

Hackru
12.04.2017
15:55:29
dance

Алексей
13.04.2017
08:52:57
* Использование нескольких ключей —tags и —skip-tags теперь помечено как deprecated. Пока сохраняется старое поведение — все опции объединяются, начиная с версии 2.5 будет применяться только последняя опция;
парни а как надо ?
я вот постоянно делаю несколько тегов и через них управляю какие надо запускать фичи деплоя

Dmitry
13.04.2017
08:55:29
Да они там охренели уже совсем