I am trying to validate I have correctly set up my inventories/hosts.yml
to remotely provision a BeagleBone Black.
What is a very simple playbook task one can create to confirm one can run a command with sudo
(thinking something like sudo apt update
).
I have ansible [core 2.11.12]
with python version = 3.7.14
, and here is my current inventories/hosts.yml
:
---
all:
hosts:
testbeagle:
ansible_host: 10.4.8.120
vars:
ansible_user: debian
ansible_password: temppwd
ansible_python_interpreter: /usr/bin/python3
ansible_become_pass: temppwd
You don't generally use sudo
directly when working with Ansible. You configure privilege escalation using the become
, become_method
, and become_user
variables. Out of the box, become
is false
, become_method
is sudo
and become_user
is root
. You can test things like this:
- hosts: all
tasks:
- become: true
command: id -u
register: id_output
- assert:
that: id_output.stdout == '0'
If that playbook runs, it means that Ansible was successfully able to obtain root
privileges for the task on which we set become: true
.
Read more about privilege escalation in the documentation.