I'm new to salt-stack.
I'm trying to make sure a symbolic link exists.
/etc/localtime:
file.symlink:
- target: /usr/share/zoneinfo/Europe/Paris
- file.exists:
- name: /usr/share/zoneinfo/Europe/Paris
The result is as excepted when there's no existing /etc/localtime
, or when /etc/localtime
is already a symlink. But it fails when /etc/localtime
is a regular file :
----------
State: - file
Name: /etc/localtime
Function: symlink
Result: False
Comment: File exists where the symlink /etc/localtime should be
Changes:
I can't figure how to code the state so the file is deleted before the link creation. Any clue ?
Cheers, Pierre
Use force=True
/etc/locatime:
file.symlink:
- target: /usr/share/zoneinfo/Europe/Paris
- force: True
# Note: file.exists is not valid here and can be removed
# file.exists:
# - name: /usr/share/zoneinfo/Europe/Paris
From the documentation:
If the target of the symlink exists and is not a symlink and force is set to False, the state will fail. If force is set to True, the file or directory in the way of the symlink file will be deleted to make room for the symlink, unless backupname is set, when it will be renamed
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With