
Alexandr
18.09.2018
18:27:21
кто накатывает плейбуки на aws через ANS? подскажите в чем может быть проблема?

qww
18.09.2018
18:28:00
я про это знаю, пробовал
tar zcvf file.tar.gz file.html
file file.tar.gz gzip compressed data,
ansible 2.6.3
отработало
-vv может подробностей подкинет?

Sergey
18.09.2018
18:28:10

Alex
18.09.2018
18:28:12

Google

Alexandr
18.09.2018
18:28:20

Sergey
18.09.2018
18:29:34
Нет. Default VPC не указан.

Alexandr
18.09.2018
18:30:19
ааааа
)

Sergey
18.09.2018
18:30:52
Английским же по чёрному - VPCIdNotSpecified

Alexandr
18.09.2018
18:31:17

Sergey
18.09.2018
18:31:48
Хм. Точнее говоря, с низкой самооценкой? ?

qww
18.09.2018
18:32:58
а как сделать такой вывод ансибла читабельным. чтобы json не одну строку выводился а вертикально. это stdout_callback другой поставить?

Sergey
18.09.2018
18:33:52

qww
18.09.2018
18:34:46
спасибо. callback debug помог

Vasily
18.09.2018
18:49:59
(keep remote files по техническим причинам не могу поставить)

Google

Alexandr
18.09.2018
18:52:57

Sergey
18.09.2018
18:54:40
Если работаешь с уже созданным VPC - в теории можешь натравить на него сборщик фактов
https://docs.ansible.com/ansible/2.6/modules/ec2_vpc_subnet_facts_module.html

qww
18.09.2018
18:55:46

Vasily
18.09.2018
18:56:55

qww
18.09.2018
18:59:53

Robert
18.09.2018
19:03:03
Мы через command разархивируем из-за возможности использовать pigz

Vasily
18.09.2018
19:03:52

qww
18.09.2018
19:04:04

Robert
18.09.2018
19:04:42

Alexandr
18.09.2018
20:16:29

bebebe
18.09.2018
20:28:18
почему не terraform?

Sergey
18.09.2018
20:29:19

Alexandr
18.09.2018
20:40:08

bebebe
18.09.2018
20:46:34
у меня был такой же случай, сначала было сделано на ансбил, потом переделал на терраформе, второе понравилось больше

Vit
18.09.2018
22:24:14
Просто оставлю это здесь:
https://devops-moscow.timepad.ru/event/810970/ :)

Ivan
19.09.2018
07:25:43
доброе утро господа. Подскажите как правильно использовать mysql_user module в такой задаче.
Раньше не заморачивался и делал так
- name: Add grant privileges
command: >
mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '';"
Теперь же хочу сделать по красоте и пытаюсь так:
- mysql_user:
user: root
state: present
priv: '*.*:ALL,GRANT'
вижу в аутпуте ok, но понимаю, что не отрабатывает.

Google

Ivan
19.09.2018
07:28:00
ok: [172.29.3.118] => {
"changed": false,
"invocation": {
"module_args": {
"append_privs": false,
"check_implicit_admin": false,
"config_file": "/root/.my.cnf",
"connect_timeout": 30,
"encrypted": false,
"host": "localhost",
"host_all": false,
"login_host": "localhost",
"login_password": null,
"login_port": 3306,
"login_unix_socket": null,
"login_user": null,
"password": null,
"priv": "*.*:ALL,GRANT",
"sql_log_bin": true,
"ssl_ca": null,
"ssl_cert": null,
"ssl_key": null,
"state": "present",
"update_password": "always",
"user": "root"
}
},
"user": "root"
}

inqfen
19.09.2018
07:55:22
Он говорит, что changed false, значит права уже соответствуют

Ivan
19.09.2018
07:59:22
не, что тут не то, смотрите, вот что выходит через выфполнения скрипта через команд
changed: [172.29.3.118] => {
"changed": true,
"cmd": [
"mysql",
"-u",
"root",
"-e",
"GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '';"
],
"delta": "0:00:00.007323",
"end": "2018-09-19 07:57:58.293855",
"invocation": {
"module_args": {
"_raw_params": "mysql -u root -e \"GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '';\"",
"_uses_shell": false,
"argv": null,
"chdir": null,
"creates": null,
"executable": null,
"removes": null,
"stdin": null,
"warn": true
}
},
"rc": 0,
"start": "2018-09-19 07:57:58.286532",
"stderr": "",
"stderr_lines": [],
"stdout": "",
"stdout_lines": []
}
мне кажется, я что-то пропускаю

Sergey
19.09.2018
08:10:05

Максим
19.09.2018
08:24:04
ok: [172.29.3.118] => {
"changed": false,
"invocation": {
"module_args": {
"append_privs": false,
"check_implicit_admin": false,
"config_file": "/root/.my.cnf",
"connect_timeout": 30,
"encrypted": false,
"host": "localhost",
"host_all": false,
"login_host": "localhost",
"login_password": null,
"login_port": 3306,
"login_unix_socket": null,
"login_user": null,
"password": null,
"priv": "*.*:ALL,GRANT",
"sql_log_bin": true,
"ssl_ca": null,
"ssl_cert": null,
"ssl_key": null,
"state": "present",
"update_password": "always",
"user": "root"
}
},
"user": "root"
}

Ivan
19.09.2018
08:33:27
ребят, так что надо поменять? Или они реально там уже есть?

inqfen
19.09.2018
08:39:33
Господа, кто дамп pgsql заливает через ansible?

Maksim
19.09.2018
08:39:48
было дело

