Skip to content

feat: Add name fields to Board/SoC monitoring information via YAML config#476

Draft
Copilot wants to merge 2 commits into
mainfrom
copilot/add-name-fields-to-monitoring-info
Draft

feat: Add name fields to Board/SoC monitoring information via YAML config#476
Copilot wants to merge 2 commits into
mainfrom
copilot/add-name-fields-to-monitoring-info

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 21, 2026

BoardInfo and SocInfo had no human-readable name field, making it impossible to identify them on dashboards or in monitoring output. Names are assigned via a pre-defined YAML configuration file mapping IP-based IDs to names.

Changes

New name fields

  • Added pub name: String to SocInfo and BoardInfo in both monitoringserver/data_structures.rs and settingsservice/monitoring_types.rs
  • print_soc_info() and print_board_info() now display the name

Name configuration module (name_config.rs)

  • MonitoringNamesConfig loads /etc/piccolo/monitoring_names.yaml at startup
  • Gracefully falls back to empty names if the file is absent or unparseable
  • DataStore::with_name_config(path) constructor wires config into the store; names are applied when a SoC/Board is first created

Config file format

Deploy to /etc/piccolo/monitoring_names.yaml:

boards:
  "192.168.10.0":
    name: "Main Vehicle Board"
  "192.168.10.200":
    name: "Compute Board"

socs:
  "192.168.10.200":
    name: "Alpha SoC"
  "192.168.10.210":
    name: "Beta SoC"

IDs follow the existing IP-grouping scheme (board: last octet rounded to nearest 100, SoC: nearest 10). An annotated example config is added at examples/resources/monitoring_names.yaml.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • invalid_address
    • Triggering command: /home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/settingsservice-7151bdac2bda69a9 /home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/settingsservice-7151bdac2bda69a9 embed-bitcode=no -C 64-REDACTED-linux-gnu/bin/rust-lld --test --check-cfg cfg(docsrs,test) --check-cfg cfg(feature, values()) -C metadata=883035a92c461d60 -C 6a/b�� 6a/build_script_build-8b7fad2b5185066a.2n445sz9rwp7j2xm4wyzcruio.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.2zxopgxajrmoklf5x6glgr245.1dgduxs.rcgu.o lib/rustlib/x86_64-REDACTED-linux-gnu/bin/self-contained/cc ror_impl-64b650d/bin/bash ror_impl-64b650d--norc ror_impl-64b650d--noprofile ror_impl-64b650dembed-bitcode=no (dns block)
    • Triggering command: /home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/settingsservice-8258990b1d9ca047 /home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/settingsservice-8258990b1d9ca047 6a/build_script_build-8b7fad2b5185066a.08ceeak5bxp4cypcmeyg0mhri.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.0p68ctsmcddgmefbha857pn91.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.0uktp5n5yz6pqjcpcl6lnhq3d.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.1e5aybputlegs0853jxfs7u08.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.1wc3hvz9ihd3mh3gf928vy4pp.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.257c01ftwkefiyplff3fyuttm.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.29v51bfrb03zvyfmufb54s5p0.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.2ac5gp9vruh81l3t8iup7lrlj.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.2ac8e1hc9ovfbexut9pa2a5e5.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.2jnu57u576squlmigke59lkzs.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.2k6jbxboyum0ktipevh8gkgm5.1dgduxs.rcgu.o 6a/b�� 6a/build_script_build-8b7fad2b5185066a.2n445sz9rwp7j2xm4wyzcruio.1dgduxs.rcgu.o 6a/build_script_build-8b7fad2b5185066a.2zxopgxajrmoklf5x6glgr245.1dgduxs.rcgu.o ror_impl-64b650d/home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/time_macros-0a14e79f90/home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/rustcpAdc7M/symbols.o ror_impl-64b650dgrep ror_impl-64b650d^error ror_impl-64b650d/home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/time_macros-0a14e79f90/home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/settingsservice-45707313ceb7e5b3.03npfbfk94acordovx7xrvyse.0gebwgf.rcgu.o ror_impl-64b650d/home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/time_macros-0a14e79f90/home/REDACTED/work/pullpiri/pullpiri/src/target/debug/deps/settingsservice-45707313ceb7e5b3.0573mmi1drfiwv4hed79mx82o.0gebwgf.rcgu.o (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

- Add `name` field to `SocInfo` and `BoardInfo` structs in data_structures.rs
- Add `name` field to `SocInfo` and `BoardInfo` in settingsservice monitoring_types.rs
- Create name_config.rs module with MonitoringNamesConfig for loading YAML config
- Update DataStore to load name config via with_name_config() constructor
- Update MonitoringServerManager::new() to load names from /etc/piccolo/monitoring_names.yaml
- Add print display of name fields in print_soc_info() and print_board_info()
- Create examples/resources/monitoring_names.yaml as reference config file
- Add serde_yaml and tempfile dependencies to monitoringserver
- Update all existing tests to include the new name field
- Add new unit tests for name configuration loading and lookup

Agent-Logs-Url: https://github.com/eclipse-pullpiri/pullpiri/sessions/8d02f053-98a4-4a99-a0b6-9c3f4291de86

Co-authored-by: Chulhee1Lee <104404644+Chulhee1Lee@users.noreply.github.com>
Copilot AI changed the title [WIP] Add name fields for Board and SoC in monitoring information feat: Add name fields to Board/SoC monitoring information via YAML config May 21, 2026
Copilot AI requested a review from Chulhee1Lee May 21, 2026 06:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Name fields for Board/SoC in their Monitoring Information

2 participants