Created generic configuration framework to be used by all NFs
Code Changes
- Created generic configuration framework where configuration values are stored in an
unordered_map
- Defined common configuration types: String, bool (support features), local interface, local SBI interface, remote SBI interface
- Split code into NF-specific configuration and common configuration framework:
- Set default values
- Set mandatory values
- Set member variables to not break old API (can be refactored further in the future)
- Create YAML parser for new types with
yaml-cpp
- Read YAML file instead of libconfig
Config Changes
- Defined YAML configuration file
- Removed old configuration
- Split HTTP1 and HTTP2 interface in configuration (supports different interfaces/IPs now)
- Removed unused values:
- Instance ID
- PID directory
- slice configuration
Build Changes
- Removed libconfig build requirement in build scripts and Dockerfiles
Tests
- Tested NRF registration/de-registration manually
- API tested using the CURL requests described in Wiki