So far its main task is working but secondary tasks fail (clone, backup…). Few more notes follow.
Didn’t made any field validation tests or forcefully setting wrong values to break things.
DDNS Provider - advice
On the ddns provider side it is reporting what they call “client faults”:
After configuring a new update client, please keep an eye one the Faults column on the overview page. It shows 2 values: C: S:
An increasing number of client faults usually means you (or the software you use) are doing something wrong (e.g. sending updates although your IP address did not change). If you see that, please fix it!
Currently the “client faults” are increasing with every check request. With other ddns names on the same provider using ns7 ddclient module they are shown with no “faults”.
Log Excerpts
Log shows some errors/warnings.
This one about cgroups is probably nothing (services restarting):
2024-08-11T22:11:45+02:00 [1:ddclient1:systemd] Stopping Podman ddclient-app.service...
2024-08-11T22:11:48+02:00 [1:ddclient1:conmon] conmon 266678d80e517a967b23 <nwarn>: Failed to open cgroups file: /sys/fs/cgroup/user.slice/user-1017.slice/user@1017.service/user.slice/user-libpod_pod_e4c9c4bcbba40f73d1417a656c8b6ee3efaab9a9b907ec545a18e9cae66b506c.slice/libpod-266678d80e517a967b23b06e7f237661b6bacb05fc7b3cca52df8e2e2597dc9a.scope/container/memory.events
2024-08-11T22:11:48+02:00 [1:ddclient1:ddclient1] 266678d80e517a967b23b06e7f237661b6bacb05fc7b3cca52df8e2e2597dc9a
2024-08-11T22:11:48+02:00 [1:ddclient1:ddclient1] 266678d80e517a967b23b06e7f237661b6bacb05fc7b3cca52df8e2e2597dc9a
2024-08-11T22:11:48+02:00 [1:ddclient1:systemd] Stopped Podman ddclient-app.service.
Another one with Failed to open /run/user/...
and error removing pod, could be nothing:
2024-08-11T22:11:48+02:00 [1:ddclient1:systemd] Removed slice cgroup user-libpod_pod_e4c9c4bcbba40f73d1417a656c8b6ee3efaab9a9b907ec545a18e9cae66b506c.slice.
2024-08-11T22:11:48+02:00 [1:ddclient1:podman] e4c9c4bcbba40f73d1417a656c8b6ee3efaab9a9b907ec545a18e9cae66b506c
2024-08-11T22:11:48+02:00 [1:ddclient1:systemd] user-libpod_pod_e4c9c4bcbba40f73d1417a656c8b6ee3efaab9a9b907ec545a18e9cae66b506c.slice: Failed to open /run/user/1017/systemd/transient/user-libpod_pod_e4c9c4bcbba40f73d1417a656c8b6ee3efaab9a9b907ec545a18e9cae66b506c.slice: No such file or directory
2024-08-11T22:11:48+02:00 [1:ddclient1:podman] Error: removing pod e4c9c4bcbba40f73d1417a656c8b6ee3efaab9a9b907ec545a18e9cae66b506c cgroup: removing pod e4c9c4bcbba40f73d1417a656c8b6ee3efaab9a9b907ec545a18e9cae66b506c cgroup: Unit user-libpod_pod_e4c9c4bcbba40f73d1417a656c8b6ee3efaab9a9b907ec545a18e9cae66b506c.slice not loaded.
2024-08-11T22:11:48+02:00 [1:ddclient1:systemd] ddclient.service: Control process exited, code=exited, status=125/n/a
2024-08-11T22:11:48+02:00 [1:ddclient1:systemd] ddclient.service: Failed with result 'exit-code'.
2024-08-11T22:11:48+02:00 [1:ddclient1:systemd] Stopped Podman ddclient.service.
2024-08-11T22:11:48+02:00 [1:ddclient1:systemd] Starting Podman ddclient.service...
2024-08-11T22:11:48+02:00 [1:ddclient1:systemd] Created slice cgroup user-libpod_pod_e032f01c3399fd0e49dda464b91d7dd83ad948fc48a54f9001d296eb356c33f6.slice.
CURL error with changeip.com
. Don’t know if it comes from upstream source (linuxserver.io) or from the ns8 app code.
2024-08-11T22:11:50+02:00 [1:ddclient1:ddclient-app] [ls.io-init] done.
2024-08-11T22:11:51+02:00 [1:ddclient1:ddclient-app] WARNING: CURL error (6) Couldn't resolve host. The given remote host was not resolved.
2024-08-11T22:11:51+02:00 [1:ddclient1:ddclient-app] WARNING: curl cannot connect to https://ip.changeip.com using IPv6
2024-08-11T22:11:51+02:00 [1:ddclient1:ddclient-app] WARNING: updating ns8test.nsupdate.info: nochg: No update required; unnecessary attempts to change to the current address are considered abusive
Possible features:
- show public IP (not really necessary)
- custom check time
- custom check provider
- populate list of ddns providers (leaving room for custom ones). Not really required but handy for some users.
- populate list of protocols (leaving room for custom ones). Not really required and avoidable if it’s more of a hustle.
- Preset DDNS providers profiles: If ddns providers list is populated, auto-fill in the other fields with known config details.
Also fine for me if stays as is and give less work.
No multiple ddns providers on a single instance (I think the ns7 module had it) but shall be possible to create another instance.
Backup
Failed, related to mariadb which the app is not using (maybe some remnant code of template used to build the app). Tested on unclean machine, so there’s a chance the problem lays on my side.
Task module/ddclient1/run-backup run failed: {'output': '', 'error': 'Job for backup2.service failed because the control process exited with error code.\nSee "systemctl --user status backup2.service" and "journalctl --user -xeu backup2.service" for details.\n', 'exit_code': 1}
1
Job for backup2.service failed because the control process exited with error code.
See "systemctl --user status backup2.service" and "journalctl --user -xeu backup2.service" for details.
2024-08-11T22:36:06+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/064eab3c-8432-460c-a504-c3bd48946a2f: configure-backup/50write_systemd_units is starting
2024-08-11T22:36:07+02:00 [1:ddclient1:agent@ddclient1] Created symlink /home/ddclient1/.config/systemd/user/timers.target.wants/backup1.timer → /home/ddclient1/.config/systemd/user/backup1.timer.
2024-08-11T22:36:07+02:00 [1:ddclient1:systemd] Reloading.
2024-08-11T22:36:07+02:00 [1:ddclient1:systemd] Started Backup to Local storage repo.
2024-08-11T22:36:07+02:00 [1:ddclient1:systemd] Reloading.
2024-08-11T22:36:07+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/064eab3c-8432-460c-a504-c3bd48946a2f: action "configure-backup" status is "completed" (0) at step 50write_systemd_units
2024-08-11T22:36:08+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/b804020d-ef8b-436a-b86a-a95e02b8929f: run-backup/50start_service_unit is starting
2024-08-11T22:36:08+02:00 [1:ddclient1:systemd] Starting Backup to Local storage repo...
2024-08-11T22:36:09+02:00 [1:ddclient1:backup1] Error: no container with name or ID "mariadb-app" found: no such container
2024-08-11T22:36:09+02:00 [1:ddclient1:backup1] [ERROR] module-dump-state failed. Command '['module-dump-state', '1']' returned non-zero exit status 125.
2024-08-11T22:36:09+02:00 [1:ddclient1:backup1] [ERROR] module-backup aborted.
2024-08-11T22:36:09+02:00 [1:ddclient1:systemd] backup1.service: Main process exited, code=exited, status=1/FAILURE
2024-08-11T22:36:09+02:00 [1:ddclient1:systemd] backup1.service: Failed with result 'exit-code'.
2024-08-11T22:36:09+02:00 [1:ddclient1:systemd] Failed to start Backup to Local storage repo.
2024-08-11T22:36:09+02:00 [1:ddclient1:agent@ddclient1] Job for backup1.service failed because the control process exited with error code.
2024-08-11T22:36:09+02:00 [1:ddclient1:agent@ddclient1] See "systemctl --user status backup1.service" and "journalctl --user -xeu backup1.service" for details.
2024-08-11T22:36:09+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/b804020d-ef8b-436a-b86a-a95e02b8929f: action "run-backup" status is "aborted" (1) at step 50start_service_unit
2024-08-11T22:36:56+02:00 [1:ddclient1:ddclient-app] WARNING: CURL error (6) Couldn't resolve host. The given remote host was not resolved.
2024-08-11T22:36:56+02:00 [1:ddclient1:ddclient-app] WARNING: curl cannot connect to https://ip.changeip.com using IPv6
2024-08-11T22:36:56+02:00 [1:ddclient1:ddclient-app] WARNING: updating ns8test.nsupdate.info: nochg: No update required; unnecessary attempts to change to the current address are considered abusive
2024-08-11T22:37:08+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/71702027-e623-49bc-97cb-1c3289bc116e: configure-backup/50write_systemd_units is starting
2024-08-11T22:37:09+02:00 [1:ddclient1:systemd] Reloading.
2024-08-11T22:37:09+02:00 [1:ddclient1:systemd] Reloading.
2024-08-11T22:37:09+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/71702027-e623-49bc-97cb-1c3289bc116e: action "configure-backup" status is "completed" (0) at step 50write_systemd_units
2024-08-11T22:37:10+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/a3c446e8-bd08-43fa-9fae-d11a06df0d5e: run-backup/50start_service_unit is starting
2024-08-11T22:37:10+02:00 [1:ddclient1:systemd] Starting Backup to Local storage repo...
2024-08-11T22:37:10+02:00 [1:ddclient1:backup1] Error: no container with name or ID "mariadb-app" found: no such container
2024-08-11T22:37:10+02:00 [1:ddclient1:backup1] [ERROR] module-dump-state failed. Command '['module-dump-state', '1']' returned non-zero exit status 125.
2024-08-11T22:37:10+02:00 [1:ddclient1:backup1] [ERROR] module-backup aborted.
2024-08-11T22:37:10+02:00 [1:ddclient1:systemd] backup1.service: Main process exited, code=exited, status=1/FAILURE
2024-08-11T22:37:10+02:00 [1:ddclient1:systemd] backup1.service: Failed with result 'exit-code'.
2024-08-11T22:37:10+02:00 [1:ddclient1:systemd] Failed to start Backup to Local storage repo.
2024-08-11T22:37:10+02:00 [1:ddclient1:agent@ddclient1] See "systemctl --user status backup1.service" and "journalctl --user -xeu backup1.service" for details.
2024-08-11T22:37:10+02:00 [1:ddclient1:agent@ddclient1] Job for backup1.service failed because the control process exited with error code.
2024-08-11T22:37:10+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/a3c446e8-bd08-43fa-9fae-d11a06df0d5e: action "run-backup" status is "aborted" (1) at step 50start_service_unit
2024-08-11T22:38:08+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/28ae0195-3bcf-4a59-9cc1-89e5ea804037: configure-backup/50write_systemd_units is starting
2024-08-11T22:38:09+02:00 [1:ddclient1:systemd] Reloading.
2024-08-11T22:38:09+02:00 [1:ddclient1:systemd] backup1.timer: Unit to trigger vanished.
2024-08-11T22:38:09+02:00 [1:ddclient1:systemd] backup1.timer: Failed with result 'resources'.
2024-08-11T22:38:09+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/28ae0195-3bcf-4a59-9cc1-89e5ea804037: action "configure-backup" status is "completed" (0) at step 50write_systemd_units
2024-08-11T22:38:46+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/280b0ff5-401f-4837-90b2-65eebf750380: configure-backup/50write_systemd_units is starting
2024-08-11T22:38:47+02:00 [1:ddclient1:agent@ddclient1] Created symlink /home/ddclient1/.config/systemd/user/timers.target.wants/backup2.timer → /home/ddclient1/.config/systemd/user/backup2.timer.
2024-08-11T22:38:47+02:00 [1:ddclient1:systemd] Reloading.
2024-08-11T22:38:47+02:00 [1:ddclient1:systemd] Started Backup to Local storage destination.
2024-08-11T22:38:47+02:00 [1:ddclient1:systemd] Reloading.
2024-08-11T22:38:47+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/280b0ff5-401f-4837-90b2-65eebf750380: action "configure-backup" status is "completed" (0) at step 50write_systemd_units
2024-08-11T22:38:47+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/b961fb18-7c57-4e0f-adea-62c07e8298b5: run-backup/50start_service_unit is starting
2024-08-11T22:38:47+02:00 [1:ddclient1:systemd] Starting Backup to Local storage destination...
2024-08-11T22:38:48+02:00 [1:ddclient1:backup2] Error: no container with name or ID "mariadb-app" found: no such container
2024-08-11T22:38:48+02:00 [1:ddclient1:backup2] [ERROR] module-dump-state failed. Command '['module-dump-state', '2']' returned non-zero exit status 125.
2024-08-11T22:38:48+02:00 [1:ddclient1:backup2] [ERROR] module-backup aborted.
2024-08-11T22:38:48+02:00 [1:ddclient1:systemd] backup2.service: Main process exited, code=exited, status=1/FAILURE
2024-08-11T22:38:48+02:00 [1:ddclient1:systemd] backup2.service: Failed with result 'exit-code'.
2024-08-11T22:38:48+02:00 [1:ddclient1:systemd] Failed to start Backup to Local storage destination.
2024-08-11T22:38:48+02:00 [1:ddclient1:agent@ddclient1] Job for backup2.service failed because the control process exited with error code.
2024-08-11T22:38:48+02:00 [1:ddclient1:agent@ddclient1] See "systemctl --user status backup2.service" and "journalctl --user -xeu backup2.service" for details.
2024-08-11T22:38:48+02:00 [1:ddclient1:agent@ddclient1] task/module/ddclient1/b961fb18-7c57-4e0f-adea-62c07e8298b5: action "run-backup" status is "aborted" (1) at step 50start_service_unit
Clone
Failed. Error messages but at the end it seems the app is cloned.
(Note the test machine is not using letsencrypt).
Task module/ddclient2/clone-module run failed: {'output': '', 'error': '<7>podman-pull-missing ghcr.io/nethserver/rsync:2.9.1
Trying to pull ghcr.io/nethserver/rsync:2.9.1...
Getting image source signatures
Copying blob sha256:a1936717a190e999fb5b300602d3f134aaa3ee0fb16ec20c3451b10819ada519
Copying blob sha256:82e94dfc42a5139b349717d0ef16203b01c32a0a5c61b3b3c034e6a329868fbf
Copying config sha256:c3ac09eac61c274e067ab9939a72076897887a628f61c1b595b2d9d95f52bf6f
Writing manifest to image destination
c3ac09eac61c274e067ab9939a72076897887a628f61c1b595b2d9d95f52bf6f
<7>podman run --rm --privileged --network=host --workdir=/srv --env=RSYNCD_NETWORK=10.5.4.0/24 --env=RSYNCD_ADDRESS=cluster-localnode --env=RSYNCD_PORT=20033 --env=RSYNCD_USER=ddclient1 --env=RSYNCD_PASSWORD=1245113ca9e5c-b73e-4db6-bfa8-bb22cdd11e16 --env=RSYNCD_SYSLOG_TAG=ddclient2 --volume=/dev/log:/dev/log --volume=/home/ddclient2/.config/state:/srv/state --volume=config:/srv/volumes/config ghcr.io/nethserver/rsync:2.9.1
Importing DDCLIENT_HOST from source instance
Importing DDCLIENT_LOGIN from source instance
Importing DDCLIENT_PASSWORD from source instance
Importing DDCLIENT_PROTOCOL from source instance
Importing DDCLIENT_SERVER from source instance
Traceback (most recent call last):
File "/home/ddclient2/.config/actions/clone-module/50Traefik", line 12, in <module>
"lets_encrypt": os.environ["TRAEFIK_LETS_ENCRYPT"] == "True",
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen os>", line 679, in __getitem__
KeyError: \'TRAEFIK_LETS_ENCRYPT\'
', 'exit_code': 1}
<7>podman-pull-missing ghcr.io/nethserver/rsync:2.9.1
Trying to pull ghcr.io/nethserver/rsync:2.9.1...
Getting image source signatures
Copying blob sha256:a1936717a190e999fb5b300602d3f134aaa3ee0fb16ec20c3451b10819ada519
Copying blob sha256:82e94dfc42a5139b349717d0ef16203b01c32a0a5c61b3b3c034e6a329868fbf
Copying config sha256:c3ac09eac61c274e067ab9939a72076897887a628f61c1b595b2d9d95f52bf6f
Writing manifest to image destination
c3ac09eac61c274e067ab9939a72076897887a628f61c1b595b2d9d95f52bf6f
<7>podman run --rm --privileged --network=host --workdir=/srv --env=RSYNCD_NETWORK=10.5.4.0/24 --env=RSYNCD_ADDRESS=cluster-localnode --env=RSYNCD_PORT=20033 --env=RSYNCD_USER=ddclient1 --env=RSYNCD_PASSWORD=1245113ca9e5c-b73e-4db6-bfa8-bb22cdd11e16 --env=RSYNCD_SYSLOG_TAG=ddclient2 --volume=/dev/log:/dev/log --volume=/home/ddclient2/.config/state:/srv/state --volume=config:/srv/volumes/config ghcr.io/nethserver/rsync:2.9.1
Importing DDCLIENT_HOST from source instance
Importing DDCLIENT_LOGIN from source instance
Importing DDCLIENT_PASSWORD from source instance
Importing DDCLIENT_PROTOCOL from source instance
Importing DDCLIENT_SERVER from source instance
Traceback (most recent call last):
File "/home/ddclient2/.config/actions/clone-module/50Traefik", line 12, in <module>
"lets_encrypt": os.environ["TRAEFIK_LETS_ENCRYPT"] == "True",
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen os>", line 679, in __getitem__
KeyError: 'TRAEFIK_LETS_ENCRYPT'