
Tengo el siguiente archivo de inventario
[server]
abc.com
[server:vars]
ansible_user="user1"
ansible_ssh_pass="pwd"
ansible_pbrun_exe="pbrun"
ansible_pbrun_password="pqa"
ansible_pbrun_user="root"
y el archivo del libro de jugadas
---
- name: Upgrade Java Version to all the hosts
hosts: all
tasks:
- name: run simple command
shell: java -version 2>&1 | grep version | awk '{print $3}' | sed 's/"//g'
register: javav
- name: remove the currently installed java
become: true
become_method: "pbrun"
shell: |
mv /usr/bin/java ~/bckup_java_exe
mv /usr/java/ ~/bckup_java
Ahora, cuando ejecuto el libro de jugadas ansible, se conecta al host ssh y también puede ejecutar el java -version ..
comando correctamente, pero no puede ejecutar elmv
comando como es necesario.pbrun
cuando lo elimino become: true
del libro de jugadas, muestra un error de permiso
```
: Permission denied", "mv: cannot move `/usr/java/' to
````
Y cuando no lo quito become: true
da algún que otro error, y tampoco funciona
Respuesta1
No veo que lo hayas puesto become_method: pbrun
por ningún lado. Esto es requerido.
Respuesta2
La solución que he encontrado está a continuación.
become: "yes"
become_method: "pbrun"
become_user: "root"
become_flags: "sa"
mientras ejecutamos pbrun sa -u root
Tampoco olvides configuraransible_become_pass
en el archivo de inventario o--ask-become-pass
gracias