openbmc / entity-manager

Run-time JSON driven system configuration manager
Other
26 stars 48 forks source link

sdr list can not be dynamic updated when the json config file changed. #31

Closed henrywcl closed 7 months ago

henrywcl commented 8 months ago

my system has two BMCs , I need to switch the json configure files to provide two different SDR list. below is my solution: under the entity-manager I prepared two json files(A/B) to dynamically replace BMCsensor_2U.json when the in Slot A or B json files has been burnd to flash and can be found:

/run/initramfs/rw/cow/usr/share/entity-manager/configurations/ BMCsensor_2U.json /run/initramfs/rw/cow/usr/share/entity-manager/configurations/ BMCsensor_2U.json /run/initramfs/ro/usr/share/entity-manager/configurations/BMCsensor_2U.json root@test:/usr/share/entity-manager/configurations# tree |-- BMCsensor_2U.json |-- BMCsensor_2U_A.json |-- BMCsensor_2U_B.json

when in Slot A: cp BMCsensor_2U_A.json BMCsensor_2U.json -af change something to /etc/os-release let the json file fully reloaded. systemctl restart xyz.openbmc_project.EntityManager.service when in Slot B: cp BMCsensor_2U_B.json BMCsensor_2U.json -af change something to /etc/os-release let the json file fully reloaded. systemctl restart xyz.openbmc_project.EntityManager.service

the issue I observed: sometimes the BMCsensor_2U.json can not be replaced and can not be removed, reported "stale handle" even I stopped xyz.openbmc_project.EntityManager.service sometimes BMCsensor_2U.json can be replaced by A or B, but ipmitool sdr list is still kept old.

my question: is my solution reasonable? or is it a known issue?

henrywcl commented 7 months ago

I have resolved