Commits on Source (2)
-
Malte Bauch authored
Resolve "After failing to add a network element to the storage, it is not possible to redo this because of an issue with a file lock in the plugin regitry" This change fixes the `text file is busy` error if multiple network elements are registered using the same plugin. With this change it is ensured that the `RequestPlugin` method within the controller checks if the requested plugin has already been requested before and is therefore already present. If this is the case the plugin is reused and not downloaded again. Plugin has been extended with the path to the executable that is used. See merge request !450 Co-authored-by:
Fabian Seidl <fabian.seidl@h-da.de>
-
Malte Bauch authored
The nodes along a path of the copied model (which is a copy of the underlying goStruct of the plugin) within the ValidateChange method of a plugin were not properly initialized. This means if a JSON string was provided that contained a node that was not initialized an error was thrown. But since the `ytypes.IgnoreExtraFields` option was set, the node was just ignored and no error was thrown. This change correctly initializes the node at the given path and removes the `ytypes.IgnoreExtraFields` option.
Showing
- controller/configs/containerlab-gosdn.toml.example 0 additions, 2 deletionscontroller/configs/containerlab-gosdn.toml.example
- controller/configs/development-gosdn.toml.example 0 additions, 2 deletionscontroller/configs/development-gosdn.toml.example
- controller/interfaces/plugin/plugin.go 11 additions, 4 deletionscontroller/interfaces/plugin/plugin.go
- controller/mocks/Plugin.go 14 additions, 0 deletionscontroller/mocks/Plugin.go
- controller/nucleus/plugin.go 13 additions, 10 deletionscontroller/nucleus/plugin.go
- controller/nucleus/pluginService.go 16 additions, 11 deletionscontroller/nucleus/pluginService.go
- controller/nucleus/util/plugin.go 2 additions, 0 deletionscontroller/nucleus/util/plugin.go
- plugins/sdk/deviceModel.go 18 additions, 4 deletionsplugins/sdk/deviceModel.go