Я пытаюсь создать нового пользователя для моего маршрутизатора vMX под управлением ОС Junos. Пользователь должен быть суперпользователем со следующими учетными данными:
имя пользователя: admin
пароль: admin123
Сделать это непосредственно из командной строки просто, я простоперейдите в режим редактирования и введите следующую команду
set system login user admin uid 3000 class super-user authentication plain-text-password
Затем консоль предложит вам ввести пароль и подтвердить его, поэтому я ввожу пароль следующим образом
admin123
admin123
Я могузатем зафиксируйте изменения и пользователь будет создан. Проблема заключается в том, что я пытаюсь повторить этот процесс для 8 разных маршрутизаторов vmx, используя ansible. Я установил следующую пьесу:
---
- name: Create admin user
hosts: newvmx
roles:
- Juniper.junos
connection: local
gather_facts: no
tasks:
- name: create new user
juniper_junos_config:
config_mode: "private"
load: "set"
lines:
- "set system login user admin123 uid 3000 class super-user authentication plain-text password"
- "admin123"
- "admin123"
Но это вернуло следующую ошибку:
PLAY [Create admin user] ***************************************************************************************************************************************************************************************
TASK [create new user] **************************************************************************************************************************************************************************************
fatal: [vMX6]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "msg": "Failure loading the configuraton: ConfigLoadError(severity: error, bad_element: plain-text, message: error: syntax error\nerror: unknown command\nerror: unknown command)"}
Я предполагаю, что это связано с последней частью команды, так как при выполненииПри этом непосредственно на компьютере пользователю предлагается ввести пароль, поэтому, когда строки передаются по ANIBLE, ОС не знает, что делать со строками, содержащими только пароль.
Я также попробовал следующую пьесу:
---
- name: Create admin user
hosts: newvmx
roles:
- Juniper.junos
connection: local
gather_facts: no
tasks:
- name: create new user
juniper_junos_config:
config_mode: "private"
load: "set"
lines:
- "set system login user admin uid 3000 class super-user authentication plain-text password admin123"
Но это приводит к синтаксической ошибке ниже. Так что это не удачная попытка.
PLAY [Create admin user] ***************************************************************************************************************************************************************************************
TASK [create new user] **************************************************************************************************************************************************************************************
fatal: [vMX10]: FAILED! => {"ansible_facts": {"discovered_interpreter_python": "/usr/bin/python"}, "changed": false, "msg": "Failure loading the configuraton: ConfigLoadError(severity: error, bad_element: plain-text, message: error: syntax error)"}
Так есть ли способ, которым я могу передать эту команду, чтобы создать нового пользователя и установить пароль для нового пользователя, используя ansible, чтобы ускорить процессповторить это для нескольких устройств?