Я запускаю простой скрипт для добавления нового пользователя, когда этого пользователя не существует.
---
- name: gather facts
hosts: r5
#gather_facts: yes
tasks:
- name:
ios_command:
commands: sh run | s user
register: username_contents
- name: check if user exists, if not add user
ios_config:
lines: username test privilege 15 secret test
when: ('test') not in username_contents.stdout
Ansible добавляет этого пользователя, как и ожидалось, но когда я снова запускаю этот тест, несмотря на наличие 'test' в переменной, он все еще добавляет его.
TASK [ios_command] ********************************************************************************************************************************************************************************
ok: [r5]
TASK [check if user exists, if not add user] ******************************************************************************************************************************************************
changed: [r5]
PLAY RECAP ****************************************************************************************************************************************************************************************
r5 : ok=2 changed=1 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
Вывод для 'sh run | s user ':
ok: [r5] => {
"username_contents.stdout": [
"username cisco privilege 15 secret 5 $1$rIId$7X8jj.iJiU3s4AKladf2dE/\nusername test privilege 15 secret 5 $1$aLpg$UnHXbCENzJxBonbdWshXA."
]
}