@pro_ansible

Страница 625 из 625
 
Alex
26.10.2018
17:39:49
Коллеги, подскажите пожалуйста, у меня локально набор пакетов в папке лежит, некоторые пакеты зависят от других в этой папке. Как бы мне все их поставить за 1 проход таска? - name: Install require packages package: name: "{{item.path}}" state: present with_items: - "{{files_matched.files}}" - {path: "cups-libs"} - {path: "cairo"}

Nklya
26.10.2018
17:45:54
скопируй рсинком на хост и ставь уже там

Alex
26.10.2018
17:48:17
скопируй рсинком на хост и ставь уже там
Они уже на хосте, их 40 штук в папке. Если я юзаю таск выше, он отваливается на некоторых пакетах, потому что они должны быть установлены после каких то других из папки.

Google
Alex
26.10.2018
17:51:05
ага

надо как то джоинить?

Марат
26.10.2018
17:51:20
https://docs.ansible.com/ansible/latest/modules/yum_module.html name A package name or package specifier with version, like name-1.0. If a previous version is specified, the task also needs to turn allow_downgrade on. See the allow_downgrade documentation for caveats with downgrading packages. When using state=latest, this can be '*' which means run yum -y update. You can also pass a url or a local path to a rpm file (using state=present). To operate on several packages this can accept a comma separated string of packages or (as of 2.0) a list of packages.

последнее предложение

если yum конечно в других описания нет, но возможно так же

Vadim
26.10.2018
17:55:28
https://github.com/ansible/ansible/blob/stable-2.7/changelogs/CHANGELOG-v2.7.rst#v2-7-1 JFYI в 2.7.1 пофиксили кучу багов и регрессий с переменными в ролях

Alex
26.10.2018
18:01:19
https://docs.ansible.com/ansible/latest/modules/yum_module.html name A package name or package specifier with version, like name-1.0. If a previous version is specified, the task also needs to turn allow_downgrade on. See the allow_downgrade documentation for caveats with downgrading packages. When using state=latest, this can be '*' which means run yum -y update. You can also pass a url or a local path to a rpm file (using state=present). To operate on several packages this can accept a comma separated string of packages or (as of 2.0) a list of packages.
Не работает. Вывод такой TASK [Install require packages] ************************************************************************* failed: [localhost] (item=[u'/tmp/LibreOffice_6.1.2.1_Linux_x86-64_rpm/RPMS/*.rpm', u'cups-libs', u'cairo']) => {"changed": false, "item": ["/tmp/LibreOffice_6.1.2.1_Linux_x86-64_rpm/RPMS/*.rpm", "cups-libs", "cairo"], "msg": "No RPM file matching '/tmp/LibreOffice_6.1.2.1_Linux_x86-64_rpm/RPMS/*.rpm' found on system", "rc": 127, "results": ["No RPM file matching '/tmp/LibreOffice_6.1.2.1_Linux_x86-64_rpm/RPMS/*.rpm' found on system"]} Таск, такой - name: Install require packages yum: name: "{{item}}" state: latest with_items: - "{{LibreOffice_unarchive_dir.files[0].path}}/RPMS/*" - cups-libs - cairo

Марат
26.10.2018
18:02:03
мдя

To operate on several packages this can accept a comma separated string of packages or (as of 2.0) a list of packages. это разве так переводится?

Wom
26.10.2018
18:04:01
ну формально там есть comma separated

Марат
26.10.2018
18:04:26
тогда или факт собрать или захардкодить

Wom
26.10.2018
18:04:42
или shell

Марат
26.10.2018
18:04:45
ну а проще list

Google
Марат
26.10.2018
18:05:06
find_module поможет наверно

Alex
26.10.2018
18:05:33
ну а проще list
Ощущения что вопрос вы вообще не поняли.

Wom
26.10.2018
18:06:18
Alex
26.10.2018
18:06:54
У меня есть список словарей собранный find_module, в словаре ключ с путями к пакетам и ещё 2 имени пакета из репы. Как мне из этого набора сделать comma separated list в таске?

Wom
26.10.2018
18:07:10
combine?

set_fact

Alex
26.10.2018
18:09:49
set_fact
как дополнительная переменная поможет в вопросе?

Wom
26.10.2018
18:10:37
как дополнительная переменная поможет в вопросе?
собери один список из того, что у тебя есть. нет примера под рукой. к сожалению

Alex
26.10.2018
18:11:59
"{{files_matched.files}} + [ {path: cups-libs}, {path: cairo} ]" Готово, дальше что?

Марат
26.10.2018
18:12:27
Ощущения что вопрос вы вообще не поняли.
а вы не умеете читать?) a comma separated string of packages OR a list of packages

Alex
26.10.2018
18:13:33
Марат
26.10.2018
18:16:18
И? Вопрос в том, как это сделать?
https://docs.ansible.com/ansible/2.5/user_guide/playbooks_filters.html#list-filters

json_query

Alex
26.10.2018
18:17:26
https://docs.ansible.com/ansible/2.5/user_guide/playbooks_filters.html#list-filters
я не вдупляю, у меня уже открыто.

