Dmitriy
" is a software consultant with experience of more than 6 months" а чего вы хотели то?)
Gleb
прикинь еще деньги берет за консультации
Damir
Надо было бы уже на шелле, дописать список таргет хостов и доступ к ним
Mentat
Dmitriy
⎈
это она
Лишь бы не "оно"
Damir
Да и остальные его статьи так же пахнут профессионализмом :)
Vladimir
Damir
Neelam Lakra добавлю в скрепы
Роман
fileglob юзайте
То, что надо. А есть что-нибудь такое, только для директорий?
Timur
kevit
добрый вечер, интересует консультация от кого-нибудь кто глубоко залезал в awx/tower. есть нужда в кастомном конфиге .gitconfig , куда копать?
Гайрат
inqfen
А ты быстро реагируешь, всего 1,5 месяца)
inqfen
Да, я уже правда не помню что было
Dmitriy
Похоже на то, что путь не прописан
Гайрат
Таргет на 7 центосе, спотыкается о postgresql_user
Гайрат
Dmitriy
До модуля?
Да, может он не в папке по дефолту лежит
Dmitriy
Это предположение
Dmitriy
Попробуйте заюзать vvv и посмотреть выхлоп
Alexander
Хаха.
Удалить AWS VPC с подсетями с помощью ec2_vpc_net нельзя :)
tutunak
Вячеслав
Всем привет, подскажите плиз
При работе с модулем get_url выдается ошибка AttributeError: 'module' object has no attribute 'HTTPSConnection'
Какой либы питона может не хватать на удаленном хосте?
inqfen
Вообще там requests модуль
inqfen
Но странно, что сразу не ругается на импорт
greydjin
А если у меня
- tasks
- configure-firewalld.yml
- create-deploy-user.yml
- install-dependencies.yml
То я могу для каждого файла сделать свой файл с дефолтными параметрами? типа
- defaults
- configure-firewalld.yml
- create-deploy-user.yml
- install-dependencies.yml
Sergey
greydjin
нейминг файлов внутри defaults имеет значение? читаю
https://docs.ansible.com/ansible/latest/user_guide/playbooks_variables.html
и не вижу ответа
greydjin
предположу что ансибл читает vars из всех файлов внутри defaults и ему пофиг как названы файлы, все переменные - в куче
Anonymous
подскажите где не правильно использую regexp работал и сломался https://pastebin.com/ZYwiU5b4
Sergey
Anonymous
нету дефолтс
Anonymous
для этой роли, all я уже проверил
Timur
Anonymous
сама дичь что этот же код в роли названой по другому спокойно выоплняется
Timur
Anonymous
- hosts: zookeeper_cls_uat
become: yes
roles:
- 0000-common
- 0065-zookeeper-install
- 0066-zookeeper-configure
# - 0500-iptables-add-rules
- 0501-iptables-add-source-filter
Timur
Anonymous
вот раскоменчу 500 таск отрабтает - а вот тот же код в 501 не отрабатывает
Timur
Откуда переменная iptables.rules берется?
Anonymous
из enviremetns/staging/playbook_name
Anonymous
и в выводе они и фигурируют
Timur
Timur
Как у вас включаются эти переменные?
Anonymous
ansible-playbook -i environments/staging zoo-cls-uat.yml --tags "iptables"
Timur
Через group_vars? host_vars? В плейбуке задаются?
Anonymous
через group_vars
Timur
Понятно. Значит, не добавились для данного хоста
Timur
Он точно входит в ту группу, где эта переменная лежит?
Артём
А для чего используется нумерация ролей? Они разве не в порядке вхождения в плейбук выполняются?
Anonymous
да точно, он же их ввыоде. даже выводит
Anonymous
TASK [0502-iptables-debug : add rule to /etc/iptables.sh] *******************************************************************
changed: [debug.z-int.com] => (item={'name': 'aaa', 'protocol': 'tcp', 'port': '80', 'source': '1.2.3.4'})
changed: [debug.z-int.com] => (item={'name': 'eadmaain_back', 'protocol': 'tcp', 'port': '8080', 'source': '1.2.3.4'})
fatal: [debug.z-int.com]: FAILED! => {"msg": "The task includes an option with an undefined variable. The error was: 'None' has no attribute 'protocol'\n\nThe error appears to be in '/git/ansible/roles/0502-iptables-debug/tasks/main.yml': line 2, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n---\n- name: add rule to /etc/iptables.sh\n ^ here\n"}
kevit
ansible-inventory --vars
Anonymous
Timur
Можете для теста перед lineinfile добавить:
- name: debug iptables
debug:
var: iptables
Anonymous
[0502-iptables-debug : debug] ******************************************************************************************
ok: [debug.example.com] => {
"msg": {
"rules": [
{
"name": "aaa",
"port": "80",
"protocol": "tcp",
"source": "1.2.3.4"
},
{
"name": "eadmaain_back",
"port": "8080",
"protocol": "tcp",
"source": "1.2.3.4"
},
null
]
}
}
Anonymous
пойду обновлю ансибли и ребутну мак, вдруг отпустит
Anonymous
плейбук был абсолютно рабочий июзался уже несколько месяцев - сломался на ровном месте без всяких правок
kevit
iptables:
rules:
- { name: "aaa", protocol: "tcp", port: "80", source: "1.2.3.4"}
- { name: "aa", protocol: "tcp", port: "8080", source: "1.2.3.4"}
kevit
а там есть пустая строка после последней?
kevit
@deniswork102
Anonymous
нету -я кажеться начинаю находить где косяк
Anonymous
с. какого то енва он. что то не топодтянул агде не пойму
Anonymous
пока создал нулевый енвариментс там ок отрабатывает
Anonymous
короче само почигнилось - нда
kevit
это говорит что тебе нужен ассерт)
kevit
Fail Early, вседела
Сергей
Добрый день. Если нужно установить локаль через ансибл, для убунту есть модуль для locale-gen, для centos соответственно он не сработает,так как там нет locale-gen.
Правильный ли способ сделать сначала проверку есть ли такая локаль в системе и если ее нет - сгенерировать через localedef? Типа такого:
locale: ru_RU.UTF-8
- name: Check if locale exists
shell: "locale -a | grep -i `sed s/-//g <<< {{locale}}`"
ignore_errors: true
register: locale_found
when: ansible_distribution == 'CentOS'
- name: Generate locale in CentOS if doesnt exists
command: "localedef -i {{locale.split('.')[0]}} -f {{locale.split('.')[1]}} {{locale}}"
register: localedef_out
when: locale_found.stdout == '' and ansible_distribution == 'CentOS'
- name: Set locale
command: "localectl set-locale LANG={{locale}}"
Или это адский башсибл и есть метод по-элегантнее?
Alex
> Если нужно установить локаль через ансибл, для убунту есть модуль для locale-gen,
а оно у вас работает на убунте? У меня такой таск не отрабатывал
- name: Ensure a locale exists
locale_gen:
name: en_US.UTF-8
state: present
Timur
Сергей
Timur
Правильно - инклудать разные наборы тасков для разных дистрибутивов, там где нужен учёт специфики
Timur
Выше много раз примеры динамического инклуда были
Сергей
это просто так, пример
Сергей
просто насчет примера что я выложил, просто подумал, может опытные люди используют какой-то другой способ для centos