Pump calibration issue

Hi,
I am trying to calibrate the three pumps on my Pioreactor. I followed the instructions in the documentation and ran “pio run pump_calibration”. I ran into the same error shown below on both my Pioreactors. I need help resolving the same.

Traceback (most recent call last):
File “/usr/local/bin/pio”, line 8, in
sys.exit(pio())
^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1157, in call
return self.main(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1078, in main
rv = self.invoke(ctx)
^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1688, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1666, in invoke
rv = super().invoke(ctx)
^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 1434, in invoke
return ctx.invoke(self.callback, **ctx.params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/core.py”, line 783, in invoke
return __callback(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/click/decorators.py”, line 33, in new_func
return f(get_current_context(), *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/pioreactor/actions/pump_calibration.py”, line 649, in click_pump_calibration
pump_calibration(min_duration, max_duration, json_file)
File “/usr/local/lib/python3.11/dist-packages/pioreactor/actions/pump_calibration.py”, line 444, in pump_calibration
logger = create_logger(“pump_calibration”, unit=unit, experiment=experiment)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/local/lib/python3.11/dist-packages/pioreactor/logging.py”, line 170, in create_logger
file_handler = handlers.WatchedFileHandler(config[“logging”][“log_file”])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File “/usr/lib/python3.11/logging/handlers.py”, line 479, in init
logging.FileHandler.init(self, filename, mode=mode,
File “/usr/lib/python3.11/logging/init.py”, line 1181, in init
StreamHandler.init(self, self._open())
^^^^^^^^^^^^
File “/usr/lib/python3.11/logging/init.py”, line 1213, in _open
return open_func(self.baseFilename, self.mode,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: ‘/var/log/pioreactor.log’

Hi @Raghuveer,

Hm, that’s interesting, I haven’t seen that issue come up before. Can you show us the output of the following?

ls -al /var/log/pioreactor.log

Are you running the pio run pump_calibration as the pioreactor user, too?

I think an easy fix is executing the following:

sudo chown pioreactor:pioreactor /var/log/pioreactor.log
sudo chmod 660 /var/log/pioreactor.log