Skip to content

WIP: Automating graph builds on Kubernetes cluster - #406

Draft
hina-shah wants to merge 6 commits into
masterfrom
feat/cronjob-setup
Draft

WIP: Automating graph builds on Kubernetes cluster#406
hina-shah wants to merge 6 commits into
masterfrom
feat/cronjob-setup

Conversation

@hina-shah

Copy link
Copy Markdown
Contributor

This PR modifies helm charts to enable automated scheduled jobs to build the Robokop graph.

@hina-shah hina-shah changed the title Automating graph builds on Kubernetes cluster WIP: Automating graph builds on Kubernetes cluster May 4, 2026
@hina-shah
hina-shah force-pushed the feat/cronjob-setup branch 2 times, most recently from 52505d5 to 671b5b8 Compare July 7, 2026 13:30
Hina Shah and others added 3 commits July 7, 2026 09:35
- Replace email with Slack webhook in ReportHandler (send_slack_notification)
- Wire ORION_SLACK_WEBHOOK_URL into CronJob template and values
- Add hinashah-values.yaml and renci-values-schedule-test.yaml to repo

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Required for Sterling where there is no default StorageClass.

Fix undefined PYTHONPATH variable warning in Dockerfile

Write CronJob logs to /ORION_storage/logs instead of a separate NFS subPath

The separate /ORION_logs NFS subPath mount was fragile — stale NFS mounts
from force-deleted pods blocked subsequent container starts. Logs naturally
belong in storage anyway, consistent with non-Kubernetes ORION deployments.

Make ORION_LOGS optional in CronJob to avoid robokop_genetics import crash

robokop_genetics tries to open a log file at import time if ORION_LOGS is set.
If the path doesn't exist or has stale NFS locks this causes a PermissionError
before any build code runs. When unset, it falls back to stdout only.
Introduced orion.logsPath value so it can be set explicitly when needed.

Track source dependency builds in outcomes and fix ORION_LOGS setup

- Add sources sub-dict to outcomes tracking which sources were built,
  already cached, or failed during build_dependencies()
- Show source outcomes in Slack notification (built/cached/failed per source)
- Update write_report to include sources section; fix total count bug
  (was calling len() on nested dict)
- CronJob args now run mkdir -p <logsPath> before orion-build when
  logsPath is set, ensuring the directory exists as uid 30000 before
  robokop_genetics imports and opens RotatingFileHandler
@hina-shah
hina-shah force-pushed the feat/cronjob-setup branch from 671b5b8 to a1515dd Compare July 7, 2026 13:36
Hina Shah and others added 3 commits July 7, 2026 10:09
Show the version hash for each built and already-built graph so it's
easy to identify which version is current without checking the NFS.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant