Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

https://github.com/Juniper/Intro-to-Using-Ansible-with-Junos-OS/wiki/Health-Checks

Junos Automation: Using Ansible to pull basic information from a network device


jlk@ubuntu:/etc/ansible$ more /etc/ansible/hosts
[vsrx]
vsrx1

[srx300]
192.168.0.2


jlk@ubuntu:/etc/ansible$ more /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu
192.168.101.27 vsrx1

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
jlk@ubuntu:/etc/ansible$ more /etc/ansible/hosts
[vsrx]
vsrx1

[srx300]
192.168.0.2





junos_get_facts
get facts
jlk@ubuntu:/etc/ansible/roles/ex3400$ more tasks/main.yml 
---
# tasks file for ex3400
# Enter those command into the JunOS box
#
#set system login user jansible class super-user
#set system login user jansible authentication plain-text-password
#
- name: Get facts Play
  hosts: EX4300 
  connection: local
  gather_facts: no
  roles:
    - Juniper.junos
  vars:
    ansible_python_interpreter: "/usr/bin/python"
  tasks:
    - name: Checking NETCONF connectivity Task
      wait_for: host={{ inventory_hostname }} port=830 timeout=5
    - name: Get junos facts Task
      junos_get_facts:
        host: "172.30.95.194"
        user: "jansible"
        passwd: "jansible123"
      register: junos
    - name: Print facts
      debug:
        var: junos


ansible-playbook tasks/main.yml --verbose
jlk@ubuntu:/etc/ansible/roles/ex3400$ ansible-playbook tasks/main.yml --verbose
Using /etc/ansible/ansible.cfg as config file

PLAY [Get facts Play] *******************************************************************************************************************

TASK [Checking NETCONF connectivity Task] ***********************************************************************************************
ok: [172.30.95.194] => {"changed": false, "elapsed": 0, "path": null, "port": 830, "search_regex": null, "state": "started"}

TASK [Get junos facts Task] *************************************************************************************************************
ok: [172.30.95.194] => {"ansible_facts": {"junos": {"HOME": "/var/home/jansible", "RE0": {"last_reboot_reason": "Router rebooted after a normal shutdown.", "mastership_state": "master", "model": "EX4300-48T", "status": "OK", "up_time": "31 days, 4 hours, 18 minutes, 40 seconds"}, "RE1": null, "RE_hw_mi": false, "current_re": ["master", "node", "fwdd", "member", "pfem", "re0", "fpc0", "localre"], "domain": null, "fqdn": "EX4300-R103-34", "has_2RE": false, "hostname": "EX4300-R103-34", "hostname_info": {"fpc0": "EX4300-R103-34"}, "ifd_style": "SWITCH", "junos_info": {"fpc0": {"object": {"build": 8, "major": [18, 4], "minor": "1", "type": "R"}, "text": "18.4R1.8"}}, "master": "RE0", "master_state": true, "model": "EX4300-48T", "model_info": {"fpc0": "EX4300-48T"}, "personality": "SWITCH", "re_info": {"default": {"0": {"last_reboot_reason": "Router rebooted after a normal shutdown.", "mastership_state": "master", "model": "EX4300-48T", "status": "OK"}, "default": {"last_reboot_reason": "Router rebooted after a normal shutdown.", "mastership_state": "master", "model": "EX4300-48T", "status": "OK"}}}, "re_master": {"default": "0"}, "re_name": "fpc0", "serialnumber": "PE3717290399", "srx_cluster": null, "srx_cluster_id": null, "srx_cluster_redundancy_group": null, "switch_style": "VLAN_L2NG", "vc_capable": true, "vc_fabric": false, "vc_master": "0", "vc_mode": "Enabled", "version": "18.4R1.8", "version_RE0": null, "version_RE1": null, "version_info": {"build": 8, "major": [18, 4], "minor": "1", "type": "R"}, "virtual": false}}, "changed": false, "facts": {"HOME": "/var/home/jansible", "RE0": {"last_reboot_reason": "Router rebooted after a normal shutdown.", "mastership_state": "master", "model": "EX4300-48T", "status": "OK", "up_time": "31 days, 4 hours, 18 minutes, 40 seconds"}, "RE1": null, "RE_hw_mi": false, "current_re": ["master", "node", "fwdd", "member", "pfem", "re0", "fpc0", "localre"], "domain": null, "fqdn": "EX4300-R103-34", "has_2RE": false, "hostname": "EX4300-R103-34", "hostname_info": {"fpc0": "EX4300-R103-34"}, "ifd_style": "SWITCH", "junos_info": {"fpc0": {"object": {"build": 8, "major": [18, 4], "minor": "1", "type": "R"}, "text": "18.4R1.8"}}, "master": "RE0", "master_state": true, "model": "EX4300-48T", "model_info": {"fpc0": "EX4300-48T"}, "personality": "SWITCH", "re_info": {"default": {"0": {"last_reboot_reason": "Router rebooted after a normal shutdown.", "mastership_state": "master", "model": "EX4300-48T", "status": "OK"}, "default": {"last_reboot_reason": "Router rebooted after a normal shutdown.", "mastership_state": "master", "model": "EX4300-48T", "status": "OK"}}}, "re_master": {"default": "0"}, "re_name": "fpc0", "serialnumber": "PE3717290399", "srx_cluster": null, "srx_cluster_id": null, "srx_cluster_redundancy_group": null, "switch_style": "VLAN_L2NG", "vc_capable": true, "vc_fabric": false, "vc_master": "0", "vc_mode": "Enabled", "version": "18.4R1.8", "version_RE0": null, "version_RE1": null, "version_info": {"build": 8, "major": [18, 4], "minor": "1", "type": "R"}, "virtual": false}}

