├── ubuntu_junos ├── provision │ ├── hosts │ ├── facts.py │ └── playbook.yml ├── ansible.cfg ├── synced_folder │ └── facts.py ├── README.md └── Vagrantfile ├── 3vsrx ├── vsrx01.set ├── vsrx02.set ├── vsrx03.set ├── ansible_playbook.yml ├── .vagrant │ └── provisioners │ │ └── ansible │ │ └── inventory │ │ └── vagrant_ansible_inventory ├── Vagrantfile └── changes.log ├── 3vsrx-v2 ├── .vagrant │ ├── machines │ │ ├── vsrx01 │ │ │ └── virtualbox │ │ │ │ ├── creator_uid │ │ │ │ ├── synced_folders │ │ │ │ ├── action_set_name │ │ │ │ ├── id │ │ │ │ ├── index_uuid │ │ │ │ ├── action_provision │ │ │ │ └── private_key │ │ ├── vsrx02 │ │ │ └── virtualbox │ │ │ │ ├── creator_uid │ │ │ │ ├── synced_folders │ │ │ │ ├── action_set_name │ │ │ │ ├── id │ │ │ │ ├── index_uuid │ │ │ │ ├── action_provision │ │ │ │ └── private_key │ │ └── vsrx03 │ │ │ └── virtualbox │ │ │ ├── creator_uid │ │ │ ├── synced_folders │ │ │ ├── action_set_name │ │ │ ├── id │ │ │ ├── index_uuid │ │ │ ├── action_provision │ │ │ └── private_key │ └── provisioners │ │ └── ansible │ │ └── inventory │ │ └── vagrant_ansible_inventory ├── host_vars │ ├── vsrx01.yml │ ├── vsrx02.yml │ └── vsrx03.yml ├── programatic_access │ ├── python │ │ ├── bgp_states.py │ │ ├── lldp_neighbor_status.py │ │ └── print_facts_vagrant.py │ └── ansible │ │ ├── inventory │ │ ├── vsrx01-facts.json │ │ ├── vsrx02-facts.json │ │ └── vsrx03-facts.json │ │ └── get_facts.p.yml ├── ansible_playbook2.yml ├── template.j2 ├── Vagrantfile └── changes.log ├── Vagrant.pdf ├── topology.pdf ├── vqfx ├── junos_config.set ├── .vagrant │ └── provisioners │ │ └── ansible │ │ └── inventory │ │ └── vagrant_ansible_inventory ├── pb.yml ├── Vagrantfile └── changes.log ├── LICENSE ├── vqfxfull ├── Vagrantfile └── README.md ├── 3_vsrx_vagrant_non_provisionning └── Vagrantfile └── README.md /ubuntu_junos/provision/hosts: -------------------------------------------------------------------------------- 1 | vsrx01 ip=10.0.1.10 -------------------------------------------------------------------------------- /3vsrx/vsrx01.set: -------------------------------------------------------------------------------- 1 | set protocols lldp interface all 2 | -------------------------------------------------------------------------------- /3vsrx/vsrx02.set: -------------------------------------------------------------------------------- 1 | set protocols lldp interface all 2 | -------------------------------------------------------------------------------- /3vsrx/vsrx03.set: -------------------------------------------------------------------------------- 1 | set protocols lldp interface all 2 | -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx01/virtualbox/creator_uid: -------------------------------------------------------------------------------- 1 | 1000 -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx01/virtualbox/synced_folders: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx02/virtualbox/creator_uid: -------------------------------------------------------------------------------- 1 | 1000 -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx02/virtualbox/synced_folders: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx03/virtualbox/creator_uid: -------------------------------------------------------------------------------- 1 | 1000 -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx03/virtualbox/synced_folders: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx01/virtualbox/action_set_name: -------------------------------------------------------------------------------- 1 | 1462136890 -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx02/virtualbox/action_set_name: -------------------------------------------------------------------------------- 1 | 1462137067 -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx03/virtualbox/action_set_name: -------------------------------------------------------------------------------- 1 | 1462137272 -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx01/virtualbox/id: -------------------------------------------------------------------------------- 1 | 74d3d4b3-5156-47fa-8885-1f8f3161a50f -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx02/virtualbox/id: -------------------------------------------------------------------------------- 1 | fcf35e87-78be-4e36-a92c-08b2bd882f13 -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx03/virtualbox/id: -------------------------------------------------------------------------------- 1 | 55e7a0a6-7d3f-4c36-9cb7-2e2dbe2d947e -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx01/virtualbox/index_uuid: -------------------------------------------------------------------------------- 1 | b549677959104812a1b4631d5fae4c21 -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx02/virtualbox/index_uuid: -------------------------------------------------------------------------------- 1 | 5ae4681d697c4116ac34f19ce44fedee -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx03/virtualbox/index_uuid: -------------------------------------------------------------------------------- 1 | c53bcf8bcc744edc97773095826f1cec -------------------------------------------------------------------------------- /Vagrant.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksator/junos-orchestration-with-vagrant/HEAD/Vagrant.pdf -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx01/virtualbox/action_provision: -------------------------------------------------------------------------------- 1 | 1.5:74d3d4b3-5156-47fa-8885-1f8f3161a50f -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx02/virtualbox/action_provision: -------------------------------------------------------------------------------- 1 | 1.5:fcf35e87-78be-4e36-a92c-08b2bd882f13 -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx03/virtualbox/action_provision: -------------------------------------------------------------------------------- 1 | 1.5:55e7a0a6-7d3f-4c36-9cb7-2e2dbe2d947e -------------------------------------------------------------------------------- /topology.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ksator/junos-orchestration-with-vagrant/HEAD/topology.pdf -------------------------------------------------------------------------------- /ubuntu_junos/ansible.cfg: -------------------------------------------------------------------------------- 1 | [defaults] 2 | inventory = provision/hosts 3 | roles_path = /etc/ansible/roles:./ 4 | deprecation_warnings=False 5 | host_key_checking = False 6 | 7 | -------------------------------------------------------------------------------- /vqfx/junos_config.set: -------------------------------------------------------------------------------- 1 | set system host-name vqfx01 2 | set system syslog host 192.168.233.17 any any 3 | set system syslog host 192.168.233.17 match UI_COMMIT_COMPLETED 4 | set system syslog host 192.168.233.17 port 516 5 | 6 | -------------------------------------------------------------------------------- /vqfx/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory: -------------------------------------------------------------------------------- 1 | # Generated by Vagrant 2 | 3 | vqfx01 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2231 ansible_ssh_user='vagrant' ansible_ssh_private_key_file='/home/ksator/.vagrant.d/insecure_private_key' 4 | -------------------------------------------------------------------------------- /ubuntu_junos/provision/facts.py: -------------------------------------------------------------------------------- 1 | from jnpr.junos import Device 2 | dev=Device(host="10.0.1.10", user="root", password="Juniper") 3 | dev.open() 4 | print ("the device "+ dev.facts["hostname"]+ " is a " + dev.facts['model'] + " running " + dev.facts["version"]) 5 | dev.close() 6 | -------------------------------------------------------------------------------- /ubuntu_junos/synced_folder/facts.py: -------------------------------------------------------------------------------- 1 | from jnpr.junos import Device 2 | dev=Device(host="10.0.1.10", user="root", password="Juniper") 3 | dev.open() 4 | print ("the device "+ dev.facts["hostname"]+ " is a " + dev.facts['model'] + " running " + dev.facts["version"]) 5 | dev.close() 6 | -------------------------------------------------------------------------------- /3vsrx-v2/host_vars/vsrx01.yml: -------------------------------------------------------------------------------- 1 | host_name: vsrx01 2 | host: 3 | loopback: 4 | ip: 10.20.1.1 5 | underlay: 6 | local: 7 | asn: 104 8 | neighbors: 9 | - interface: ge-0/0/1 10 | name: to vsrx02 11 | asn: 109 12 | peer_ip: 192.168.0.1 13 | local_ip: 192.168.0.0 14 | - interface: ge-0/0/2 15 | name: to vsrx03 16 | asn: 110 17 | peer_ip: 192.168.0.3 18 | local_ip: 192.168.0.2 19 | -------------------------------------------------------------------------------- /3vsrx-v2/host_vars/vsrx02.yml: -------------------------------------------------------------------------------- 1 | host_name: vsrx02 2 | host: 3 | loopback: 4 | ip: 10.20.1.2 5 | underlay: 6 | local: 7 | asn: 109 8 | neighbors: 9 | - interface: ge-0/0/1 10 | name: to vsrx01 11 | asn: 104 12 | peer_ip: 192.168.0.0 13 | local_ip: 192.168.0.1 14 | - interface: ge-0/0/2 15 | name: to vsrx03 16 | asn: 110 17 | peer_ip: 192.168.0.4 18 | local_ip: 192.168.0.5 19 | -------------------------------------------------------------------------------- /3vsrx-v2/host_vars/vsrx03.yml: -------------------------------------------------------------------------------- 1 | host_name: vsrx03 2 | host: 3 | loopback: 4 | ip: 10.20.1.3 5 | underlay: 6 | local: 7 | asn: 110 8 | neighbors: 9 | - interface: ge-0/0/1 10 | name: to vsrx01 11 | asn: 104 12 | peer_ip: 192.168.0.2 13 | local_ip: 192.168.0.3 14 | - interface: ge-0/0/2 15 | name: to vsrx02 16 | asn: 109 17 | peer_ip: 192.168.0.5 18 | local_ip: 192.168.0.4 19 | -------------------------------------------------------------------------------- /vqfx/pb.yml: -------------------------------------------------------------------------------- 1 | - name: Build and deploy configuration 2 | hosts: all 3 | connection: local 4 | gather_facts: no 5 | roles: 6 | - Juniper.junos 7 | tasks: 8 | - name: Deploy config to device ... please wait 9 | junos_install_config: 10 | host: "{{ ansible_ssh_host }}" 11 | port: "{{ ansible_ssh_port }}" 12 | user: "root" 13 | passwd: "Juniper" 14 | comment: "configured by ansible" 15 | file: "junos_config.set" 16 | logfile: "changes.log" 17 | -------------------------------------------------------------------------------- /3vsrx/ansible_playbook.yml: -------------------------------------------------------------------------------- 1 | - name: deploy configuration to junos devices 2 | hosts: all 3 | connection: local 4 | gather_facts: no 5 | roles: 6 | - Juniper.junos 7 | tasks: 8 | - name: Deploy config to device ... please wait 9 | junos_install_config: 10 | host: "{{ ansible_ssh_host }}" 11 | port: "{{ ansible_ssh_port }}" 12 | user: "root" 13 | passwd: "Juniper" 14 | comment: "configured by ansible" 15 | file: "{{ inventory_hostname }}.set" 16 | logfile: "changes.log" 17 | -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory: -------------------------------------------------------------------------------- 1 | # Generated by Vagrant 2 | 3 | vsrx02 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_user='root' ansible_ssh_private_key_file='/home/ksator/vagrant-with-junos/3vsrx-v2/.vagrant/machines/vsrx02/virtualbox/private_key' 4 | vsrx01 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2221 ansible_ssh_user='root' ansible_ssh_private_key_file='/home/ksator/vagrant-with-junos/3vsrx-v2/.vagrant/machines/vsrx01/virtualbox/private_key' 5 | 6 | [vsrx] 7 | vsrx01 8 | vsrx02 9 | 10 | [all:children] 11 | vsrx 12 | -------------------------------------------------------------------------------- /3vsrx-v2/programatic_access/python/bgp_states.py: -------------------------------------------------------------------------------- 1 | from jnpr.junos import Device 2 | from jnpr.junos.op.bgp import * 3 | 4 | port_list=["2221", "2222", "2223"] 5 | 6 | for item in port_list: 7 | dev=Device(host="127.0.0.1", user="root", password="Juniper", port=item) 8 | dev.open() 9 | bgp=BGPNeighborTable (dev) 10 | bgp.get() 11 | print "\nstatus of BGP neighbors of " + dev.facts["hostname"]+ ":" 12 | for xxx in bgp: 13 | print xxx.type + " BGP neighbor " + xxx.neighbor + " is " + xxx.state + " (flap count is: " + xxx.flap_count +")" 14 | dev.close() 15 | -------------------------------------------------------------------------------- /ubuntu_junos/provision/playbook.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Get Facts 3 | hosts: vsrx01 4 | roles: 5 | - Juniper.junos 6 | connection: local 7 | gather_facts: no 8 | 9 | 10 | tasks: 11 | 12 | - name: Retrieve information from devices running Junos 13 | junos_get_facts: 14 | host: "{{ ip }}" 15 | user: "root" 16 | passwd: "Juniper" 17 | register: junos 18 | 19 | - name: Print some facts 20 | debug: 21 | msg: "device {{junos['facts']['hostname']}} runs version {{junos.facts.version}}" 22 | #when: junos.facts.version != "12.3R11.2" 23 | -------------------------------------------------------------------------------- /3vsrx-v2/programatic_access/python/lldp_neighbor_status.py: -------------------------------------------------------------------------------- 1 | from jnpr.junos import Device 2 | from jnpr.junos.op.lldp import LLDPNeighborTable 3 | 4 | port_list=["2221", "2222", "2223"] 5 | 6 | for item in port_list: 7 | dev=Device(host="127.0.0.1", user="root", password="Juniper", port=item) 8 | dev.open() 9 | lldp_neighbors=LLDPNeighborTable(dev) 10 | lldp_neighbors.get() 11 | print "\nstatus of LLDP neighbors of " + dev.facts["hostname"]+ ":" 12 | for xxx in lldp_neighbors: 13 | print "interface " + xxx.local_int + " has this neighbor: " + xxx.remote_sysname 14 | dev.close() 15 | 16 | -------------------------------------------------------------------------------- /3vsrx-v2/programatic_access/ansible/inventory/vsrx01-facts.json: -------------------------------------------------------------------------------- 1 | {"domain": null, "hostname": "vsrx01", "ifd_style": "CLASSIC", "version_info": {"major": [12, 1], "type": "X", "build": 4, "minor": [47, "D", 15]}, "serialnumber": "8cab1d2cf7fa", "fqdn": "vsrx01", "virtual": true, "has_2RE": false, "switch_style": "NONE", "version": "12.1X47-D15.4", "HOME": "/cf/root", "srx_cluster": false, "model": "FIREFLY-PERIMETER", "RE0": {"status": "Testing", "last_reboot_reason": "Router rebooted after a normal shutdown.", "model": "FIREFLY-PERIMETER RE", "up_time": "32 minutes, 45 seconds"}, "vc_capable": false, "personality": "SRX_BRANCH"} -------------------------------------------------------------------------------- /3vsrx-v2/programatic_access/ansible/inventory/vsrx02-facts.json: -------------------------------------------------------------------------------- 1 | {"domain": null, "hostname": "vsrx02", "ifd_style": "CLASSIC", "version_info": {"major": [12, 1], "type": "X", "build": 4, "minor": [47, "D", 15]}, "serialnumber": "32e57211c9c9", "fqdn": "vsrx02", "virtual": true, "has_2RE": false, "switch_style": "NONE", "version": "12.1X47-D15.4", "HOME": "/cf/root", "srx_cluster": false, "model": "FIREFLY-PERIMETER", "RE0": {"status": "Testing", "last_reboot_reason": "Router rebooted after a normal shutdown.", "model": "FIREFLY-PERIMETER RE", "up_time": "29 minutes, 31 seconds"}, "vc_capable": false, "personality": "SRX_BRANCH"} -------------------------------------------------------------------------------- /3vsrx-v2/programatic_access/ansible/inventory/vsrx03-facts.json: -------------------------------------------------------------------------------- 1 | {"domain": null, "hostname": "vsrx03", "ifd_style": "CLASSIC", "version_info": {"major": [12, 1], "type": "X", "build": 4, "minor": [47, "D", 15]}, "serialnumber": "cdab37f7b151", "fqdn": "vsrx03", "virtual": true, "has_2RE": false, "switch_style": "NONE", "version": "12.1X47-D15.4", "HOME": "/cf/root", "srx_cluster": false, "model": "FIREFLY-PERIMETER", "RE0": {"status": "Testing", "last_reboot_reason": "Router rebooted after a normal shutdown.", "model": "FIREFLY-PERIMETER RE", "up_time": "26 minutes, 25 seconds"}, "vc_capable": false, "personality": "SRX_BRANCH"} -------------------------------------------------------------------------------- /3vsrx-v2/ansible_playbook2.yml: -------------------------------------------------------------------------------- 1 | - name: Build and deploy configuration 2 | hosts: all 3 | connection: local 4 | gather_facts: no 5 | roles: 6 | - Juniper.junos 7 | tasks: 8 | - name: Build configuration 9 | template: src=template.j2 dest=/tmp/{{ inventory_hostname }}.conf 10 | 11 | - name: Deploy config to device ... please wait 12 | junos_install_config: 13 | host={{ ansible_ssh_host }} 14 | port={{ ansible_ssh_port }} 15 | user=root 16 | passwd=Juniper 17 | comment="configured by ansible" 18 | file=/tmp/{{ inventory_hostname }}.conf 19 | logfile=changes.log 20 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /3vsrx/.vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory: -------------------------------------------------------------------------------- 1 | # Generated by Vagrant 2 | 3 | vsrx02 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_user='root' ansible_ssh_private_key_file='/home/ksator/vagrant-with-junos/3vsrx/.vagrant/machines/vsrx02/virtualbox/private_key' 4 | vsrx01 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2221 ansible_ssh_user='root' ansible_ssh_private_key_file='/home/ksator/vagrant-with-junos/3vsrx/.vagrant/machines/vsrx01/virtualbox/private_key' 5 | vsrx03 ansible_ssh_host=127.0.0.1 ansible_ssh_port=2223 ansible_ssh_user='root' ansible_ssh_private_key_file='/home/ksator/vagrant-with-junos/3vsrx/.vagrant/machines/vsrx03/virtualbox/private_key' 6 | -------------------------------------------------------------------------------- /3vsrx-v2/programatic_access/ansible/get_facts.p.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - name: Get Facts 3 | hosts: vsrx 4 | roles: 5 | - Juniper.junos 6 | connection: local 7 | gather_facts: no 8 | 9 | 10 | tasks: 11 | 12 | - name: Retrieve information from devices running Junos 13 | junos_get_facts: 14 | host={{ ansible_ssh_host }} 15 | port={{ ansible_ssh_port }} 16 | user=root 17 | passwd=Juniper 18 | savedir=inventory 19 | register: junos 20 | 21 | - name: Print some facts 22 | debug: msg="device {{junos["facts"]["hostname"]}} runs version {{junos.facts.version}}" 23 | #when: junos.facts.version != "12.3R11.2" 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /vqfx/Vagrantfile: -------------------------------------------------------------------------------- 1 | Vagrant.configure(2) do |config| 2 | config.ssh.insert_key = false 3 | config.vm.box = "juniper/vqfx10k-re" 4 | 5 | config.vm.provision "ansible" do |ansible| 6 | ansible.playbook = "pb.yml" 7 | end 8 | 9 | config.vm.provider "virtualbox" do |vb| 10 | vb.gui = true 11 | vb.memory = "1024" 12 | end 13 | 14 | config.vm.define "vqfx01" do |vqfx01| 15 | vqfx01.vm.host_name = "vqfx01" 16 | vqfx01.vm.network "forwarded_port", guest: 22, host: 2231, id: "ssh" 17 | vqfx01.vm.network "forwarded_port", guest: 830, host: 8331 18 | end 19 | 20 | end 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /3vsrx-v2/programatic_access/python/print_facts_vagrant.py: -------------------------------------------------------------------------------- 1 | #----------------------------------------------------------------------------------------------------------------------- 2 | # DESCRIPTION: 3 | # Connect to a series of devices and print facts related to each device to both the console and an inventory text file. 4 | # 5 | # CONTACT: bvilletard@juniper.net; cbinckly@juniper.net; ksator@juniper.net; pgeenens@juniper.net; tgrimonet@juniper.net 6 | # 7 | # CREATED: 2015-11-11 8 | # 9 | # VERSION: 1 10 | # 11 | # USAGE: print_facts.py 12 | # ----------------------------------------------------------------------------------------------------------------------- 13 | 14 | from jnpr.junos import Device 15 | port_list=["2221", "2222", "2223"] 16 | for item in port_list: 17 | dev=Device(host="127.0.0.1", user="root", password="Juniper", port=item) 18 | dev.open() 19 | print ("the device "+ dev.facts["hostname"]+ " is a " + dev.facts['model'] + " running " + dev.facts["version"]) 20 | dev.close() 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | 2 | MIT License 3 | 4 | Copyright (c) 2018 Juniper Networks, Inc. All rights reserved 5 | 6 | Permission is hereby granted, free of charge, to any person obtaining a copy 7 | of this software and associated documentation files (the "Software"), to deal 8 | in the Software without restriction, including without limitation the rights 9 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 10 | copies of the Software, and to permit persons to whom the Software is 11 | furnished to do so, subject to the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be included in all 14 | copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 17 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 18 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 19 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 20 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 21 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 22 | SOFTWARE. 23 | -------------------------------------------------------------------------------- /ubuntu_junos/README.md: -------------------------------------------------------------------------------- 1 | ``` 2 | $ vagrant up 3 | ``` 4 | ``` 5 | $ vagrant status 6 | ``` 7 | ``` 8 | $ vagrant ssh ubuntu 9 | ``` 10 | ``` 11 | vagrant@vagrant-ubuntu-trusty-64:~$ python provision/facts.py 12 | the device vsrx is a FIREFLY-PERIMETER running 12.1X47-D20.7 13 | ``` 14 | ``` 15 | vagrant@vagrant-ubuntu-trusty-64:~$ ansible-galaxy list 16 | - Juniper.junos, 1.4.3 17 | ``` 18 | ``` 19 | vagrant@vagrant-ubuntu-trusty-64:~$ ls /etc/ansible/roles/Juniper.junos/library/ 20 | __init__.py junos_get_facts junos_jsnapy junos_rpc 21 | junos_cli junos_get_table junos_ping junos_shutdown 22 | junos_commit junos_install_config junos_pmtud junos_srx_cluster 23 | junos_get_config junos_install_os junos_rollback junos_zeroize 24 | ``` 25 | 26 | ``` 27 | vagrant@vagrant-ubuntu-trusty-64:~$ ansible-playbook provision/playbook.yml 28 | 29 | PLAY [Get Facts] **************************************************************** 30 | 31 | TASK [Retrieve information from devices running Junos] ************************** 32 | ok: [vsrx01] 33 | 34 | TASK [Print some facts] ********************************************************* 35 | ok: [vsrx01] => { 36 | "msg": "device vsrx runs version 12.1X47-D20.7" 37 | } 38 | 39 | PLAY RECAP ********************************************************************** 40 | vsrx01 : ok=2 changed=0 unreachable=0 failed=0 41 | ``` 42 | -------------------------------------------------------------------------------- /3vsrx-v2/template.j2: -------------------------------------------------------------------------------- 1 | system { 2 | host-name {{ inventory_hostname }}; 3 | services { 4 | ssh { 5 | root-login allow; 6 | } 7 | netconf { 8 | ssh; 9 | } 10 | } 11 | } 12 | interfaces { 13 | {% for neighbor in underlay.neighbors %} 14 | {{ neighbor.interface }} { 15 | unit 0 { 16 | description "{{ neighbor.name }}"; 17 | family inet { 18 | address {{ neighbor.local_ip }}/31; 19 | } 20 | } 21 | } 22 | {% endfor %} 23 | } 24 | protocols { 25 | lldp { 26 | interface all; 27 | } 28 | bgp { 29 | group underlay { 30 | import bgp-in; 31 | export bgp-out; 32 | type external; 33 | local-as {{ underlay.local.asn }}; 34 | multipath multiple-as; 35 | {% for neighbor in underlay.neighbors %} 36 | neighbor {{ neighbor.peer_ip }} { 37 | peer-as {{ neighbor.asn }}; 38 | } 39 | {% endfor %} 40 | } 41 | } 42 | } 43 | 44 | routing-options { 45 | router-id {{ host.loopback.ip }}; 46 | forwarding-table { 47 | export bgp-ecmp; 48 | } 49 | } 50 | 51 | policy-options { 52 | policy-statement bgp-ecmp { 53 | then { 54 | load-balance per-packet; 55 | } 56 | } 57 | policy-statement bgp-in { 58 | then accept; 59 | } 60 | policy-statement bgp-out { 61 | then accept; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /3vsrx-v2/Vagrantfile: -------------------------------------------------------------------------------- 1 | Vagrant.configure(2) do |config| 2 | config.vm.box = "juniper/ffp-12.1X47-D15.4-packetmode" 3 | 4 | config.vm.provider "virtualbox" do |vb| 5 | vb.gui = true 6 | vb.memory = "1024" 7 | end 8 | 9 | config.vm.define "vsrx01" do |vsrx01| 10 | vsrx01.vm.host_name = "vsrx01" 11 | vsrx01.vm.network "forwarded_port", guest: 22, host: 2221, id: "ssh" 12 | vsrx01.vm.network "private_network", 13 | virtualbox__intnet: "vsrx01-vsrx02" 14 | vsrx01.vm.network "private_network", 15 | virtualbox__intnet: "vsrx03-vsrx01" 16 | end 17 | 18 | config.vm.define "vsrx02" do |vsrx02| 19 | vsrx02.vm.host_name = "vsrx02" 20 | vsrx02.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh" 21 | vsrx02.vm.network "private_network", 22 | virtualbox__intnet: "vsrx01-vsrx02" 23 | vsrx02.vm.network "private_network", 24 | virtualbox__intnet: "vsrx02-vsrx03" 25 | end 26 | 27 | config.vm.define "vsrx03" do |vsrx03| 28 | vsrx03.vm.host_name = "vsrx03" 29 | vsrx03.vm.network "forwarded_port", guest: 22, host: 2223, id: "ssh" 30 | vsrx03.vm.network "private_network", 31 | virtualbox__intnet: "vsrx03-vsrx01" 32 | vsrx03.vm.network "private_network", 33 | virtualbox__intnet: "vsrx02-vsrx03" 34 | end 35 | 36 | config.vm.provision "ansible" do |ansible| 37 | ansible.groups = { 38 | "vsrx" => ["vsrx01", "vsrx02", "vsrx03"], 39 | "all:children" => ["vsrx"] 40 | } 41 | ansible.playbook = "ansible_playbook2.yml" 42 | end 43 | 44 | end 45 | -------------------------------------------------------------------------------- /ubuntu_junos/Vagrantfile: -------------------------------------------------------------------------------- 1 | Vagrant.configure(2) do |config| 2 | 3 | config.vm.define "ubuntu" do |ubuntu| 4 | ubuntu.vm.box = "ubuntu/trusty64" 5 | ubuntu.vm.network :forwarded_port, guest: 22, host: 12202, id: 'ssh' 6 | ubuntu.vm.network "private_network", virtualbox__intnet: "management", 7 | ip: "10.0.1.1/24", auto_config: true 8 | ubuntu.vm.provider :virtualbox do |vb| 9 | vb.gui = false 10 | vb.memory = "2048" 11 | end 12 | ubuntu.vm.provision "file", source: "ansible.cfg", destination: "ansible.cfg" 13 | ubuntu.vm.provision "file", source: "provision", destination: "provision" 14 | #ubuntu.vm.provision "file", source: "data/template.j2", destination: "/tmp/template.j2" 15 | ubuntu.vm.provision "shell", inline: <<-SHELL 16 | #mkdir dir1 17 | #touch dir1/file1 18 | sudo apt-get update 19 | sudo apt-get install -y python-dev libxml2-dev python-pip libxslt-dev build-essential libssl-dev libffi-dev libffi-dev 20 | sudo pip install --upgrade setuptools 21 | sudo pip install cryptography==1.2.1 junos-eznc ansible==2.4.2.0 jxmlease 22 | sudo ansible-galaxy --force install Juniper.junos,1.4.3 23 | SHELL 24 | ubuntu.vm.synced_folder "synced_folder", "/home/vagrant/scripts" 25 | ubuntu.ssh.username = "vagrant" 26 | ubuntu.ssh.password = "vagrant" 27 | end 28 | 29 | config.vm.define "vsrx01" do |vsrx01| 30 | vsrx01.vm.box = "juniper/ffp-12.1X47-D20.7-packetmode" 31 | vsrx01.vm.network :forwarded_port, guest: 22, host: 12233, id: 'ssh' 32 | vsrx01.vm.network "private_network", virtualbox__intnet: "management", 33 | ip: "10.0.1.10", 34 | netmask: "255.255.255.0" 35 | end 36 | 37 | end 38 | -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx02/virtualbox/private_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEowIBAAKCAQEAsKaRPpW8NFjjrAe88ZzTqvt0z5HrPE2na6AjOic6GZ1mlO11 3 | rBaJjdwJ3xBe1vxBwQ0yzuskyzpiReTThYRD5Eim5rSmk+ff4x7LwEx9xDLpEWhF 4 | W9hq42l5R+xiWMkjBVw+82iI4GT4dBOZIo1OUsJl/ObHYfF/VjdSwZciu5H6lBw8 5 | UQwtzlSvfQCXhCHnjChaITvKQ38uaTrN5oyOLEbJSB4K5ZtrSBKAVPdNBjgq1HRu 6 | jNChiWxQMtKA66qb+tEulCg5uziBBDyMh+P0qL5YOO/Torr8Mr1eg475rvTn4Zoa 7 | CwWenBeBYoG52WGAd8gCon1HgSyYJJeQhsnR3wIDAQABAoIBADyUctz+prNhBHr7 8 | kF1fhetuHqoMhZqBmve6zDnmN/OO2h4arS8d74BZxHzd9VhO3BHjf9gcJdsYI5mK 9 | lsuEB3BjRfF6ZGH2s/4EkqVY1gyR1QHmO1r7BfUFN9VliHigScVN1DzPTZl+pwHP 10 | ssV5pjGVfzpSvm+lTSD5CgVf2kZugJt3PR/8kAu/y5tIDf6YAomz51FBWlRbmSgT 11 | 6AigWuVieWkJlJ/2L/kpnXsTOQGFZE22cxqavbSvJARoGjeR/ogsVZ9PLQ2Uj//z 12 | QQe0UjGTtRDqAY8Xan7wRUYHfO4dovu9ynbYN2mn7g3Fozi65DTDsqYcKMcSCKWd 13 | 7ANVkgkCgYEA2At88NP4oLNo+vlHOZp+ENoCvWXDZageH3XT/YzysNPPVB15qUeQ 14 | u58S7O89Ume+fVwOZU4uBzo1iNB2weBQ6D6oFIbBjowNnodpmd4ZCxnxBg45v7KI 15 | lef0H9q/fvegUBWYqGbi4N9dEsscWebZmP921QVoL/64K9K7iDGpf+sCgYEA0VH7 16 | 7TItKvwCRuRjHYbLM9a3cZhM5czwkm8rWsKvS6RhMRSCtw0CbckIbiGjSc7qDsE7 17 | WMt6yifico2swmKtrr58WGtFnAmpx2gdAjwE3jbP40vynNa6Z/N7KTJIybabPDx9 18 | HnAtGoCbCxOZzha0opiQhAMhqCGdjqSjgYvuLN0CgYApxubtJwBACxF03rlgMTjJ 19 | h27aMxB62uygRseskxHnEb5Y1K5PBrC9J0Cgoo6oHbmfQirieiC6cw4hG7arPPZI 20 | Qr174qcRKpIDosnP4DvVgrmx4xRVtm9lFYqGkmVPZxEQC20Ou36J34d+99nOpK5V 21 | QKk4/iesiEQS7VgoOPo+6wKBgQDE3FoW5o3cU07A5aLh7hfGFTZJu3b22RuYXL1l 22 | ipvahCp0Qln9VlrmbZ9kFHbBv7wZTFpIVHaTEZfDLMNBvhSit7uyXJEHA3+Nbrl5 23 | lIDvjJVPq+ns33ZItZErWYNjUj4FFM6HhfClcDZg4HpSfMA9+0ZPIbLRsWvA785m 24 | 0/eYcQKBgB7dpAgtkTPBK8ybucykALx8L+xwujBENWHoH+Tuw0gy6TR3uqeytUhK 25 | rxxPD/Ppsr7uwg6hVj74BvxETcKUKr2GYJtguW+2U59+lKnMBJpB/ZG5Q9BorFWf 26 | JaoPXrPR6VRQ/PR88UMP6F0JlnIg1ZK03bHKunegNDsOWsWGLiUs 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx01/virtualbox/private_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpQIBAAKCAQEA5K2saHu7NAW7f7CZ49nqnpKlFX8kS+GDwE1/LU6epZQYs4Br 3 | eefLGClEEv1WwnoyIn1uO8TEzIcWnUnoV0rGKOgZcr8oXwLFe4TwgAeDFOXeGOsL 4 | yTZvsnxCOfO/hjkpEMMUn5nUNlmqxi/LeIIqfK/vssrqI5reKKqHOidic1NLv5uv 5 | vWApnaLiJSet3j+1wfCvk6AKyh2Weh9z/knXTJalzO+YSsHrPvYUU9x9wlAF97e1 6 | MtC5KgqYBe8yj6YYc3ZBYfFeRQ+WAnVcdrHiHqONOH50noOcjxG5ei4CalU7aTmw 7 | pHnL40zXkEqZhoL0GWDDx5B6Hgje9h7vrKPWwQIDAQABAoIBAQDGM+2iJdQtE+be 8 | ls/bWE5toMbrKeboyg7qx4C6YVFKTGFYe68r2wcB6wpwtxnSuBzqHfNEZJj6eP/V 9 | 1nBF8K5uWDVualbwerN2CtR0843euBnXWSo+/Sq09dRk7GqNSM/aEmu2pZr0fKVy 10 | 34wo6BExP0CvpAZqU9nIP32znt1K/DyV3mV4pCD1HFkONIrnWaZyPFOC8v+cMY8K 11 | weAoZRhf2wDHEyWeCOrBYRkgbplQUjtM1345OX4cY+6H52i1jISJS5C4SGcA+HUw 12 | l12UR1Yp7sFtr4wSYtr2h/eoBkWqnPtcIcirFwQdCUnzjfvXhf71e9fsNK2l1R6y 13 | yxArvkcNAoGBAPqShb95JCi46n9ro2PGxnMJSyNTHlbwUGnoQGU1Rqz/LY4Sk+ls 14 | zIE43VYopX4TZfDzdvhAVyYFZ15an3E2SgZAZjL09Q2Dj27z/qUUY9QRzzoXrDb6 15 | 0FlAzwcn3Y6xgH6SfT6JGQiVdOzXbHCOz78wD3NOrQNdkFiuZ8+XPt0vAoGBAOmh 16 | vpFvJ4yFrMVXDvRL0C4FpFYv5rqjHXmruQQl3pIvN72GH+bWEb/XTsN9LByJQxfb 17 | BovBtULp3BMPZPh1XSlOg2GCZHLI+a2FcysxRElhh9e2PpS4YLb3cj88XvcgnYLq 18 | ttFQUiIF+eJ9KXZiF8dCOWiObagbqZsSBt+Wau8PAoGAQfQDJEzciaNyhattTDvr 19 | zCesEVY1bCjA4b9yA7GsMqjP8s9NA2nRwkmXaLA2LyMn9+39aIZ26dkORjWQNhpW 20 | DaMxw0PapH32aPvsEMN3K0CszNuiRq5p3LRESdviY0axTZ99O9KWNj4wko55Sn8s 21 | i2Q5DN6uh24/KjhttqRWtZ0CgYEAoBA0Y6dnzRp4N+thT3XxdtZetL20sgG22/kO 22 | lQzs4/J9mdceXCQlnO2CBOTpJ9PSp7FjVrSr3uAh6t0NLDwcS4SC9ndDInEWvg9D 23 | zD/ArRWo39z4GyQG/tOg7joKRf2ObHcqMVV6L90wSj+9/GFQMS/p7PxHnHj3Rkqf 24 | cue283kCgYEAlGZuFxrD1bz4MNvljj2Un3YIP/qkfDC177vCTgdBd3SwUlV9Wbba 25 | U0dCyGqGDDB5dUHyFcd7l1XY+nupmGLgUF5P8KAbS9D8PcOeaqImNjAtdBIsp+1t 26 | swXhpmIfTzpK1V5xBcDQAtT4BI2KWYwRzY2x/3iawDD3rdRJbYSN3pM= 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /3vsrx-v2/.vagrant/machines/vsrx03/virtualbox/private_key: -------------------------------------------------------------------------------- 1 | -----BEGIN RSA PRIVATE KEY----- 2 | MIIEpAIBAAKCAQEA09akibZz8rJbDANFc2nzA2oXaWCPhCzxyUSwoQwmQT+Ccsy7 3 | LN/ZX1sI4LnNKQo83PB9fSc859ciiUU2jsPIgJOEY/Pum1h4ki2U5f9D88bNXsYk 4 | YL7fudVI42QzVDekU2Z+D1Kb1eumAJz7A02+ItsNkZ2/37zaj63073K2dNKy0a9Y 5 | WUH9lIEKiDRQMtLpovsTGT4ZqBSn4/6F98DGjJJmYn7ozhOmQ/z3sdwlCn8lb+ET 6 | hmrUmpHc25s5KJ3xZR7r/EkYNJLbC1BF241lBco6rzAGOWyK1tAi6mdIbiwVELxE 7 | X9lS6MYkxPzdxwDvW9zt/qWNXfAw98zIbGd4wQIDAQABAoIBAQCd8GRQgIXGJxAW 8 | zsGTISUcIJc/68xUwaWrZ9lA2WwULaO2r8nF1Ued/qOJ2T2LIaTrHSqSixSvzghj 9 | zAS3QGVW56VHWHFHxRhv9CgVqtIhCNHJnXU15FmtlcV4NBbI7YtI2xuVlQO25LCp 10 | uGC1v9rI5gUh0jliOM3DXfFGLYK3aZwouJPWE19Jl6aUqF0dLX1nXiHDxmJf5myq 11 | XZ5LwjLs0fmYT/AAVwrcr6othSrAvZuFN7Z5InTvRMH4dkhNrfhHwlRzLiKedXAj 12 | M4BiDJ1vksQ6Vmftn0LA6B8o6c0jcZt5AbJlUJhhK4qVmJR1ouwfq0PuWNnfTE15 13 | pvz31/rZAoGBAPcWyAq1GU4bEtV0daymZl2fufyRfWL3N2V7MjFQlnve9MaHz0kT 14 | 7D0EuhEh49G+YIVkPxwY6LVq9LszX126sr06j5pb2kObuDQtgq33CJWi/BEFFa2F 15 | OsOgYC9nPu6tnz+eKG7SyNOLz8SxVgDoRbj7eBj5xklMhXAA8SXdQpnzAoGBANt6 16 | akAECpAo2JLWSIwnB+3uAZ0l31drQGIKL7c3iQYveI9RU3FpKQS9Javt1EyEq487 17 | zmr66SABN3ZxVe8hDr88+lL4cv3Q/LF8/oUDRJcS1Rm96hd287DvOzvMSt3RB2VY 18 | cCBqH7weX/KHVrZnAd7AlvE9WNtt1hzBj9nvAbt7AoGBAMZWFRDzOXLGrKGGsAZ8 19 | M2MnmWUxa9KK2n6tGycWpxSbbSQHU843HcQFDU4/Q93S0SuBwl7NZ85oIjY6EGzu 20 | NhdK8IZZAKSQVJYdie4Wg1+Jyofm6vW0Ie1xyIOEfrGb0F6Cl7YNoIKekZIzPvPP 21 | flf0Ev0JUa74q4uyVd+s8Y8dAoGAYpvkgvCN4mlHrOlz3OxoZqEpvnZWm0tHuQTE 22 | nXfpK4tGinXKnMjXshZdh5qqaNquzgLb4jrrZQLG7YNMTc03d/qoqYCRAbLU5dW3 23 | 8QEf3xSKBC/MrlA2ewdxQJOwC2sv/Hu4nQexTG8FQs1Fy1wKfg9fgfHDK4t0yKS6 24 | wfrdd2MCgYBCGGZtmxsO01RhE+BQ4OGt16BUWzRlh6hwmpVaTo61VGdGYDY3UDM/ 25 | BPQGjFwDnRCnVxCvnokXKuRYfi/nVuJnmIn8iyLatLDqtpzaIYxogvCF2b8is8IM 26 | Txklniiwp4OQJ+7HXXsNdubF+ZzxQ/3HTehKWmo+tAucY2Tfp8DXjA== 27 | -----END RSA PRIVATE KEY----- 28 | -------------------------------------------------------------------------------- /3vsrx/Vagrantfile: -------------------------------------------------------------------------------- 1 | Vagrant.configure(2) do |config| 2 | config.vm.box = "juniper/ffp-12.1X47-D15.4-packetmode" 3 | 4 | config.vm.provision "ansible" do |ansible| 5 | ansible.playbook = "ansible_playbook.yml" 6 | end 7 | 8 | config.vm.provider "virtualbox" do |vb| 9 | vb.gui = true 10 | vb.memory = "1024" 11 | end 12 | 13 | config.vm.define "vsrx01" do |vsrx01| 14 | vsrx01.vm.host_name = "vsrx01" 15 | vsrx01.vm.network "forwarded_port", guest: 22, host: 2221, id: "ssh" 16 | vsrx01.vm.network "private_network", 17 | ip: "192.168.12.11", 18 | virtualbox__intnet: "01-to-02" 19 | vsrx01.vm.network "private_network", 20 | ip: "192.168.31.11", 21 | virtualbox__intnet: "03-to-01" 22 | 23 | end 24 | 25 | config.vm.define "vsrx02" do |vsrx02| 26 | vsrx02.vm.host_name = "vsrx02" 27 | vsrx02.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh" 28 | vsrx02.vm.network "private_network", 29 | ip: "192.168.23.12", 30 | virtualbox__intnet: "02-to-03" 31 | vsrx02.vm.network "private_network", 32 | ip: "192.168.12.12", 33 | virtualbox__intnet: "01-to-02" 34 | end 35 | 36 | config.vm.define "vsrx03" do |vsrx03| 37 | vsrx03.vm.host_name = "vsrx03" 38 | vsrx03.vm.network "forwarded_port", guest: 22, host: 2223, id: "ssh" 39 | vsrx03.vm.network "private_network", 40 | ip: "192.168.31.13", 41 | virtualbox__intnet: "03-to-01" 42 | vsrx03.vm.network "private_network", 43 | ip: "192.168.23.13", 44 | virtualbox__intnet: "02-to-03" 45 | end 46 | end 47 | 48 | -------------------------------------------------------------------------------- /vqfxfull/Vagrantfile: -------------------------------------------------------------------------------- 1 | # -*- mode: ruby -*- 2 | # vi: set ft=ruby : 3 | 4 | VAGRANTFILE_API_VERSION = "2" 5 | 6 | ## Generate a unique ID for this project 7 | UUID = [*('A'..'Z')].sample(6).join 8 | 9 | Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| 10 | 11 | re_name = "vqfx" 12 | pfe_name = "vqfx-pfe" 13 | 14 | ############################## 15 | ## Packet Forwarding Engine ## 16 | ############################## 17 | config.vm.define pfe_name do |vqfxpfe| 18 | vqfxpfe.ssh.insert_key = false 19 | vqfxpfe.vm.box = 'juniper/vqfx10k-pfe' 20 | 21 | # DO NOT REMOVE / NO VMtools installed 22 | vqfxpfe.vm.synced_folder '.', '/vagrant', disabled: true 23 | vqfxpfe.vm.network 'private_network', auto_config: false, nic_type: '82540EM', virtualbox__intnet: "#{UUID}_vqfx_internal" 24 | end 25 | 26 | ########################## 27 | ## Routing Engine ####### 28 | ########################## 29 | config.vm.define re_name do |vqfx| 30 | vqfx.ssh.insert_key = false 31 | vqfx.vm.hostname = "vqfx" 32 | vqfx.vm.box = 'juniper/vqfx10k-re' 33 | config.vm.boot_timeout = 9000 34 | # DO NOT REMOVE / NO VMtools installed 35 | vqfx.vm.synced_folder '.', '/vagrant', disabled: true 36 | 37 | # Management ports 38 | vqfx.vm.network 'private_network', auto_config: false, nic_type: '82540EM', virtualbox__intnet: "#{UUID}_vqfx_internal" 39 | vqfx.vm.network 'private_network', auto_config: false, nic_type: '82540EM', virtualbox__intnet: "#{UUID}_reserved-bridge" 40 | 41 | ## Dataplane ports 42 | (1..5).each do |seg_id| 43 | vqfx.vm.network 'private_network', auto_config: false, nic_type: '82540EM', virtualbox__intnet: "#{UUID}_seg#{seg_id}" 44 | end 45 | end 46 | end 47 | -------------------------------------------------------------------------------- /3_vsrx_vagrant_non_provisionning/Vagrantfile: -------------------------------------------------------------------------------- 1 | Vagrant.configure(2) do |config| 2 | config.vm.box = "juniper/ffp-12.1X47-D15.4-packetmode" 3 | 4 | config.vm.provider "virtualbox" do |vb| 5 | vb.gui = true 6 | vb.memory = "1024" 7 | end 8 | 9 | config.vm.define "vsrx01" do |vsrx01| 10 | vsrx01.vm.host_name = "vsrx01" 11 | vsrx01.vm.network "forwarded_port", guest: 22, host: 2221, id: "ssh" 12 | vsrx01.vm.network "forwarded_port", guest: 830, host: 8301 13 | vsrx01.vm.network "private_network", 14 | ip: "192.168.12.11", 15 | virtualbox__intnet: "01-to-02" 16 | vsrx01.vm.network "private_network", 17 | ip: "192.168.31.11", 18 | virtualbox__intnet: "03-to-01" 19 | end 20 | 21 | config.vm.define "vsrx02" do |vsrx02| 22 | vsrx02.vm.host_name = "vsrx02" 23 | vsrx02.vm.network "forwarded_port", guest: 22, host: 2222, id: "ssh" 24 | vsrx02.vm.network "forwarded_port", guest: 830, host: 8302 25 | vsrx02.vm.network "private_network", 26 | ip: "192.168.23.12", 27 | virtualbox__intnet: "02-to-03" 28 | vsrx02.vm.network "private_network", 29 | ip: "192.168.12.12", 30 | virtualbox__intnet: "01-to-02" 31 | end 32 | 33 | config.vm.define "vsrx03" do |vsrx03| 34 | vsrx03.vm.host_name = "vsrx03" 35 | vsrx03.vm.network "forwarded_port", guest: 22, host: 2223, id: "ssh" 36 | vsrx03.vm.network "forwarded_port", guest: 830, host: 8303 37 | vsrx03.vm.network "private_network", 38 | ip: "192.168.31.13", 39 | virtualbox__intnet: "03-to-01" 40 | vsrx03.vm.network "private_network", 41 | ip: "192.168.23.13", 42 | virtualbox__intnet: "02-to-03" 43 | end 44 | end 45 | 46 | -------------------------------------------------------------------------------- /vqfxfull/README.md: -------------------------------------------------------------------------------- 1 | This vagrantfile is using a vqfx10k-re and a vqfx10k-pfe 2 | 3 | ``` 4 | root@ubuntu:~/junos-orchestration-with-vagrant/test# vagrant up 5 | Bringing machine 'vqfx-pfe' up with 'virtualbox' provider... 6 | Bringing machine 'vqfx' up with 'virtualbox' provider... 7 | ==> vqfx-pfe: Importing base box 'juniper/vqfx10k-pfe'... 8 | ==> vqfx-pfe: Matching MAC address for NAT networking... 9 | ==> vqfx-pfe: Checking if box 'juniper/vqfx10k-pfe' is up to date... 10 | ==> vqfx-pfe: Setting the name of the VM: test_vqfx-pfe_1516633701496_53622 11 | ==> vqfx-pfe: Clearing any previously set network interfaces... 12 | ==> vqfx-pfe: Preparing network interfaces based on configuration... 13 | vqfx-pfe: Adapter 1: nat 14 | vqfx-pfe: Adapter 2: intnet 15 | ==> vqfx-pfe: Forwarding ports... 16 | vqfx-pfe: 22 (guest) => 2222 (host) (adapter 1) 17 | ==> vqfx-pfe: Booting VM... 18 | ==> vqfx-pfe: Waiting for machine to boot. This may take a few minutes... 19 | vqfx-pfe: SSH address: 127.0.0.1:2222 20 | vqfx-pfe: SSH username: vagrant 21 | vqfx-pfe: SSH auth method: private key 22 | ==> vqfx-pfe: Machine booted and ready! 23 | ==> vqfx-pfe: Checking for guest additions in VM... 24 | vqfx-pfe: No guest additions were detected on the base box for this VM! Guest 25 | vqfx-pfe: additions are required for forwarded ports, shared folders, host only 26 | vqfx-pfe: networking, and more. If SSH fails on this machine, please install 27 | vqfx-pfe: the guest additions and repackage the box to continue. 28 | vqfx-pfe: 29 | vqfx-pfe: This is not an error message; everything may continue to work properly, 30 | vqfx-pfe: in which case you may ignore this message. 31 | ==> vqfx: Importing base box 'juniper/vqfx10k-re'... 32 | ==> vqfx: Matching MAC address for NAT networking... 33 | ==> vqfx: Checking if box 'juniper/vqfx10k-re' is up to date... 34 | ==> vqfx: Setting the name of the VM: test_vqfx_1516633767444_51809 35 | ==> vqfx: Fixed port collision for 22 => 2222. Now on port 2200. 36 | ==> vqfx: Clearing any previously set network interfaces... 37 | ==> vqfx: Preparing network interfaces based on configuration... 38 | vqfx: Adapter 1: nat 39 | vqfx: Adapter 2: intnet 40 | vqfx: Adapter 3: intnet 41 | vqfx: Adapter 4: intnet 42 | vqfx: Adapter 5: intnet 43 | vqfx: Adapter 6: intnet 44 | vqfx: Adapter 7: intnet 45 | vqfx: Adapter 8: intnet 46 | ==> vqfx: Forwarding ports... 47 | vqfx: 22 (guest) => 2200 (host) (adapter 1) 48 | ==> vqfx: Booting VM... 49 | ==> vqfx: Waiting for machine to boot. This may take a few minutes... 50 | vqfx: SSH address: 127.0.0.1:2200 51 | vqfx: SSH username: vagrant 52 | vqfx: SSH auth method: private key 53 | ==> vqfx: Machine booted and ready! 54 | ==> vqfx: Checking for guest additions in VM... 55 | vqfx: No guest additions were detected on the base box for this VM! Guest 56 | vqfx: additions are required for forwarded ports, shared folders, host only 57 | vqfx: networking, and more. If SSH fails on this machine, please install 58 | vqfx: the guest additions and repackage the box to continue. 59 | vqfx: 60 | vqfx: This is not an error message; everything may continue to work properly, 61 | vqfx: in which case you may ignore this message. 62 | ==> vqfx: Setting hostname... 63 | ``` 64 | ``` 65 | root@ubuntu:~/junos-orchestration-with-vagrant/test# vagrant status 66 | Current machine states: 67 | 68 | vqfx-pfe running (virtualbox) 69 | vqfx running (virtualbox) 70 | 71 | This environment represents multiple VMs. The VMs are all listed 72 | above with their current state. For more information about a specific 73 | VM, run `vagrant status NAME`. 74 | ``` 75 | ``` 76 | root@ubuntu:~/junos-orchestration-with-vagrant/test# vagrant ssh vqfx 77 | --- JUNOS 15.1X53-D63.9 built 2017-04-01 20:45:26 UTC 78 | {master:0} 79 | vagrant@vqfx-re> show chassis hardware 80 | Hardware inventory: 81 | Item Version Part number Serial number Description 82 | Chassis 32641051726 QFX3500 83 | 84 | ``` 85 | ``` 86 | {master:0} 87 | vagrant@vqfx-re> show interfaces xe-0/0/* terse 88 | Interface Admin Link Proto Local Remote 89 | xe-0/0/0 up up 90 | xe-0/0/0.0 up up inet 91 | xe-0/0/1 up up 92 | xe-0/0/1.0 up up inet 93 | xe-0/0/2 up up 94 | xe-0/0/2.0 up up inet 95 | xe-0/0/3 up up 96 | xe-0/0/3.0 up up inet 97 | xe-0/0/4 up up 98 | xe-0/0/4.0 up up inet 99 | xe-0/0/5 up up 100 | xe-0/0/5.0 up up inet 101 | xe-0/0/6 up up 102 | xe-0/0/6.0 up up inet 103 | xe-0/0/7 up up 104 | xe-0/0/7.0 up up inet 105 | xe-0/0/8 up up 106 | xe-0/0/8.0 up up inet 107 | xe-0/0/9 up up 108 | xe-0/0/9.0 up up inet 109 | xe-0/0/10 up up 110 | xe-0/0/10.0 up up inet 111 | xe-0/0/11 up up 112 | xe-0/0/11.0 up up inet 113 | 114 | {master:0} 115 | vagrant@vqfx-re> 116 | 117 | ``` 118 | ``` 119 | vagrant destroy -f 120 | ==> vqfx: Forcing shutdown of VM... 121 | ==> vqfx: Destroying VM and associated drives... 122 | ==> vqfx-pfe: Forcing shutdown of VM... 123 | ==> vqfx-pfe: Destroying VM and associated drives... 124 | ``` 125 | -------------------------------------------------------------------------------- /3vsrx/changes.log: -------------------------------------------------------------------------------- 1 | 2016-04-25 16:23:31,568:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 2 | 2016-04-25 16:23:31,602:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 3 | 2016-04-25 16:23:31,746:ncclient.transport.ssh:Authentication (publickey) failed. 4 | 2016-04-25 16:23:31,757:ncclient.transport.ssh:Authentication (password) successful! 5 | 2016-04-25 16:23:32,148:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 6 | 2016-04-25 16:23:32,148:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx/vsrx01.conf 7 | 2016-04-25 16:23:32,148:CONFIG:127.0.0.1:taking lock 8 | 2016-04-25 16:23:32,152:ncclient.operations.rpc:Requesting 'ExecuteRpc' 9 | 2016-04-25 16:23:32,274:CONFIG:127.0.0.1:loading config 10 | 2016-04-25 16:23:32,277:ncclient.operations.rpc:Requesting 'ExecuteRpc' 11 | 2016-04-25 16:23:32,397:CONFIG:127.0.0.1:Unable to load config: ConfigLoadError(severity: error, bad_element: set, message: syntax error) 12 | 2016-04-25 16:23:32,397:CONFIG:127.0.0.1:unlocking 13 | 2016-04-25 16:23:32,399:ncclient.operations.rpc:Requesting 'ExecuteRpc' 14 | 2016-04-25 16:23:32,469:ncclient.operations.rpc:Requesting 'CloseSession' 15 | 2016-04-25 16:30:51,665:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 16 | 2016-04-25 16:30:51,704:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 17 | 2016-04-25 16:30:51,825:ncclient.transport.ssh:Authentication (publickey) failed. 18 | 2016-04-25 16:30:51,855:ncclient.transport.ssh:Authentication (password) successful! 19 | 2016-04-25 16:30:52,208:ncclient.transport.session:initialized: session-id=2223 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 20 | 2016-04-25 16:30:52,209:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx/vsrx01.set 21 | 2016-04-25 16:30:52,209:CONFIG:127.0.0.1:taking lock 22 | 2016-04-25 16:30:52,211:ncclient.operations.rpc:Requesting 'ExecuteRpc' 23 | 2016-04-25 16:30:52,330:CONFIG:127.0.0.1:loading config 24 | 2016-04-25 16:30:52,332:ncclient.operations.rpc:Requesting 'ExecuteRpc' 25 | 2016-04-25 16:30:52,454:ncclient.operations.rpc:Requesting 'ExecuteRpc' 26 | 2016-04-25 16:30:52,678:CONFIG:127.0.0.1:doing a commit-check, please be patient 27 | 2016-04-25 16:30:52,680:ncclient.operations.rpc:Requesting 'ExecuteRpc' 28 | 2016-04-25 16:30:53,155:CONFIG:127.0.0.1:committing change, please be patient 29 | 2016-04-25 16:30:53,159:ncclient.operations.rpc:Requesting 'ExecuteRpc' 30 | 2016-04-25 16:30:54,447:CONFIG:127.0.0.1:unlocking 31 | 2016-04-25 16:30:54,448:ncclient.operations.rpc:Requesting 'ExecuteRpc' 32 | 2016-04-25 16:30:54,568:CONFIG:127.0.0.1:change completed 33 | 2016-04-25 16:30:54,569:ncclient.operations.rpc:Requesting 'CloseSession' 34 | 2016-04-25 16:33:44,037:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2222 35 | 2016-04-25 16:33:44,087:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 36 | 2016-04-25 16:33:44,186:ncclient.transport.ssh:Authentication (publickey) failed. 37 | 2016-04-25 16:33:44,216:ncclient.transport.ssh:Authentication (password) successful! 38 | 2016-04-25 16:33:44,598:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 39 | 2016-04-25 16:33:44,598:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx/vsrx02.set 40 | 2016-04-25 16:33:44,598:CONFIG:127.0.0.1:taking lock 41 | 2016-04-25 16:33:44,602:ncclient.operations.rpc:Requesting 'ExecuteRpc' 42 | 2016-04-25 16:33:44,720:CONFIG:127.0.0.1:loading config 43 | 2016-04-25 16:33:44,723:ncclient.operations.rpc:Requesting 'ExecuteRpc' 44 | 2016-04-25 16:33:44,845:ncclient.operations.rpc:Requesting 'ExecuteRpc' 45 | 2016-04-25 16:33:45,013:CONFIG:127.0.0.1:doing a commit-check, please be patient 46 | 2016-04-25 16:33:45,015:ncclient.operations.rpc:Requesting 'ExecuteRpc' 47 | 2016-04-25 16:33:45,537:CONFIG:127.0.0.1:committing change, please be patient 48 | 2016-04-25 16:33:45,540:ncclient.operations.rpc:Requesting 'ExecuteRpc' 49 | 2016-04-25 16:33:46,978:CONFIG:127.0.0.1:unlocking 50 | 2016-04-25 16:33:46,978:ncclient.operations.rpc:Requesting 'ExecuteRpc' 51 | 2016-04-25 16:33:47,095:CONFIG:127.0.0.1:change completed 52 | 2016-04-25 16:33:47,096:ncclient.operations.rpc:Requesting 'CloseSession' 53 | 2016-04-25 16:37:50,931:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2223 54 | 2016-04-25 16:37:50,969:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 55 | 2016-04-25 16:37:51,140:ncclient.transport.ssh:Authentication (publickey) failed. 56 | 2016-04-25 16:37:51,157:ncclient.transport.ssh:Authentication (password) successful! 57 | 2016-04-25 16:37:51,695:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 58 | 2016-04-25 16:37:51,696:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx/vsrx03.set 59 | 2016-04-25 16:37:51,696:CONFIG:127.0.0.1:taking lock 60 | 2016-04-25 16:37:51,741:ncclient.operations.rpc:Requesting 'ExecuteRpc' 61 | 2016-04-25 16:37:51,830:CONFIG:127.0.0.1:loading config 62 | 2016-04-25 16:37:51,846:ncclient.operations.rpc:Requesting 'ExecuteRpc' 63 | 2016-04-25 16:37:51,979:ncclient.operations.rpc:Requesting 'ExecuteRpc' 64 | 2016-04-25 16:37:52,211:CONFIG:127.0.0.1:doing a commit-check, please be patient 65 | 2016-04-25 16:37:52,224:ncclient.operations.rpc:Requesting 'ExecuteRpc' 66 | 2016-04-25 16:37:52,806:CONFIG:127.0.0.1:committing change, please be patient 67 | 2016-04-25 16:37:52,810:ncclient.operations.rpc:Requesting 'ExecuteRpc' 68 | 2016-04-25 16:37:54,854:CONFIG:127.0.0.1:unlocking 69 | 2016-04-25 16:37:54,855:ncclient.operations.rpc:Requesting 'ExecuteRpc' 70 | 2016-04-25 16:37:54,972:CONFIG:127.0.0.1:change completed 71 | 2016-04-25 16:37:54,973:ncclient.operations.rpc:Requesting 'CloseSession' 72 | 2018-01-22 06:24:39,177:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 73 | 2018-01-22 06:24:39,213:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 74 | 2018-01-22 06:24:39,404:ncclient.transport.ssh:Authentication (publickey) failed. 75 | 2018-01-22 06:24:39,434:ncclient.transport.ssh:Authentication (password) successful! 76 | 2018-01-22 06:24:39,764:ncclient.transport.session:initialized: session-id=2217 | server_capabilities= 77 | 2018-01-22 06:24:39,764:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/3vsrx/vsrx01.set 78 | 2018-01-22 06:24:39,765:CONFIG:127.0.0.1:taking lock 79 | 2018-01-22 06:24:39,765:ncclient.operations.rpc:Requesting 'ExecuteRpc' 80 | 2018-01-22 06:24:39,882:CONFIG:127.0.0.1:loading config 81 | 2018-01-22 06:24:39,884:ncclient.operations.rpc:Requesting 'ExecuteRpc' 82 | 2018-01-22 06:24:40,002:ncclient.operations.rpc:Requesting 'ExecuteRpc' 83 | 2018-01-22 06:24:40,221:CONFIG:127.0.0.1:doing a commit-check, please be patient 84 | 2018-01-22 06:24:40,221:ncclient.operations.rpc:Requesting 'ExecuteRpc' 85 | 2018-01-22 06:24:40,694:CONFIG:127.0.0.1:committing change, please be patient 86 | 2018-01-22 06:24:40,694:ncclient.operations.rpc:Requesting 'ExecuteRpc' 87 | 2018-01-22 06:24:42,020:CONFIG:127.0.0.1:unlocking 88 | 2018-01-22 06:24:42,020:ncclient.operations.rpc:Requesting 'ExecuteRpc' 89 | 2018-01-22 06:24:42,139:CONFIG:127.0.0.1:change completed 90 | 2018-01-22 06:24:42,140:ncclient.operations.rpc:Requesting 'CloseSession' 91 | 2018-01-22 06:27:34,445:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2222 92 | 2018-01-22 06:27:34,479:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 93 | 2018-01-22 06:27:34,668:ncclient.transport.ssh:Authentication (publickey) failed. 94 | 2018-01-22 06:27:34,698:ncclient.transport.ssh:Authentication (password) successful! 95 | 2018-01-22 06:27:35,021:ncclient.transport.session:initialized: session-id=2217 | server_capabilities= 96 | 2018-01-22 06:27:35,021:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/3vsrx/vsrx02.set 97 | 2018-01-22 06:27:35,021:CONFIG:127.0.0.1:taking lock 98 | 2018-01-22 06:27:35,022:ncclient.operations.rpc:Requesting 'ExecuteRpc' 99 | 2018-01-22 06:27:35,138:CONFIG:127.0.0.1:loading config 100 | 2018-01-22 06:27:35,141:ncclient.operations.rpc:Requesting 'ExecuteRpc' 101 | 2018-01-22 06:27:35,259:ncclient.operations.rpc:Requesting 'ExecuteRpc' 102 | 2018-01-22 06:27:35,478:CONFIG:127.0.0.1:doing a commit-check, please be patient 103 | 2018-01-22 06:27:35,479:ncclient.operations.rpc:Requesting 'ExecuteRpc' 104 | 2018-01-22 06:27:35,949:CONFIG:127.0.0.1:committing change, please be patient 105 | 2018-01-22 06:27:35,949:ncclient.operations.rpc:Requesting 'ExecuteRpc' 106 | 2018-01-22 06:27:37,279:CONFIG:127.0.0.1:unlocking 107 | 2018-01-22 06:27:37,280:ncclient.operations.rpc:Requesting 'ExecuteRpc' 108 | 2018-01-22 06:27:37,399:CONFIG:127.0.0.1:change completed 109 | 2018-01-22 06:27:37,399:ncclient.operations.rpc:Requesting 'CloseSession' 110 | 2018-01-22 06:31:29,969:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2223 111 | 2018-01-22 06:31:29,988:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 112 | 2018-01-22 06:31:30,167:ncclient.transport.ssh:Authentication (publickey) failed. 113 | 2018-01-22 06:31:30,179:ncclient.transport.ssh:Authentication (password) successful! 114 | 2018-01-22 06:31:30,666:ncclient.transport.session:initialized: session-id=2220 | server_capabilities= 115 | 2018-01-22 06:31:30,666:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/3vsrx/vsrx03.set 116 | 2018-01-22 06:31:30,667:CONFIG:127.0.0.1:taking lock 117 | 2018-01-22 06:31:30,667:ncclient.operations.rpc:Requesting 'ExecuteRpc' 118 | 2018-01-22 06:31:30,785:CONFIG:127.0.0.1:loading config 119 | 2018-01-22 06:31:30,786:ncclient.operations.rpc:Requesting 'ExecuteRpc' 120 | 2018-01-22 06:31:30,902:ncclient.operations.rpc:Requesting 'ExecuteRpc' 121 | 2018-01-22 06:31:31,119:CONFIG:127.0.0.1:doing a commit-check, please be patient 122 | 2018-01-22 06:31:31,119:ncclient.operations.rpc:Requesting 'ExecuteRpc' 123 | 2018-01-22 06:31:31,590:CONFIG:127.0.0.1:committing change, please be patient 124 | 2018-01-22 06:31:31,590:ncclient.operations.rpc:Requesting 'ExecuteRpc' 125 | 2018-01-22 06:31:33,008:CONFIG:127.0.0.1:unlocking 126 | 2018-01-22 06:31:33,009:ncclient.operations.rpc:Requesting 'ExecuteRpc' 127 | 2018-01-22 06:31:33,161:CONFIG:127.0.0.1:change completed 128 | 2018-01-22 06:31:33,161:ncclient.operations.rpc:Requesting 'CloseSession' 129 | -------------------------------------------------------------------------------- /vqfx/changes.log: -------------------------------------------------------------------------------- 1 | 2017-09-06 02:33:19,608:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2231 2 | 2017-09-06 02:33:19,629:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6.1) 3 | 2017-09-06 02:33:19,820:ncclient.transport.ssh:Authentication (publickey) failed. 4 | 2017-09-06 02:33:19,850:ncclient.transport.ssh:Authentication (password) successful! 5 | 2017-09-06 02:33:20,029:ncclient.transport.session:initialized: session-id=1692 | server_capabilities= 6 | 2017-09-06 02:33:20,030:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/vqfx/junos_config.set 7 | 2017-09-06 02:33:20,030:CONFIG:127.0.0.1:taking lock 8 | 2017-09-06 02:33:20,030:ncclient.operations.rpc:Requesting 'ExecuteRpc' 9 | 2017-09-06 02:33:20,148:CONFIG:127.0.0.1:loading config 10 | 2017-09-06 02:33:20,148:ncclient.operations.rpc:Requesting 'ExecuteRpc' 11 | 2017-09-06 02:33:20,265:ncclient.operations.rpc:Requesting 'ExecuteRpc' 12 | 2017-09-06 02:33:20,545:CONFIG:127.0.0.1:doing a commit-check, please be patient 13 | 2017-09-06 02:33:20,546:ncclient.operations.rpc:Requesting 'ExecuteRpc' 14 | 2017-09-06 02:33:21,263:CONFIG:127.0.0.1:committing change, please be patient 15 | 2017-09-06 02:33:21,264:ncclient.operations.rpc:Requesting 'ExecuteRpc' 16 | 2017-09-06 02:33:22,491:CONFIG:127.0.0.1:unlocking 17 | 2017-09-06 02:33:22,491:ncclient.operations.rpc:Requesting 'ExecuteRpc' 18 | 2017-09-06 02:33:22,607:CONFIG:127.0.0.1:change completed 19 | 2017-09-06 02:33:22,607:ncclient.operations.rpc:Requesting 'CloseSession' 20 | 2017-09-06 03:13:26,877:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2231 21 | 2017-09-06 03:13:26,894:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6.1) 22 | 2017-09-06 03:13:27,127:ncclient.transport.ssh:Authentication (publickey) failed. 23 | 2017-09-06 03:13:27,197:ncclient.transport.ssh:Authentication (password) successful! 24 | 2017-09-06 03:13:27,433:ncclient.transport.session:initialized: session-id=1690 | server_capabilities= 25 | 2017-09-06 03:13:27,433:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/vqfx/junos_config.set 26 | 2017-09-06 03:13:27,433:CONFIG:127.0.0.1:taking lock 27 | 2017-09-06 03:13:27,434:ncclient.operations.rpc:Requesting 'ExecuteRpc' 28 | 2017-09-06 03:13:27,552:CONFIG:127.0.0.1:loading config 29 | 2017-09-06 03:13:27,553:ncclient.operations.rpc:Requesting 'ExecuteRpc' 30 | 2017-09-06 03:13:27,669:ncclient.operations.rpc:Requesting 'ExecuteRpc' 31 | 2017-09-06 03:13:27,938:CONFIG:127.0.0.1:doing a commit-check, please be patient 32 | 2017-09-06 03:13:27,938:ncclient.operations.rpc:Requesting 'ExecuteRpc' 33 | 2017-09-06 03:13:28,657:CONFIG:127.0.0.1:committing change, please be patient 34 | 2017-09-06 03:13:28,657:ncclient.operations.rpc:Requesting 'ExecuteRpc' 35 | 2017-09-06 03:13:30,229:CONFIG:127.0.0.1:unlocking 36 | 2017-09-06 03:13:30,229:ncclient.operations.rpc:Requesting 'ExecuteRpc' 37 | 2017-09-06 03:13:30,345:CONFIG:127.0.0.1:change completed 38 | 2017-09-06 03:13:30,346:ncclient.operations.rpc:Requesting 'CloseSession' 39 | 2017-09-12 02:25:00,541:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2231 40 | 2017-09-12 02:25:00,556:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6.1) 41 | 2017-09-12 02:25:00,812:ncclient.transport.ssh:Authentication (publickey) failed. 42 | 2017-09-12 02:25:00,866:ncclient.transport.ssh:Authentication (password) successful! 43 | 2017-09-12 02:25:01,159:ncclient.transport.session:initialized: session-id=1688 | server_capabilities= 44 | 2017-09-12 02:25:01,159:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/vqfx/junos_config.set 45 | 2017-09-12 02:25:01,159:CONFIG:127.0.0.1:taking lock 46 | 2017-09-12 02:25:01,160:ncclient.operations.rpc:Requesting 'ExecuteRpc' 47 | 2017-09-12 02:25:01,285:CONFIG:127.0.0.1:loading config 48 | 2017-09-12 02:25:01,286:ncclient.operations.rpc:Requesting 'ExecuteRpc' 49 | 2017-09-12 02:25:01,412:ncclient.operations.rpc:Requesting 'ExecuteRpc' 50 | 2017-09-12 02:25:01,790:CONFIG:127.0.0.1:doing a commit-check, please be patient 51 | 2017-09-12 02:25:01,791:ncclient.operations.rpc:Requesting 'ExecuteRpc' 52 | 2017-09-12 02:25:02,754:CONFIG:127.0.0.1:committing change, please be patient 53 | 2017-09-12 02:25:02,754:ncclient.operations.rpc:Requesting 'ExecuteRpc' 54 | 2017-09-12 02:25:05,020:CONFIG:127.0.0.1:unlocking 55 | 2017-09-12 02:25:05,021:ncclient.operations.rpc:Requesting 'ExecuteRpc' 56 | 2017-09-12 02:25:05,144:CONFIG:127.0.0.1:change completed 57 | 2017-09-12 02:25:05,144:ncclient.operations.rpc:Requesting 'CloseSession' 58 | 2017-11-02 01:55:33,477:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2231 59 | 2017-11-02 01:55:33,491:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6.1) 60 | 2017-11-02 01:55:33,640:ncclient.transport.ssh:Authentication (publickey) failed. 61 | 2017-11-02 01:55:33,675:ncclient.transport.ssh:Authentication (password) successful! 62 | 2017-11-02 01:55:33,815:ncclient.transport.session:initialized: session-id=1696 | server_capabilities= 63 | 2017-11-02 01:55:33,815:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/vqfx/junos_config.set 64 | 2017-11-02 01:55:33,816:CONFIG:127.0.0.1:taking lock 65 | 2017-11-02 01:55:33,816:ncclient.operations.rpc:Requesting 'ExecuteRpc' 66 | 2017-11-02 01:55:33,988:CONFIG:127.0.0.1:loading config 67 | 2017-11-02 01:55:33,989:ncclient.operations.rpc:Requesting 'ExecuteRpc' 68 | 2017-11-02 01:55:34,056:ncclient.operations.rpc:Requesting 'ExecuteRpc' 69 | 2017-11-02 01:55:34,323:CONFIG:127.0.0.1:doing a commit-check, please be patient 70 | 2017-11-02 01:55:34,323:ncclient.operations.rpc:Requesting 'ExecuteRpc' 71 | 2017-11-02 01:55:34,992:CONFIG:127.0.0.1:committing change, please be patient 72 | 2017-11-02 01:55:34,992:ncclient.operations.rpc:Requesting 'ExecuteRpc' 73 | 2017-11-02 01:55:36,264:CONFIG:127.0.0.1:unlocking 74 | 2017-11-02 01:55:36,264:ncclient.operations.rpc:Requesting 'ExecuteRpc' 75 | 2017-11-02 01:55:36,381:CONFIG:127.0.0.1:change completed 76 | 2017-11-02 01:55:36,381:ncclient.operations.rpc:Requesting 'CloseSession' 77 | 2017-11-02 02:32:38,574:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2231 78 | 2017-11-02 02:32:38,588:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6.1) 79 | 2017-11-02 02:32:38,713:ncclient.transport.ssh:Authentication (publickey) failed. 80 | 2017-11-02 02:32:38,754:ncclient.transport.ssh:Authentication (password) successful! 81 | 2017-11-02 02:32:38,936:ncclient.transport.session:initialized: session-id=1692 | server_capabilities= 82 | 2017-11-02 02:32:38,937:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/vqfx/junos_config.set 83 | 2017-11-02 02:32:38,937:CONFIG:127.0.0.1:taking lock 84 | 2017-11-02 02:32:38,938:ncclient.operations.rpc:Requesting 'ExecuteRpc' 85 | 2017-11-02 02:32:39,007:CONFIG:127.0.0.1:loading config 86 | 2017-11-02 02:32:39,008:ncclient.operations.rpc:Requesting 'ExecuteRpc' 87 | 2017-11-02 02:32:39,126:ncclient.operations.rpc:Requesting 'ExecuteRpc' 88 | 2017-11-02 02:32:39,343:CONFIG:127.0.0.1:doing a commit-check, please be patient 89 | 2017-11-02 02:32:39,343:ncclient.operations.rpc:Requesting 'ExecuteRpc' 90 | 2017-11-02 02:32:39,911:CONFIG:127.0.0.1:committing change, please be patient 91 | 2017-11-02 02:32:39,911:ncclient.operations.rpc:Requesting 'ExecuteRpc' 92 | 2017-11-02 02:32:40,880:CONFIG:127.0.0.1:unlocking 93 | 2017-11-02 02:32:40,880:ncclient.operations.rpc:Requesting 'ExecuteRpc' 94 | 2017-11-02 02:32:40,997:CONFIG:127.0.0.1:change completed 95 | 2017-11-02 02:32:40,997:ncclient.operations.rpc:Requesting 'CloseSession' 96 | 2017-11-14 01:58:23,136:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2231 97 | 2017-11-14 01:58:23,153:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6.1) 98 | 2017-11-14 01:58:23,348:ncclient.transport.ssh:Authentication (publickey) failed. 99 | 2017-11-14 01:58:23,384:ncclient.transport.ssh:Authentication (password) successful! 100 | 2017-11-14 01:58:23,706:ncclient.transport.session:initialized: session-id=1696 | server_capabilities= 101 | 2017-11-14 01:58:23,706:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/vqfx/junos_config.set 102 | 2017-11-14 01:58:23,707:CONFIG:127.0.0.1:taking lock 103 | 2017-11-14 01:58:23,707:ncclient.operations.rpc:Requesting 'ExecuteRpc' 104 | 2017-11-14 01:58:23,826:CONFIG:127.0.0.1:loading config 105 | 2017-11-14 01:58:23,827:ncclient.operations.rpc:Requesting 'ExecuteRpc' 106 | 2017-11-14 01:58:23,893:ncclient.operations.rpc:Requesting 'ExecuteRpc' 107 | 2017-11-14 01:58:24,161:CONFIG:127.0.0.1:doing a commit-check, please be patient 108 | 2017-11-14 01:58:24,161:ncclient.operations.rpc:Requesting 'ExecuteRpc' 109 | 2017-11-14 01:58:24,780:CONFIG:127.0.0.1:committing change, please be patient 110 | 2017-11-14 01:58:24,780:ncclient.operations.rpc:Requesting 'ExecuteRpc' 111 | 2017-11-14 01:58:25,951:CONFIG:127.0.0.1:unlocking 112 | 2017-11-14 01:58:25,952:ncclient.operations.rpc:Requesting 'ExecuteRpc' 113 | 2017-11-14 01:58:26,067:CONFIG:127.0.0.1:change completed 114 | 2017-11-14 01:58:26,067:ncclient.operations.rpc:Requesting 'CloseSession' 115 | 2017-11-14 05:05:23,684:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2231 116 | 2017-11-14 05:05:23,697:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6.1) 117 | 2017-11-14 05:05:23,822:ncclient.transport.ssh:Authentication (publickey) failed. 118 | 2017-11-14 05:05:23,829:ncclient.transport.ssh:Authentication (password) successful! 119 | 2017-11-14 05:05:23,956:ncclient.transport.session:initialized: session-id=1696 | server_capabilities= 120 | 2017-11-14 05:05:23,956:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/vqfx/junos_config.set 121 | 2017-11-14 05:05:23,956:CONFIG:127.0.0.1:taking lock 122 | 2017-11-14 05:05:23,957:ncclient.operations.rpc:Requesting 'ExecuteRpc' 123 | 2017-11-14 05:05:24,075:CONFIG:127.0.0.1:loading config 124 | 2017-11-14 05:05:24,076:ncclient.operations.rpc:Requesting 'ExecuteRpc' 125 | 2017-11-14 05:05:24,194:ncclient.operations.rpc:Requesting 'ExecuteRpc' 126 | 2017-11-14 05:05:24,411:CONFIG:127.0.0.1:doing a commit-check, please be patient 127 | 2017-11-14 05:05:24,412:ncclient.operations.rpc:Requesting 'ExecuteRpc' 128 | 2017-11-14 05:05:24,930:CONFIG:127.0.0.1:committing change, please be patient 129 | 2017-11-14 05:05:24,930:ncclient.operations.rpc:Requesting 'ExecuteRpc' 130 | 2017-11-14 05:05:25,951:CONFIG:127.0.0.1:unlocking 131 | 2017-11-14 05:05:25,952:ncclient.operations.rpc:Requesting 'ExecuteRpc' 132 | 2017-11-14 05:05:26,019:CONFIG:127.0.0.1:change completed 133 | 2017-11-14 05:05:26,019:ncclient.operations.rpc:Requesting 'CloseSession' 134 | 2017-12-08 08:54:42,283:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2231 135 | 2017-12-08 08:54:42,295:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6.1) 136 | 2017-12-08 08:54:42,439:ncclient.transport.ssh:Authentication (publickey) failed. 137 | 2017-12-08 08:54:42,477:ncclient.transport.ssh:Authentication (password) successful! 138 | 2017-12-08 08:54:42,660:ncclient.transport.session:initialized: session-id=1691 | server_capabilities= 139 | 2017-12-08 08:54:42,661:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/vqfx/junos_config.set 140 | 2017-12-08 08:54:42,661:CONFIG:127.0.0.1:taking lock 141 | 2017-12-08 08:54:42,661:ncclient.operations.rpc:Requesting 'ExecuteRpc' 142 | 2017-12-08 08:54:42,732:CONFIG:127.0.0.1:loading config 143 | 2017-12-08 08:54:42,733:ncclient.operations.rpc:Requesting 'ExecuteRpc' 144 | 2017-12-08 08:54:42,850:ncclient.operations.rpc:Requesting 'ExecuteRpc' 145 | 2017-12-08 08:54:43,116:CONFIG:127.0.0.1:doing a commit-check, please be patient 146 | 2017-12-08 08:54:43,117:ncclient.operations.rpc:Requesting 'ExecuteRpc' 147 | 2017-12-08 08:54:43,685:CONFIG:127.0.0.1:committing change, please be patient 148 | 2017-12-08 08:54:43,685:ncclient.operations.rpc:Requesting 'ExecuteRpc' 149 | 2017-12-08 08:54:44,756:CONFIG:127.0.0.1:unlocking 150 | 2017-12-08 08:54:44,757:ncclient.operations.rpc:Requesting 'ExecuteRpc' 151 | 2017-12-08 08:54:44,874:CONFIG:127.0.0.1:change completed 152 | 2017-12-08 08:54:44,874:ncclient.operations.rpc:Requesting 'CloseSession' 153 | 2018-01-22 06:14:50,541:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2231 154 | 2018-01-22 06:14:50,552:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6.1) 155 | 2018-01-22 06:14:50,707:ncclient.transport.ssh:Authentication (publickey) failed. 156 | 2018-01-22 06:14:50,737:ncclient.transport.ssh:Authentication (password) successful! 157 | 2018-01-22 06:14:50,880:ncclient.transport.session:initialized: session-id=1691 | server_capabilities= 158 | 2018-01-22 06:14:50,880:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant-with-junos/vqfx/junos_config.set 159 | 2018-01-22 06:14:50,880:CONFIG:127.0.0.1:taking lock 160 | 2018-01-22 06:14:50,881:ncclient.operations.rpc:Requesting 'ExecuteRpc' 161 | 2018-01-22 06:14:51,047:CONFIG:127.0.0.1:loading config 162 | 2018-01-22 06:14:51,047:ncclient.operations.rpc:Requesting 'ExecuteRpc' 163 | 2018-01-22 06:14:51,113:ncclient.operations.rpc:Requesting 'ExecuteRpc' 164 | 2018-01-22 06:14:51,380:CONFIG:127.0.0.1:doing a commit-check, please be patient 165 | 2018-01-22 06:14:51,380:ncclient.operations.rpc:Requesting 'ExecuteRpc' 166 | 2018-01-22 06:14:51,898:CONFIG:127.0.0.1:committing change, please be patient 167 | 2018-01-22 06:14:51,898:ncclient.operations.rpc:Requesting 'ExecuteRpc' 168 | 2018-01-22 06:14:53,072:CONFIG:127.0.0.1:unlocking 169 | 2018-01-22 06:14:53,073:ncclient.operations.rpc:Requesting 'ExecuteRpc' 170 | 2018-01-22 06:14:53,189:CONFIG:127.0.0.1:change completed 171 | 2018-01-22 06:14:53,189:ncclient.operations.rpc:Requesting 'CloseSession' 172 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ### About vagrant for junos: 2 | 3 | https://ittechnologist.wordpress.com/2015/09/09/use-vagrant-with-juniper-junos-vms-on-windows/ 4 | https://keepingitclassless.net/2015/03/go-go-gadget-networking-lab/ 5 | https://www.dravetech.com/blog/2016/01/08/vagrant-for-network-engineers.html 6 | https://github.com/Juniper/vqfx10k-vagrant 7 | 8 | ### Junos vagrant boxes: 9 | 10 | - vsrx: 11 | https://atlas.hashicorp.com/boxes/search?utf8=%E2%9C%93&sort=&provider=&q=juniper 12 | 13 | - vqfx: 14 | http://www.juniper.net/us/en/dm/free-vqfx-trial/ 15 | https://atlas.hashicorp.com/juniper/boxes/vqfx10k-re/ 16 | https://atlas.hashicorp.com/juniper/boxes/vqfx10k-pfe/ 17 | 18 | 19 | ### Vagrant presentation: 20 | 21 | https://github.com/ksator/junos-orchestration-with-vagrant/blob/master/Vagrant.pdf 22 | 23 | 24 | 25 | ### What to find in this repository: 26 | 27 | There are several ready-to-use examples into this repository. There are several directories, each one has its own Vagranfile: 28 | 29 | - The directory **3_vsrx_vagrant_non_provisionning**: 30 | - it has vagrant details for 3 vsrx (ffp) connected together in a triangle topology. 31 | - it uses a Virtualbox provider. 32 | 33 | - The directory **3vsrx**: 34 | - it has vagrant details for a 3 vsrx (ffp) connected together in a triangle topology. 35 | - it uses a vagrant provisionner (ansible, with basic ansible content). 36 | - it uses a Virtualbox provider. 37 | 38 | - The directory **3vsrx-v2**: 39 | - it has vagrant details for a 3 vsrx (ffp) connected together in a triangle topology. 40 | - it use a Virtualbox provider. 41 | - it uses a vagrant provisionner (ansible). This one is more advanced and interesting: ansible uses a jinja2 template to build bgp 42 | details for each device and then push the rendered configuration on the devices. 43 | - it has also some automation content (python and ansible) you can use against the topology. 44 | 45 | - The directory **ubuntu_junos**: 46 | - it has vagrant details for a vsrx (ffp) and an ubuntu box (14.04). 47 | - it uses a Virtualbox provider. 48 | - the server is provisonned (pyez, ansible, and some automation content as well). So you can use the ubuntu vagrant box to test some 49 | automation content against a junos vagrant box. So no need to install programs (ansible pyez ...) on your laptop. 50 | 51 | - The directory **vqfx**: 52 | - it has vagrant details for one vqfx10k. 53 | - it uses a Virtualbox provider. 54 | - it uses a vagrant provisionner (ansible, with basic ansible content). 55 | 56 | - The directory **vqfxfull**: 57 | - It's vagrantfile is using a vqfx10k-re and a vqfx10k-pfe 58 | - it uses a Virtualbox provider 59 | - it doesnt use a provisionner 60 | 61 | 62 | ### Network topology: 63 | 64 | The topology for all examples: https://github.com/ksator/junos-orchestration-with-vagrant/blob/master/topology.pdf 65 | 66 | ### How to use this repository: 67 | 68 | - Deal with the requirements: 69 | - install vagrant 70 | - install virtual box 71 | - install vagrant plugin for junos (https://github.com/JNPRAutomate/vagrant-junos) 72 | - some of these examples require Ansible to automatically provision the Vagrant boxes. 73 | 74 | 75 | ``` 76 | $ vagrant --version 77 | Vagrant 2.0.1 78 | ``` 79 | ``` 80 | $ vagrant plugin list 81 | vagrant-host (0.0.1) 82 | vagrant-host-shell (0.0.4) 83 | vagrant-junos (0.2.1) 84 | vagrant-share (1.1.9, system) 85 | ``` 86 | 87 | - Clone the repository: 88 | 89 | ``` 90 | git clone https://github.com/ksator/junos-orchestration-with-vagrant.git 91 | ``` 92 | - Move to the local copy: 93 | 94 | ``` 95 | cd junos-orchestration-with-vagrant 96 | ``` 97 | - Move to the directory you want to use, and then run the command "vagrant up" to create the topology: 98 | 99 | ``` 100 | cd xxxx 101 | vagrant up 102 | ``` 103 | 104 | ### Demo: 105 | 106 | #### example with the directory 3vsrx-v2: 107 | 108 | You first need to install Vagrant, Virtual box, and the required Vagrant plugins. 109 | 110 | ##### Clone the repo, and move to the directory 3vsrx-v2: 111 | 112 | ``` 113 | ksator@ubuntu:~$ git clone https://github.com/ksator/junos-orchestration-with-vagrant.git 114 | ksator@ubuntu:~$ cd junos-orchestration-with-vagrant/ 115 | ksator@ubuntu:~/junos-orchestration-with-vagrant$ cd 3vsrx-v2 116 | ``` 117 | ##### Check the installed plugins: 118 | ``` 119 | ksator@ubuntu:~/junos-orchestration-with-vagrant/3vsrx-v2$ vagrant plugin list 120 | vagrant-host (0.0.1) 121 | vagrant-host-shell (0.0.4) 122 | vagrant-junos (0.2.1) 123 | vagrant-share (1.1.5, system) 124 | ``` 125 | ##### Deploy the topology described into the Vagrantfile: 126 | ``` 127 | ksator@ubuntu:~/junos-orchestration-with-vagrant/3vsrx-v2$ vagrant up 128 | Bringing machine 'vsrx01' up with 'virtualbox' provider... 129 | Bringing machine 'vsrx02' up with 'virtualbox' provider... 130 | Bringing machine 'vsrx03' up with 'virtualbox' provider... 131 | ==> vsrx01: Importing base box 'juniper/ffp-12.1X47-D15.4-packetmode'... 132 | ==> vsrx01: Matching MAC address for NAT networking... 133 | ==> vsrx01: Checking if box 'juniper/ffp-12.1X47-D15.4-packetmode' is up to date... 134 | ==> vsrx01: Setting the name of the VM: 3vsrx-v2_vsrx01_1488993393736_67595 135 | ==> vsrx01: Clearing any previously set network interfaces... 136 | ==> vsrx01: Preparing network interfaces based on configuration... 137 | vsrx01: Adapter 1: nat 138 | vsrx01: Adapter 2: intnet 139 | vsrx01: Adapter 3: intnet 140 | ==> vsrx01: Forwarding ports... 141 | vsrx01: 22 (guest) => 2221 (host) (adapter 1) 142 | ==> vsrx01: Running 'pre-boot' VM customizations... 143 | ==> vsrx01: Booting VM... 144 | ==> vsrx01: Waiting for machine to boot. This may take a few minutes... 145 | vsrx01: SSH address: 127.0.0.1:2221 146 | vsrx01: SSH username: root 147 | vsrx01: SSH auth method: private key 148 | vsrx01: 149 | vsrx01: Vagrant insecure key detected. Vagrant will automatically replace 150 | vsrx01: this with a newly generated keypair for better security. 151 | vsrx01: 152 | vsrx01: Inserting generated public key within guest... 153 | vsrx01: Removing insecure key from the guest if it's present... 154 | vsrx01: Key inserted! Disconnecting and reconnecting using new SSH key... 155 | ==> vsrx01: Machine booted and ready! 156 | ==> vsrx01: Checking for guest additions in VM... 157 | vsrx01: No guest additions were detected on the base box for this VM! Guest 158 | vsrx01: additions are required for forwarded ports, shared folders, host only 159 | vsrx01: networking, and more. If SSH fails on this machine, please install 160 | vsrx01: the guest additions and repackage the box to continue. 161 | vsrx01: 162 | vsrx01: This is not an error message; everything may continue to work properly, 163 | vsrx01: in which case you may ignore this message. 164 | ==> vsrx01: Setting hostname... 165 | ==> vsrx01: Configuring and enabling network interfaces... 166 | ==> vsrx01: Running provisioner: ansible... 167 | vsrx01: Running ansible-playbook... 168 | 169 | PLAY [Build and deploy configuration] ****************************************** 170 | 171 | TASK [Build configuration] ***************************************************** 172 | changed: [vsrx01] 173 | 174 | TASK [Deploy config to device ... please wait] ********************************* 175 | changed: [vsrx01] 176 | 177 | PLAY RECAP ********************************************************************* 178 | vsrx01 : ok=2 changed=2 unreachable=0 failed=0 179 | 180 | ==> vsrx02: Importing base box 'juniper/ffp-12.1X47-D15.4-packetmode'... 181 | ==> vsrx02: Matching MAC address for NAT networking... 182 | ==> vsrx02: Checking if box 'juniper/ffp-12.1X47-D15.4-packetmode' is up to date... 183 | ==> vsrx02: Setting the name of the VM: 3vsrx-v2_vsrx02_1488993554448_49074 184 | ==> vsrx02: Clearing any previously set network interfaces... 185 | ==> vsrx02: Preparing network interfaces based on configuration... 186 | vsrx02: Adapter 1: nat 187 | vsrx02: Adapter 2: intnet 188 | vsrx02: Adapter 3: intnet 189 | ==> vsrx02: Forwarding ports... 190 | vsrx02: 22 (guest) => 2222 (host) (adapter 1) 191 | ==> vsrx02: Running 'pre-boot' VM customizations... 192 | ==> vsrx02: Booting VM... 193 | ==> vsrx02: Waiting for machine to boot. This may take a few minutes... 194 | vsrx02: SSH address: 127.0.0.1:2222 195 | vsrx02: SSH username: root 196 | vsrx02: SSH auth method: private key 197 | vsrx02: 198 | vsrx02: Vagrant insecure key detected. Vagrant will automatically replace 199 | vsrx02: this with a newly generated keypair for better security. 200 | vsrx02: 201 | vsrx02: Inserting generated public key within guest... 202 | vsrx02: Removing insecure key from the guest if it's present... 203 | vsrx02: Key inserted! Disconnecting and reconnecting using new SSH key... 204 | ==> vsrx02: Machine booted and ready! 205 | ==> vsrx02: Checking for guest additions in VM... 206 | vsrx02: No guest additions were detected on the base box for this VM! Guest 207 | vsrx02: additions are required for forwarded ports, shared folders, host only 208 | vsrx02: networking, and more. If SSH fails on this machine, please install 209 | vsrx02: the guest additions and repackage the box to continue. 210 | vsrx02: 211 | vsrx02: This is not an error message; everything may continue to work properly, 212 | vsrx02: in which case you may ignore this message. 213 | ==> vsrx02: Setting hostname... 214 | ==> vsrx02: Configuring and enabling network interfaces... 215 | ==> vsrx02: Running provisioner: ansible... 216 | vsrx02: Running ansible-playbook... 217 | 218 | PLAY [Build and deploy configuration] ****************************************** 219 | 220 | TASK [Build configuration] ***************************************************** 221 | changed: [vsrx02] 222 | 223 | TASK [Deploy config to device ... please wait] ********************************* 224 | changed: [vsrx02] 225 | 226 | PLAY RECAP ********************************************************************* 227 | vsrx02 : ok=2 changed=2 unreachable=0 failed=0 228 | 229 | ==> vsrx03: Importing base box 'juniper/ffp-12.1X47-D15.4-packetmode'... 230 | ==> vsrx03: Matching MAC address for NAT networking... 231 | ==> vsrx03: Checking if box 'juniper/ffp-12.1X47-D15.4-packetmode' is up to date... 232 | ==> vsrx03: Setting the name of the VM: 3vsrx-v2_vsrx03_1488993722018_10236 233 | ==> vsrx03: Clearing any previously set network interfaces... 234 | ==> vsrx03: Preparing network interfaces based on configuration... 235 | vsrx03: Adapter 1: nat 236 | vsrx03: Adapter 2: intnet 237 | vsrx03: Adapter 3: intnet 238 | ==> vsrx03: Forwarding ports... 239 | vsrx03: 22 (guest) => 2223 (host) (adapter 1) 240 | ==> vsrx03: Running 'pre-boot' VM customizations... 241 | ==> vsrx03: Booting VM... 242 | ==> vsrx03: Waiting for machine to boot. This may take a few minutes... 243 | vsrx03: SSH address: 127.0.0.1:2223 244 | vsrx03: SSH username: root 245 | vsrx03: SSH auth method: private key 246 | vsrx03: 247 | vsrx03: Vagrant insecure key detected. Vagrant will automatically replace 248 | vsrx03: this with a newly generated keypair for better security. 249 | vsrx03: 250 | vsrx03: Inserting generated public key within guest... 251 | vsrx03: Removing insecure key from the guest if it's present... 252 | vsrx03: Key inserted! Disconnecting and reconnecting using new SSH key... 253 | ==> vsrx03: Machine booted and ready! 254 | ==> vsrx03: Checking for guest additions in VM... 255 | vsrx03: No guest additions were detected on the base box for this VM! Guest 256 | vsrx03: additions are required for forwarded ports, shared folders, host only 257 | vsrx03: networking, and more. If SSH fails on this machine, please install 258 | vsrx03: the guest additions and repackage the box to continue. 259 | vsrx03: 260 | vsrx03: This is not an error message; everything may continue to work properly, 261 | vsrx03: in which case you may ignore this message. 262 | ==> vsrx03: Setting hostname... 263 | ==> vsrx03: Configuring and enabling network interfaces... 264 | ==> vsrx03: Running provisioner: ansible... 265 | vsrx03: Running ansible-playbook... 266 | 267 | PLAY [Build and deploy configuration] ****************************************** 268 | 269 | TASK [Build configuration] ***************************************************** 270 | changed: [vsrx03] 271 | 272 | TASK [Deploy config to device ... please wait] ********************************* 273 | changed: [vsrx03] 274 | 275 | PLAY RECAP ********************************************************************* 276 | vsrx03 : ok=2 changed=2 unreachable=0 failed=0 277 | 278 | ``` 279 | 280 | ##### Check the states of the virtual machines 281 | ``` 282 | ksator@ubuntu:~/junos-orchestration-with-vagrant/3vsrx-v2$ vagrant status 283 | Current machine states: 284 | 285 | vsrx01 running (virtualbox) 286 | vsrx02 running (virtualbox) 287 | vsrx03 running (virtualbox) 288 | 289 | This environment represents multiple VMs. The VMs are all listed 290 | above with their current state. For more information about a specific 291 | VM, run `vagrant status NAME`. 292 | ``` 293 | ##### Check the junos configuration files created by the Ansible (the jinja2 template is rendered by ansible): 294 | ``` 295 | ksator@ubuntu:~/junos-orchestration-with-vagrant/3vsrx-v2$ more /tmp/vsrx01.conf 296 | system { 297 | host-name vsrx01; 298 | services { 299 | ssh { 300 | root-login allow; 301 | } 302 | netconf { 303 | ssh; 304 | } 305 | } 306 | } 307 | interfaces { 308 | ge-0/0/1 { 309 | unit 0 { 310 | description "to vsrx02"; 311 | family inet { 312 | address 192.168.0.0/31; 313 | } 314 | } 315 | } 316 | ge-0/0/2 { 317 | unit 0 { 318 | description "to vsrx03"; 319 | family inet { 320 | address 192.168.0.2/31; 321 | } 322 | } 323 | } 324 | } 325 | protocols { 326 | lldp { 327 | interface all; 328 | } 329 | bgp { 330 | group underlay { 331 | import bgp-in; 332 | export bgp-out; 333 | type external; 334 | local-as 104; 335 | multipath multiple-as; 336 | neighbor 192.168.0.1 { 337 | peer-as 109; 338 | } 339 | neighbor 192.168.0.3 { 340 | peer-as 110; 341 | } 342 | } 343 | } 344 | } 345 | 346 | routing-options { 347 | router-id 10.20.1.1; 348 | forwarding-table { 349 | export bgp-ecmp; 350 | } 351 | } 352 | 353 | policy-options { 354 | policy-statement bgp-ecmp { 355 | then { 356 | load-balance per-packet; 357 | } 358 | } 359 | policy-statement bgp-in { 360 | then accept; 361 | } 362 | policy-statement bgp-out { 363 | then accept; 364 | } 365 | } 366 | ``` 367 | ##### Check the devices configuration (they are provisioned by ansible): 368 | ###### Open a connection to the device 369 | ``` 370 | ksator@ubuntu:~/junos-orchestration-with-vagrant/3vsrx-v2$ vagrant ssh vsrx01 371 | --- JUNOS 12.1X47-D15.4 built 2014-11-12 02:13:59 UTC 372 | root@vsrx01% cli 373 | ``` 374 | ###### Check the device configuration changes 375 | ``` 376 | root@vsrx01> show system commit 377 | 0 2017-03-08 17:19:06 UTC by root via netconf 378 | configured by ansible 379 | ``` 380 | ``` 381 | root@vsrx01> show configuration | compare rollback 1 382 | [edit interfaces ge-0/0/1 unit 0] 383 | + description "to vsrx02"; 384 | [edit interfaces ge-0/0/1 unit 0 family inet] 385 | + address 192.168.0.0/31; 386 | [edit interfaces ge-0/0/2 unit 0] 387 | + description "to vsrx03"; 388 | [edit interfaces ge-0/0/2 unit 0 family inet] 389 | + address 192.168.0.2/31; 390 | [edit] 391 | + routing-options { 392 | + router-id 10.20.1.1; 393 | + forwarding-table { 394 | + export bgp-ecmp; 395 | + } 396 | + } 397 | + protocols { 398 | + bgp { 399 | + group underlay { 400 | + type external; 401 | + import bgp-in; 402 | + export bgp-out; 403 | + local-as 104; 404 | + multipath multiple-as; 405 | + neighbor 192.168.0.1 { 406 | + peer-as 109; 407 | + } 408 | + neighbor 192.168.0.3 { 409 | + peer-as 110; 410 | + } 411 | + } 412 | + } 413 | + lldp { 414 | + interface all; 415 | + } 416 | + } 417 | + policy-options { 418 | + policy-statement bgp-ecmp { 419 | + then { 420 | + load-balance per-packet; 421 | + } 422 | + } 423 | + policy-statement bgp-in { 424 | + then accept; 425 | + } 426 | + policy-statement bgp-out { 427 | + then accept; 428 | + } 429 | + } 430 | ``` 431 | ##### Check the devices op states of the devices: 432 | ###### LLDP 433 | ``` 434 | root@vsrx01> show lldp neighbors 435 | Local Interface Parent Interface Chassis Id Port info System Name 436 | ge-0/0/1.0 - 4c:96:14:10:01:00 to vsrx01 vsrx02 437 | ge-0/0/2.0 - 4c:96:14:10:01:00 to vsrx01 vsrx03 438 | ``` 439 | ###### BGP 440 | ``` 441 | root@vsrx01> show bgp neighbor 442 | Peer: 192.168.0.1+179 AS 109 Local: 192.168.0.0+51314 AS 104 443 | Type: External State: Established Flags: 444 | Last State: OpenConfirm Last Event: RecvKeepAlive 445 | Last Error: Cease 446 | Export: [ bgp-out ] Import: [ bgp-in ] 447 | Options: 448 | Options: 449 | Holdtime: 90 Preference: 170 Local AS: 104 Local System AS: 0 450 | Number of flaps: 2 451 | Last flap event: Stop 452 | Error: 'Cease' Sent: 2 Recv: 0 453 | Peer ID: 10.20.1.2 Local ID: 10.20.1.1 Active Holdtime: 90 454 | Keepalive Interval: 30 Peer index: 0 455 | BFD: disabled, down 456 | Local Interface: ge-0/0/1.0 457 | NLRI for restart configured on peer: inet-unicast 458 | NLRI advertised by peer: inet-unicast 459 | NLRI for this session: inet-unicast 460 | Peer supports Refresh capability (2) 461 | Stale routes from peer are kept for: 300 462 | Peer does not support Restarter functionality 463 | NLRI that restart is negotiated for: inet-unicast 464 | NLRI of received end-of-rib markers: inet-unicast 465 | NLRI of all end-of-rib markers sent: inet-unicast 466 | Peer supports 4 byte AS extension (peer-as 109) 467 | Peer does not support Addpath 468 | Table inet.0 Bit: 10000 469 | RIB State: BGP restart is complete 470 | Send state: in sync 471 | Active prefixes: 1 472 | Received prefixes: 4 473 | Accepted prefixes: 4 474 | Suppressed due to damping: 0 475 | Advertised prefixes: 4 476 | Last traffic (seconds): Received 21 Sent 22 Checked 12 477 | Input messages: Total 24 Updates 6 Refreshes 0 Octets 624 478 | Output messages: Total 31 Updates 8 Refreshes 0 Octets 908 479 | Output Queue[0]: 0 480 | 481 | Peer: 192.168.0.3+55454 AS 110 Local: 192.168.0.2+179 AS 104 482 | Type: External State: Established Flags: 483 | Last State: OpenConfirm Last Event: RecvKeepAlive 484 | Last Error: Cease 485 | Export: [ bgp-out ] Import: [ bgp-in ] 486 | Options: 487 | Options: 488 | Holdtime: 90 Preference: 170 Local AS: 104 Local System AS: 0 489 | Number of flaps: 3 490 | Last flap event: RecvNotify 491 | Error: 'Cease' Sent: 1 Recv: 1 492 | Peer ID: 10.20.1.3 Local ID: 10.20.1.1 Active Holdtime: 90 493 | Keepalive Interval: 30 Peer index: 1 494 | BFD: disabled, down 495 | Local Interface: ge-0/0/2.0 496 | NLRI for restart configured on peer: inet-unicast 497 | NLRI advertised by peer: inet-unicast 498 | NLRI for this session: inet-unicast 499 | Peer supports Refresh capability (2) 500 | Stale routes from peer are kept for: 300 501 | Peer does not support Restarter functionality 502 | NLRI that restart is negotiated for: inet-unicast 503 | NLRI of received end-of-rib markers: inet-unicast 504 | NLRI of all end-of-rib markers sent: inet-unicast 505 | Peer supports 4 byte AS extension (peer-as 110) 506 | Peer does not support Addpath 507 | Table inet.0 Bit: 10000 508 | RIB State: BGP restart is complete 509 | Send state: in sync 510 | Active prefixes: 1 511 | Received prefixes: 4 512 | Accepted prefixes: 4 513 | Suppressed due to damping: 0 514 | Advertised prefixes: 5 515 | Last traffic (seconds): Received 5 Sent 3 Checked 87 516 | Input messages: Total 9 Updates 4 Refreshes 0 Octets 302 517 | Output messages: Total 7 Updates 2 Refreshes 0 Octets 268 518 | Output Queue[0]: 0 519 | ``` 520 | ##### Close the device connection: 521 | ``` 522 | root@vsrx01> exit 523 | 524 | root@vsrx01% exit 525 | logout 526 | Connection to 127.0.0.1 closed. 527 | ``` 528 | ##### execute automation content against the topology: 529 | ###### Python (PyEZ) 530 | ``` 531 | ksator@ubuntu:~/junos-orchestration-with-vagrant/3vsrx-v2$ python programatic_access/python/print_facts_vagrant.py 532 | the device vsrx01 is a FIREFLY-PERIMETER running 12.1X47-D15.4 533 | the device vsrx02 is a FIREFLY-PERIMETER running 12.1X47-D15.4 534 | the device vsrx03 is a FIREFLY-PERIMETER running 12.1X47-D15.4 535 | ``` 536 | ###### Ansible 537 | ``` 538 | ksator@ubuntu:~/junos-orchestration-with-vagrant/3vsrx-v2$ ansible-playbook programatic_access/ansible/get_facts.p.yml -i .vagrant/provisioners/ansible/inventory/vagrant_ansible_inventory 539 | 540 | PLAY [Get Facts] *************************************************************** 541 | 542 | TASK [Retrieve information from devices running Junos] ************************* 543 | ok: [vsrx03] 544 | ok: [vsrx02] 545 | ok: [vsrx01] 546 | 547 | TASK [Print some facts] ******************************************************** 548 | ok: [vsrx01] => { 549 | "msg": "device vsrx01 runs version 12.1X47-D15.4" 550 | } 551 | ok: [vsrx03] => { 552 | "msg": "device vsrx03 runs version 12.1X47-D15.4" 553 | } 554 | ok: [vsrx02] => { 555 | "msg": "device vsrx02 runs version 12.1X47-D15.4" 556 | } 557 | 558 | PLAY RECAP ********************************************************************* 559 | vsrx01 : ok=2 changed=0 unreachable=0 failed=0 560 | vsrx02 : ok=2 changed=0 unreachable=0 failed=0 561 | vsrx03 : ok=2 changed=0 unreachable=0 failed=0 562 | ``` 563 | ##### destroy the VMs: 564 | ``` 565 | ksator@ubuntu:~/junos-orchestration-with-vagrant/3vsrx-v2$ vagrant destroy 566 | vsrx03: Are you sure you want to destroy the 'vsrx03' VM? [y/N] y 567 | ==> vsrx03: Forcing shutdown of VM... 568 | ==> vsrx03: Destroying VM and associated drives... 569 | vsrx02: Are you sure you want to destroy the 'vsrx02' VM? [y/N] y 570 | ==> vsrx02: Forcing shutdown of VM... 571 | ==> vsrx02: Destroying VM and associated drives... 572 | vsrx01: Are you sure you want to destroy the 'vsrx01' VM? [y/N] y 573 | ==> vsrx01: Forcing shutdown of VM... 574 | ==> vsrx01: Destroying VM and associated drives... 575 | 576 | ksator@ubuntu:~/junos-orchestration-with-vagrant/3vsrx-v2$ vagrant status 577 | Current machine states: 578 | 579 | vsrx01 not created (virtualbox) 580 | vsrx02 not created (virtualbox) 581 | vsrx03 not created (virtualbox) 582 | 583 | This environment represents multiple VMs. The VMs are all listed 584 | above with their current state. For more information about a specific 585 | VM, run `vagrant status NAME`. 586 | 587 | ``` 588 | 589 | ##### Get the lists of your vagrat boxes: 590 | ``` 591 | $ vagrant box list 592 | juniper/ffp-12.1X47-D15.4-packetmode (virtualbox, 0.5.0) 593 | juniper/ffp-12.1X47-D20.7-packetmode (virtualbox, 0.5.0) 594 | juniper/vqfx10k-pfe (virtualbox, 0.1.0) 595 | juniper/vqfx10k-re (virtualbox, 0.2.0) 596 | ubuntu/trusty64 (virtualbox, 20180110.0.0) 597 | 598 | ``` 599 | 600 | ### Looking for more Junos automation solutions: 601 | 602 | https://github.com/ksator?tab=repositories 603 | https://gitlab.com/users/ksator/projects 604 | https://gist.github.com/ksator/ 605 | 606 | -------------------------------------------------------------------------------- /3vsrx-v2/changes.log: -------------------------------------------------------------------------------- 1 | 2016-04-25 16:23:31,568:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 2 | 2016-04-25 16:23:31,602:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 3 | 2016-04-25 16:23:31,746:ncclient.transport.ssh:Authentication (publickey) failed. 4 | 2016-04-25 16:23:31,757:ncclient.transport.ssh:Authentication (password) successful! 5 | 2016-04-25 16:23:32,148:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 6 | 2016-04-25 16:23:32,148:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx/vsrx01.conf 7 | 2016-04-25 16:23:32,148:CONFIG:127.0.0.1:taking lock 8 | 2016-04-25 16:23:32,152:ncclient.operations.rpc:Requesting 'ExecuteRpc' 9 | 2016-04-25 16:23:32,274:CONFIG:127.0.0.1:loading config 10 | 2016-04-25 16:23:32,277:ncclient.operations.rpc:Requesting 'ExecuteRpc' 11 | 2016-04-25 16:23:32,397:CONFIG:127.0.0.1:Unable to load config: ConfigLoadError(severity: error, bad_element: set, message: syntax error) 12 | 2016-04-25 16:23:32,397:CONFIG:127.0.0.1:unlocking 13 | 2016-04-25 16:23:32,399:ncclient.operations.rpc:Requesting 'ExecuteRpc' 14 | 2016-04-25 16:23:32,469:ncclient.operations.rpc:Requesting 'CloseSession' 15 | 2016-04-25 16:30:51,665:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 16 | 2016-04-25 16:30:51,704:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 17 | 2016-04-25 16:30:51,825:ncclient.transport.ssh:Authentication (publickey) failed. 18 | 2016-04-25 16:30:51,855:ncclient.transport.ssh:Authentication (password) successful! 19 | 2016-04-25 16:30:52,208:ncclient.transport.session:initialized: session-id=2223 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 20 | 2016-04-25 16:30:52,209:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx/vsrx01.set 21 | 2016-04-25 16:30:52,209:CONFIG:127.0.0.1:taking lock 22 | 2016-04-25 16:30:52,211:ncclient.operations.rpc:Requesting 'ExecuteRpc' 23 | 2016-04-25 16:30:52,330:CONFIG:127.0.0.1:loading config 24 | 2016-04-25 16:30:52,332:ncclient.operations.rpc:Requesting 'ExecuteRpc' 25 | 2016-04-25 16:30:52,454:ncclient.operations.rpc:Requesting 'ExecuteRpc' 26 | 2016-04-25 16:30:52,678:CONFIG:127.0.0.1:doing a commit-check, please be patient 27 | 2016-04-25 16:30:52,680:ncclient.operations.rpc:Requesting 'ExecuteRpc' 28 | 2016-04-25 16:30:53,155:CONFIG:127.0.0.1:committing change, please be patient 29 | 2016-04-25 16:30:53,159:ncclient.operations.rpc:Requesting 'ExecuteRpc' 30 | 2016-04-25 16:30:54,447:CONFIG:127.0.0.1:unlocking 31 | 2016-04-25 16:30:54,448:ncclient.operations.rpc:Requesting 'ExecuteRpc' 32 | 2016-04-25 16:30:54,568:CONFIG:127.0.0.1:change completed 33 | 2016-04-25 16:30:54,569:ncclient.operations.rpc:Requesting 'CloseSession' 34 | 2016-04-25 16:33:44,037:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2222 35 | 2016-04-25 16:33:44,087:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 36 | 2016-04-25 16:33:44,186:ncclient.transport.ssh:Authentication (publickey) failed. 37 | 2016-04-25 16:33:44,216:ncclient.transport.ssh:Authentication (password) successful! 38 | 2016-04-25 16:33:44,598:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 39 | 2016-04-25 16:33:44,598:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx/vsrx02.set 40 | 2016-04-25 16:33:44,598:CONFIG:127.0.0.1:taking lock 41 | 2016-04-25 16:33:44,602:ncclient.operations.rpc:Requesting 'ExecuteRpc' 42 | 2016-04-25 16:33:44,720:CONFIG:127.0.0.1:loading config 43 | 2016-04-25 16:33:44,723:ncclient.operations.rpc:Requesting 'ExecuteRpc' 44 | 2016-04-25 16:33:44,845:ncclient.operations.rpc:Requesting 'ExecuteRpc' 45 | 2016-04-25 16:33:45,013:CONFIG:127.0.0.1:doing a commit-check, please be patient 46 | 2016-04-25 16:33:45,015:ncclient.operations.rpc:Requesting 'ExecuteRpc' 47 | 2016-04-25 16:33:45,537:CONFIG:127.0.0.1:committing change, please be patient 48 | 2016-04-25 16:33:45,540:ncclient.operations.rpc:Requesting 'ExecuteRpc' 49 | 2016-04-25 16:33:46,978:CONFIG:127.0.0.1:unlocking 50 | 2016-04-25 16:33:46,978:ncclient.operations.rpc:Requesting 'ExecuteRpc' 51 | 2016-04-25 16:33:47,095:CONFIG:127.0.0.1:change completed 52 | 2016-04-25 16:33:47,096:ncclient.operations.rpc:Requesting 'CloseSession' 53 | 2016-04-25 16:37:50,931:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2223 54 | 2016-04-25 16:37:50,969:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 55 | 2016-04-25 16:37:51,140:ncclient.transport.ssh:Authentication (publickey) failed. 56 | 2016-04-25 16:37:51,157:ncclient.transport.ssh:Authentication (password) successful! 57 | 2016-04-25 16:37:51,695:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 58 | 2016-04-25 16:37:51,696:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx/vsrx03.set 59 | 2016-04-25 16:37:51,696:CONFIG:127.0.0.1:taking lock 60 | 2016-04-25 16:37:51,741:ncclient.operations.rpc:Requesting 'ExecuteRpc' 61 | 2016-04-25 16:37:51,830:CONFIG:127.0.0.1:loading config 62 | 2016-04-25 16:37:51,846:ncclient.operations.rpc:Requesting 'ExecuteRpc' 63 | 2016-04-25 16:37:51,979:ncclient.operations.rpc:Requesting 'ExecuteRpc' 64 | 2016-04-25 16:37:52,211:CONFIG:127.0.0.1:doing a commit-check, please be patient 65 | 2016-04-25 16:37:52,224:ncclient.operations.rpc:Requesting 'ExecuteRpc' 66 | 2016-04-25 16:37:52,806:CONFIG:127.0.0.1:committing change, please be patient 67 | 2016-04-25 16:37:52,810:ncclient.operations.rpc:Requesting 'ExecuteRpc' 68 | 2016-04-25 16:37:54,854:CONFIG:127.0.0.1:unlocking 69 | 2016-04-25 16:37:54,855:ncclient.operations.rpc:Requesting 'ExecuteRpc' 70 | 2016-04-25 16:37:54,972:CONFIG:127.0.0.1:change completed 71 | 2016-04-25 16:37:54,973:ncclient.operations.rpc:Requesting 'CloseSession' 72 | 2016-05-01 08:47:21,125:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 73 | 2016-05-01 08:47:21,169:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 74 | 2016-05-01 08:47:21,280:ncclient.transport.ssh:Authentication (publickey) failed. 75 | 2016-05-01 08:47:21,298:ncclient.transport.ssh:Authentication (password) successful! 76 | 2016-05-01 08:47:21,695:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 77 | 2016-05-01 08:47:21,696:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx-v2/vsrx01.set 78 | 2016-05-01 08:47:21,696:CONFIG:127.0.0.1:taking lock 79 | 2016-05-01 08:47:21,701:ncclient.operations.rpc:Requesting 'ExecuteRpc' 80 | 2016-05-01 08:47:21,819:CONFIG:127.0.0.1:loading config 81 | 2016-05-01 08:47:21,823:ncclient.operations.rpc:Requesting 'ExecuteRpc' 82 | 2016-05-01 08:47:21,945:ncclient.operations.rpc:Requesting 'ExecuteRpc' 83 | 2016-05-01 08:47:22,166:CONFIG:127.0.0.1:doing a commit-check, please be patient 84 | 2016-05-01 08:47:22,169:ncclient.operations.rpc:Requesting 'ExecuteRpc' 85 | 2016-05-01 08:47:22,640:CONFIG:127.0.0.1:committing change, please be patient 86 | 2016-05-01 08:47:22,643:ncclient.operations.rpc:Requesting 'ExecuteRpc' 87 | 2016-05-01 08:47:24,030:CONFIG:127.0.0.1:unlocking 88 | 2016-05-01 08:47:24,030:ncclient.operations.rpc:Requesting 'ExecuteRpc' 89 | 2016-05-01 08:47:24,149:CONFIG:127.0.0.1:change completed 90 | 2016-05-01 08:47:24,150:ncclient.operations.rpc:Requesting 'CloseSession' 91 | 2016-05-01 08:50:36,388:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2222 92 | 2016-05-01 08:50:36,423:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 93 | 2016-05-01 08:50:36,544:ncclient.transport.ssh:Authentication (publickey) failed. 94 | 2016-05-01 08:50:36,572:ncclient.transport.ssh:Authentication (password) successful! 95 | 2016-05-01 08:50:36,955:ncclient.transport.session:initialized: session-id=2220 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 96 | 2016-05-01 08:50:36,955:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx-v2/vsrx02.set 97 | 2016-05-01 08:50:36,956:CONFIG:127.0.0.1:taking lock 98 | 2016-05-01 08:50:36,961:ncclient.operations.rpc:Requesting 'ExecuteRpc' 99 | 2016-05-01 08:50:37,080:CONFIG:127.0.0.1:loading config 100 | 2016-05-01 08:50:37,084:ncclient.operations.rpc:Requesting 'ExecuteRpc' 101 | 2016-05-01 08:50:37,205:ncclient.operations.rpc:Requesting 'ExecuteRpc' 102 | 2016-05-01 08:50:37,374:CONFIG:127.0.0.1:doing a commit-check, please be patient 103 | 2016-05-01 08:50:37,376:ncclient.operations.rpc:Requesting 'ExecuteRpc' 104 | 2016-05-01 08:50:37,747:CONFIG:127.0.0.1:committing change, please be patient 105 | 2016-05-01 08:50:37,750:ncclient.operations.rpc:Requesting 'ExecuteRpc' 106 | 2016-05-01 08:50:38,824:CONFIG:127.0.0.1:unlocking 107 | 2016-05-01 08:50:38,825:ncclient.operations.rpc:Requesting 'ExecuteRpc' 108 | 2016-05-01 08:50:38,943:CONFIG:127.0.0.1:change completed 109 | 2016-05-01 08:50:38,943:ncclient.operations.rpc:Requesting 'CloseSession' 110 | 2016-05-01 08:54:16,159:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2223 111 | 2016-05-01 08:54:16,187:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 112 | 2016-05-01 08:54:16,377:ncclient.transport.ssh:Authentication (publickey) failed. 113 | 2016-05-01 08:54:16,392:ncclient.transport.ssh:Authentication (password) successful! 114 | 2016-05-01 08:54:16,878:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 115 | 2016-05-01 08:54:16,878:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx-v2/vsrx03.set 116 | 2016-05-01 08:54:16,878:CONFIG:127.0.0.1:taking lock 117 | 2016-05-01 08:54:16,889:ncclient.operations.rpc:Requesting 'ExecuteRpc' 118 | 2016-05-01 08:54:17,009:CONFIG:127.0.0.1:loading config 119 | 2016-05-01 08:54:17,015:ncclient.operations.rpc:Requesting 'ExecuteRpc' 120 | 2016-05-01 08:54:17,135:ncclient.operations.rpc:Requesting 'ExecuteRpc' 121 | 2016-05-01 08:54:17,359:CONFIG:127.0.0.1:doing a commit-check, please be patient 122 | 2016-05-01 08:54:17,383:ncclient.operations.rpc:Requesting 'ExecuteRpc' 123 | 2016-05-01 08:54:18,259:CONFIG:127.0.0.1:committing change, please be patient 124 | 2016-05-01 08:54:18,267:ncclient.operations.rpc:Requesting 'ExecuteRpc' 125 | 2016-05-01 08:54:20,332:CONFIG:127.0.0.1:unlocking 126 | 2016-05-01 08:54:20,332:ncclient.operations.rpc:Requesting 'ExecuteRpc' 127 | 2016-05-01 08:54:20,447:CONFIG:127.0.0.1:change completed 128 | 2016-05-01 08:54:20,448:ncclient.operations.rpc:Requesting 'CloseSession' 129 | 2016-05-01 09:17:50,414:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 130 | 2016-05-01 09:17:50,450:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 131 | 2016-05-01 09:17:50,574:ncclient.transport.ssh:Authentication (publickey) failed. 132 | 2016-05-01 09:17:50,582:ncclient.transport.ssh:Authentication (password) successful! 133 | 2016-05-01 09:17:50,921:ncclient.transport.session:initialized: session-id=3113 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 134 | 2016-05-01 09:17:50,921:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx-v2/vsrx01.set 135 | 2016-05-01 09:17:50,922:CONFIG:127.0.0.1:taking lock 136 | 2016-05-01 09:17:50,933:ncclient.operations.rpc:Requesting 'ExecuteRpc' 137 | 2016-05-01 09:17:51,052:CONFIG:127.0.0.1:loading config 138 | 2016-05-01 09:17:51,056:ncclient.operations.rpc:Requesting 'ExecuteRpc' 139 | 2016-05-01 09:17:51,182:ncclient.operations.rpc:Requesting 'ExecuteRpc' 140 | 2016-05-01 09:17:51,401:CONFIG:127.0.0.1:unlocking 141 | 2016-05-01 09:17:51,404:ncclient.operations.rpc:Requesting 'ExecuteRpc' 142 | 2016-05-01 09:17:51,472:CONFIG:127.0.0.1:change completed 143 | 2016-05-01 09:17:51,475:ncclient.operations.rpc:Requesting 'CloseSession' 144 | 2016-05-01 09:17:55,030:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2222 145 | 2016-05-01 09:17:55,049:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 146 | 2016-05-01 09:17:55,162:ncclient.transport.ssh:Authentication (publickey) failed. 147 | 2016-05-01 09:17:55,169:ncclient.transport.ssh:Authentication (password) successful! 148 | 2016-05-01 09:17:55,509:ncclient.transport.session:initialized: session-id=2639 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 149 | 2016-05-01 09:17:55,509:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx-v2/vsrx02.set 150 | 2016-05-01 09:17:55,509:CONFIG:127.0.0.1:taking lock 151 | 2016-05-01 09:17:55,515:ncclient.operations.rpc:Requesting 'ExecuteRpc' 152 | 2016-05-01 09:17:55,584:CONFIG:127.0.0.1:loading config 153 | 2016-05-01 09:17:55,589:ncclient.operations.rpc:Requesting 'ExecuteRpc' 154 | 2016-05-01 09:17:55,708:ncclient.operations.rpc:Requesting 'ExecuteRpc' 155 | 2016-05-01 09:17:55,875:CONFIG:127.0.0.1:unlocking 156 | 2016-05-01 09:17:55,879:ncclient.operations.rpc:Requesting 'ExecuteRpc' 157 | 2016-05-01 09:17:55,997:CONFIG:127.0.0.1:change completed 158 | 2016-05-01 09:17:56,004:ncclient.operations.rpc:Requesting 'CloseSession' 159 | 2016-05-01 09:17:59,540:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2223 160 | 2016-05-01 09:17:59,560:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 161 | 2016-05-01 09:17:59,681:ncclient.transport.ssh:Authentication (publickey) failed. 162 | 2016-05-01 09:17:59,688:ncclient.transport.ssh:Authentication (password) successful! 163 | 2016-05-01 09:18:00,068:ncclient.transport.session:initialized: session-id=2640 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 164 | 2016-05-01 09:18:00,068:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx-v2/vsrx03.set 165 | 2016-05-01 09:18:00,068:CONFIG:127.0.0.1:taking lock 166 | 2016-05-01 09:18:00,071:ncclient.operations.rpc:Requesting 'ExecuteRpc' 167 | 2016-05-01 09:18:00,137:CONFIG:127.0.0.1:loading config 168 | 2016-05-01 09:18:00,141:ncclient.operations.rpc:Requesting 'ExecuteRpc' 169 | 2016-05-01 09:18:00,262:ncclient.operations.rpc:Requesting 'ExecuteRpc' 170 | 2016-05-01 09:18:00,484:CONFIG:127.0.0.1:unlocking 171 | 2016-05-01 09:18:00,489:ncclient.operations.rpc:Requesting 'ExecuteRpc' 172 | 2016-05-01 09:18:00,559:CONFIG:127.0.0.1:change completed 173 | 2016-05-01 09:18:00,563:ncclient.operations.rpc:Requesting 'CloseSession' 174 | 2016-05-01 09:56:25,637:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 175 | 2016-05-01 09:56:25,670:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 176 | 2016-05-01 09:56:25,807:ncclient.transport.ssh:Authentication (publickey) failed. 177 | 2016-05-01 09:56:25,834:ncclient.transport.ssh:Authentication (password) successful! 178 | 2016-05-01 09:56:26,229:ncclient.transport.session:initialized: session-id=3575 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 179 | 2016-05-01 09:56:26,230:CONFIG:127.0.0.1:pushing file: /home/ksator/vagrant/3vsrx-v2/vsrx01.set 180 | 2016-05-01 09:56:26,230:CONFIG:127.0.0.1:taking lock 181 | 2016-05-01 09:56:26,245:ncclient.operations.rpc:Requesting 'ExecuteRpc' 182 | 2016-05-01 09:56:26,367:CONFIG:127.0.0.1:loading config 183 | 2016-05-01 09:56:26,372:ncclient.operations.rpc:Requesting 'ExecuteRpc' 184 | 2016-05-01 09:56:26,498:ncclient.operations.rpc:Requesting 'ExecuteRpc' 185 | 2016-05-01 09:56:26,665:CONFIG:127.0.0.1:unlocking 186 | 2016-05-01 09:56:26,668:ncclient.operations.rpc:Requesting 'ExecuteRpc' 187 | 2016-05-01 09:56:26,783:CONFIG:127.0.0.1:change completed 188 | 2016-05-01 09:56:26,786:ncclient.operations.rpc:Requesting 'CloseSession' 189 | 2016-05-01 10:06:49,454:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 190 | 2016-05-01 10:06:49,488:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 191 | 2016-05-01 10:06:49,654:ncclient.transport.ssh:Authentication (publickey) failed. 192 | 2016-05-01 10:06:49,702:ncclient.transport.ssh:Authentication (password) successful! 193 | 2016-05-01 10:06:50,061:ncclient.transport.session:initialized: session-id=3610 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 194 | 2016-05-01 10:06:50,062:CONFIG:127.0.0.1:pushing file: /tmp/vsrx01.conf 195 | 2016-05-01 10:06:50,062:CONFIG:127.0.0.1:taking lock 196 | 2016-05-01 10:06:50,070:ncclient.operations.rpc:Requesting 'ExecuteRpc' 197 | 2016-05-01 10:06:50,187:CONFIG:127.0.0.1:loading config 198 | 2016-05-01 10:06:50,196:ncclient.operations.rpc:Requesting 'ExecuteRpc' 199 | 2016-05-01 10:06:50,372:ncclient.operations.rpc:Requesting 'ExecuteRpc' 200 | 2016-05-01 10:06:50,838:CONFIG:127.0.0.1:doing a commit-check, please be patient 201 | 2016-05-01 10:06:50,841:ncclient.operations.rpc:Requesting 'ExecuteRpc' 202 | 2016-05-01 10:06:51,461:CONFIG:127.0.0.1:Unable to commit configuration: CommitError(edit_path: [edit], bad_element: policy-options, message: Policy error: Policy bgp-clos-in referenced but not defined) 203 | 2016-05-01 10:06:51,461:CONFIG:127.0.0.1:unlocking 204 | 2016-05-01 10:06:51,465:ncclient.operations.rpc:Requesting 'ExecuteRpc' 205 | 2016-05-01 10:06:51,633:ncclient.operations.rpc:Requesting 'CloseSession' 206 | 2016-05-01 10:08:02,828:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 207 | 2016-05-01 10:08:02,864:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 208 | 2016-05-01 10:08:03,030:ncclient.transport.ssh:Authentication (publickey) failed. 209 | 2016-05-01 10:08:03,036:ncclient.transport.ssh:Authentication (password) successful! 210 | 2016-05-01 10:08:03,369:ncclient.transport.session:initialized: session-id=3641 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 211 | 2016-05-01 10:08:03,370:CONFIG:127.0.0.1:pushing file: /tmp/vsrx01.conf 212 | 2016-05-01 10:08:03,370:CONFIG:127.0.0.1:taking lock 213 | 2016-05-01 10:08:03,383:ncclient.operations.rpc:Requesting 'ExecuteRpc' 214 | 2016-05-01 10:08:03,501:CONFIG:127.0.0.1:loading config 215 | 2016-05-01 10:08:03,505:ncclient.operations.rpc:Requesting 'ExecuteRpc' 216 | 2016-05-01 10:08:03,625:ncclient.operations.rpc:Requesting 'ExecuteRpc' 217 | 2016-05-01 10:08:03,842:CONFIG:127.0.0.1:doing a commit-check, please be patient 218 | 2016-05-01 10:08:03,846:ncclient.operations.rpc:Requesting 'ExecuteRpc' 219 | 2016-05-01 10:08:04,518:CONFIG:127.0.0.1:Unable to commit configuration: CommitError(edit_path: [edit interfaces ge-0/0/1 unit 0 family inet], bad_element: address 192.168.0.0/30, message: Cannot assign address 0 on subnet) 220 | 2016-05-01 10:08:04,518:CONFIG:127.0.0.1:unlocking 221 | 2016-05-01 10:08:04,523:ncclient.operations.rpc:Requesting 'ExecuteRpc' 222 | 2016-05-01 10:08:04,792:ncclient.operations.rpc:Requesting 'CloseSession' 223 | 2016-05-01 10:14:52,706:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 224 | 2016-05-01 10:14:52,744:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 225 | 2016-05-01 10:14:52,861:ncclient.transport.ssh:Authentication (publickey) failed. 226 | 2016-05-01 10:14:52,872:ncclient.transport.ssh:Authentication (password) successful! 227 | 2016-05-01 10:14:53,375:ncclient.transport.session:initialized: session-id=3674 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 228 | 2016-05-01 10:14:53,375:CONFIG:127.0.0.1:pushing file: /tmp/vsrx01.conf 229 | 2016-05-01 10:14:53,375:CONFIG:127.0.0.1:taking lock 230 | 2016-05-01 10:14:53,401:ncclient.operations.rpc:Requesting 'ExecuteRpc' 231 | 2016-05-01 10:14:53,516:CONFIG:127.0.0.1:loading config 232 | 2016-05-01 10:14:53,524:ncclient.operations.rpc:Requesting 'ExecuteRpc' 233 | 2016-05-01 10:14:53,644:ncclient.operations.rpc:Requesting 'ExecuteRpc' 234 | 2016-05-01 10:14:53,860:CONFIG:127.0.0.1:doing a commit-check, please be patient 235 | 2016-05-01 10:14:53,869:ncclient.operations.rpc:Requesting 'ExecuteRpc' 236 | 2016-05-01 10:14:54,690:CONFIG:127.0.0.1:committing change, please be patient 237 | 2016-05-01 10:14:54,693:ncclient.operations.rpc:Requesting 'ExecuteRpc' 238 | 2016-05-01 10:14:56,517:CONFIG:127.0.0.1:unlocking 239 | 2016-05-01 10:14:56,518:ncclient.operations.rpc:Requesting 'ExecuteRpc' 240 | 2016-05-01 10:14:56,633:CONFIG:127.0.0.1:change completed 241 | 2016-05-01 10:14:56,634:ncclient.operations.rpc:Requesting 'CloseSession' 242 | 2016-05-01 10:22:34,586:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 243 | 2016-05-01 10:22:34,611:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 244 | 2016-05-01 10:22:34,743:ncclient.transport.ssh:Authentication (publickey) failed. 245 | 2016-05-01 10:22:34,769:ncclient.transport.ssh:Authentication (password) successful! 246 | 2016-05-01 10:22:35,203:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 247 | 2016-05-01 10:22:35,204:CONFIG:127.0.0.1:pushing file: /tmp/vsrx01.conf 248 | 2016-05-01 10:22:35,204:CONFIG:127.0.0.1:taking lock 249 | 2016-05-01 10:22:35,223:ncclient.operations.rpc:Requesting 'ExecuteRpc' 250 | 2016-05-01 10:22:35,346:CONFIG:127.0.0.1:loading config 251 | 2016-05-01 10:22:35,349:ncclient.operations.rpc:Requesting 'ExecuteRpc' 252 | 2016-05-01 10:22:35,478:ncclient.operations.rpc:Requesting 'ExecuteRpc' 253 | 2016-05-01 10:22:35,750:CONFIG:127.0.0.1:doing a commit-check, please be patient 254 | 2016-05-01 10:22:35,754:ncclient.operations.rpc:Requesting 'ExecuteRpc' 255 | 2016-05-01 10:22:36,424:CONFIG:127.0.0.1:committing change, please be patient 256 | 2016-05-01 10:22:36,427:ncclient.operations.rpc:Requesting 'ExecuteRpc' 257 | 2016-05-01 10:22:39,109:CONFIG:127.0.0.1:unlocking 258 | 2016-05-01 10:22:39,111:ncclient.operations.rpc:Requesting 'ExecuteRpc' 259 | 2016-05-01 10:22:39,227:CONFIG:127.0.0.1:change completed 260 | 2016-05-01 10:22:39,229:ncclient.operations.rpc:Requesting 'CloseSession' 261 | 2016-05-01 10:30:40,622:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2222 262 | 2016-05-01 10:30:40,651:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 263 | 2016-05-01 10:30:40,777:ncclient.transport.ssh:Authentication (publickey) failed. 264 | 2016-05-01 10:30:40,793:ncclient.transport.ssh:Authentication (password) successful! 265 | 2016-05-01 10:30:41,234:ncclient.transport.session:initialized: session-id=2226 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 266 | 2016-05-01 10:30:41,234:CONFIG:127.0.0.1:pushing file: /tmp/vsrx02.conf 267 | 2016-05-01 10:30:41,234:CONFIG:127.0.0.1:taking lock 268 | 2016-05-01 10:30:41,245:ncclient.operations.rpc:Requesting 'ExecuteRpc' 269 | 2016-05-01 10:30:41,361:CONFIG:127.0.0.1:loading config 270 | 2016-05-01 10:30:41,367:ncclient.operations.rpc:Requesting 'ExecuteRpc' 271 | 2016-05-01 10:30:41,489:ncclient.operations.rpc:Requesting 'ExecuteRpc' 272 | 2016-05-01 10:30:41,758:CONFIG:127.0.0.1:doing a commit-check, please be patient 273 | 2016-05-01 10:30:41,761:ncclient.operations.rpc:Requesting 'ExecuteRpc' 274 | 2016-05-01 10:30:42,483:CONFIG:127.0.0.1:committing change, please be patient 275 | 2016-05-01 10:30:42,492:ncclient.operations.rpc:Requesting 'ExecuteRpc' 276 | 2016-05-01 10:30:44,922:CONFIG:127.0.0.1:unlocking 277 | 2016-05-01 10:30:44,923:ncclient.operations.rpc:Requesting 'ExecuteRpc' 278 | 2016-05-01 10:30:45,038:CONFIG:127.0.0.1:change completed 279 | 2016-05-01 10:30:45,039:ncclient.operations.rpc:Requesting 'CloseSession' 280 | 2016-05-01 14:10:31,468:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 281 | 2016-05-01 14:10:31,507:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 282 | 2016-05-01 14:10:31,636:ncclient.transport.ssh:Authentication (publickey) failed. 283 | 2016-05-01 14:10:31,657:ncclient.transport.ssh:Authentication (password) successful! 284 | 2016-05-01 14:10:32,385:ncclient.transport.session:initialized: session-id=2220 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 285 | 2016-05-01 14:10:32,385:CONFIG:127.0.0.1:pushing file: /tmp/vsrx01.conf 286 | 2016-05-01 14:10:32,385:CONFIG:127.0.0.1:taking lock 287 | 2016-05-01 14:10:32,397:ncclient.operations.rpc:Requesting 'ExecuteRpc' 288 | 2016-05-01 14:10:32,478:CONFIG:127.0.0.1:loading config 289 | 2016-05-01 14:10:32,482:ncclient.operations.rpc:Requesting 'ExecuteRpc' 290 | 2016-05-01 14:10:32,706:ncclient.operations.rpc:Requesting 'ExecuteRpc' 291 | 2016-05-01 14:10:32,981:CONFIG:127.0.0.1:doing a commit-check, please be patient 292 | 2016-05-01 14:10:32,983:ncclient.operations.rpc:Requesting 'ExecuteRpc' 293 | 2016-05-01 14:10:34,009:CONFIG:127.0.0.1:committing change, please be patient 294 | 2016-05-01 14:10:34,013:ncclient.operations.rpc:Requesting 'ExecuteRpc' 295 | 2016-05-01 14:10:37,624:CONFIG:127.0.0.1:unlocking 296 | 2016-05-01 14:10:37,624:ncclient.operations.rpc:Requesting 'ExecuteRpc' 297 | 2016-05-01 14:10:37,744:CONFIG:127.0.0.1:change completed 298 | 2016-05-01 14:10:37,744:ncclient.operations.rpc:Requesting 'CloseSession' 299 | 2016-05-01 14:13:39,281:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2222 300 | 2016-05-01 14:13:39,302:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 301 | 2016-05-01 14:13:39,436:ncclient.transport.ssh:Authentication (publickey) failed. 302 | 2016-05-01 14:13:39,474:ncclient.transport.ssh:Authentication (password) successful! 303 | 2016-05-01 14:13:39,758:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 304 | 2016-05-01 14:13:39,759:CONFIG:127.0.0.1:pushing file: /tmp/vsrx02.conf 305 | 2016-05-01 14:13:39,759:CONFIG:127.0.0.1:taking lock 306 | 2016-05-01 14:13:39,761:ncclient.operations.rpc:Requesting 'ExecuteRpc' 307 | 2016-05-01 14:13:39,881:CONFIG:127.0.0.1:loading config 308 | 2016-05-01 14:13:39,884:ncclient.operations.rpc:Requesting 'ExecuteRpc' 309 | 2016-05-01 14:13:40,004:ncclient.operations.rpc:Requesting 'ExecuteRpc' 310 | 2016-05-01 14:13:40,225:CONFIG:127.0.0.1:doing a commit-check, please be patient 311 | 2016-05-01 14:13:40,227:ncclient.operations.rpc:Requesting 'ExecuteRpc' 312 | 2016-05-01 14:13:40,751:CONFIG:127.0.0.1:committing change, please be patient 313 | 2016-05-01 14:13:40,755:ncclient.operations.rpc:Requesting 'ExecuteRpc' 314 | 2016-05-01 14:13:42,435:CONFIG:127.0.0.1:unlocking 315 | 2016-05-01 14:13:42,436:ncclient.operations.rpc:Requesting 'ExecuteRpc' 316 | 2016-05-01 14:13:42,505:CONFIG:127.0.0.1:change completed 317 | 2016-05-01 14:13:42,505:ncclient.operations.rpc:Requesting 'CloseSession' 318 | 2016-05-01 14:18:18,881:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2223 319 | 2016-05-01 14:18:18,988:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 320 | 2016-05-01 14:18:19,198:ncclient.transport.ssh:Authentication (publickey) failed. 321 | 2016-05-01 14:18:19,224:ncclient.transport.ssh:Authentication (password) successful! 322 | 2016-05-01 14:18:19,773:ncclient.transport.session:initialized: session-id=2217 | server_capabilities=['http://xml.juniper.net/dmi/system/1.0', 'urn:ietf:params:xml:ns:netconf:capability:confirmed-commit:1.0', 'http://xml.juniper.net/netconf/junos/1.0', 'urn:ietf:params:xml:ns:netconf:capability:validate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:candidate:1.0', 'urn:ietf:params:xml:ns:netconf:capability:url:1.0?protocol=http,ftp,file', 'urn:ietf:params:xml:ns:netconf:base:1.0'] 323 | 2016-05-01 14:18:19,774:CONFIG:127.0.0.1:pushing file: /tmp/vsrx03.conf 324 | 2016-05-01 14:18:19,774:CONFIG:127.0.0.1:taking lock 325 | 2016-05-01 14:18:19,792:ncclient.operations.rpc:Requesting 'ExecuteRpc' 326 | 2016-05-01 14:18:19,869:CONFIG:127.0.0.1:loading config 327 | 2016-05-01 14:18:19,873:ncclient.operations.rpc:Requesting 'ExecuteRpc' 328 | 2016-05-01 14:18:20,043:ncclient.operations.rpc:Requesting 'ExecuteRpc' 329 | 2016-05-01 14:18:20,362:CONFIG:127.0.0.1:doing a commit-check, please be patient 330 | 2016-05-01 14:18:20,365:ncclient.operations.rpc:Requesting 'ExecuteRpc' 331 | 2016-05-01 14:18:21,188:CONFIG:127.0.0.1:committing change, please be patient 332 | 2016-05-01 14:18:21,191:ncclient.operations.rpc:Requesting 'ExecuteRpc' 333 | 2016-05-01 14:18:24,134:CONFIG:127.0.0.1:unlocking 334 | 2016-05-01 14:18:24,135:ncclient.operations.rpc:Requesting 'ExecuteRpc' 335 | 2016-05-01 14:18:24,252:CONFIG:127.0.0.1:change completed 336 | 2016-05-01 14:18:24,252:ncclient.operations.rpc:Requesting 'CloseSession' 337 | 2017-10-01 13:47:16,226:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2221 338 | 2017-10-01 13:47:16,355:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 339 | 2017-10-01 13:47:16,567:ncclient.transport.ssh:Authentication (publickey) failed. 340 | 2017-10-01 13:47:16,785:ncclient.transport.ssh:Authentication (password) successful! 341 | 2017-10-01 13:47:17,205:ncclient.transport.session:initialized: session-id=2218 | server_capabilities= 342 | 2017-10-01 13:47:17,205:CONFIG:127.0.0.1:pushing file: /tmp/vsrx01.conf 343 | 2017-10-01 13:47:17,205:CONFIG:127.0.0.1:taking lock 344 | 2017-10-01 13:47:17,206:ncclient.operations.rpc:Requesting 'ExecuteRpc' 345 | 2017-10-01 13:47:17,327:CONFIG:127.0.0.1:loading config 346 | 2017-10-01 13:47:17,328:ncclient.operations.rpc:Requesting 'ExecuteRpc' 347 | 2017-10-01 13:47:17,503:ncclient.operations.rpc:Requesting 'ExecuteRpc' 348 | 2017-10-01 13:47:17,771:CONFIG:127.0.0.1:doing a commit-check, please be patient 349 | 2017-10-01 13:47:17,771:ncclient.operations.rpc:Requesting 'ExecuteRpc' 350 | 2017-10-01 13:47:18,388:CONFIG:127.0.0.1:committing change, please be patient 351 | 2017-10-01 13:47:18,389:ncclient.operations.rpc:Requesting 'ExecuteRpc' 352 | 2017-10-01 13:47:20,659:CONFIG:127.0.0.1:unlocking 353 | 2017-10-01 13:47:20,659:ncclient.operations.rpc:Requesting 'ExecuteRpc' 354 | 2017-10-01 13:47:20,782:CONFIG:127.0.0.1:change completed 355 | 2017-10-01 13:47:20,783:ncclient.operations.rpc:Requesting 'CloseSession' 356 | 2017-10-01 13:52:04,862:CONFIG:127.0.0.1:connecting to host: root@127.0.0.1:2222 357 | 2017-10-01 13:52:05,010:ncclient.transport.ssh:Connected (version 2.0, client OpenSSH_6.6) 358 | 2017-10-01 13:52:05,851:ncclient.transport.ssh:Authentication (publickey) failed. 359 | 2017-10-01 13:52:05,868:ncclient.transport.ssh:Authentication (password) successful! 360 | 2017-10-01 13:52:07,953:ncclient.transport.session:initialized: session-id=2218 | server_capabilities= 361 | 2017-10-01 13:52:07,953:CONFIG:127.0.0.1:pushing file: /tmp/vsrx02.conf 362 | 2017-10-01 13:52:07,953:CONFIG:127.0.0.1:taking lock 363 | 2017-10-01 13:52:07,954:ncclient.operations.rpc:Requesting 'ExecuteRpc' 364 | 2017-10-01 13:52:08,074:CONFIG:127.0.0.1:loading config 365 | 2017-10-01 13:52:08,074:ncclient.operations.rpc:Requesting 'ExecuteRpc' 366 | 2017-10-01 13:52:08,722:ncclient.operations.rpc:Requesting 'ExecuteRpc' 367 | 2017-10-01 13:52:09,354:CONFIG:127.0.0.1:doing a commit-check, please be patient 368 | 2017-10-01 13:52:09,354:ncclient.operations.rpc:Requesting 'ExecuteRpc' 369 | 2017-10-01 13:52:11,505:CONFIG:127.0.0.1:committing change, please be patient 370 | 2017-10-01 13:52:11,505:ncclient.operations.rpc:Requesting 'ExecuteRpc' 371 | 2017-10-01 13:52:21,166:CONFIG:127.0.0.1:unlocking 372 | 2017-10-01 13:52:21,166:ncclient.operations.rpc:Requesting 'ExecuteRpc' 373 | 2017-10-01 13:52:21,266:CONFIG:127.0.0.1:change completed 374 | 2017-10-01 13:52:21,267:ncclient.operations.rpc:Requesting 'CloseSession' 375 | --------------------------------------------------------------------------------