Size: a a a

2021 February 22

AD

Alex Domoradov in Ansible
Timur Gadiev
А в выхлопе что?
ничего интересного

```
TASK [common/jfrt : Install packages] ***
ok: [app_master] => changed=false
 invocation:
   module_args:
     allow_downgrade: false
     autoremove: false
     bugfix: false
     conf_file: null
     disable_excludes: null
     disable_gpg_check: false
     disable_plugin: []
     disablerepo:
     - '*debug-rpms'
     - '*source-rpms'
     download_dir: null
     download_only: false
     enable_plugin: []
     enablerepo: []
     exclude: []
     install_repoquery: true
     install_weak_deps: true
     installroot: /
     list: null
     lock_timeout: 30
     name:
     - mc
     - unzip
     - expect
     - java-1.8.0-openjdk-headless
     - docker-ce-18.06*
     - socat
     - libselinux-python3
     releasever: null
     security: false
     skip_broken: false
     state: present
     update_cache: true
     update_only: false
     use_backend: auto
     validate_certs: true
 msg: ''
 rc: 0
 results:
 - 1:mc-4.8.7-11.el7.x86_64 providing mc is already installed
 - unzip-6.0-21.el7.x86_64 providing unzip is already installed
 - expect-5.45-14.el7_1.x86_64 providing expect is already installed
 - 1:java-1.8.0-openjdk-headless-1.8.0.282.b08-1.el7_9.x86_64 providing java-1.8.0-openjdk-headless is already installed
 - docker-ce-18.06.3.ce-3.el7.x86_64 providing docker-ce-18.06* is already installed
 - socat-1.7.3.2-2.el7.x86_64 providing socat is already installed
 - libselinux-python3-2.5-15.el7.x86_64 providing libselinux-python3 is already installed
```
источник

AK

Alexander Khatsayuk in Ansible
А добавь enablerepo в плей с тем репозиторием, откуда нужно установить пакет.
источник

AK

Alexander Khatsayuk in Ansible
Т.е.
- name: Install packages
 become: yes
 yum:
   name: "{{ prerequisite_packages_rhel7 }}"
   state: present
   update_cache: yes
   enablerepo: 'target-repo-name'
   disablerepo: ['*debug-rpms', '*source-rpms']
источник

AD

Alex Domoradov in Ansible
не пробовал, но геморно будет
источник

AD

Alex Domoradov in Ansible
учитывая имена реп - rhui-rhel-8-for-x86_64-highavailability-debug-rhui-rpms
источник

AD

Alex Domoradov in Ansible
пока сделал проще, добавил

yum-config-manager --disable '*debug-rpms'
yum-config-manager --disable '*source-rpms'

в bootstrap скрипт
источник

AD

Alex Domoradov in Ansible
Alexander Khatsayuk
Т.е.
- name: Install packages
 become: yes
 yum:
   name: "{{ prerequisite_packages_rhel7 }}"
   state: present
   update_cache: yes
   enablerepo: 'target-repo-name'
   disablerepo: ['*debug-rpms', '*source-rpms']
да и enable тут не причем. Ибо пакеты то он видит, но вот инициализация кеша знимает ~3 минуты, при отключении debug/srpms ~ 1 минуту
источник

S

Sergioss in Ansible
Lamobot
Скорее всего нет. Не очень понятно, зачем это нужно. Пропишите просто dir_path: ... где-то раньше
Это нужно для того чтоб сматчить то что в первой переменной во вторую)
источник

A

Alexander in Ansible
Разлили репликатор кафки "не туда", после чего захотелось ограничить работу плейбука не только группой [kafka], но и dc [dc2]
Сейчас инвентори организованы
development/
dc1_hosts
dc2_hosts
production/
dc1_hosts
dc2_hosts

Что не дает возможности так сделать. Можно просто выбрать не тот файл hosts и разлить не туда, так как везде на каждой площадке есть группа [kafka].
Посмотрел документацию по организации групп, погуглил, но пока не понял, как правильно реорганизовать инвентори.

В идеале мне видится какая-то иерария

[dc1]
[kafka]
kafka1.dc1.local
kafka2.dc1.local

[dc2]
[kafka]
kafka1.dc2.local
kafka2.dc2.local

И тогда работу плейбука можно было бы лимитировать через
[dc1:kafka]
[dc2:kafka]

Так инвентори согласно документации не организовать. Можно, конечно, группы называть так:
[dc1_kafka]
[dc2_kafka]
но групп много и такая организация выглядит кривой. Получается, что я не с той стороны пытаюсь решить вопрос или невнимательно читаю документацию. Кейс не выглядит экзотическим.
Не подскажите, в какую сторону нужно копать?
источник

