Anonymous
debug pastbin :)
Tyler
debug pastbin :)
[defaults] allow_world_readable_tmpfiles = TrueВот это помогло частично. Дальше вопрос: насколько правильная практика выпускать плейбуки с локальным файлом ansible.cfg?
Tyler
очень хорошая практика
Ок, спасибо за помощь
Anonymous
какой там будет ansible.cfg по умолчанию одному богу известно
Anonymous
для тестов обычно создают разные файлы ansible_test.cfg, ansible_prod.cfg и т.д.
Qwerty
если уверен, что все правильно делаешь, то создай issue
Вот я сперва в себе сомневаюсь. Может я что-то неправильно делаю?
Anonymous
пусть это разгребают contribution этого модуля
All
Зачем сплошной вызов cat через shell? Что вы хотите этим сделать?
нужно динамически вставлять ключи и сертификаты поэтому делаю сат сертификата и помещаю его в переменную потом эту переменную вставляю в template файл
Anonymous
создай issue
и ссылку скинь на issue. поддержим, если что
Sergey
И не надо странного.
stanislav
https://docs.ansible.com/ansible/latest/modules/slurp_module.html
А зачем он кодирует в base64? Экранирование?
ranebull
А зачем он кодирует в base64? Экранирование?
This module returns an ‘in memory’ base64 encoded version of the file, take into account that this will require at least twice the RAM as the original file size.
stanislav
This module returns an ‘in memory’ base64 encoded version of the file, take into account that this will require at least twice the RAM as the original file size.
Тут написано, что из-за base64 содержимое в памяти занимает как минимум в два раза больше, а я спрашивал, зачем вообще в base64 пихать, если у меня там банальный текст, например
stanislav
Я тоже под впн роль писал и использовал модуль баш, потому что слурп показался как-то не к месту
stanislav
в чем вопрос?
Зачем кодировать в base64. Вернее, зачем кодировать понятно, почему автоматически не раскодируется после того, как данные были получены.
Anonymous
все еще не понимаю проблемы и вопроса
Anonymous
ну, кодируешь в base64 и что
Denis
Всем привет
stanislav
все еще не понимаю проблемы и вопроса
Нет проблемы. Есть вопрос, почему это так.
Denis
ребята а не кто не делал роль для создание пользователя с генерация ключей (приватный ключь должен остатся делагате чтобы я мог его отдать пользователю!) а публичный расскать по всем машинами
Anonymous
Нет проблемы. Есть вопрос, почему это так.
почему что? вопрос какой? ну, есть фильтры {{ encoded | b64decode }} {{ decoded | b64encode }}
Anonymous
не понимаю в чем вопрос?
stanislav
почему что? вопрос какой? ну, есть фильтры {{ encoded | b64decode }} {{ decoded | b64encode }}
Почему ансибл модулем, предназначенным для записи содержимого файла на ремоут хосте, возвращает данные в base64, а не в виде текста
Maksim
Всем добрый вечер. Подскажите, пожалуйста, что не так. Есть main.yml --- - hosts: 1 gather_facts: false pre_tasks: - name: update repo raw: apt-get update - name: install python-minimal for ansible_work raw: apt-get install -y python-minimal roles: - nginx - minio tasks: - name: install python modules include: python_localhost.yml include ведет на --- - hosts: localhost tasks: - name: install pip for python apt: name: python-pip state: latest - name: install modules for pip pip: name: "{{item}}" with_items: - minio - future - pytz - python-dateutil
Maksim
Ошибка ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path. The error appears to have been in '/home/xisen/iq-option/python_localhost.yml': line 2, column 4, but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: --- - hosts: localhost ^ here
Maksim
Не понимаю в чем дело
stanislav
экстрасенсы в отпуске. кидай в pastbin с дебагом
Причем тут экстрасенсы, какой пейстбин, я спрашиваю, почему модуль работает так, в чем логика. Почему он возвращает base64, который потом надо все равно декодить
Anonymous
я до сих пор не понимаю, что ты делаешь и для чего. и причем тут base64
stanislav
я до сих пор не понимаю, что ты делаешь и для чего. и причем тут base64
Я ничего не делаю. Забей. Я спрашиваю, почему модуль slurp возвращает данные в base64. У меня нет никаких проблем, у модуля тоже, он работает, как задокументировано, но я не понимаю, почему он реализован именно так.
Anonymous
в чем проблема то?
stanislav
в чем проблема то?
Проблема в том, что я не понимаю, зачем он работает именно так, я пытаюсь понять смысл. Фетч вообще для другого предназначен.
Anonymous
он работает так, потому что так работает
Anonymous
для этого есть причины
stanislav
Вот я и хочу их узнать
Anonymous
они связаны с бинарными данными
Nariman
Всем привет помогите плз что не так
Nariman
[nariman-pc exp]# cat roles/initial/tasks/main.yml --- - name: Stop unused services service: name: '{{ services }}' state: stopped enabled: no [nariman-pc exp]# cat roles/initial/defaults/main.yml --- services: - NetworkManager - postfix - firewalld [nariman-pc exp]# ansible-playbook -i hosts initial.yml
Nariman
[WARNING]: The value ['NetworkManager', 'postfix', 'firewalld'] (type list) in a string field was converted to u"['NetworkManager', 'postfix', 'firewalld']" (type string). If this does not look like what you expect, quote the entire value to ensure it does not change. fatal: [192.168.122.100]: FAILED! => {"changed": false, "msg": "Could not find the requested service ['NetworkManager', 'postfix', 'firewalld']: host"}
Anonymous
Вот я и хочу их узнать
надеюсь стало понятно? для людей, которые пользуют кубер это вполне штатно (base64)
Anonymous
Не особо, ну да ладно.
у Вас вопрос в плане: "Почему модуль работает так, как это описано документации?"
stanislav
у Вас вопрос в плане: "Почему модуль работает так, как это описано документации?"
В плане, почему он таким задуман, в моем понимании нет никакого применения тексту в base64, значит модуль для вытягивания текста из файла должен возвращать декодированные данные. Не знаю, может это модуль чисто для кубера, я с ним не работал
stanislav
У меня к документации нет вопросов.
stanislav
Не буду пожалуй отвечать, чтобы никого не шокировать дальше.
Vlad
он не жалуется а пытается понять зачем кодировать в base64?
stanislav
Я многое видел, но чтобы человек повторял одну и ту же ошибку после двух исправлений, это прям премия автору. Как будто на другом языке говорю. У меня НЕТ претензий к документации. У меня есть вопросы, почему есть модуль, который возвращает содержимое в base64, но нет модуля, который возвращает сырые данные. Почему я должен раскодировать их фильтром.
Vlad
надо смотреть исходники, возможно это связано с тем что содержимое будет обрабатываться как jinja шаблон, а кодирование позволяет этого избежать
stanislav
Мм. То есть экранирование от случайного выполнения. Я в общем-то так и подумал сперва
stanislav
Я ничего не хочу
Vlad
в ansible нет бинарного типа данных, поэтому нужно принудительно сделать строку что и выполняет base64
Vlad
расскажи зачем кодировать в base64?
Vlad
ответа кроме того что «так решил автор» не увидел. это не ответ
stanislav
Всем добрый вечер. Подскажите, пожалуйста, что не так. Есть main.yml --- - hosts: 1 gather_facts: false pre_tasks: - name: update repo raw: apt-get update - name: install python-minimal for ansible_work raw: apt-get install -y python-minimal roles: - nginx - minio tasks: - name: install python modules include: python_localhost.yml include ведет на --- - hosts: localhost tasks: - name: install pip for python apt: name: python-pip state: latest - name: install modules for pip pip: name: "{{item}}" with_items: - minio - future - pytz - python-dateutil
Косяк в месте, где ты инклудишь файл, модуль include вставляет файл целиком, вместе с tasks второй раз, если у тебя два файла, описывающие такси, то тебе надо использовать модуль include_tasks или include_playbook для плейбука. И еще у тебя в главном файле в хостс единица, ее надо в кавычки взять, чтобы он воспринимал ее, как строку.
stanislav
Я сейчас проверил без хостов, вроде все работает
Vlad
а ты знаешь? нет? тогда зачем это писать?
All
да я понять хочу что лучше использовать
All
можетя богально шел ни так пишу
All
хотя в хог командой он норм отрабатывает
stanislav
Тут других проблем быть просто не может, или файла нет, или путь неправильный, права-то рутовые
stanislav
Кстати не обязательно каждый таск писать become, можно для всего файла определить же
All
А точно нет каких-то косяков в пути?.. В плее он пишет, что кат вернул, что нет такого файла.
я там строку в примере закоментил, там полный путь и еще перекладывал тот файл в другое место и к нему путь прописывал но то ж самое
Maksim
Тут других проблем быть просто не может, или файла нет, или путь неправильный, права-то рутовые
А вопрос еще такой, как мне присвоить здесь переменные? Есть такие строчки в group_vars folders: - /opt/data1 - /opt/data2 Как мне еще указать, что /opt/data1 это переменная folder1 ?
stanislav
Если две переменные, то folder1: /opt/data1 folder2: /opt/data2