openbmc / phosphor-objmgr

Phosphor Object Manager
Apache License 2.0
6 stars 8 forks source link

Creating association #22

Closed esm closed 3 years ago

esm commented 3 years ago

Is there an Association.service file that I can run such that I do not get this error anymore? what(): sd_bus_call: org.freedesktop.DBus.Error.UnknownMethod: Unknown method endpoints or interface xyz.openbmc_project.Association. Attempting to create an association always throws this exception

williamspatrick commented 3 years ago

Is the mapper process running on your system? What is the code you're using to create the association?

esm commented 3 years ago

The code is"xyz.openbmc_project.ObjectMapper", /xyz/openbmc_project/inventory/system/all_sensors, "org.freedesktop.DBus.Properties", "Get", "xyz.openbmc_project.Association", "endpoints"
mapperx is running but I am not running mapper. Here is my ObjectMapper.service file which uses mapperx and which I am able to start without any issue [Unit] Description=Phosphor DBus Service Discovery Manager Before=obmc-mapper.target After=dbus.service

[Service] Restart=always Type=dbus ExecStart=/usr/bin/env mapperx \ --service-namespaces="${MAPPER_SERVICES}" \ --interface-namespaces="${MAPPER_INTERFACES}" \ --service-blacklists="${MAPPER_SERVICEBLACKLISTS}" SyslogIdentifier=phosphor-mapper BusName=xyz.openbmc_project.ObjectMapper TimeoutStartSec=300 RestartSec=5 EnvironmentFile=/etc/default/obmc/mapper

esm commented 3 years ago

The mapper process can only run with the commands COMMANDS: wait wait for the specified objects to appear on the DBus subtree-remove wait until the specified interface is not present in any of the subtrees of the specified namespace get-service return the service identifier for input path so should I run ./mapper get-service xyz.openbmc_project.Association? Or is it a different mapper process that I have to run?

spinler commented 3 years ago

The mapper only creates associations when told to, by watching for other applications to create Assocations.Definition interfaces. See https://github.com/openbmc/docs/blob/master/architecture/object-mapper.md#associations