Ansible: Pbrun não consegue executar

Ansible: Pbrun não consegue executar

Eu tenho o arquivo de inventário abaixo

[server]
abc.com
[server:vars]
ansible_user="user1"
ansible_ssh_pass="pwd"
ansible_pbrun_exe="pbrun"
ansible_pbrun_password="pqa"
ansible_pbrun_user="root"

e o arquivo do manual

---
- 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

Agora, quando executo o playbook ansible, ele se conecta ao host ssh e também é capaz de executar o java -version ..comando com êxito, mas não consegue executar o mvcomando conforme necessáriopbrun

quando eu removo become: truedo playbook ele mostra erro de permissão

```
: Permission denied", "mv: cannot move `/usr/java/' to
````

E quando não removo become: truedá algum outro erro, e também não está funcionando

Responder1

Não vejo que você tenha definido become_method: pbrunnenhum lugar. Isto é necessário.

Responder2

A solução que encontrei está abaixo

  become: "yes"
  become_method: "pbrun"
  become_user: "root"
  become_flags: "sa"

enquanto rodamos pbrun sa -u root

também não se esqueça de definir ansible_become_passno arquivo de inventário ou--ask-become-pass

obrigado

informação relacionada