Search code examples
jinja2salt-project

SaltStack - Unable to check if file exists on minion


I am trying to check if a particular file with some extension exists on a centos host using salt stack.

 create:
   cmd.run:
     - name: touch /tmp/filex

{% set output = salt['cmd.run']("ls /tmp/filex") %}

output:
   cmd.run:
     - name: "echo {{ output }}"

Even if the file exists, I am getting the error as below:

ls: cannot access /tmp/filex: No such file or directory

Solution

  • In SaltStack Jinja is evaluated before YAML. The file creation will (cmd.run) be executed after Jinja. So your Jinja variable is empty because the file isn’t created, yet.

    See https://docs.saltproject.io/en/latest/topics/jinja/index.html