CheckMK-Docker after Update to 2.2.0 => Error 500

I have ran into the same issue, after upgrading my Checkmk docker to 2.2.0p2.cre the web GUI is no longer accessible and I am receiving a HTTP Error 500.

I check the web.log in the docker container /opt/omd/sites/cmk/var/log/web.log and I get the following entry

2023-06-08 09:01:31,204 [40] [cmk.gui.wsgi.app 2208] Exception on /cmk/check_mk/ [GET]
Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3/cmk/gui/hooks.py", line 74, in call
    hook.handler(*args)
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/search.py", line 521, in _launch_requests_processing_background
    job.start(_process_update_requests_background)
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/search.py", line 579, in start
    return super().start(target) if redis_enabled() else None
           ^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 649, in start
    self._start(target)
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 654, in _start
    if self.is_active():
       ^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 529, in is_active
    job_status = self.get_status()
                 ^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 622, in get_status
    status = self._jobstatus_store.read()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 826, in read
    data: JobStatusSpec = JobStatusSpec.parse_obj(raw_status_spec)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.11/site-packages/pydantic/main.py", line 526, in parse_obj
    return cls(**obj)
           ^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.11/site-packages/pydantic/main.py", line 342, in __init__
    raise validation_error
pydantic.error_wrappers.ValidationError: 2 validation errors for JobStatusSpec
loginfo
  field required (type=value_error.missing)
is_active
  field required (type=value_error.missing)

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3.11/site-packages/flask/app.py", line 2525, in wsgi_app
    response = self.full_dispatch_request()
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.11/site-packages/flask/app.py", line 1822, in full_dispatch_request
    rv = self.handle_user_exception(e)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.11/site-packages/flask/app.py", line 1818, in full_dispatch_request
    rv = self.preprocess_request()
         ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.11/site-packages/flask/app.py", line 2309, in preprocess_request
    rv = self.ensure_sync(before_func)()
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/wsgi/blueprints/checkmk.py", line 56, in before_request
    hooks.call("request-start")
  File "/omd/sites/cmk/lib/python3/cmk/gui/hooks.py", line 78, in call
    raise MKGeneralException(msg) from e
cmk.utils.exceptions.MKGeneralException: Traceback (most recent call last):
  File "/omd/sites/cmk/lib/python3/cmk/gui/hooks.py", line 74, in call
    hook.handler(*args)
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/search.py", line 521, in _launch_requests_processing_background
    job.start(_process_update_requests_background)
  File "/omd/sites/cmk/lib/python3/cmk/gui/watolib/search.py", line 579, in start
    return super().start(target) if redis_enabled() else None
           ^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 649, in start
    self._start(target)
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 654, in _start
    if self.is_active():
       ^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 529, in is_active
    job_status = self.get_status()
                 ^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 622, in get_status
    status = self._jobstatus_store.read()
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3/cmk/gui/background_job.py", line 826, in read
    data: JobStatusSpec = JobStatusSpec.parse_obj(raw_status_spec)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.11/site-packages/pydantic/main.py", line 526, in parse_obj
    return cls(**obj)
           ^^^^^^^^^^
  File "/omd/sites/cmk/lib/python3.11/site-packages/pydantic/main.py", line 342, in __init__
    raise validation_error
pydantic.error_wrappers.ValidationError: 2 validation errors for JobStatusSpec
loginfo
  field required (type=value_error.missing)
is_active
  field required (type=value_error.missing)

Checking the status through the command line it looks like everything is up as well.

OMD[cmk]:~$ omd status
agent-receiver: running
mkeventd:       running
rrdcached:      running
npcd:           running
nagios:         running
apache:         running
redis:          running
crontab:        running
-----------------------
Overall state:  running
OMD[cmk]:~$

I am still getting email notifications for events/alarms so it appears like the back end is working, just the web gui seems to be having issues.

Edit: I was successful in launching a new clean docker image with 2.2.0p2.cre so this appears to only affect upgrades. I upgraded the docker image from 2.1.0p28 to 2.2.0p2