ℭ𝔞𝔯𝔯𝔬𝔩
Обожаю gitlab
Max
А чуть что-то пошло не так, тогда всё идёт не так
мое впечатление, что гитлабовцы считают, что если твоя ci слишком сложна для gitlab, значит ее надо упрощать ;)
George
Возможно, что они и правы
George
Kiss
John
в CentOS 7 кто нибудь научился генерить сертификаты самоподписанные? при попытке воспользоваться модулем openssl_certificate требуется pyOpenSSL <=0.15 а он не доступен в репах.
Vlad
А через pip не ставится?
John
там тоже не без подъеба) pip ставиться 3.6 (для этого надо поставить три пакета), и в итоге говорит что третьего пакета нет) No setuptools found in remote host, please install it first
John
пришлось пока обойти проблему command'ом
Dr. L.S.Dee
Просто, если УЦ, выпустивший серт, является доверенным и цели применения серта отвечают нашим целям, то не все ли равно, где, каким инструментом и как генерится серт?
Dr. L.S.Dee
Хоть, тьфу-тьфу, виндовым CA.
Dr. L.S.Dee
Самоподписанный)
У самоподписанного серта тоже есть УЦ, который его выпустил. Это ваш УЦ)
Anonymous
а как pip приезжает?
Из пакета python2-pip
John
может быть в этом была моя проблема, я пошел в python3 и там утонул)
Anonymous
https://github.com/ansible/ansible/issues/34054 вот обсуждение
Vladislav 👻
а как pip приезжает?
Через epel вроде и python36-devel
Vladislav 👻
И почти уверен, что можно поставить openssl через epel и без питона
Vladislav
Привет всем
Timur
https://github.com/ansible/ansible/issues/34054 вот обсуждение
https://travis-ci.org/lean-delivery/ansible-role-solr-standalone
Timur
- name: Create private certificate openssl_privatekey: path: '{{ local_pkey_file_path }}/{{ solr_local_pkey_file_name }}' size: '{{ solr_ssl_key_size | int }}' - name: Create CSR openssl_csr: path: '/tmp/{{ solr_local_cert_file_name }}.csr' privatekey_path: '{{ local_pkey_file_path }}/{{ solr_local_pkey_file_name }}' common_name: '{{ solr_ca_domain }}' - name: Create certificates for keystore openssl_certificate: csr_path: '/tmp/{{ solr_local_cert_file_name }}.csr' path: '{{ local_cert_file_path }}/{{ solr_local_cert_file_name }}' privatekey_path: '{{ local_pkey_file_path }}/{{ solr_local_pkey_file_name }}' provider: '{{ solr_ssl_certificate_provider }}' force: True
Timur
И все работает
Timur
Что мы делаем не так?
John
замалчиваете откуда у вас на центос pyOpenSSL >=0.15
Timur
Все необходимые пакеты ставятся в обычном порядке в роли
Vladislav
Есть вопрос касательно переменных Хочу определить их в таком виде: path: base: "/opt" workdir: "{{ path.base }}/workdir"
Vladislav
и это ругается на рекурсию в workdir: "{{ path.base }}/workdir"
Vladislav
как-нибудь можно реализотьва подобное? или это невозможно в принципе?
Timur
замалчиваете откуда у вас на центос pyOpenSSL >=0.15
Для редхата ставится вот это: - openssl - python-devel - openssl-devel - openssh-clients - python2-pip
Timur
и это ругается на рекурсию в workdir: "{{ path.base }}/workdir"
И правильно делает. Вы в одном словаре ссылаетесь на этот же словарь
John
а где тут прячется pyOpenSSL?
Timur
а где тут прячется pyOpenSSL?
Я хз. Но все работает
John
я попробую конечно пойти вашим путем
Vladislav
И правильно делает. Вы в одном словаре ссылаетесь на этот же словарь
я понял, это очевидно. Вопрос, можно ли реализовать иерархию таким образом?
Vladislav
или в моем случае нужно делать одноуровневую структуру?
Vladislav
мб есть воркэраунды?
Max
какую проблему решаешь?
Vladislav
группирую по признаку
Max
если хочешь можно мержить:
Vladislav
есть порядка 20 разных путей, которые ссылаются друг на друга
Vladislav
но все ложится в красивую древовдидную структуру
Vladislav
A B C AD ADF и тд
Timur
я попробую конечно пойти вашим путем
Можете код всей роли просмотреть, если думаете, что там подвох
Vladislav
просто хочу сделать красивее
Max
а в логике - логику.
Vladislav
тогда не страдать и елать одноуровнево?
Max
ямл - не язык программирования.
Max
если хочешь выпендриться,
Timur
тогда не страдать и елать одноуровнево?
Можно и словари делать, только они накладывают определенные ограничения. Если не готовы с ними работать - проще делать одноуровневые переменные
Max
создай шаблон, из которого ты сгенеришь данные.
Max
база: base: /path/to/stuff suffix: kuku other: lala
Max
шаблон:
Vladislav
окей, спасибо за помощь
Max
cool_stff: base: {{base}} workdir: {{base}}/{{suffux}}
Max
и т.д.
Max
по моему, данные должны быть как можно тупыми.
Max
как и код.
Max
ИМХО, самые умные люди пишут самый "тупой" код, который не падает. потому что некуда.
John
Можете код всей роли просмотреть, если думаете, что там подвох
все-таки где-то есть подвох: fatal: [test-proxy0]: FAILED! => {"changed": false, "msg": "You need to have PyOpenSSL>=0.15"}
Timur
epel?
John
тоже есть
Timur
Версия ансибла?
John
2.7.8
Timur
Стоп. Что за item еще? Код можете показать - как ставите?
Timur
John
типо наличие лупа ставит пакеты как-то иначе?
Timur
Вот так почему не сделать? - name: Ensure a list of packages installed yum: name: "{{ squid_packages }}" state: present
Timur
Чего?
Timur
Полный код покажите
Timur
Что за ересь там у вас?
John
нашел касяк) Сейчас проходит установка. - name: Ensure a list of packages installed yum: name: '{{ squid_packages }}' state: present но все равно fatal: [test-proxy0]: FAILED! => {"changed": false, "msg": "You need to have PyOpenSSL>=0.15"}