fix: deploy upgrade watchdog to legacy path for backward compat (#1888)#2030
fix: deploy upgrade watchdog to legacy path for backward compat (#1888)#2030
Conversation
…#1888) Users with older docker-compose.upgrade.yml still reference the old script path (command: /data/scripts/upgrade-watchdog.sh) and old COMPOSE_PROJECT_DIR=/data/compose. Since auto-upgrade only updates the container image — not compose files on the host — these users never got the fix from PR #1977. - Entrypoint now also deploys upgrade-watchdog.sh to /data/scripts/ for backward compatibility with older sidecar configurations - Watchdog script adds /data/compose as a fallback compose directory Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Claude finished @Yeraze's task —— View job PR Review AnalysisReviewing PR #1888 for backward compatibility fixes in upgrade watchdog deployment. Todo List:
Review Feedback✅ Overall Assessment: ApprovedThis is a well-crafted backward compatibility fix that properly addresses the root cause without introducing breaking changes for existing deployments. Code Quality & Best PracticesExcellent:
Minor suggestions:
Security Analysis✅ Secure:
Performance Considerations✅ Optimal:
Implementation Analysisdocker/docker-entrypoint.sh (
scripts/upgrade-watchdog.sh (
Potential Issues & RecommendationsMinor concerns:
Recommendations:
Test Coverage AssessmentCurrent tests mentioned:
Suggested additional tests:
Architecture AlignmentThis change aligns well with the project's upgrade architecture by:
Verdict: ✅ LGTMThis PR effectively solves the backward compatibility issue with a clean, safe approach. The implementation is production-ready with proper error handling and clear documentation. Job Run | Branch: fix/upgrade-sidecar-backward-compat-1888 |
Log warnings at startup when the watchdog script is running from the legacy /data/scripts/ path, and when falling back to /data/compose for the compose directory. Warns users to update their docker-compose.upgrade.yml. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Claude finished @Yeraze's task —— View job PR Review AnalysisReviewing PR #1888 for backward compatibility fixes in upgrade watchdog deployment. Todo List:
Review Feedback✅ Overall Assessment: ApprovedThis is a well-crafted backward compatibility fix that properly addresses the root cause without introducing breaking changes for existing deployments. Code Quality & Best PracticesExcellent:
Minor suggestions:
Security Analysis✅ Secure:
Performance Considerations✅ Optimal:
Implementation Analysisdocker/docker-entrypoint.sh (
scripts/upgrade-watchdog.sh (
Potential Issues & RecommendationsMinor concerns:
Recommendations:
Test Coverage AssessmentCurrent tests mentioned:
Suggested additional tests:
Architecture AlignmentThis change aligns well with the project's upgrade architecture by:
Verdict: ✅ LGTMThis PR effectively solves the backward compatibility issue with a clean, safe approach. The implementation is production-ready with proper error handling and clear documentation. Job Run | Branch: fix/upgrade-sidecar-backward-compat-1888 |
Update the info box to reference /data/.meshmonitor-internal/ instead of the old /data/scripts/ path. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Claude encountered an error —— View job I'll analyze this and get back to you. |
|
Claude finished @Yeraze's task —— View job PR Review AnalysisReviewing PR #2030 for backward compatibility fixes in upgrade watchdog deployment. Todo List:
Review Feedback✅ Overall Assessment: ApprovedThis is a well-crafted backward compatibility fix that properly addresses the root cause without introducing breaking changes for existing deployments. Code Quality & Best PracticesExcellent:
Minor suggestions:
Security Analysis✅ Secure:
Performance Considerations✅ Optimal:
Implementation Analysisdocker/docker-entrypoint.sh (
scripts/upgrade-watchdog.sh (
docs/configuration/auto-upgrade.md (
Potential Issues & RecommendationsMinor concerns:
Recommendations:
Test Coverage AssessmentCurrent tests mentioned:
Suggested additional tests:
Architecture AlignmentThis change aligns well with the project's upgrade architecture by:
Backward Compatibility ImpactPositive impacts:
Risk assessment: Very low risk - changes are purely additive and only activate for legacy configurations. Verdict: ✅ LGTMThis PR effectively solves the backward compatibility issue with a clean, safe approach. The implementation is production-ready with proper error handling, clear documentation, and a thoughtful migration strategy for users. Job Run | Branch: fix/upgrade-sidecar-backward-compat-1888 |
Summary
docker-compose.upgrade.ymlfiles/data/scripts/to/data/.meshmonitor-internal/, but the auto-upgrade only updates the container image — not the compose files on the host. Users with older sidecar configs still reference the old path and never received the fix.Root Cause
User @m0urs's sidecar config has:
Current config (post PR #1977):
The sidecar was executing the old, unfixed watchdog script because the entrypoint only deployed to the new path.
Changes
docker/docker-entrypoint.sh: Also deployupgrade-watchdog.shto/data/scripts/(legacy path) for backward compatibility with older sidecar configurations.scripts/upgrade-watchdog.sh: Add/data/composeas a fallback compose directory path, so older configs withCOMPOSE_PROJECT_DIR=/data/composecan still find compose files.Test plan
bash -n scripts/upgrade-watchdog.sh)Closes #1888
🤖 Generated with Claude Code