- Update line counts across documentation to match actual source files
(test-config-parser.c: 3304 lines, test-stubs.c: 219 lines)
- Correct test configuration count to exact "25 configs"
- Fix schema file references to single canonical file
- Add property database documentation with accurate statistics
- Fix broken Makefile regeneration targets (regenerate-property-db,
regenerate-platform-property-db) to use correct schema-based workflow
- Replace non-existent rebuild-property-database.py with three-step
process: extract-schema-properties.py → generate-database-from-schema.py
Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
[OLS-915] Schema Verification Enhancement
Enhanced schema verification, added 'make clean' before each test run to force correct binary
rebuild when switching between stub/platform modes
Fix platform property tracking in test output
Platform databases now always included for property analysis, showing
complete base→platform flow with arrow notation in test reports.
Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
Enables undefined property detection during make validate-schema, providing warnings about typos and vendor-specific
properties that aren't in the schema.
Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
- Remove binary executable: tests/config-parser/test-config-parser
- Remove generated test reports: test-report.html, test-report.json
- Update .gitignore to exclude test artifacts and build outputs
These files are generated during build/test and should not be tracked in git.
They will be regenerated when running 'make test-config' or './run-config-tests.sh'.
Related to: OLS-915 Configuration Testing Framework with Property Tracking
Add comprehensive configuration testing framework with property tracking
Implements two-layer validation system (schema + parser) for JSON configurations:
- Add test-config-parser.c with 628-property database tracking implementation status
- Add Python schema validator and property database generation tools
- Add test runner script (run-config-tests.sh) for automated testing
- Add 25+ test configurations covering core and platform-specific features
- Modify proto.c with TEST_STATIC macro to expose cfg_parse() for testing
- Support multiple output formats: human-readable, HTML, JSON, JUnit XML
Enables automated validation of configuration processing, tracks feature
implementation coverage, and provides CI/CD integration for continuous testing.
Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
Dockerfile updated to pull tagged version of schema to get the schema.json file.
This will make subsequent versioning much easier.
Once this is merged we can tag the client as 3.2.7 and then move forward to 4.x as we did with the schema.
Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
Add version to ols-ucentral-client
Augment the build to pull the schema version file from the ols-ucentral-schema repo (if present) based on commit id of
schema used as baseline for this client version.
Use both it and the version to provide the version information in the connect message.
Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
With the DHCP-snooping full support for the BRCM platforms
it's needed for the ports to be marked either trusted/untrusted
to make sure proper DHCP request/reply forwarding occurs.
With this commit the following behavior is enforced:
* Every port is untrusted by default upon device startup;
* Uplink interface (port) is determined through the means of
parsing ARP+FBD table;
* DHCP trust is enabled only for the uplink port;
* All vlan members can now send DHCP discover(s), which
will be forwarded (flooded) to trusted ports (in our
case to a single trusted uplink port) and get
their replies back.
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Deviceupdate condition never fails whenever password is changed,
thus makes the device spam with passwordchange events.
This, as a results, overflows internal buffers, which
overflows internal disk storage.
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Do not apply or modify any L3 cfg for Vlan 1 (ip, dhcp, igmp, etc.)
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I0e19bad017cacc14cb30af946101d7ad4d9bc8d0
'log' field is expected to be (and is defined in the schema as) an object,
so there is no need to handle it as an array.
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I05dd8de1fad086fd6ea16a4cb4792ad7f6e826fd
Use docker env variables to pass a new gw addr, since the old
gw (that is reported by the redirector) is not available.
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Ibb3a3b95d556996617d7f4ce1d6a58303df76ad7
Running diagnostics takes a long time (up to 10mins). Running
it in the same context as the callback broker means that all
messages are blocked until diagnostics is finished.
Creating a new thread resolves this issue.
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: Iadb628007903a7d643b6d2e705da84fd04e73dbe
Enable properly DHCP snooping for Vlan1 by default;
Make sure NTP is configured to use Vlan1 as wel;
Signed-off-by: Oleksandr Mazur <oleksandr.mazur@plvision.eu>
Change-Id: Ided132b12a5d472954458632cd61b3e43e072fa0
Since port isolation schema moved from ethernet to switch update
the code acordingly.
Signed-off-by: Serhiy Boiko <serhiy.boiko@plvision.eu>
Change-Id: I30335af3d17ad6ecc910c5c8ed2ca69eaaae0913