2. AGENDA
• Create the Lab for Automation with EVE-NG
• DataCenter Zero Touch Provisioning with Ansible
• Bulk Configuration with A-Frame (Automation Frame)
Preparation and Demo
6. EVE-NG
• Just download and provision
to your Vmware Workstation.
• Download for access Labs from
your Client Device.
How to Install
http://www.unetlab.com/download/#main
7. EVE-NG
• Check your image location on VM.
• /opt/unetlab/html/includes/init.php
• Create the folder for your images.
• [Template_Name]-*/hda.qcow2
• You need to image concert with qemu-img
Image upload
/opt/qemu/bin/qemu-img convert -f vmdk -O qcow2 vqfx10k-pfe-20160609-2.vmdk /opt/unetlab/addons/qemu/qfx_pfe-20160609/hda.qcow2
12. EVE-NG
• You have to install Client Pack for
access device through your own tools
• SecureCRT etc.
• Double click your
registry
• Then you can
access your lab device.
Install Client Sides Pack
14. Zero Touch Provisioning
Bebe Lab ZTP Workflow
Configuration build request
Configuration build & Store
Base Config & OS Request to DHCP
Base Config & OS Storage reply
Access to storage for download
Configuration and OS download
DHCP Server
Admin
Ansible Server
File Storage
Network Infra
Mgmt Network
• Need to set up below.
• Ansible / DHCP / FTP
15. Ansible
• Apt-get update & apt-get install ansible
• For Juniper module, Ansible-galaxy
• ansible-galaxy install Juniper.junos
• junos_get_facts — Retrieve device-specific information from the host.
• junos_rpc — To execute RPC on device and save output locally
• junos_cli — To execute CLI on device and save output locally
• junos_commit — Commit candidate configuration on device.
• junos_get_config — Retrieve configuration of device.
• junos_install_config — Modify the configuration of a device running Junos OS.
• junos_install_os — Install a Junos OS software package.
• junos_rollback — Rollback configuration of device.
• junos_shutdown — Shut down or reboot a device running Junos OS.
• junos_srx_cluster — Enable/Disable cluster mode for SRX devices
• junos_zeroize — Remove all configuration information on the Routing Engines and reset all key values on a device.
• junos_get_table - Retrieve data from a Junos device using Tables/Views
• junos_ping - execute ping on junos devices
• junos_jsnapy - Integrate JSNAPy to ansible which helps audit network devices
Install Ansible on Ubuntu
16. Ansible
• For Netconf module, need to Pyez
• https://www.juniper.net/techpubs/en_US/junos-
pyez1.0/topics/task/installation/junos-pyez-server-installing.html
• Apt-get install
Python-pip python-dev libxml2-dev libxslt-dev libssl-dev libffi-dev
• pip install junos-eznc
You need to install Juniper PyEZ for netconf
23. Zero Touch Provisioning
Bebe Lab ZTP – Ansible Workflow
Configuration build request
Configuration build & Store
Base Config & OS Request to DHCP
Base Config & OS Storage reply
Access to storage for download
Configuration and OS download
DHCP Server
Admin
Ansible Server
File Storage
Network Infra
Mgmt Network
Pb.conf.ip.fabric.yaml
24. Zero Touch Provisioning
Bebe Lab ZTP – Ansible Workflow
• Roles
• Generate-p2p-ips
• Generate /31 ip for fabric interconnect
main.conf.j2
Generated_p2p_ips.yaml
main.yaml
25. Zero Touch Provisioning
Bebe Lab ZTP – Ansible Workflow
• Roles
• Underlay-eBGP
• Generate the Configure for IP Fabric
main.conf.j2
Generated_p2p_ips.yaml
main.yaml
Host vars
group vars for topology
26. Zero Touch Provisioning
Bebe Lab ZTP – Ansible Workflow
• Roles
• Build-config
• Configuration merge from Generate the Configure for IP Fabric
Folder Variable
Task for Generated_p2p_ips
Task for common Task for Underlay-ebgp
Task for build-config
28. Zero Touch Provisioning
Bebe Lab ZTP – DHCP Server
• Ansible’s Build-config will store final ver CLI to file storage.
• File storage support FTP on this Lab.
• DHCP server have to support DHCP Options.
Base Config & OS Request to DHCP
Base Config & OS Storage reply
Access to storage for download
Configuration and OS download
DHCP Server
File Storage
Network Infra
Mgmt Network
29. Zero Touch Provisioning
Bebe Lab ZTP – DHCP Server
• DHCP Options for base-config and OS upgrade
• Bebe Lab works on isc-dhcp-server
31. Zero Touch Provisioning
Bebe Lab ZTP – Demo & Packet capture
Configuration build request
Configuration build & Store
Base Config & OS Request to DHCP
Base Config & OS Storage reply
Access to storage for download
Configuration and OS download
DHCP Server
Admin
Ansible Server
File Storage
Network Infra
Mgmt Network
34. A-Frame
• A-Frame is a minimalistic automation framework / experiment.
• The goal is to allow network engineers to easily use network
automation without programming.
• That means creating and using templates, consuming APIs, etc
• Open Source.
What is the A-Frame
35. A-Frame
• Installing package requirements
• apt-get install
• python-netaddr
• python-pip
• python-nmap
• nmap
• python-lxml
• python-dev
• libssl-dev
• libxslt-dev
• python-paramiko
How to install and play
https://github.com/nembery/aframe/blob/master/tutorial/tutorial.md
• pip install
• django
• junos-eznc
• Blue is already installed for ansible
36. A-Frame
• Clone the Git Repository
• git clone https://github.com/nembery/aframe
• Create the DB
• python ./manage.py migrate
• Run the DJango webserver
• python ./manage.py runserver 0.0.0.0:8080
How to install and play
https://github.com/nembery/aframe/blob/master/tutorial/tutorial.md
37. A-Frame
• Open your browser and access the URL:
• http://<SERVER_IP>:8080
• Try yourself
• https://github.com/nembery/aframe/blob/master/tutorial/tutorial.md
Accessing A-Frame interface