Thin edge tedge-mapper-c8y failed to start

HI,

I have thin edge 0.10 installed on a raspberry. It was working good, but now after a reboot the c8y mapper cannot start anymore generating permission denied error.

pi@raspberrypi:/var/log/tedge/agent $ sudo systemctl status tedge-mapper-c8y
tedge-mapper-c8y.service - tedge-mapper-c8y converts Thin Edge JSON measurements to Cumulocity JSON format.
   Loaded: loaded (/lib/systemd/system/tedge-mapper-c8y.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2023-12-01 10:02:07 CET; 57min ago
  Process: 1412 ExecStart=/usr/bin/tedge-mapper c8y (code=exited, status=1/FAILURE)
 Main PID: 1412 (code=exited, status=1/FAILURE)

Dec 01 10:02:07 raspberrypi systemd[1]: tedge-mapper-c8y.service: Service RestartSec=100ms expired, scheduling restart.
Dec 01 10:02:07 raspberrypi systemd[1]: tedge-mapper-c8y.service: Scheduled restart job, restart counter is at 6.
Dec 01 10:02:07 raspberrypi systemd[1]: Stopped tedge-mapper-c8y converts Thin Edge JSON measurements to Cumulocity JSON format..
Dec 01 10:02:07 raspberrypi systemd[1]: tedge-mapper-c8y.service: Start request repeated too quickly.
Dec 01 10:02:07 raspberrypi systemd[1]: tedge-mapper-c8y.service: Failed with result 'exit-code'.
Dec 01 10:02:07 raspberrypi systemd[1]: Failed to start tedge-mapper-c8y converts Thin Edge JSON measurements to Cumulocity JSON format..
pi@raspberrypi:/var/log/tedge/agent $ journalctl -u tedge-mapper-c8y
-- Logs begin at Fri 2023-12-01 10:00:36 CET, end at Fri 2023-12-01 11:00:24 CET. --
Dec 01 10:00:40 raspberrypi systemd[1]: Started tedge-mapper-c8y converts Thin Edge JSON measurements to Cumulocity JSON format..
Dec 01 10:00:41 raspberrypi tedge-mapper[562]: The system config file '/etc/tedge/system.toml' doesn't exist. Use '/bin/systemctl' as a service manager.
Dec 01 10:00:41 raspberrypi tedge-mapper[562]: 2023-12-01T09:00:41.622166922Z  INFO flockfile::unix: Lockfile created "/run/lock/tedge-mapper-c8y.lock"
Dec 01 10:00:41 raspberrypi tedge-mapper[562]: 2023-12-01T09:00:41.839867718Z  INFO init: c8y_api::http_proxy: Initialisation
Dec 01 10:00:51 raspberrypi tedge-mapper[562]: 2023-12-01T09:00:51.84917886Z ERROR init: c8y_api::http_proxy: An error occurred while retrieving internal Id, operation will ret
Dec 01 10:00:51 raspberrypi tedge-mapper[562]:  Error: RequestTimeout
Dec 01 10:02:04 raspberrypi tedge-mapper[562]: 2023-12-01T09:02:04.84565141Z  INFO init: c8y_api::http_proxy: Initialisation done.
Dec 01 10:02:04 raspberrypi tedge-mapper[562]: Error: Permission denied (os error 13)

Anyone can help here?

thanks
Mauro

Please update to the latest version first (currently 0.13.1) using the instructions here: Install | Thin-edge

1 Like

Hi

I don’t want to upgrade now as MQTT API changed in 0.13

Mauro

Which is the way to upgrade it to 0.12 ?
This should support the old MQTT topics /tedge/ ?

thanks

Mauro

Yes the tedge/ topics are still supported in the new MQTT API (except for the service status). So you shouldn’t notice the difference in most circumstances.

But we still strongly encourage users to start updating the topics, a guide on the old to new topic mappings is available from the official docs:

1 Like

Hello Reuben

I did update thin edge to 0.13.1 and after some tricks it is now connecting and sending data to C8y.

O C8y Service management now I see services duplicated with wrong status information:

how can I clear that?

thanks

Mauro

We posted some instructions in the release notes.

Unfortunately there is no easily way to do this via the UI , however if you are familiar with go-c8y-cli then it is fairly trivial.

1 Like

thanks Reuben! that’s clear!

Hi Reuben,

sorry if I reopen this discussion. Once I cleared out the duplicated services from c8y. Now I have a misalignment between running services on thin edge and info on c8y.

For example the c8y mapper it is running on edge:

pi@raspberrypi:/lib/systemd/system $ sudo systemctl status tedge-mapper-c8y.service
â—Ź tedge-mapper-c8y.service - tedge-mapper-c8y converts Thin Edge JSON measurements to Cumulocity JSON format.
   Loaded: loaded (/lib/systemd/system/tedge-mapper-c8y.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2023-12-06 09:49:33 CET; 5h 26min ago
 Main PID: 572 (tedge-mapper)
    Tasks: 6 (limit: 3720)
   CGroup: /system.slice/tedge-mapper-c8y.service
           └─572 /usr/bin/tedge-mapper c8y

but the status on c8y is down. Also from tedge watchdog logs I can see this:

Dec 06 13:38:41 raspberrypi tedge-watchdog[3230]: 2023-12-06T12:38:41.133685223Z  WARN tedge_watchdog::systemd_watchdog: Watchdog is not enabled for device/main/service/tedge-mapper-c8y
Dec 06 13:38:41 raspberrypi tedge-watchdog[3230]: 2023-12-06T12:38:41.134073234Z  WARN tedge_watchdog::systemd_watchdog: Watchdog is not enabled for device/main/service/tedge-mapper-az
Dec 06 13:38:41 raspberrypi tedge-watchdog[3230]: 2023-12-06T12:38:41.134260378Z  WARN tedge_watchdog::systemd_watchdog: Watchdog is not enabled for device/main/service/tedge-mapper-aws
Dec 06 13:38:41 raspberrypi tedge-watchdog[3230]: 2023-12-06T12:38:41.134430301Z  WARN tedge_watchdog::systemd_watchdog: Watchdog is not enabled for device/main/service/tedge-mapper-collectd
Dec 06 13:38:41 raspberrypi tedge-watchdog[3230]: 2023-12-06T12:38:41.13466637Z  WARN tedge_watchdog::systemd_watchdog: Watchdog is not enabled for device/main/service/tedge-agent
Dec 06 13:38:41 raspberrypi tedge-watchdog[3230]: 2023-12-06T12:38:41.134833959Z  WARN tedge_watchdog::systemd_watchdog: Watchdog is not enabled for device/main/service/tedge-log-plugin
Dec 06 13:38:41 raspberrypi tedge-watchdog[3230]: 2023-12-06T12:38:41.134991734Z  WARN tedge_watchdog::systemd_watchdog: Watchdog is not enabled for device/main/service/tedge-configuration-plugi
Dec 06 13:38:41 raspberrypi tedge-watchdog[3230]: 2023-12-06T12:38:41.135211193Z  WARN tedge_watchdog::systemd_watchdog: Watchdog is not enabled for device/main/service/c8y-firmware-plugin
Dec 06 13:38:41 raspberrypi systemd[1]: tedge-watchdog.service: Succeeded.

Can you give me any hint?

thanks

Mauro