У меня есть playbook, который проверяет код из git, копирует изменения на соответствующий удаленный сервер, выполняет процесс и передает результат обратно на github теперь, когда все в порядке, наконец, мне нужно перезапустить сервер, но моя проблема в том, что это не должно быть пользователем root, как я могу перезапустить сервер после выполнения необходимых изменений с пользователем, который является обычным пользователем доступа, сервер является weblogic,
---
- hosts: deploy
tasks:
- name: clone a private repository
git:
repo: 'git@172.28.xx.xx:Rakshith/BELLCANNADA.git'
dest: /srvrs/osm104/PONG
version: SAAS_1
clone: yes
- copy:
src=/srvrs/osm104/PONG/COM/OSM/OPERATION/OSM_104/wlst1.properties
dest=/srvrs/osm104/Oracle/Middleware/Oracle_Home/oracle_common/common/bin/wlst1.properties
mode=0644
backup=true
remote_src=yes
- name: Execute script
shell: wlst.sh >> OUTPUT.txt
args:
chdir: /srvrs/osm104/Oracle/Middleware/Oracle_Home/oracle_common/common/bin/
creates: OUTPUT.txt
- copy:
src=/srvrs/osm104/Oracle/Middleware/Oracle_Home/oracle_common/common/bin/OUTPUT.txt
dest=/srvrs/osm104/PONG/COM/OSM/OPERATION/OSM_104/SAAS1.0_OUTPUT_EnvName.txt
mode=0644
backup=true
remote_src=yes
- name: Reboot server
shell: reboot
become: yes
become_user: some_user
local_action: wait_for host="{{ 10.36.xx.xx }}" search_regex=OpenSSH port=22 timeout=300
Может, обработчик добавить? Вам нужно создать файл дескрипторов в каталоге ролей. Например: роли / общие / обработчики / main.yml
- name: reboot server
command: /sbin/reboot