added platform guides for NOS and VOSS (#43854)

This commit is contained in:
Lindsay Hill 2018-08-09 13:54:22 -07:00 committed by Sandra McCann
parent 3b693be80f
commit 898d1c8d81
3 changed files with 146 additions and 0 deletions

View file

@ -15,9 +15,11 @@ Some Ansible Network platforms support multiple connection types, privilege esca
platform_ios
platform_ironware
platform_junos
platform_nos
platform_nxos
platform_routeros
platform_slxos
platform_voss
.. _settings_by_platform:
@ -43,8 +45,12 @@ Settings by Platform
+-------------------+-------------------------+----------------------+----------------------+------------------+------------------+
| Extreme IronWare | ``ironware`` | in v. >=2.5 | N/A | N/A | in v. >=2.5 |
+-------------------+-------------------------+----------------------+----------------------+------------------+------------------+
| Extreme NOS | ``nos`` | in v. >=2.7 | N/A | N/A | N/A |
+-------------------+-------------------------+----------------------+----------------------+------------------+------------------+
| Extreme SLX-OS | ``slxos`` | in v. >=2.6 | N/A | N/A | N/A |
+-------------------+-------------------------+----------------------+----------------------+------------------+------------------+
| Extreme VOSS | ``voss`` | in v. >=2.7 | N/A | N/A | N/A |
+-------------------+-------------------------+----------------------+----------------------+------------------+------------------+
| F5 BIG-IP | N/A | N/A | N/A | N/A | in v. >=2.0 |
+-------------------+-------------------------+----------------------+----------------------+------------------+------------------+
| F5 BIG-IQ | N/A | N/A | N/A | N/A | in v. >=2.0 |

View file

@ -0,0 +1,70 @@
.. _nos_platform_options:
***************************************
NOS Platform Options
***************************************
Extreme NOS Ansible modules only support CLI connections today. ``httpapi`` modules may be added in future.
This page offers details on how to use ``network_cli`` on NOS in Ansible >= 2.7.
.. contents:: Topics
Connections Available
================================================================================
+---------------------------+-----------------------------------------------+
|.. | CLI |
+===========================+===============================================+
| **Protocol** | SSH |
+---------------------------+-----------------------------------------------+
| | **Credentials** | | uses SSH keys / SSH-agent if present |
| | | | accepts ``-u myuser -k`` if using password |
+---------------------------+-----------------------------------------------+
| **Indirect Access** | via a bastion (jump host) |
+---------------------------+-----------------------------------------------+
| | **Connection Settings** | | ``ansible_connection: network_cli`` |
| | | | |
| | | | |
| | | | |
| | | | |
+---------------------------+-----------------------------------------------+
| | **Enable Mode** | | not supported by NOS |
| | (Privilege Escalation) | | |
+---------------------------+-----------------------------------------------+
| **Returned Data Format** | ``stdout[0].`` |
+---------------------------+-----------------------------------------------+
NOS does not support ``ansible_connection: local``. You must use ``ansible_connection: network_cli``.
Using CLI in Ansible >= 2.7
================================================================================
Example CLI ``group_vars/nos.yml``
----------------------------------
.. code-block:: yaml
ansible_connection: network_cli
ansible_network_os: nos
ansible_user: myuser
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 accessing your host directly (not through a bastion/jump host) you can remove the ``ansible_ssh_common_args`` configuration.
- If you are accessing your host through a bastion/jump host, you cannot include your SSH password in the ``ProxyCommand`` directive. To prevent secrets from leaking out (for example in ``ps`` output), SSH does not support providing passwords via environment variables.
Example CLI Task
----------------
.. code-block:: yaml
- name: Get version information (nos)
nos_command:
command: "show version"
register: show_ver
when: ansible_network_os == 'nos'
.. include:: shared_snippets/SSH_warning.txt

View file

@ -0,0 +1,70 @@
.. _voss_platform_options:
***************************************
VOSS Platform Options
***************************************
Extreme VOSS Ansible modules only support CLI connections today. This page offers details on how to
use ``network_cli`` on VOSS in Ansible >= 2.7.
.. contents:: Topics
Connections Available
================================================================================
+---------------------------+-----------------------------------------------+
|.. | CLI |
+===========================+===============================================+
| **Protocol** | SSH |
+---------------------------+-----------------------------------------------+
| | **Credentials** | | uses SSH keys / SSH-agent if present |
| | | | accepts ``-u myuser -k`` if using password |
+---------------------------+-----------------------------------------------+
| **Indirect Access** | via a bastion (jump host) |
+---------------------------+-----------------------------------------------+
| | **Connection Settings** | | ``ansible_connection: network_cli`` |
| | | | |
| | | | |
| | | | |
| | | | |
+---------------------------+-----------------------------------------------+
| | **Enable Mode** | | supported - use ``ansible_become: yes`` |
| | (Privilege Escalation) | | with ``ansible_become_method: enable`` |
+---------------------------+-----------------------------------------------+
| **Returned Data Format** | ``stdout[0].`` |
+---------------------------+-----------------------------------------------+
VOSS does not support ``ansible_connection: local``. You must use ``ansible_connection: network_cli``.
Using CLI in Ansible >= 2.7
================================================================================
Example CLI ``group_vars/voss.yml``
-----------------------------------
.. code-block:: yaml
ansible_connection: network_cli
ansible_network_os: voss
ansible_user: myuser
ansible_become: yes
ansible_become_method: enable
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 accessing your host directly (not through a bastion/jump host) you can remove the ``ansible_ssh_common_args`` configuration.
- If you are accessing your host through a bastion/jump host, you cannot include your SSH password in the ``ProxyCommand`` directive. To prevent secrets from leaking out (for example in ``ps`` output), SSH does not support providing passwords via environment variables.
Example CLI Task
----------------
.. code-block:: yaml
- name: Retrieve VOSS info
voss_command:
commands: show sys-info
when: ansible_network_os == 'voss'
.. include:: shared_snippets/SSH_warning.txt