mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-08-03 12:44:22 -07:00
corrects Junos network_cli example & variables (#38601)
* corrects Junos network_cli example & variables * vdacosta feedback, thanks
This commit is contained in:
parent
ea99cf3231
commit
da6d2b5f43
1 changed files with 25 additions and 23 deletions
|
@ -32,21 +32,22 @@ Connections Available
|
||||||
| | | | | | xml: ``result[1].rpc-reply.interface-information[0].physical-interface[0].name[0].data foo lo0`` |
|
| | | | | | xml: ``result[1].rpc-reply.interface-information[0].physical-interface[0].name[0].data foo lo0`` |
|
||||||
+----------------------------+--------------------------------------------------------+----------------------------------------------------------------------------------------------------+
|
+----------------------------+--------------------------------------------------------+----------------------------------------------------------------------------------------------------+
|
||||||
|
|
||||||
For legacy playbooks, Ansible still supports ``ansible_connection: local`` on all JUNOS modules. We recommend modernizing to use ``ansible_connection: netconf`` or ``ansible_connection: network_cli`` as soon as possible.
|
For legacy playbooks, Ansible still supports ``ansible_connection=local`` on all JUNOS modules. We recommend modernizing to use ``ansible_connection=netconf`` or ``ansible_connection=network_cli`` as soon as possible.
|
||||||
|
|
||||||
Using CLI in Ansible 2.5
|
Using CLI in Ansible 2.5
|
||||||
================================================================================
|
================================================================================
|
||||||
|
|
||||||
Example CLI ``group_vars/junos.yml``
|
Example CLI inventory ``[junos:vars]``
|
||||||
------------------------------------
|
--------------------------------------
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
ansible_connection: network_cli
|
[junos:vars]
|
||||||
ansible_network_os: junos
|
ansible_connection=network_cli
|
||||||
ansible_user: myuser
|
ansible_network_os=junos
|
||||||
ansible_ssh_pass: !vault...
|
ansible_user=myuser
|
||||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
ansible_ssh_pass=!vault...
|
||||||
|
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||||
|
|
||||||
|
|
||||||
- If you are using SSH keys (including an ssh-agent) you can remove the ``ansible_ssh_pass`` configuration.
|
- If you are using SSH keys (including an ssh-agent) you can remove the ``ansible_ssh_pass`` configuration.
|
||||||
|
@ -58,10 +59,9 @@ Example CLI Task
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
- name: Backup current switch config (junos)
|
- name: Retrieve Junos OS version
|
||||||
junos_config:
|
junos_command:
|
||||||
backup: yes
|
commands: show version
|
||||||
register: backup_junos_location
|
|
||||||
when: ansible_network_os == 'junos'
|
when: ansible_network_os == 'junos'
|
||||||
|
|
||||||
|
|
||||||
|
@ -76,26 +76,28 @@ Before you can use NETCONF to connect to a switch, you must:
|
||||||
- install the ``ncclient`` python package on your control node(s) with ``pip install ncclient``
|
- install the ``ncclient`` python package on your control node(s) with ``pip install ncclient``
|
||||||
- enable NETCONF on the Junos OS device(s)
|
- enable NETCONF on the Junos OS device(s)
|
||||||
|
|
||||||
To enable NETCONF on a new switch via Ansible, use the ``junos_netconf`` module via the CLI connection. Set up group_vars/junos.yml just like in the CLI example above, then run a playbook task like this:
|
To enable NETCONF on a new switch via Ansible, use the ``junos_netconf`` module via the CLI connection. Set up your platform-level variables just like in the CLI example above, then run a playbook task like this:
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
- name: Enable NETCONF
|
- name: Enable NETCONF
|
||||||
|
connection: network_cli
|
||||||
junos_netconf:
|
junos_netconf:
|
||||||
when: ansible_network_os == 'junos'
|
when: ansible_network_os == 'junos'
|
||||||
|
|
||||||
Once NETCONF is enabled, change your ``group_vars/junos.yml`` to use the NETCONF connection.
|
Once NETCONF is enabled, change your variables to use the NETCONF connection.
|
||||||
|
|
||||||
Example NETCONF ``group_vars/junos.yml``
|
Example NETCONF inventory ``[junos:vars]``
|
||||||
----------------------------------------
|
------------------------------------------
|
||||||
|
|
||||||
.. code-block:: yaml
|
.. code-block:: yaml
|
||||||
|
|
||||||
ansible_connection: netconf
|
[junos:vars]
|
||||||
ansible_network_os: junos
|
ansible_connection=netconf
|
||||||
ansible_user: myuser
|
ansible_network_os=junos
|
||||||
ansible_ssh_pass: !vault |
|
ansible_user=myuser
|
||||||
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
ansible_ssh_pass=!vault |
|
||||||
|
ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q bastion01"'
|
||||||
|
|
||||||
|
|
||||||
Example NETCONF Task
|
Example NETCONF Task
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue