Sergey
а мне интересно, почему не использовать для этого терраформ?
Как вариант - чтобы не плодить лишние сущности. Есть ансибл - значит, всё ансиблится.
Aleksey
эт чего ?
Nklya
альтернатива ))
Aleksey
у мя просто ничем такое не открывается
Alexandr
эт чего ?
ээээ руки кривые
Aleksey
лень. да и не откроет этого ничего в линуксах
Alexandr
блин я хз как я сюда это вообще кинул
Vladimir
кроме как "msg": "parameters are mutually exclusive: ['state', 'from_template']" ничего не выдает, почему-то поднять виртуалку из темплейтв в состоянии off для него невозможно😃
from_template (added in 1.9) - Specifies if the VM should be deployed from a template (mutually exclusive with 'state' parameter). No guest customization changes to hardware such as CPU, RAM, NICs or Disks can be applied when launching from template. Это валидное поведение. :)
Vladimir
Очевидно, что здесь не стоит задавать стейт при создании VM.
citius
какая-то хрень творится, что template что copy вызванные из роли не могут найти исходный файл. контент роли в roles, исходный файл в templates в корне проекта. уже что только не пробовал - Unable to find 'production/ws/websocketserver-app.json' in expected paths.
Nklya
темплейт, вызванный из роли должен лежать в самой роли
citius
но можно же (было раньше во всяком случае) переопределить его на уровне проекта
citius
и copy тоже
Nklya
т.е. roles/app/tasks/main.yml и roles/app/templates/template.j2
Nklya
А зачем превращать репозиторий в мусорку?
citius
может я чего-то не понимаю
citius
вот есть роль, которая ставит условный сервис
citius
мне ее надо накатывать на разные окружения разных проектов
citius
везде есессно разные конфиги
citius
соответственно логично на уровне проекта который использует эту роль и держать этот конфиг?
Nklya
шаблон лежит в роли, в шаблоне заданы переменные, которые потом определяются в variables
Sergey
для окружений у тебя будут различаться ПАРАМЕТРЫ, а не КОНФИГИ
citius
дык программировать на конфигах вроде не комильфо?
Nklya
В клиническом случае могут и конфиги отличаться
citius
я от этого как раз уйти пытаюсь
Sergey
дык программировать на конфигах вроде не комильфо?
вот и не программируй. конфиг везде одинаковый, шаблон называется. в него подставляются параметры, которые могут меняться в зависимости от окружения
Nklya
Например https://github.com/alexey-medvedchikov/ansible-rabbitmq/blob/master/templates/etc/rabbitmq/rabbitmq.config.j2
Sergey
например, в шаблон конфига написано: RMQ_IP={{ rmq.host }} а где-то в инвентори: rmq: host: 127.0.0.1
citius
шаблон конфига может различаться, он растет с самой софтиной которую роль накатывает. получается разрабунужно вести версионироание роли вместе с ее содержимым
Sergey
гыгыгы
Sergey
и я пример про кролика написал
citius
плюс нужно править еще и содержимое варсов проектов которые ее используют
Sergey
Sergey
в шаблоне напишешь: "{{ this_role | to_nice_yaml }}" - и весь шаблон.
citius
там и так жсон
citius
но это все равно нужно править в куче мест получается
Sergey
"{{ this_role | to_nice_json }}"
Nklya
код ролей должен версионироваться, и не будет проблем
Sergey
есть одна мысль, к реализации которой я иду. в репе с кодом лежит файл .json / .yml со свежедобавленными настройками. в репе с ролями/скриптами есть свои настройки, которые загружаются после разарботчиковских через merge_hash. таким образом, у человека будет ощущение свободных рук, а тебя будут меньше дёргать по мелочам.
citius
в общем проще конфигом из роли вообще не управлять )
Sergey
в общем проще конфигом из роли вообще не управлять )
дык хоть vim-ом правь - как тебе удобно, так и делай. твой личный кактус с твоей личной тарелки можешь убрать или съесть только ты 😉
Nklya
В ситуациях, когда в компании построены нормальные процессы, а не создают отделы дивопсов, часть работы по IaC выполняют разработчики, и соответсвенно, когда им нужна новая опция в конфиге идут в репу роли и добавляют
citius
1) пойти в репу роли и добавить в шаблон 2) пойти в проект и добавить переменную либо 1) пойти в проект и поменять конфиг
citius
и то и другое разраб делает, но во втором случае тупо работы меньше
citius
если переменные извне тянутся другое дело, но тогда оттуда же может и конфиг целиком можно будет положить в общем ответ на вопрос я получил, спасибо )
inqfen
Всем привет
inqfen
inqfen inqfen: Господа, это я ебанутый или где? В ансибле назначаю права на директорию, mode: 0777
inqfen
В итоге права x--вроде
inqfen
Делаю mode: "u=rwx, g=rwx, o=rwx" все норм
Sergey
Делаю mode: "u=rwx, g=rwx, o=rwx" все норм
каким модулем назначаешь права?
inqfen
file
Sergey
а пользователь присутствует на целевом хосте?
Sergey
вернее, так: приведи, пожалуйста, конкретную строчку из tasks/*.yml, которая некорректно работает
time
inqfen
я про это знаю
time
попробуй 0 опустить
inqfen
пробовал
inqfen
тоже фигня
maniac
кавычки еще
inqfen
кавычки еще
без них ансибл вобще посылает же
inqfen
или в owner только
inqfen
надо глянуть
time
кстати 22:07:31 › ansible -i 'localhost,' -m file -a 'name=/tmp/test state=directory mode=0777' all localhost | SUCCESS => { ... } wasd at kwasdbook.nya in [~] 22:07:37 › stat /tmp/test File: /tmp/test Size: 40 Blocks: 0 IO Block: 4096 directory Device: 24h/36d Inode: 1188729 Links: 2 Access: (0777/drwxrwxrwx) Uid: ( 1000/ wasd)
inqfen
таки слазил
inqfen
- name: Chmod directory become: yes file: state: directory path: "/home/{{ host_user }}/{{ task }}/{{ project_name }}/{{ component_name }}" owner: "{{ host_user }}" group: www mode: "u=rwx,g=rwx,o=rwx" recurse: yes
inqfen
вот в mode Было 0777
time
(ansible 2.4.0.0)
inqfen
причем в том же таске на файл все норм применяется
inqfen
- name: Chmod entrypoint become: yes file: path: /home/{{ host_user }}/{{ task }}/{{ project_name }}/{{ component_name }}/entrypoint.sh mode: 0755 тута
inqfen
но я там и 755 пробовал там где не работет и 777 там где работает
inqfen
такое ощущение, что косяк, если это директория
time
2.2.1.0 тоже хорошо чем же твой случай такой особенный
time
а что за система?