THIẾT LẬP KẾT NỐI ĐỊA PHƯƠNG
không phải là thông báo -vvv mà tôi mong đợi, plugin kết nối cục bộ chỉ thực thi các lệnh trên máy chủ cục bộ. Lưu ý Shell /bin/sh, không phải thứ được tìm thấy trên iOS. Đối với network_cli, tôi mong đợi ĐỊA PHƯƠNG
thay vào đó là PARAMIKO
hoặc LIBSSH
. (Nhiều năm trước, các thiết bị mạng đã sử dụng plugin kết nối cục bộ cộng với các tham số mô-đun, nhưng điều này đã lỗi thời từ lâu bởi các plugin kết nối thực tế.)
Hướng dẫn khắc phục sự cố mạng cho thấy nó có thể chỉ là THIẾT LẬP KẾT NỐI
. Nhưng điều đó có thể đã lỗi thời; plugin kết nối hiện đại theo quy ước bao gồm tên của họ.
Vì vậy, các biến kết nối của bạn phù hợp với cách cấu hình kết nối với IOS, nhưng chúng có thể không được áp dụng chính xác. Mà bạn đặt trong group_vars, đó là một lựa chọn tốt. Tuy nhiên, tôi nghĩ việc xác định máy chủ R1
và SW1
hai lần là gây ra vấn đề.
Giữ khoảng không quảng cáo định dạng ini của bạn, xóa các máy chủ bên ngoài nhóm nhưng giữ các biến máy chủ:
[netgrp]
R1 ansible_host=192.168.20.1
SW1 ansible_host=192.168.10.2
Vars có thể được định nghĩa ở hầu hết mọi nơi. Hãy thử xác định những điều này ở những nơi khác, để xem điều gì hiệu quả và điều gì cảm thấy tự nhiên. Ví dụ, có cú pháp để xác định vars cấp nhóm trong kho có thể thay thế việc bạn sử dụng group_vars để biết chi tiết kết nối.
[netgrp:vars]
ansible_connection=mạng_cli
ansible_network_os=ios
ansible_user=abdo
ansible_become_method=bật