问题描述
默认配置中的 Ansible 是否适用于其他供应商?比如华为?
do Ansible in default configuration works with other vendors? For example Huawei ?
如果我正在运行一些测试命令,例如:
If i'm running some testing commands like:
sudo ansible -m shell -a '显示版本'服务器
10.46.1.1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: \r\n**********************************************************************\r\n* Jus esate prisijunge prie privacios irangos. Visi veiksmai,vykdomi *\r\n* su sia iranga, yra fiksuojami. Tam, kad prieiti prie sios irangos *\r\n* ir (ar) atlikti irangos konfiguracija ar kitus veiksmus, jus turite*\r\n* tureti atitinkama leidima. *\r\n* Uz neteiseta prisijungima bei neteisetus veiksmus su iranga taikoma*\r\n* istatymuose numatyta atsakomybe,iskaitant ir baudziamaja atsakomybe*\r\n* Prasome atsijungti.Jeigu jus esate autorizuotas vartotojas, *\r\n* prisijungdamas, jus atsakote uz teisingai atlikta konfiguracija ir *\r\n* kitus savo vardu atliktus veiksmus. *\r\n**********************************************************************\r\n* You are connected to private equipment. All the actions performed *\r\n* with the equipment are recorded. In order to access this equipment *\r\n* and (or) perform its configuration or other actions, you must have*\r\n* an appropriate permission. Illegal connection and illegal actions *\r\n* with the equipment. *\r\n* Will be subject to liability, including criminal liability, as *\r\n* provided for in the laws of the Republic of Lithuania. Please *\r\n* disconnect immediately. If you are an authorized user, by *\r\n* connecting to the equipment, you assume liability for performing *\r\n* correct configuration and other actions under your behalf. *\r\n**********************************************************************\r\nUser Authentication\r\npacket_write_wait: Connection to 10.46.1.1 port 22: Broken pipe\r\n",
"unreachable": true
}
或
osboxes@osboxes:~$ sudo ansible -m ping 服务器
10.46.1.1 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh: \r\n**********************************************************************\r\n* Jus esate prisijunge prie privacios irangos. Visi veiksmai,vykdomi *\r\n* su sia iranga, yra fiksuojami. Tam, kad prieiti prie sios irangos *\r\n* ir (ar) atlikti irangos konfiguracija ar kitus veiksmus, jus turite*\r\n* tureti atitinkama leidima. *\r\n* Uz neteiseta prisijungima bei neteisetus veiksmus su iranga taikoma*\r\n* istatymuose numatyta atsakomybe,iskaitant ir baudziamaja atsakomybe*\r\n* Prasome atsijungti.Jeigu jus esate autorizuotas vartotojas, *\r\n* prisijungdamas, jus atsakote uz teisingai atlikta konfiguracija ir *\r\n* kitus savo vardu atliktus veiksmus. *\r\n**********************************************************************\r\n* You are connected to private equipment. All the actions performed *\r\n* with the equipment are recorded. In order to access this equipment *\r\n* and (or) perform its configuration or other actions, you must have*\r\n* an appropriate permission. Illegal connection and illegal actions *\r\n* with the equipment. *\r\n* Will be subject to liability, including criminal liability, as *\r\n* provided for in the laws of the Republic of Lithuania. Please *\r\n* disconnect immediately. If you are an authorized user, by *\r\n* connecting to the equipment, you assume liability for performing *\r\n* correct configuration and other actions under your behalf. *\r\n**********************************************************************\r\nUser Authentication\r\nchannel_by_id: 2: bad id: channel free\r\nDisconnecting: Received data for nonexistent channel 2.\r\n",
"unreachable": true
}
它只是连接并立即断开连接而无需输入任何命令,例如显示版本".可能是因为我不是在 Cisco 设备上运行它,而是在其他供应商上运行它?也许需要一些特殊的模块?
it just connects and immediatly disconnects without entering any command, like "display version". Could it be because im running it not on Cisco device, but on other vendor ? Maybe some special modules ir required ?
谢谢
推荐答案
您可以使用不同于'shell'的其他模块来访问华为设备.如果您查看此处,您会看到一些云引擎模块.Shell 模块是用于服务器的,而不是用于交换机的.
You can use other module different from 'shell' to access Huawei equipaments. If you look here you will see some Cloud Engine modules. Shell module is for servers, not for switches.
所以,我会这样写: ansible -m ce_command -a 'display version' servers
So, I'll would write something like this: ansible -m ce_command -a 'display version' servers
这篇关于默认 ansible 模板返回错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!