iopsys-feed/bbfdm
Amin Ben Romdhane 04413be781 bbfdm: 1.7.12
2024-03-13 23:44:20 +01:00
..
files bbfdm: utility functions and micro-service handler 2024-03-12 14:31:19 +00:00
bbfdm.mk bbfdm: utility functions and micro-service handler 2024-03-12 14:31:19 +00:00
Config_bbfdm.in bbfdm: 1.5.9 2024-01-24 12:01:21 +01:00
Makefile bbfdm: 1.7.12 2024-03-13 23:44:20 +01:00
README.md bbfdm: utility functions and micro-service handler 2024-03-12 14:31:19 +00:00

BBFDM configuration options and utilities

bbfdm provides few compile time configuration options and compile time help utility called bbfdm.mk, this document aimed to explain the available usages and best practices.

Compilation options

Configuration option Default Value Description
CONFIG_BBF_VENDOR_LIST iopsys List of vendor extension directories
CONFIG_BBF_VENDOR_PREFIX X_IOPSYS_EU_ Prefix for Vendor extension datamodel objects/parameters
CONFIG_BBF_TR143 y Enable/Add TR-143 Data Model Support
CONFIG_BBF_TR471 y Enable/Add TR-471 Data Model Support
CONFIG_BBF_MAX_OBJECT_INSTANCES 255 Maximum number of instances per object

Helper utility (bbfdm.mk)

bbfdm provides a helper utility bbfdm.mk to install datamodel plugins in bbfdm core or in microservice directory.

Install datamodel DotSO/JSON plugin in bbfdm core

Utility to install the DotSO/JSON plugin in bbfdm core plugin path

# inputs:
#  $1 => package install directory
#  $2 => Plugin artifact

Example:

define Package/$(PKG_NAME)/install
	$(call BbfdmInstallPlugin,$(1),./files/etc/bbfdm/json/CWMPManagementServer.json)
endef

Install datamodel DotSO/JSON plugin in bbfdm core with priority

Its now possible to overwrite/remove core datamodel with plugin, so, if some datamodel objects/parameters are present in more than one plugin, order in which they loaded into memory becomes crucial, this Utility help to configure a priority order in which they gets loaded in memory.

# inputs:
#  $1 => package install directory
#  $2 => Priority of the installed plugin
#  $3 => Plugin artifact

Example:

define Package/$(PKG_NAME)/install
	$(call BbfdmInstallPluginWithPriority,$(1),01,$(PKG_BUILD_DIR)/bbf_plugin/bulkdata.json)
endef

Note: Last loaded plugin gets the highest priority

Install plugin into micro-service directory

Utility to install the plugin in datamodel microservice directory, ex. user wants to run a datamodel micro-service, it required to install the DotSO/JSON plugin into a non bbf core directory, this utility helps in installing the DotSO/JSON plugin in mentioned directory.

# inputs:
#  $1 => package install directory with micro-service directory
#  $2 => Plugin artifact

Example:

define Package/$(PKG_NAME)/install
	$(call BbfdmInstallPluginInMicroservice,$(1)/etc/bulkdata,$(PKG_BUILD_DIR)/bbf_plugin/bulkdata.json)
endef

Install datamodel micro-service input file

Utility to install the datamodel plugin input file into the bbfdm micro-service directory, so that bbfdm auto start the datamodel micro-service before main bbfdm process.

# inputs:
#  $1 => package install directory
#  $2 => Microservice input.json path

Example:

define Package/$(PKG_NAME)/install
	$(call BbfdmInstallMicroServiceInputFile,$(1),./files/etc/bulkdata/input.json)
endef