Collection of CheckMK checks (see https://checkmk.com/). All checks and plugins are provided as is. Absolutely no warranty. Send any comments to thl-cmk[at]outlook[dot]com

Skip to content
README.md 2.78 KiB
Newer Older
thl-cmk's avatar
thl-cmk committed
# Cisco day0 provisioning

thl-cmk's avatar
thl-cmk committed
### Introduction
When a network device like a switch, or a router comes the first time on-line, a fair amount of manual configuration has 
thl-cmk's avatar
thl-cmk committed
to happen before it is fully functional. At minimum, it needs to be updated to the proper software image and a golden 
configuration. Day zero automation techniques automate these processes, bringing up network devices into a functional 
state with minimal to no-touch. Hence the name Zero touch. The goal of Zero touch is to enable you to plug in a new 
network device and have it configured and transitioned into production automatically without the need for manual 
configuration. For this purpose Cisco offers (at least) three different ways.

thl-cmk's avatar
thl-cmk committed
- [Autoinstall](/autoinstall/)
- [Zero Touch Provisioning (ZTP)](/ztp/)
- [Plug and Play (PnP)](/pnp/)
thl-cmk's avatar
thl-cmk committed

This is a collection of some basic scripts to get these things up and running. With all these methods you can update and configure many devices at the same time in a fully automated way. The difference is what device types are supported (IOS/IOS-XE) and the way they are working. All these methods expect the devices in a factory reset state. You can reset a device by issuing the command
thl-cmk's avatar
thl-cmk committed

```
pnpa service reset no-prompt
```
or on older systems

```
write memory
write erase
reload
```
thl-cmk's avatar
thl-cmk committed

thl-cmk's avatar
thl-cmk committed
---
### Want to Contribute?
Nice ;-) Have a look at the [contribution guidelines](CONTRIBUTING.md "Contributing")
thl-cmk's avatar
thl-cmk committed

thl-cmk's avatar
thl-cmk committed
---
### Autoinstall
thl-cmk's avatar
thl-cmk committed

[**_Autoinstall_**](/autoinstall/) supports **IOS and IOS-XE** devices able of running **EEM** scripts. To use _autoinstall_ you need a DHCP server to provide option 67 (and optionally option 150) to the new devices and some kind of file server where the devices can download the image and configuration file from. 
thl-cmk's avatar
thl-cmk committed

thl-cmk's avatar
thl-cmk committed
This is the most basic way for day0 provisioning but still works with most devices.
thl-cmk's avatar
thl-cmk committed

thl-cmk's avatar
thl-cmk committed
---
thl-cmk's avatar
thl-cmk committed
### ZTP (Zero Touch Provisioning)
thl-cmk's avatar
thl-cmk committed

[**_ZTP_**](/ztp/) supports **only IOS-XE** devices able to run the **day0 python guest shell**. To use _autoinstall_ you need a DHCP server to provide option 67 (and optionally option 150) to the new devices and some kind of file server where the devices can download the image and configuration file from.
thl-cmk's avatar
thl-cmk committed

With ZTP you have full access to the new device. So you could configure the device from the guestshell instead of only downloading a complete config file.
thl-cmk's avatar
thl-cmk committed

thl-cmk's avatar
thl-cmk committed
In newer versions of IOS-XE (i.e.: 19.09.01a on the ISR C1100 family) the guestshell has become optionally (separate download), so maybe the days of day0 guestshell are limited.
thl-cmk's avatar
thl-cmk committed

---
thl-cmk's avatar
thl-cmk committed
### PnP (Plug and Play)
thl-cmk's avatar
thl-cmk committed

[**_PnP_**](/pnp/) supports **IOS-XE and newer IOS** devices. PnP uses the Cisco Plug and Play protocol. To use PnP you need a DHCP server to serve option 43 for PnP discovery and this PnP server. PnP is the dya0 provisioning method used bei Cisco DNAC and therefore the preferred method.
thl-cmk's avatar
thl-cmk committed