diff options
Diffstat (limited to 'docs/automation')
| -rw-r--r-- | docs/automation/index.rst | 2 | ||||
| -rw-r--r-- | docs/automation/vyos-ansible.rst | 91 | 
2 files changed, 92 insertions, 1 deletions
| diff --git a/docs/automation/index.rst b/docs/automation/index.rst index c19d819b..935748d0 100644 --- a/docs/automation/index.rst +++ b/docs/automation/index.rst @@ -3,7 +3,6 @@ VyOS Automation  ############### -  * Ansible    * Saltstack    * startup scripts @@ -12,4 +11,5 @@ VyOS Automation     :maxdepth: 1     vyos-api +   vyos-ansible     command-scripting
\ No newline at end of file diff --git a/docs/automation/vyos-ansible.rst b/docs/automation/vyos-ansible.rst new file mode 100644 index 00000000..a199152f --- /dev/null +++ b/docs/automation/vyos-ansible.rst @@ -0,0 +1,91 @@ +.. _vyos-ansible: + +Ansible +======= + +VyOS supports configuration via ansible. +Need to install ``ansible`` and ``python3-paramiko`` module + +Structure of files + +.. code-block:: none + + . + ├── ansible.cfg + ├── files + │   └── id_rsa_docker.pub + ├── hosts + └── main.yml + + +File contents +------------- + +ansible.cfg + +.. code-block:: none + +  [defaults] +  host_key_checking = no +  retry_files_enabled = False +  ANSIBLE_INVENTORY_UNPARSED_FAILED = true + +id_rsa_docker.pub. Needs to declare only public key exactly. + +.. code-block:: none + +  AAAAB3NzaC1yc2EAAAADAQABAAABAQCoDgfhQJuJRFWJijHn7ZinZ3NWp4hWVrt7HFcvn0kgtP/5PeCtMt + + +hosts + +.. code-block:: none + +  [vyos_hosts] +  r11 ansible_ssh_host=192.0.2.11 + +  [vyos_hosts:vars] +  ansible_python_interpreter=/usr/bin/python3 +  ansible_user=vyos +  ansible_ssh_pass=vyos +  ansible_network_os=vyos +  ansible_connection=network_cli + +main.yml + +.. code-block:: none + +  --- + +  - hosts: r11 + +    connection: network_cli +    gather_facts: 'no' + +    tasks: +      - name: Configure remote r11 +        vyos_config: +          lines: +            - set system host-name r11 +            - set system name-server 203.0.113.254 +            - set service ssh disable-host-validation +            - set system login user vyos authentication public-keys docker@work type ssh-rsa +            - set system login user vyos authentication public-keys docker@work key "{{ lookup('file', 'id_rsa_docker.pub') }}" +            - set system time-zone America/Los_Angeles +            - set interfaces ethernet eth0 description WAN + +Run ansible +----------- + +.. code-block:: none + +  $ ansible-playbook -i hosts main.yml  + +  PLAY [r11] ****************************************************************************************************************************************************************************************************** + +  TASK [Configure remote r11] ************************************************************************************************************************************************************************************* +  changed: [r11] + +  PLAY RECAP ***************************************************************************************************************************************************************************************************** +  r11                         : ok=1    changed=1    unreachable=0    failed=0    skipped=0    rescued=0    ignored=0 + | 