Марат
26.10.2018
18:17:31
debug: msg: "{{ domain_definition | json_query('domain.server[?cluster==cluster1].port') | join(', ') }}"

пример похожего

может ну его?)

Alex
26.10.2018
18:18:23
Незя, надо добить. Последний таск в плейбуке.

Wom
26.10.2018
18:30:18
s/добить/забить/

Alex
26.10.2018
18:35:26
Так, почти готово, через map выдирать надо и потом джоинить. Теперь расширение списка осталось сделать. - name: Install require packages package: name: "{{files_matched.files + [ {path: cups-libs}, {path: cairo} ] | map(attribute='path') | join(',') }}" state: present

Google
Alex
26.10.2018
18:35:32
Накостылял двумя тасками, пофиг. Всем пятница доны!

Terminator
27.10.2018
07:58:44
@leskinaleksey будет жить. Поприветствуем!

Anton Patsev будет жить. Поприветствуем!

Anton
27.10.2018
13:07:03
Вечер добрый. Подскажите пожалуйста как правильно указать environment ? Код и пример сделал на Stackoverflow https://stackoverflow.com/questions/53022158/how-set-2-environment-path-and-proxy-env-in-ansible-playbook

Sergey
27.10.2018
13:08:33
в extra_args любую фигню можно передать

bebebe
27.10.2018
13:09:05
environment: FOO: BAR BAR: FOO

Anton
27.10.2018
13:09:05
environment: PATH: "some path" environment: "{{ proxy_env }}"

Sergey
27.10.2018
13:09:06
ну и опять же если речь о конкретном venv - параметр "virtualenv"

Anton
27.10.2018
13:09:25
proxy_env - не имеет ключа

bebebe
27.10.2018
13:09:48
там environment перееопределяется через yaml жи

Sergey
27.10.2018
13:10:04
а ещё такого аргумента у модуля pip нету, к слову

Admin


Sergey
27.10.2018
13:10:05
https://docs.ansible.com/ansible/2.6/modules/pip_module.html

И гадать тут не любят, поэтому описание задачи в студию.

bebebe
27.10.2018
13:11:22
а ещё такого аргумента у модуля pip нету, к слову
А разве environment не для всего подряд работает?

Anton
27.10.2018
13:11:30
сють задачи доделать работу kubespray через прокси https://github.com/kubernetes-incubator/kubespray/pull/1412

вот этот PR переделываю

Sergey
27.10.2018
13:31:46
Pip через прокси работает чуть хуже, чем никак.

Google
ranebull
27.10.2018
13:44:21
Александр
27.10.2018
13:45:04
Нормально он работает
Может утверждать человек который с ним не работал

ranebull
27.10.2018
13:45:51
Может утверждать человек который с ним не работал
Который в pip настраивал прокси и тянул модули таким образом

Anton
27.10.2018
15:40:41
подскажите кто может https://github.com/patsevanton/kubespray/blob/master/roles/download/tasks/download_container.yml#L42

FAILED - RETRYING: container_download | Download containers if pull is required or told to always pull (all nodes) (1 retries left). fatal: [host-kuber1]: FAILED! => {"attempts": 4, "changed": true, "cmd": ["/usr/bin/docker", "pull", "quay.io/calico/ctl:v3.1.3"], "delta": "0:00:00.086626", "end": "2018-10-27 18:37:41.350296", "msg": "non-zero return code", "rc": 1, "start": "2018-10-27 18:37:41.263670", "stderr": "Error response from daemon: Get https://quay.io/v2/: dial tcp 23.21.40.104:443: connect: connection refused", "stderr_lines": ["Error response from daemon: Get https://quay.io/v2/: dial tcp 23.21.40.104:443: connect: connection refused"], "stdout": "", "stdout_lines": []}

environment: "{{ proxy_env }}" указан - но он почему то не работает

Vadim
27.10.2018
15:47:11
proxy для докера надо устанавливать перед запуском демона

Anton
27.10.2018
15:56:08
https://github.com/patsevanton/kubespray/blob/master/roles/container-engine/docker/tasks/systemd.yml#L12 подскажите пожалуйста почему эта строка может не отрабатывать?

- name: Write docker proxy drop-in template: src: http-proxy.conf.j2 dest: /etc/systemd/system/docker.service.d/http-proxy.conf notify: restart docker when: http_proxy is defined or https_proxy is defined

⚓D
27.10.2018
15:57:49
Anton
27.10.2018
15:58:41
https://github.com/patsevanton/kubespray/blob/master/inventory/sample/group_vars/all/all.yml#L52

вот здесь указываю прокси

пакеты устанавливаются. pip устанавливает пакеты

правда в тасках установки пакетов есть environment: "{{ proxy_env }}"

может и здесь нужно добавить environment: "{{ proxy_env }}" ?

⚓D
27.10.2018
16:02:46
вот здесь указываю прокси
Так в when указано просто http_proxy, а значения записали в proxy_env.http_proxy

Вопрос же в том, почему результат для when получается false?

Anton
27.10.2018
16:06:01
да сейчас попробую спасибо

⚓D
27.10.2018
16:07:16
Только если будете писать when: proxy_env.http_proxy is defined , хорошо бы убедиться, что proxy_env объявлена

Страница 625 из 625