clicon / clixon-controller

Clixon network controller
Apache License 2.0
14 stars 5 forks source link

Pre-provisioning #68

Closed olofhagsand closed 1 month ago

olofhagsand commented 10 months ago

Be able to add and edit configuration for a non-existent/not-yet connected device.
This includes:

  1. Save / Load device data in a persistent way regardless of device pulls
  2. Connect to a new device without overwriting config with existing config (only push)
  3. Some method to mark a device as off-line / pre-provisioning
olofhagsand commented 10 months ago

Some intial steps have been made: 1) You can disable a device (device/enable = false) -> will not make connect/push/pull 2) You can restart the controller withe previous device config (-s running or -s startup) But pre-provisioning needs some more funtionality, ie, to edit locally and push (overwrite/merge) the locally edited config. Currently it works as follows:

  1. Normal start:
    • Device connection open + enabled
    • Device XML config in running
    • Device XML bound to YANG --> Full functionality
  2. Restart controller with -s running or -s startup. As long as no (re)connect OR device in enable=false, the device is off-line:
    • Device disconnected
      • Device XML config in running
      • Device XML NOT bound to YANG --> No CLI editing (NETCONF OK)
  3. (Re)connect device (+ enable=true)
    • Device connection open + enabled
    • Device XML config OVERWRITTEN from device
    • Device XML bound to YANG --> Full functionality For pre-provisioning at least the following needs to be done:
  4. Off-line CLI editing
  5. Merge/replace device config with controller config