Configuring multiple devices of a given type using the same YANG model

The YANG model for a device of a given type contains corresponding configuration and operational elements.

It is assumed that the same YANG model will be used when configuring different instances of devices of this type. However, different device instances may have different configuration data, e.g., IP addresses, speed on the interfaces, location, etc., all this data being part of YANG model.

Does it mean that ConfD stores a separate instance of the configuration data for each device instance?

If so, how the separate configuration data instances are identified in ConfD configuration database?

ConfD is normally used to manage single instance/device. To manage multiple devices, one typically uses higher layer management SW (e.g. Cisco Network Services Orchestrator).

@josephm: Thank you for your prompt answer.

In the meantime I created the model as a list. Each item in this list has its unique name (key) and the remaining elements from the single-device model. This way, it will be a single configuration in ConfD where multiple instances of the devices can be added as separate list items.

With this approach, when the configuration is changed, all devices would be notified. The implementation of the interface with ConfD in each device should skip the changes if these are not related to this device. For this, the device must know its name. I believe this will work.

ConfD example: ConfD-Demos/confd-sync-py at master · ConfD-Developer/ConfD-Demos · GitHub
From the example, a variant of the YANG model you describe: ConfD-Demos/confd-sync-py/app/yang/netconf-ssh-client.yang at master · ConfD-Developer/ConfD-Demos · GitHub

@cohult: Many thanks. Feel safe now.