Vadim
Vadim
для начала - https://github.com/subuk/awx-rpm/blob/master/awx-build.spec#L161 - эти дебиановские привычки сразу запускать сервис после установки нужно остановить на входе
Vadim
второе что сразу бросилось в глаза - https://github.com/subuk/awx-rpm/blob/master/awx-celery-beat.service - питон в /opt не надо совать, selinux будет орать
Vadim
ну и всякие мелочи типа версия задается дважды - в Version и Source0
Sergey
Vadim
Sergey
ну нееееее, это моветон
Vadim
это то же самое что "запускать незнамо что из /opt"
Sergey
Эмммм. А почему же "незнамо что"? У тебя на билд-машине есть питон, из него ваяешь venv, потом этот venv запускаешь где-то ещё. Что здесь не так? По определению RPM-пакет предусматривает определённый уровень доверия содержимому, разве нет?
Vadim
>RPM-пакет предусматривает определённый уровень доверия
эмммм, нет? Это просто tar.gz + скрипты которые выполняются от рута
Womchik
Sergey
ShadoWalkeR
ShadoWalkeR
Там все несколько сложней
Vadim
вы там наверху оба SRPM себе на машину ставите?
Maxim
привет всем. подскажите, а как-то можно заюзать переменную в when, чтобы варнинг ниже не появлялся? [WARNING]: when statements should not include jinja2 templating delimiters such as {{ }} or {% %}. Found: links.stat.path != '/some/path/{{name}}|string')
Alexander
Убрать {{}} :)
Maxim
а че, так можно было 😅
Alexander
'.../path/' + name
Maxim
а, понял
Alexander
Это уже скорей вопрос личных предпочтений:)
Maxim
всем спасибо! заработало )
Евгений
RE
камрады, а как правильно запустить ансибл плейбук на только что созданной виртуалке?
там ниче нет, ни апдейтов, ни самого ансибла.. есть только юзер-пасс и ip
RE
как это обычно делается?
Fedor
напрямую запускается
Fedor
через адхок команды
RE
да, мне удаленно надо
Fedor
хотя не, плейбук же
Fedor
прописывается хост в инвентори
Fedor
ansible-playbook -i inventory playbook.yml
Fedor
если просто команды
Fedor
ANSIBLE_HOST_KEY_CHECKING=False ansible --private-key=terraform -i inv all -b -m group -a "name=ansible_wheel state=present"
типа такого
Fedor
это без плейбуков
Denis
Fedor
первое - чтоб не ругался на неизвестный хост, у меня авторизация по прайваткей, -b это поднятие в судо, -m модуль, потом аргументы к нему
RE
да
надо новую ВМ готовить - заливать софт, заливать композ файл с нужными плейсхолдерами настроенными.. думаю это задача для плейбука
но его надо както заранать
Fedor
за что?)
Fedor
а, run
RE
run )
Fedor
ну ansible-playbook -i invfile play.yml
Fedor
если есть только роль, но нет плейбука, берётся любой плейбук с hosts и roles и адаптируется
RE
понял...
но для этого похоже надо иметь отдельную linux тачку с "серверной" частью ансибла.
или как там она называется
а у меня только vsts
RE
впрочеv там есть вроде плагин для ансибла
Fedor
любую юниксовую
White
ребят, как сделать что бы nvm устанавливался в папку пользователя от которого запускается плейбук? плейбук запускается с sudo, и установка по видимому идет в рут директорию..
manefesto
что за nvm ?
manefesto
может mvn ?
manefesto
ааа, типа несколько версий нода ?
White
угу
White
node version manager
White
без судо не запускается плейбук, а с судо инсталит в папку рут
manefesto
ну так укажи для nvm полный путь
manefesto
а как ты его устанавливаешь тО?
White
сек
White
- name: Install nvm
shell: >
curl https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh
creates=/home/{{ ansible_user_id }}/.nvm/nvm.sh
- name: Install node and set version
shell: >
/bin/bash -c "source ~/.nvm/nvm.sh && nvm install 0.10 && nvm alias default 0.10"
creates=/home/{{ ansible_user_id }}/.nvm/alias
manefesto
дык эта, минутку
White
:)
Sergey
Sergey
кстати, как и вытягивание баш-скриптов курлом и их запуск
White
а есть другое решение?)
Vadim
White
а сам плейбук через sudo?
manefesto
- name: Install nvm
shell: {{item.command}}
args:
chdir: /home/{{ ansible_user_id }}
creates: {{item.creates}}
with_items:
- {command: "curl https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh", creates: "/home/{{ ansible_user_id }}/.nvm/nvm.sh"}
- {command: '/bin/bash -c "source ~/.nvm/nvm.sh && nvm install 0.10 && nvm alias default 0.10"', creates: "/home/{{ ansible_user_id }}/.nvm/alias"}
White
тогда пойдет установка в папку пользователя?
manefesto
вообще через chdir
White
спасибо я попробую
Vadim
тогда become: false скинет обратно на юзера, к которому коннектишься
White
ну типа того да,вот смотрите, есть пользователь appuser, мне нужно всю эту хрень установить ему в папку /home/appuser, но идет все руту в папку... при этом я запускаю так sudo play.yml
manefesto
на код хрен ты делаешь судо ?
White
так без судо фейлится на первом же таске
manefesto
- name: Install nvm
shell: >
{{item.command}}
args:
chdir: /home/{{ ansible_user_id }}
creates: {{item.creates}}
with_items:
- {command: "curl https://raw.githubusercontent.com/creationix/nvm/v0.7.0/install.sh | sh", creates: "/home/{{ ansible_user_id }}/.nvm/nvm.sh"}
- {command: '/bin/bash -c "source ~/.nvm/nvm.sh && nvm install 0.10 && nvm alias default 0.10"', creates: "/home/{{ ansible_user_id }}/.nvm/alias"}
become: true
become_user: {{ ansible_user_id }}
manefesto
последние две строки смотри
White
ansible_user_id - это будет appuser?
manefesto
в твоём случае да
manefesto
вообще не понимаю почему утебя роль не отрабатывает, не надо её запускать через sudo