Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DSMR docker is not running anymore since latest version (published Dec 12, 2022 at 8:46 pm) #309

Closed
3 tasks done
hoorna opened this issue Dec 13, 2022 · 8 comments
Closed
3 tasks done

Comments

@hoorna
Copy link

hoorna commented Dec 13, 2022

Support guidelines

I've found an issue and checked that ...

  • ... the documentation does not mention anything about my problem
  • ... there are no open or closed issues that are related to my problem

Description

DSMR Docker is not running anymore after updating to the latest image (published on Dec 12, 2022 at 8:46 pm).

Expected behaviour

The latest image is expected to run normally.

Actual behaviour

The latest image stops unexpectedly after the starting and then is starting repeatedly.

Steps to reproduce

Install and start the latest DSMR Docker version ((published on Dec 12, 2022 at 8:46 pm)) on a Synology DS920+.

Docker info

Client:
 Context:    default
 Debug Mode: false

Server:
 Containers: 10
  Running: 7
  Paused: 0
  Stopped: 3
 Images: 169
 Server Version: 20.10.3
 Storage Driver: aufs
  Root Dir: /volume1/@docker/aufs
  Backing Filesystem: extfs
  Dirs: 1630
  Dirperm1 Supported: true
 Logging Driver: db
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs db fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 io.containerd.runtime.v1.linux runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 3fa00912415f3e9c6f82dd72119179d599efd13b
 runc version: 31cc25f16f5eba4d0f53e35374532873744f4b31
 init version: ed96d00 (expected: de40ad0)
 Security Options:
  apparmor
 Kernel Version: 4.4.180+
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 7.61GiB
 Name: 
 ID: 
 Docker Root Dir: /volume1/@docker
 Debug Mode: false
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

WARNING: No kernel memory TCP limit support
WARNING: No cpu cfs quota support
WARNING: No cpu cfs period support
WARNING: No blkio weight support
WARNING: No blkio weight_device support
WARNING: No blkio throttle.read_bps_device support
WARNING: No blkio throttle.write_bps_device support
WARNING: No blkio throttle.read_iops_device support
WARNING: No blkio throttle.write_iops_device support
WARNING: the aufs storage-driver is deprecated, and will be removed in a future release.

Version

  • Docker compose version (type docker-compose --version):
    docker-compose version 1.28.5, build 24fb474e
  • System info (type uname -a):
    Linux XXXXXXXXXX 4.4.180+ #42962 SMP Tue Sep 20 22:35:56 CST 2022 x86_64 GNU/Linux synology_geminilake_920+

Docker compose

I do not have the output because I am running now a previous DSMR Docker version (build amd64-5.9.0-2022.11.04).

Container logs

Because of the problems with the latest version I have installed a previous version now of DSMR Docker. So I do not have actually the error log from the latest build anymore but I remember that it was complaining about a USB TTY or something like that. That error message sound strange to me because I am using "Network socket" for meter readings (not Synology USB ports).

Additional info

I am running DSMR Docker on a Synology DS920+ for about a year and a half without any problem. :-)

@xirixiz
Copy link
Owner

xirixiz commented Dec 13, 2022

Hi, that could be indeed as there are breaking changes. Please check the merge logs. You should be able to fix it easily.

BREAKING

  • Restructured and datalogger modes. STANDALONE is untouched, but API_SERVER and API_CLIENT have been introduced.
  • Receiver and sender datalogger modes have been removed/replaced.

NON BREAKING

  • Only for STANDALONE - SERIAL a device validation is still in place. This removes errors with other setups like API_SERVER or API_CLIENT.
  • Other modes than STANDALONE are now functioning properly. Exactly like the examples provided in the DSMR Reader docs.
  • Dcocumentation has been updated and provides better information .

@hoorna
Copy link
Author

hoorna commented Dec 13, 2022

As far as I understand your post DSMR Docker is changed from now on. Default (without declaring datalogger environment variables) DSMR Docker starts in Serial mode (that is reading the USB port).

In my docker-compose file I now declared datalogger environment variables for a network socket datalogger. Happely DSMR Docker is working again. Thanks for the clarification.

When there is a new DSMR Docker image build then I am always looking for release notes about changes. Sadly I never can find any release note. Is it possible to add such notes anywhere so that users don't get suprised with a none working container after a image update (like me this time).

@xirixiz
Copy link
Owner

xirixiz commented Dec 13, 2022

Good to hear, and good you metion this about the release notes. Maybe I can add a release in the build pipeline so the release notes are visible with the release in GitHub. I`ll make an action point for this.

@hoorna
Copy link
Author

hoorna commented Dec 13, 2022

It would be great if the release notes are visible with the release in GitHub.

@enicky
Copy link

enicky commented Dec 13, 2022

I tried to get mine working as an api server ... and took me a while untill i went through the code ...
the values for DSMRREADER_OPERATION_MODE are lowercase as found in

if [[ "${DSMRREADER_OPERATION_MODE}" != @(standalone|api_server|api_client) ]]; then

but the readme shows them as uppercase. It's maybe an idea to update the docs ?

@xirixiz
Copy link
Owner

xirixiz commented Dec 13, 2022

Even better, I could always lowercase the input 😉. Thanks for the input.

@enicky
Copy link

enicky commented Dec 14, 2022

would be better yes , but then you have go through all your code. because on line 74 you do the same check again ...

@xirixiz
Copy link
Owner

xirixiz commented Dec 14, 2022

Nah, first lowercase them all, then proceed with the code. I don't want to do the lowercasing every time in multiple parts of the code.

Anyway, for now I just updated the README. I will implement such a function later. Thanks for sharing ideas/thoughts!

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

No branches or pull requests

3 participants