FRR Platform Options
The FRR collection supports the ansible.netcommon.network_cli connection. This section provides details on how to use this connection for Free Range Routing (FRR).
Connections available
| CLI | |
|---|---|
| Protocol | SSH | 
| Credentials | uses SSH keys / SSH-agent if present accepts  | 
| Indirect Access | by a bastion (jump host) | 
| Connection Settings | 
 | 
| Enable Mode  | not supported | 
| Returned Data Format | 
 | 
Using CLI in Ansible
Example CLI group_vars/frr.yml
ansible_connection: ansible.netcommon.network_cli
ansible_network_os: frr.frr.frr
ansible_user: frruser
ansible_password: !vault...
ansible_paramiko_proxy_command: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
- The - ansible_usershould be a part of the- frrvtygroup and should have the default shell set to- /bin/vtysh.
- If you are using SSH keys (including an ssh-agent) you can remove the - ansible_passwordconfiguration.
- If you are accessing your host directly (not through a bastion/jump host) you can remove the - ansible_paramiko_proxy_commandconfiguration.
- If you are accessing your host through a bastion/jump host, you cannot include your SSH password in the - ProxyCommanddirective. To prevent secrets from leaking out (for example in- psoutput), SSH does not support providing passwords through environment variables.
Example CLI task
- name: Gather FRR facts
  frr.frr.frr_facts:
    gather_subset:
     - config
     - hardware
Warning
Never store passwords in plain text. We recommend using SSH keys to authenticate SSH connections. Ansible supports ssh-agent to manage your SSH keys. If you must use passwords to authenticate SSH connections, we recommend encrypting them with Ansible Vault.
See also
