我有这个剧本
---
- hosts: all
handlers:
- name: user-create
user: name=oracle state=present
tasks:
- name: "check user"
command: /usr/bin/id oracle
register: output
notify: user-create
when: output.rc == 1
但每当我在没有oracle用户的系统上运行它时,遇到此错误
"失败":是的, " msg":"条件检查" output.rc == 1'失败。错误是:评估条件时出错(output.rc == 1):'输出'未定义\ n \ n错误似乎出现在' /user-check.yml' ;:第10行第5列,但可能在文件的其他位置,具体取决于确切的语法问题。\ n \ n违规行似乎是:\ n \ n任务:\ n - 名称:\"检查用户\" \ n ^ here \ n"
答案 0 :(得分:0)
根据评论回答:
实际上我想检查用户是否存在,id是否存在删除并重新创建用户
在Ansible中执行此操作的正确方法是:
---
- hosts: all
tasks:
- name: ensure user 'oracle' does not exist
user: name=oracle state=absent
- name: ensure user 'oracle' exists
user: name=oracle state=present
这就是全部。
Ansible注意不要尝试创建已存在的用户;如果没有用户,请不要尝试删除用户。