inqfen
19.09.2018
08:39:49
Указываю target opts -c или --clean
возвращает
"msg": "/usr/bin/psql: unrecognized option: clean\nTry \"psql --help\" for more information.\n",
Но в доках
target_opts
(added in 2.4)
Further arguments for pg_dump or pg_restore. Used when state is "dump" or "restore"

inqfen
19.09.2018
08:40:44
судя по выводу ансибла, там не pg_restore а psql
втф?
То ли я что-то не понимаю и делаю не то, то ли документация где-то наебывает (как минимум в одном месте она так делает)

Maksim
19.09.2018
08:42:52
ты по идее должен сам написать через shell модуль как восстановить твою дамп
postgresql_db - Add or remove PostgreSQL databases from a remote host.
postgresql_ext - Add or remove PostgreSQL extensions from a database.
postgresql_lang - Adds, removes or changes procedural languages with a PostgreSQL database.
postgresql_privs - Grant or revoke privileges on PostgreSQL database objects.
postgresql_schema - Add or remove PostgreSQL schema from a remote host
postgresql_user - Adds or removes a users (roles) from a PostgreSQL database.

inqfen
19.09.2018
08:43:56
postgresql_db
state
Choices:
present ←
absent
dump
restore
Юзаю тот restore, который из коробки, такая вот фигня
а вот dump нормально работает как pg_dump

Google

Maksim
19.09.2018
08:48:18
а у тебя дам sql?

inqfen
19.09.2018
08:48:28
да, текстовый

Maksim
19.09.2018
08:48:39
https://github.com/ansible/ansible/blob/a8d4bf86421d151d8df7132e8e87d04b6662f45a/lib/ansible/modules/database/postgresql/postgresql_db.py
просто тут пацаны написали логику когда какой инструмент юзать
по дефолту идет psql если не указан формат )

inqfen
19.09.2018
08:49:34
- name: dump db to server
postgresql_db:
login_host: "{{postgres_host}}"
login_password: "{{postgres_password}}"
login_user: "{{postgres_user}}"
name: "{{postgres_database}}"
port: "{{postgres_port}}"
state: restore
target: "/backup/{{backup_name}}-obfuscated.sql"
target_opts: "--clean"
ща почитаю что там написали

Maksim
19.09.2018
08:50:15
elif os.path.splitext(target)[-1] == '.tar':
flags.append(' --format=Tar')
cmd = module.get_bin_path('pg_restore', True)
попробуй поменять расширение)

Admin
ERROR: S client not available

inqfen
19.09.2018
08:50:44
if os.path.splitext(target)[-1] == '.sql':
flags.append(' --file={0}'.format(target))
блет
Значит придется сначала дропать бд
Юзается текстовый потому что перед восстановлением еще питоноскрипт обфускацию делает
Классно доки написаны, попробуй угадай без кода как оно работает

Sergey
19.09.2018
08:54:03
?)))

inqfen
19.09.2018
08:55:00
Ну вот например я таскаю.
Если оно работает так только для архивированных - значит это надо указать же
Supported formats for dump and restore are: .sql and .tar
Потому что в доках все прямо наоборот

Sergey
19.09.2018
08:55:26

inqfen
19.09.2018
08:55:52
Да, я там как раз еще один pr буду делать в notes, так что и это добавлю
И код немного надо поправить, но пока некогда к сожалению, в этом модуле еще косячок есть

Google

Kanstantsin
19.09.2018
08:59:29
Всем привет, подскажите, в чём может быть проблема?

inqfen
19.09.2018
09:01:18
dd unrecognized operand of
проверь как написаны аргументы
или это при передаче temp файлов ансибла?

Максим
19.09.2018
09:14:27
Всем доброго времени суток. Есть 2 задания - https://pastebin.com/UdyTPVQf
Не подскажите почему одно выполняется в другом? Речь вот о чём: в сбор фактов попадает шаг "setup. Копирую служебные файлы фронтенда", а под шагом "setup. Копирую служебные файлы фронтенда" выполняет следующий за ним "setup. Копирую общие файлы nginx". Получается, что они как бы вверх поднимаются. Используется ansible 2.5.2

inqfen
19.09.2018
09:17:27
а теперь вопрос лучше по-русски написать
Ничего не понял)

Максим
19.09.2018
09:22:23
Не знаю как ещё сформулировать)

bebebe
19.09.2018
09:30:36
в том куске который вы скинули на pastebin нету таски "создаю и проверка необходимые каталоги" (русский язык вам не родной?)
а в выводе она есть
либо вы смотрите не туда и запускаете не то, либо не всем нам показали

Максим
19.09.2018
09:31:48
https://pastebin.com/AfGZatzN

bebebe
19.09.2018
09:36:00
https://pastebin.com/AfGZatzN
зайдите в директорию где лежит плейбука и выполните команду find . /etc/ansible -type f -ls и выложите output на pastebin

Sergey
19.09.2018
09:38:12
Это уже было сколько-то дней назад - знакомые таски, мягко говоря, странный подход. Увы. В такие моменты хочется грязно ругаться на несовершенство мира.
Если сделать нормально, обойдясь без совы и глобуса, то это не потребует таких усилий диких при отладке и поддержке (чего стоят постоянные убегания за файлами в относительные пути!)

Максим
19.09.2018
09:43:02

Sergey
19.09.2018
09:44:05
На мой взгляд, здесь порядок возможен только через параметризированную роль (тогда не придётся костылить с when).

inqfen
19.09.2018
09:44:51
вообще это решается тегами
Но их немного сломали(

Максим
19.09.2018
09:45:00