xirixiz / dsmr-reader-docker

DSMR Reader in Docker.
https://hub.docker.com/r/xirixiz/dsmr-reader-docker
113 stars 33 forks source link

DSMRReader SENDER container = unhealthy #267

Closed puijken closed 2 years ago

puijken commented 2 years ago

Support guidelines

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

Description

Sinds de upgrade naar 5.0 is de sender container unhealthy. Ik heb deze gedeployed via docker-compose (zie file hieronder). Ik zie in container health dat deze een HTTP check probeert te doen maar de http server wordt vermoedelijk bij een sender container niet opgestart?

De container doet echter gewoon wel wat hij moet doen voor de rest dus eerder een schoonheidsfoutje.

Expected behaviour

Container rapporteert een healthy status.

Actual behaviour

Container rapporteert unhealthy status.

image

Steps to reproduce

Sender container deployen met bijgevoegde docker-compose.yml file.

Docker info

Client:
 Context:    default
 Debug Mode: false
 Plugins:
  app: Docker App (Docker Inc., v0.9.1-beta3)
  buildx: Docker Buildx (Docker Inc., v0.7.1-docker)
  scan: Docker Scan (Docker Inc., v0.12.0)

Server:
 Containers: 6
  Running: 5
  Paused: 0
  Stopped: 1
 Images: 6
 Server Version: 20.10.12
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: systemd
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs 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: 7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc version: v1.0.2-0-g52b36a2
 init version: de40ad0
 Security Options:
  apparmor
  seccomp
   Profile: default
  cgroupns
 Kernel Version: 5.10.0-10-amd64
 Operating System: Debian GNU/Linux 11 (bullseye)
 OSType: linux
 Architecture: x86_64
 CPUs: 4
 Total Memory: 7.659GiB
 Name: intelnuc
 ID: WAXZ:YHWB:2NT3:WXQZ:ANSC:77CZ:77YM:35J6:TRLV:WYYD:ESWC:SCBZ
 Docker Root Dir: /var/lib/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: bridge-nf-call-iptables is disabled
WARNING: bridge-nf-call-ip6tables is disabled

Version

Docker compose

version: '3'
services:
  dsmr_remote:
    image: xirixiz/dsmr-reader-docker:latest
    container_name: dsmr_remote
    restart: always
    environment:
      - TZ=Europe/Amsterdam
      - DJANGO_TIME_ZONE=Europe/Amsterdam
      - DSMRREADER_REMOTE_DATALOGGER_API_KEYS=*snip*
      - DSMRREADER_REMOTE_DATALOGGER_API_HOSTS=*snip*
      - DSMRREADER_REMOTE_DATALOGGER_INPUT_METHOD=serial
      - DSMRREADER_REMOTE_DATALOGGER_MODE=sender
      - DSMRREADER_REMOTE_DATALOGGER_SERIAL_PORT=/dev/ttyUSB0
      - DSMRREADER_REMOTE_DATALOGGER_SERIAL_BAUDRATE=115200
      - DSMRREADER_REMOTE_DATALOGGER_SLEEP=5
      - DSMRREADER_REMOTE_DATALOGGER_DEBUG_LOGGING=false
      - DSMRREADER_LOGLEVEL=WARNING
    devices:
      - "/dev/ttyUSB0:/dev/ttyUSB0"
    labels:
      com.docker.compose.project: dsmr_remote
      com.docker.compose.service: dsmr_remote
    networks:
      macvlan12:
        ipv4_address: *snip*
    hostname: dmsr_remote
    domainname: *snip*
networks:
  macvlan12:
    external: true

Container logs

[s6-init] making user provided files available at /var/run/s6/etc...exited 0. [s6-init] ensuring user provided files have correct perms...exited 0. [fix-attrs.d] applying ownership & permissions fixes... [fix-attrs.d] done. [cont-init.d] executing container initialization scripts... [cont-init.d] 10-adduser: executing... usermod: no changes


User UID: 803 User GID: 803

[cont-init.d] 10-adduser: exited 0. [cont-init.d] 20-set-app-defaults: executing...

[ INFO ] DSMR Reader release: 5.0.0

[ INFO ] DSMR Reader Docker release: 2022.02.02

[ INFO ] Ensure permissions...

[ INFO ] Setting architecture requirements...

[ INFO ] X64 Architecture

[ INFO ] Fixing /dev/ttyUSB* security...

[ INFO ] Configuring DSMR in sender datalogger mode....

