I am having a trouble understanding the Cisco documentation on CNS
From my understanding there are 3 major Cisco components to CNS:
1) A "configuration agent" - this is a new router that Cisco did minor
initial configurations on and has been shipped out to a remote location.
A "configuration agent" can have the added attribute of being an "inventory agent." This router will send out a request for another router to get him a configuration file from some file server.
2) An "image agent" - which is a currently working cisco router that will process the request from the configuration agent and request the configuration file from file server. An image agent must also be an "event agent."
3) An event agent - which is a currently working cisco router that is not necessarily an image agent. If the event agent is not an image agent, it just listens for the request from the image agent and pass the request on to the file server.
There can be a minimum of 2 routers in this setup:
configuration agent (1 router) and a event agent/image agent (2nd router)
If there are any routers between the image agent and the file server, then
they must all be event agents in order for the process to work.
Is this correct????
Thanks in any advance for any help.
If a device is just configured with the 2 lines I mentioned in my previous post the CNS config agent is active. This means, if you connect this device to a network and power it on it boots, sends a DHCP request to get an IP address and if this is successfull it trys to contact the Config Server to get its initial config.
This process is driven by the device (ok the config agent on the device) and does not need to communicate over the Event Bus. But when a device should get partial config updates it needs to communicate over the Event Bus to trigger the partial config download. For this (partial config download) it needs the CNS event agent.
read this for 'cns config initial'
for 'cns config partial' read here:
for both links the 'Usage Guidelines' gives a good explanation.
it is a while ago that I did some test with CNS, but this is a bit what I remember (and I hope it is correct..)
CNS configuration can be used in a 'Zero Touch Deployment' where you have a central server (like the 'Cisco Configuration Engine') that has a database where each device is uniquely identified and has additional information about the config and operating system of the device. The idea behind is that you can replace or rollout devices with a minimal configuration (CNS config) and the rest will be done automatically.
Before a new device is connected to the network it is 'tagged' with an ID from a device in the database and has just its initial CNS configuratio - no other configuration. When this new device connects to the network it can get all its configuration and operating system automatically - based on the information stored in the database.
The different kind of agents on a device (image agent, config agent, event agent) control which information or which tasks can be done and controlled on the device.
E.g the event agent can be used to communicate with the CNS Server (Configuration Engine) to get a new config.
The 'cns config partial' allows the device to get partial config updates.
If I remeber well in an CNS scenario config updates must be initiated from the device in the network. So the CNS Server (Configuration Engine) sends a data packet to the device to tell him it shall ask for a new config. The 'cns event' tells the device it is allowed to receive such packets from the CNS Server.
Here you can find more info about the Cisco Configuration Engine- which can give you a clue how to use the CNS configuration: