Vadim
так и подумал да
Timur
Почему? Типа долго или косячит?
Много дублирования кода
Anna
Спасибо, посмотрю видео
username
и лучше добавить become_user = root
Sergey
Спасибо, посмотрю видео
Пожалуйста. Я там ещё презентацию докинул в пост для удобства.
Alex
TASK [common/jfmc : Add signing key for docker ce] *** fatal: [app_master]: FAILED! => changed=false msg: 'Failed to download key at https://download.docker.com/linux/ubuntu/gpg: Request failed: <urlopen error [Errno 1] _ssl.c:510: error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure>' подскажите, что ему не хватает? Ubuntu 14
Alex
таск проще некуда - name: Add signing key for docker ce become: yes apt_key: url: https://download.docker.com/linux/ubuntu/gpg state: present
inqfen
У меня не ругается на дату
inqfen
Если бы на download.docker.com он бы протух, чат докера бы порвало
inqfen
Но проверь локальное время
Alex
curl'ом с этой же машины нормально закачивает
Sergey
curl'ом с этой же машины нормально закачивает
А кто сказал, что курл использует тот же набор CA-сертификатов? 😉
Alex
SSL протух
а как лечится?
Sergey
а как лечится?
Страдать. Ну или питон на целевую тачку новый поставить, и пускаться под ним. U14 с пробега когда сняли? То-то и оно.
Alex
https://wiki.ubuntu.com/Releases
Sergey
Ну вообще то у нее EOL April 2022
End of Standard Support - April 2019
Sergey
У тех, кто считает иначе, можешь взять новый питон.
Alex
End of Standard Support - April 2019
на то оно и LTS, что там есть и Extended support ;)
Alex
> У тех, кто считает иначе, можешь взять новый питон fatal: [app_master]: FAILED! => changed=false ansible_facts: discovered_interpreter_python: /usr/bin/python msg: 'Ansible requires a minimum of Python2 version 2.6 or Python3 version 3.5. Current version: 3.4.3 (default, Nov 12 2018, 22:25:49) [GCC 4.8.4]' а питон 3.4 тоже считается устаревшим?
Dmitry
Python 3.4 EOL has been reached in 2019, with the last release made in March, 2019.
Alex
после установки 3.5 перестали работать модули apt TASK [common/jfmc : Print remove packages result] *** fatal: [app_master]: FAILED! => changed=false msg: changed: false failed: true msg: 'Could not import python modules: apt, apt_pkg. Please install python3-apt package.' warnings: - 'Updating cache and auto-installing missing dependency: python3-apt' пакет python3-apt в системе установлен
Anton
Could not import python modules: apt, apt_pkg
Anton
sudo pip3 install —upgrade apt apt_pkg сделай
Alex
Ты системный питон обновил?
поставил python3.5-minimal
Alex
и сделал симлинк /usr/bin/python -> /usr/bin/python3.5
A.Soroko
Помогите с выражением 1. есть шаблон вида process: nginx: enable: YES ssl: /etc/nginx/ssl ssl_name: cert001: {} cert002: {} 2. есть задание которое должно по элементам шаблона найти сертификаты и скопировать на хост - name: Copy ssl certificates template: src: "{{ item }}" dest: "{{ process.nginx.ssl }}" mode: 0644 owner: "{{ process.nginx.owner }}" group: "{{ process.nginx.owner }}" with_fileglob: - "{%- for kv, kn in process.nginx.ssl_name | default({}) | dictsort() %}static/ssl/{{ kv }}*{%- endfor %}" как правильно написать "with_fileglob" или вообще не его
Alex
Could not import python modules: apt, apt_pkg
это же ansible, а не башсибл ;)
Alex
Ты системный питон обновил?
есть какие-нибудь идеи?
Sergey
есть какие-нибудь идеи?
Есть. Не трогать системный питон вообще, пусть он хоть мхом порастёт. Создай venv, в него поставь свежий питон, и пускай Ansible для этой тачки с явно указанным питоном.
Sergey
так питон 3.5 и не заменяет системный, он становится рядом
Симлинком ты же сломал системный, если я правильно помню.
Roman
так питон 3.5 и не заменяет системный, он становится рядом
так у тебя модули были установлены для системного, в 3.5 они не работают
Alex
так у тебя модули были установлены для системного, в 3.5 они не работают
ок, сейчас проверю без создания симлинка, но я с явным указанием интерпритатора для питона
Roman
какие модули?
https://askubuntu.com/questions/1069087/modulenotfounderror-no-module-named-apt-pkg-error У тебя python3-apt установлен для 3.4. и Твой 3.5 просто не может найти либу
Dennis
Коллеги! Есть ряд проблем с Ansible и JunOS. Кто на практике использует Ansible для настройки Juniper QFX и SRX? Хочу задать несколько вопросов по конфигурации.
A.Soroko
А как вообще первоначальная задача выглядит?
Шаблон, в нем перечислены маски файлов. Нужно по этим маскам находить реальные файлы и копировать их на целевой хост
Sergey
Шаблон, в нем перечислены маски файлов. Нужно по этим маскам находить реальные файлы и копировать их на целевой хост
Здесь нет IaaC, поэтому тебе никто и не рвётся помогать. Основная цель внедрения Ansible чаще всего - это не выполнение рутины за тебя, а обеспечение предсказуемости при деплоях.
Отделение Bereke Bank
A.Soroko
руками негров (джуниоров)
Ну я рад что вам их хватает() Но вопрос остается вопросом, что все позабыли ансибл совсем?!
Gleb
Интересно)) а рутину чем делает народ тогда?
а рутина это не следствие сломанного процесса или из той же серии? например что за рутина в твоём случае ?
A.Soroko
а рутина это не следствие сломанного процесса или из той же серии? например что за рутина в твоём случае ?
Поясню: есть куча сертификатов в одном месте типа хранилки, их плейбуки по маскам файлов должны растаскивать по разным хостам. Какие на какие хосты нужно принести - описывается шаблоном для хоста или группы хостов.
Sergey
Ты серьезно?
Вполне. Подначки из песочницы - для других чатов, пожалуйста.
Tadeusz
https://github.com/mig1984/bashible
Anonymous
подскажите, а цикл for можно засунуть в loop? примерно вот так loop: - { src: '~/Documents/operations/nginx.conf', dest: '/etc/nginx/nginx.conf'} - {% for each in range(1, 3) %} - { src: '~/Documents/operations/dev{{ each }}.avg.net', dest: '{{ sites_src }}{{ each }}.avg.net' } - {% endfor %}
Anonymous
грустно :(
Anonymous
а если делать через copy? и там циклом прогнать все что копировать необходимо?
Sergey
Смотри. Цикл {% for .... %} - это то, что работает в шаблонизаторе Jinja2. Шаблонизатор обрабатывает YaML-файл на этапе загрузки. Цикл Ansible loop - это то, что работает в рантайме.
Sergey
Что хочешь получить? Обработать простой список - передай его в loop.
Anonymous
в задании именно использование цикла for
Sergey
В задании? Это тестовое, что ли?
Anonymous
изучаю ansible таким образом
Sergey
М-м. Неплохо. В общем, {% for %} сработает в шаблоне.
Anonymous
понял, спасибо
Stas
Комрады добрый день. Скажите как можно сравнить два словаря для when?
Alex
fatal: [app_master]: FAILED! => changed=false attempts: 3 dest: /usr/bin/yq elapsed: 0 gid: 0 group: root mode: '0755' msg: Request failed owner: root response: 'HTTP Error 401: UNAUTHORIZED' size: 5268030 state: file status_code: 401 uid: 0 url: https://github.com/mikefarah/yq/releases/download/2.4.0/yq_linux_amd64 а сталкивался кто? С утра работало нормально, а сейчас начало выдавать 401
Alex
или MS ввел какие то лимиты на кол-во загрузок
Alex
А какой размер инфраструктуры, на которой ты это катаешь? 😃
вообще ни о чем, 4 виртуалки, ну может раз 20 запускались тесты
Alex
по идее в масштабах гитхаба вообще ни о чем
Sergey
Ну да, немного. Но это bad practice. Твоя инфра должна быть независима от. Один раз скачал, скинул в репу, а из неё уже разъезжается.
Sergey
Я уж не говорю о том, что собрать deb/rpm пакет с готовым бинарником - примерно 15 мин.
Alex
выкачивать этот бинарник по любому придется, не с гитхаба, так со своего сервера. А доступность у гитхаба будет по более любого локального сервера, имхо
Roman
Интересно)) а рутину чем делает народ тогда?
просто нормальные люди не кладут всё в одну кучу, а разносят по директориям или дают уникальные имена
Alex
но я заметил, что такая блокировка возникает если в get_url указать validate_certs: no
A.Soroko
просто нормальные люди не кладут всё в одну кучу, а разносят по директориям или дают уникальные имена
Согласен но это не подходит ко всему, например к объектам которые должны быть на многих хостах, но объекты одни и те же))