Zero Touch Provisioning

Zero Touch Provisioning

ZTP process is well explained in the Data Center Swithing cource (DCX) – read about it there if you can find this material. Especially the lab module for ZTP.
Also there is fine free ZTP Day One book.

The core part of ZTP process is the configuration of DHCP server, that looks something like this:

set vendor-string = option vendor-class-identifier;
option space ZTPDEMO;
option ZTPDEMO.image-file-name code 0 = text;
option ZTPDEMO.config-file-name code 1 = text;
option ZTPDEMO.image-file-type code 2 = text;
option ZTPDEMO.transfer-mode code 3 = text;
option ZTPDEMO-encapsulation code 43 = encapsulate ZTPDEMO;
option ZTPDEMO.image-file-type “symlink”;
option option-150 code 150 = ip-address;

host CAN1 {
    hardware ethernet 78:fe:3d:e4:01:bf;
    fixed-address 192.168.2.10;
    option host-name “CAN1”;
    option vendor-class-identifier “Juniper-ex2200-c-12p-2g”;
    option option-150 192.168.2.252;
    option ZTPDEMO.transfer-mode “http”;
    option ZTPDEMO.config-file-name “CAN1.config;
    option ZTPDEMO.image-file-name “jinstall-ex-2200-12.3R9.4-domestic-signed.tgz;
}

subnet 192.168.2.0 netmask 255.255.255.0 {
    option domain-name-servers 8.8.8.8;
    option routers 192.168.2.1;
    default-lease-time 600;
    max-lease-time 7200;
    authoritative;
    option ZTPDEMO.transfer-mode “http”;
    pool {
        range dynamic-bootp 192.168.2.10 192.168.2.19;
        option OPTION-150 192.168.2.2;
        option P61.config-file-name “default-ex2200-c-12p.config;
    }
}


Don’t worry, I doubt that we are expected to memorize all this crazy stuff just to perform ZTP.
I think it just required to have an idea about roles of this DHCP options and be able to edit /etc/dhcpd.conf file on DHCP server.
Also don’t forget to check the status of DHCP server:

sudo service dhcpd status

and restart it after you made changes to /etc/dhcpd.conf file:

sudo service dhcpd restart


And the most important thing on this topic: ensure you have the most useful skill with vi text editor – know how to exit from it 🙂

4 thoughts on “Zero Touch Provisioning

  1. Hello Alex,

    what about if my DHCP server is a juniper EX?
    I’m using the Juniper EX to provide POAP (cisco’s verson of ZTP) to my Cisco Nexus Switches. with this simple config

    set system services dhcp pool 172.31.1.0/24 router 172.31.1.1
    set system services dhcp pool 172.31.1.0/24 boot-file poap_nexus_script.py
    set system services dhcp pool 172.31.1.0/24 option 150 array ip-address 172.31.2.253

    how would i configure my EX switch to support ZTP for juniper QFX ?

Leave a Reply

Your email address will not be published. Required fields are marked *