Anonymous
зачем винду юзать вообще
Andrey
коллеги, а кто-нить сталкивался с проблемами с модулем blockinfile
Andrey
лично у меня он пишет нужное "через раз"
Andrey
типа вот есть 4 хоста
Andrey
и надо записать некую информацию о них в файл
Andrey
и вот с первого раза из 4 только о 2 или 3 пишется
Andrey
а со второго дописывается что в первый не записали
Andrey
было у кого такое?
Andrey
ок
Andrey
я
Andrey
подумаю
Andrey
об
Andrey
этом
Andrey
завтра
Andrey
.
Andrey
@jfjshcneb а по делу есть что? ;-)
Dmitry
Зачем цугвин то?
Alf 🙀
в with_indexed_items: что возвращает index itemа?
отвечу сам себе, https://github.com/ansible/ansible/blob/99d4f5bab4d334c0457a0cc6635f3104ca672834/lib/ansible/plugins/lookup/indexed_items.py не предусмотренно обращение к индексу, в случае если тебе нужен только индекс.
Tadeusz
Цугвин?
cigwin мб?)
Andrew
Зачем цугвин то?
Ну не моя воля
Andrew
Вся хурма на рабочей винде, ибо слишком много терминалбьных и джамп боксов
Dmitry
rundeck вроде на jvm, или там косяки c ssh, итд?
Andrew
Жвм, но из цугвина она хрен пойми как дергается.
Andrew
И похоже осознает, что живет на винде
Tadeusz
кто подскажет? ok: [foobar.com] META: ran handlers META: ran handlers META: ran handlers PLAY RECAP ************************************************************************************************************************************************************************** foobar.com : ok=1 changed=0 unreachable=0 failed=0
Tadeusz
какая-то дичь происходит, у меня в mail.yml прописан целый сценарий
Tadeusz
я передаю --extra-vars="host=foobar.com project_name=blahblah" --tags "nginx_new_vhost_php_fpm,mysql"
Andrew
Так может тегов нет?
Andrew
Лист тагз, лист таскс
Tadeusz
ну они где-то требуются, где-то нет 🙂
Andrew
Ну скажи лист таскс
Tadeusz
например: - name: "Create directory '/var/www'" file: path=/var/www state=directory owner=root group=root mode=0755 delegate_to: '{{ project_name }}'
Andrew
Зачем хост через экстраварз?
Andrew
Или это виртуал сервер энжникса?
Tadeusz
потому что это изменяемая хренотень )
Tadeusz
ну если он не указан, то смысла нет что-либо выполнять
Tadeusz
- name: "Create directory '/var/www/{{ project_name }}'" file: path='/var/www/{{ project_name }}' state=directory owner=root group=root mode=0755 delegate_to: '{{ project_name }}'
Andrew
Кстати, я бы значение переменной в еще одни кавычки поставил
Tadeusz
"project_name" ?
Tadeusz
у меня вообще не отрабатывает сценарий и ошибок нет… куда копать?
Tadeusz
ansible 2.4.1.0
Andrew
Нет
Andrew
--экстраварс "хост='валуез'"
Tadeusz
project-pro.yml --extra-vars="host='foobar.com' project_name='ozon'" --tags "nginx_new_vhost_php_fpm,mysql" PLAY [foobar.com] ************************************************************************************************************************************************************** TASK [Gathering Facts] ************************************************************************************************************************************************************** ok: [foobar.com] PLAY RECAP ************************************************************************************************************************************************************************** foobar.com : ok=1 changed=0 unreachable=0 failed=0
Andrew
Что показывает --лист-таскс емана
Andrew
Эт че, сработало?
Tadeusz
странно, но ничего 😕
Tadeusz
playbook: playbooks/project-pro.yml play #1 (foobar.com): foobar.com TAGS: [] tasks:
Tadeusz
другие роли прекрасненько себе отрабатывают, а эта хренотень не хочет
Tadeusz
если теги стереть, то отработает, скорее всего
Tadeusz
—tags…
Tadeusz
как правильно их передавать с командной строки?
Tadeusz
без тегов норм показывает таски
Tadeusz
project-pro : Add nginx php-fpm vhost config file. TAGS: [nginx_new_vhost_php_fpm] project-pro : Add nginx uWSGI vhost config file. TAGS: [nginx_new_vhost_uwsgi] project-pro : Add symlink for nginx vhost config file. TAGS: [nginx_new_vhost_php_fpm, nginx_new_vhost_uwsgi] project-pro : create a mysql user with a random password TAGS: [mysql] project-pro : create a pgsql user with a random password TAGS: [pgsql] мне для этого нужны
Tadeusz
наверное тегом тоже передавать тегом нужно
Tadeusz
ага, я же могу на все эти таски подвесить доп тег
Tadeusz
все ясно, разобрался, всем спасибо 🙂
Vladimir
Кстати, если кто ещё не наткнулся: "LXD PPAs to go away by end of year. We are deprecating all LXD PPAs at the end of 2017. Existing users should move to the LXD snap as the preferred way to get the latest LXD feature release on older Ubuntu releases. Alternatively, we do still provide a .deb version of LXD for older Ubuntu releases through the official -backports archive pocket." После переезда на snap перестал работать lxd_container у анзибла. :)
Pavel
Чо за снапы? Все их хайпят
Vladimir
Нынче модная штука, "всё своё ношу с собой".
Pavel
А, universal linux package. Неплохо
Vladimir
пакет со всеми зависимостями
Tadeusz
а кто как генерит mysql user pass ? при этом же надо его еще и сохранить 🙂
Pavel
Tadeusz
блин, я не хочу костылить с shell sed/cat/etc...
Pavel
Согласный, но, хуле делать
Tadeusz
пробовал shell: "cat /dev/urandom | tr -dc A-Za-z0-9 | head -c12" register: new_password - name: Create a mysql user with a random password mysql_user: name: "{{ project_name }}" password: "${new_password.stdout}" priv: "{{ project_name }}.*:ALL" state: present
Tadeusz
но нет, не пашет
Pavel
Я через dbconf, помоему, передавал
Pavel
Debconf
Tadeusz
при этом он генерит пасс: "msg": "the value of new password is {'stderr_lines': [u'tr: write error: Broken pipe', u'tr: write error', u'cat: write error: Broken pipe'], u'changed': True, u'end': u'2017-1 1-25 17:45:47.677676', 'failed': False, u'stdout': u'7zfQ9yVZASsm', u'cmd': u'cat /dev/urandom | tr -dc A-Za-z0-9 | head -c12', u'rc': 0, u'start': u'2017-11-25 17:45:47.639758', u'stderr': u'tr: write error: Broken pipe\\ntr: write error\\ncat: write error: Broken pipe', u'delta': u'0:00:00.037918', 'stdout_lines': [u'7zfQ9yVZASsm']}" }
Tadeusz
Debconf
это как?
Pavel
https://coderwall.com/p/sqdaya/mysql-server-installation-with-custom-password-in-ansible--2
Tadeusz
- name: print to stdout command: echo "hello" register: hello - debug: msg="{{ hello.stdout }}" - debug: msg="{{ hello.stderr }}" вот по этому пути не идет (
Pavel
Я генерил логин/пасс локально, регил, из них сразу вхерачиливал письмо, что отправлялось клиенту и разворачивал что надо на жестинейшине
Pavel
Вообще, я думаю, что подобные задачи - уже не по душу ансибла, поэтому костылить шелом/петоном/чемугодно - норм
Tadeusz
я думал что можно как-то по другому)
Tadeusz
я запускаю shell: script.sh {{ arg1 }} {{ arg2 }} > /tam/gde/conf/database
Pavel
Ну может опытные коллеги скажут что эт не правильно :)