[ INFO ] Installing the DSMR remote datalogger client...

[ INFO ] Using a serial connection for the DSMR remote datalogger...

[ INFO ] Adding DSMRREADER_REMOTE_DATALOGGER_SERIAL_PORT and DSMRREADER_REMOTE_DATALOGGER_SERIAL_PORT to the DSMR remote datalogger configuration...

[ INFO ] Adding DSMRREADER_REMOTE_DATALOGGER_API_HOSTS, DSMRREADER_REMOTE_DATALOGGER_API_KEYS and DSMRREADER_REMOTE_DATALOGGER_INPUT_METHOD to the DSMR remote datalogger configuration...

[ INFO ] Adding DSMRREADER_REMOTE_DATALOGGER_SLEEP to the DSMR remote datalogger configuration...

[ INFO ] Adding DSMRREADER_REMOTE_DATALOGGER_DEBUG_LOGGING to the DSMR remote datalogger configuration... [cont-init.d] 20-set-app-defaults: exited 0. [cont-init.d] done. [services.d] starting services Starting DSMR Reader - remote datalogger... [services.d] done. [2022-02-14 12:01:27.973081] Starting... [2022-02-14 12:01:27.973737] Opening connection "/dev/ttyUSB0" using options: {'baudrate': 115200, 'bytesize': 8, 'parity': 'N', 'stopbits': 1, 'xonxoff': 1, 'rtscts': 0} [2022-02-14 12:01:34.480682] Opening connection "/dev/ttyUSB0" using options: {'baudrate': 115200, 'bytesize': 8, 'parity': 'N', 'stopbits': 1, 'xonxoff': 1, 'rtscts': 0} [2022-02-14 12:01:40.640675] Opening connection "/dev/ttyUSB0" using options: {'baudrate': 115200, 'bytesize': 8, 'parity': 'N', 'stopbits': 1, 'xonxoff': 1, 'rtscts': 0} [2022-02-14 12:01:46.476681] Opening connection "/dev/ttyUSB0" using options: {'baudrate': 115200, 'bytesize': 8, 'parity': 'N', 'stopbits': 1, 'xonxoff': 1, 'rtscts': 0}

Additional info

No response

xirixiz commented 2 years ago

Aaah, crap, dat is idd een bugje. Dat heb ik over het hoofd gezien. Bedankt voor de melding en ik ga er een fix voor maken.

xirixiz commented 2 years ago

Heb de nieuwe release toch maar gelaten zoals het is. Ik denk dat het voor nu het beste is om voor de sender container deze run parameter mee te geven --no-healthcheck, of wanneer je docker-compose gebruikt het volgende op te nemen:

healthcheck:
  disable: true

Kan je eens verifieren of dat werkt en er terugkoppeling op geven? Thanks!

xirixiz commented 2 years ago

So like this:

version: '3'
services:
  dsmr_remote:
    image: xirixiz/dsmr-reader-docker:latest
    container_name: dsmr_remote
    restart: always
    environment:
      - TZ=Europe/Amsterdam
      - DJANGO_TIME_ZONE=Europe/Amsterdam
      - DSMRREADER_REMOTE_DATALOGGER_API_KEYS=*snip*
      - DSMRREADER_REMOTE_DATALOGGER_API_HOSTS=*snip*
      - DSMRREADER_REMOTE_DATALOGGER_INPUT_METHOD=serial
      - DSMRREADER_REMOTE_DATALOGGER_MODE=sender
      - DSMRREADER_REMOTE_DATALOGGER_SERIAL_PORT=/dev/ttyUSB0
      - DSMRREADER_REMOTE_DATALOGGER_SERIAL_BAUDRATE=115200
      - DSMRREADER_REMOTE_DATALOGGER_SLEEP=5
      - DSMRREADER_REMOTE_DATALOGGER_DEBUG_LOGGING=false
      - DSMRREADER_LOGLEVEL=WARNING
    healthcheck:
      disable: true
    devices:
      - "/dev/ttyUSB0:/dev/ttyUSB0"
    labels:
      com.docker.compose.project: dsmr_remote
      com.docker.compose.service: dsmr_remote
    networks:
      macvlan12:
        ipv4_address: *snip*
    hostname: dmsr_remote
    domainname: *snip*
networks:
  macvlan12:
    external: true
puijken commented 2 years ago

Vergeten terugkoppelen - maar zoals verwacht doet dit inderdaad wat het moet doen! Bedankt :)