Correct. Cmon will try to scan all mounted file systems except for those in 
an ignore list. Problem is the ignore list is not user configurable via a 
config file, rather it is hard coded in cmon.py. You have a few options; 
(1) raise an issue against the weewx-cmon repo and ask for Matthew to make 
the ignore list user configurable, (2) drop cmon from your system or (3) 
manually change the ignore list in cmon.py to exclude your docker overlays. 
I'd suggest a combination of (3) and (1).

Have a look at line 266 in cmon.py 
<https://github.com/matthewwall/weewx-cmon/blob/master/bin/user/cmon.py#L266>, 
just add your docker overlay to the list. Not sure you can add one wildcard 
entry for all docker overlays but a bit of experimentation will get you 
there. 

Gary

And do raise an issue for when Matthew does get some time for cmon.  

On Thursday 15 February 2024 at 02:14:31 UTC+10 valken...@gmail.com wrote:

> Since upgrading to weewx 5.02 on ubuntue 22.04, deb instaal. I had some 
> issues becuase weewx does not run as root user anymore. Most of the were 
> easy to solve. However on this ubuntu also a docker instance is running for 
> another application. 
> My syslog now tells me this:
>
> INFO weewx.engine: Main loop exiting. Shutting engine down.
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: INFO weewx.engine: Shutting 
> down StdReport thread
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__: Caught 
> OSError: [Errno 13] Toegang geweigerd: 
> '/var/lib/docker/overlay2/f40006ded3b1ca4e49c40cb408c89374b8b4a067f4de13711cf4be188137d355/merged'
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     **** 
>  Traceback (most recent call last):
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 210, in run
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    self.dispatchEvent(weewx.Event(weewx.CHECK_LOOP, packet=packet))
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    callback(event)
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 660, in check_loop
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    raise BreakLoop
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     **** 
>  weewx.engine.BreakLoop
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****  
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     **** 
>  During handling of the above exception, another exception occurred:
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****  
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     **** 
>  Traceback (most recent call last):
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 676, in post_loop
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    self._catchup(self.engine.console.genArchiveRecords)
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 723, in _catchup
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    for record in generator(lastgood_ts):
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/drivers/__init__.py", line 31, in 
> genArchiveRecords
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    raise NotImplementedError("Method 'genArchiveRecords' not implemented")
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     **** 
>  NotImplementedError: Method 'genArchiveRecords' not implemented
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****  
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     **** 
>  During handling of the above exception, another exception occurred:
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****  
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     **** 
>  Traceback (most recent call last):
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewxd.py", line 166, in main
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    engine.run()
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 217, in run
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    self.dispatchEvent(weewx.Event(weewx.POST_LOOP))
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    callback(event)
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 678, in post_loop
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    self._software_catchup()
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 741, in _software_catchup
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    self.engine.dispatchEvent(weewx.Event(weewx.NEW_ARCHIVE_RECORD,
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/usr/share/weewx/weewx/engine.py", line 241, in dispatchEvent
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    callback(event)
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/etc/weewx/bin/user/cmon.py", line 723, in new_archive_record
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    self.save_data(self.get_data(now, self.last_ts))
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/etc/weewx/bin/user/cmon.py", line 743, in get_data
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    record = self.collector.get_data(now_ts)
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>  File "/etc/weewx/bin/user/cmon.py", line 551, in get_data
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     ****   
>    st = os.statvfs(disk)
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     **** 
>  PermissionError: [Errno 13] Toegang geweigerd: 
> '/var/lib/docker/overlay2/f40006ded3b1ca4e49c40cb408c89374b8b4a067f4de13711cf4be188137d355/merged'
> Feb 14 16:55:15 kwsweerstation weewxd[9005]: CRITICAL __main__:     **** 
>  Waiting 10 seconds then retrying...
> Feb 14 16:55:25 kwsweerstation weewxd[9005]: INFO __main__: retrying...
>
> As far as I understand it appears weewx is trying to access a docker 
> overlay  file, and doesn´t have the appropriate rights. Now I don't 
> understand what weewx has to do with my docker installation? Or am I totaly 
> missing the point of the issue here? I'm not sure how to fix this one. 
> Stopping docker seems to resolve the issue. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to weewx-user+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/aa72265f-d3b6-47c0-b45c-5c4c0ff497bbn%40googlegroups.com.

Reply via email to