Provisioning
Bootstrap your devices
For now, AFK does not provide any way to generate bootstrap configuration.
The advised workflow is the following:
- Generate the minimal configuration to be able to access the device.
- Apply the minimal ZTP (or manually).
- Use AFK to apply the rest of the configuration.
The minimal configuration cannot be generated by Salt as it requires a salt-minion for the device.
You could use Python scripts for instance to generate them, host the minimal configuration files on a server and serve them via your ZTP process.
One alternative would be to rely on the default configuration of your devices. But this depends on the Network OS used.
Note
We think this minimal configuration should not be maintained by AFK to avoid losing the access in case of misconfiguration in the CMDB.
Use Provisioners
The provisioner is where your business logic is located.
It can take many forms. At Criteo we have two kinds:
one shot provisioner
provisions the CMDB to have a fully operational datacenter.service provisioner
provisions the CMDB on demand. It allows your internal clients to dynamically benefit from network services, like BGP as a service.
Apply the changes
Here you have two options:
-
not so AFK
: just run the SaltStack State manually via thesalt <device> state.apply afk
command -
real AFK
: create a schedule to automatically apply the configuration