fix(worker): set app_up only after the runtime version guard (SIENTIAPDE-2214)

The probes only check app_up, which was set to 1 when the metrics server started,
before install_runtime. A pod that would fail the guard could turn Ready first, so a
rollout would remove the old pod. app_up now goes to 1 right after the guard.

Also: copy sys.modules keys before iterating, raise the sientia_model floor to the
runtime's >=0.14.0, pin the same runtime versions in requirements-local.txt, test
that the snapshot is taken before the install and the real importlib.metadata path,
and document the boot failure in README and CLAUDE.md.
This commit is contained in:
PedroHMCosme
2026-10-22 12:17:12 -03:00
parent 0f5e4a5cef
commit dfbdd4b605
6 changed files with 74 additions and 15 deletions

View File

@@ -4,7 +4,7 @@ sqlalchemy==2.0.50
boto3==1.42.70
botocore==1.42.70
sientia_do>=1.12.2
sientia_model>=0.8.1
sientia_model>=0.14.0
prometheus-client==0.23.1
beautifulsoup4==4.12.3
evidently==0.6.7
@@ -12,7 +12,7 @@ jsonschema==4.26.0
# Same versions as the plugin runtimes (model-plugin-factory runtime/basic.yaml and xgboost.yaml).
# The worker imports these before install_runtime; if the runtime installed a different version,
# the old code would stay in memory, so the worker refuses to boot (SIENTIAPDE-2214).
# Changing a runtime pin means changing it here too.
# Changing a runtime pin means changing it here and in requirements-local.txt too.
mlflow==3.8.1
pathspec==1.0.4
pandas==2.3.3