SP

Sergey Pechenkó in Ansible
Alexander
Разлили репликатор кафки "не туда", после чего захотелось ограничить работу плейбука не только группой [kafka], но и dc [dc2]
Сейчас инвентори организованы
development/
dc1_hosts
dc2_hosts
production/
dc1_hosts
dc2_hosts

Что не дает возможности так сделать. Можно просто выбрать не тот файл hosts и разлить не туда, так как везде на каждой площадке есть группа [kafka].
Посмотрел документацию по организации групп, погуглил, но пока не понял, как правильно реорганизовать инвентори.

В идеале мне видится какая-то иерария

[dc1]
[kafka]
kafka1.dc1.local
kafka2.dc1.local

[dc2]
[kafka]
kafka1.dc2.local
kafka2.dc2.local

И тогда работу плейбука можно было бы лимитировать через
[dc1:kafka]
[dc2:kafka]

Так инвентори согласно документации не организовать. Можно, конечно, группы называть так:
[dc1_kafka]
[dc2_kafka]
но групп много и такая организация выглядит кривой. Получается, что я не с той стороны пытаюсь решить вопрос или невнимательно читаю документацию. Кейс не выглядит экзотическим.
Не подскажите, в какую сторону нужно копать?
Есть раздел в доке - Patterns, он нужен. Конструкция типа
hosts: kafka:&dc2
источник

A

Alexander in Ansible
Sergey Pechenkó
Есть раздел в доке - Patterns, он нужен. Конструкция типа
hosts: kafka:&dc2
Спасибо большое, посмотрю
источник

D

Dmitriy in Ansible
Подскажите, пожалуйста, что делаю не так. Сейчас такой бред спрошу, наверное))) Хочу воспользоваться вот этой ролью https://github.com/geerlingguy/ansible-role-pip. Для этого я её сперва установил (вижу, что в папке ~/.ansible/roles она появилась. Как теперь сделать так, чтобы при выполнении команды ansible-playbook -i hosts site.yml она применилась? Где её прописать нужно?
источник

DK

D K in Ansible
Dmitriy
Подскажите, пожалуйста, что делаю не так. Сейчас такой бред спрошу, наверное))) Хочу воспользоваться вот этой ролью https://github.com/geerlingguy/ansible-role-pip. Для этого я её сперва установил (вижу, что в папке ~/.ansible/roles она появилась. Как теперь сделать так, чтобы при выполнении команды ansible-playbook -i hosts site.yml она применилась? Где её прописать нужно?
источник

DK

D K in Ansible
А так рекомендую доку начать читать прям с самого начала, она очень хорошая в этом плане, многие вопросы отпадут сами собой
источник

D

Dmitriy in Ansible
Завелось, спасибо
источник

DK

D K in Ansible
Dmitriy
Завелось, спасибо
ну и ридми читать к тому что ставишь тоже не плохо https://galaxy.ansible.com/geerlingguy/pip
источник

D

Dmitriy in Ansible
Там была проблема не в том, что я доку не читал. Роль-то я в roles указал так, как в readme написано - geerlingguy.pip. По какой-то причине не завелось. Я в итоге в requirements.yml сделал вот так (см. ниже) - и тогда заработало (в roles указал geerlingguy.ansible-role-pip, соответственно). Почему не завелось с geerlingguy.pip, я не понял
- src: https://github.com/geerlingguy/ansible-role-pip.git
 version: 2.0.0
 name: geerlingguy.ansible-role-pip
источник

L

Lamobot in Ansible
Dmitriy
Там была проблема не в том, что я доку не читал. Роль-то я в roles указал так, как в readme написано - geerlingguy.pip. По какой-то причине не завелось. Я в итоге в requirements.yml сделал вот так (см. ниже) - и тогда заработало (в roles указал geerlingguy.ansible-role-pip, соответственно). Почему не завелось с geerlingguy.pip, я не понял
- src: https://github.com/geerlingguy/ansible-role-pip.git
 version: 2.0.0
 name: geerlingguy.ansible-role-pip
Реально, там роль состоит из двух тасок...
https://github.com/geerlingguy/ansible-role-pip/blob/master/tasks/main.yml
Лучше бы почитали доки на ансибл :)
источник

D

Dmitriy in Ansible
Я в процессе освоения, так сказать. За совет насчёт документации спасибо. Но не понял, если честно, какое к моему вопросу имеет отношение то, что роль состоит именно из двух тасок. Их количество на мою проблему никак не влияет. Тем не менее, всем спасибо!
источник
2021 February 23

x

xoyozo in Ansible
помогите плиз с кодом
источник