TASK [Print facts] **********************************************************************************************************************
ok: [172.30.95.194] => {
    "junos": {
        "HOME": "/var/home/jansible", 
        "RE0": {
            "last_reboot_reason": "Router rebooted after a normal shutdown.", 
            "mastership_state": "master", 
            "model": "EX4300-48T", 
            "status": "OK", 
            "up_time": "31 days, 4 hours, 18 minutes, 40 seconds"
        }, 
        "RE1": null, 
        "RE_hw_mi": false, 
        "current_re": [
            "master", 
            "node", 
            "fwdd", 
            "member", 
            "pfem", 
            "re0", 
            "fpc0", 
            "localre"
        ], 
        "domain": null, 
        "fqdn": "EX4300-R103-34", 
        "has_2RE": false, 
        "hostname": "EX4300-R103-34", 
        "hostname_info": {
            "fpc0": "EX4300-R103-34"
        }, 
        "ifd_style": "SWITCH", 
        "junos_info": {
            "fpc0": {
                "object": {
                    "build": 8, 
                    "major": [
                        18, 
                        4
                    ], 
                    "minor": "1", 
                    "type": "R"
                }, 
                "text": "18.4R1.8"
            }
        }, 
        "master": "RE0", 
        "master_state": true, 
        "model": "EX4300-48T", 
        "model_info": {
            "fpc0": "EX4300-48T"
        }, 
        "personality": "SWITCH", 
        "re_info": {
            "default": {
                "0": {
                    "last_reboot_reason": "Router rebooted after a normal shutdown.", 
                    "mastership_state": "master", 
                    "model": "EX4300-48T", 
                    "status": "OK"
                }, 
                "default": {
                    "last_reboot_reason": "Router rebooted after a normal shutdown.", 
                    "mastership_state": "master", 
                    "model": "EX4300-48T", 
                    "status": "OK"
                }
            }
        }, 
        "re_master": {
            "default": "0"
        }, 
        "re_name": "fpc0", 
        "serialnumber": "PE3717290399", 
        "srx_cluster": null, 
        "srx_cluster_id": null, 
        "srx_cluster_redundancy_group": null, 
        "switch_style": "VLAN_L2NG", 
        "vc_capable": true, 
        "vc_fabric": false, 
        "vc_master": "0", 
        "vc_mode": "Enabled", 
        "version": "18.4R1.8", 
        "version_RE0": null, 
        "version_RE1": null, 
        "version_info": {
            "build": 8, 
            "major": [
                18, 
                4
            ], 
            "minor": "1", 
            "type": "R"
        }, 
        "virtual": false
    }
}

PLAY RECAP ******************************************************************************************************************************
172.30.95.194              : ok=3    changed=0    unreachable=0    failed=0







jlk@ubuntu:/etc/ansible$ more /etc/ansible/facts.pb.yaml
---
- name: Get facts
hosts: vsrx
connection: local
gather_facts: no
roles:
- Juniper.junos
vars_prompt:
- name: ADMUSER
prompt: Username
private: no
- name: ADMPASS
prompt: password
private: yes
tasks:
- name: Get junos facts
junos_get_facts:
host: "{{ inventory_hostname }}"
user: "{{ ADMUSER }}"
passwd: "{{ ADMPASS }}"
register: junos
- name: Print facts
debug:
var: junos



  • No labels