Split OTA weights for Ubuntu installs
This commit is contained in:
@@ -29,3 +29,13 @@
|
||||
- Trigger: the user clarified that OTA installer updates should not keep repackaging and uploading the whole repository tree or fixed `people_flow_project` weights.
|
||||
- Rule: managed-portal OTA releases should ship a minimal ZIP with deploy metadata and managed config only; `people_flow_project` weights should be reused from a stable host location unless the weights themselves changed or the host is new.
|
||||
- Preventive action: when preparing OTA artifacts, use the minimal packaging script, exclude `managed/people_flow_project/weights` by default, and only publish a weights-bearing bundle for first-time installs or actual weight updates.
|
||||
|
||||
## 2026-05-19
|
||||
|
||||
- Trigger: the user corrected the OTA publication login for `10.8.0.1`.
|
||||
- Rule: the OTA web host `10.8.0.1` must be published with `root`, not `xiaozheng`.
|
||||
- Preventive action: for future managed-portal OTA rollouts, verify publication access against `root@10.8.0.1:/var/www/html/ai_deploy` before treating upload as blocked.
|
||||
|
||||
- Trigger: the user clarified that all new installation targets are Ubuntu machines and asked for missing `unzip` to be handled automatically, with weights delivered separately.
|
||||
- Rule: the managed-portal OTA installer should treat Ubuntu as the first-install baseline, auto-install `unzip` via `apt-get` when needed, and use a separate people-flow weights archive instead of forcing weights into the main ZIP.
|
||||
- Preventive action: keep the main OTA ZIP minimal, publish `people-flow-weights-<RELEASE_VERSION>.tar.gz` alongside each release when weights are available, and validate that the installer still reuses shared weights on upgrades.
|
||||
|
||||
@@ -2,31 +2,24 @@
|
||||
|
||||
## Checklist
|
||||
|
||||
- [x] Classify the remaining modified and untracked files into non-config code changes to commit versus local config/artifact files to exclude.
|
||||
- [x] Run targeted validation for the code and script changes that will be committed.
|
||||
- [x] Create a scoped git commit containing the non-config code changes only.
|
||||
- [ ] Push the scoped commit to `origin/main`.
|
||||
- [ ] Reuse the already-published `managed-portal-20260519-f3f40b5-11.zip` main bundle and cut updated installer/weights artifacts for the same tag.
|
||||
- [ ] Publish the updated installer and separate weights archive to `10.8.0.1` and verify the HTTP endpoints.
|
||||
- [ ] Commit and push the repository changes for the split-weights Ubuntu installer flow.
|
||||
|
||||
## Scope And Risks
|
||||
|
||||
- Scope: commit and push the remaining local non-config code changes in this repository while excluding local configuration files and generated artifacts.
|
||||
- Expected touch points: currently modified code/docs/scripts such as `README.md`, `deploy/install-managed-portal-ota.sh`, `deploy/package-managed-portal-ota.sh`, `managed/people_flow_project/src/people_flow/{models.py,pipeline.py}`, `managed/people_flow_project/tests/test_pipeline.py`, and `tasks/lessons.md`.
|
||||
- Risk: the worktree also contains local artifacts and config-adjacent outputs such as `test_output/`, `sim_workspace/`, `release-manifest.env`, `api_response.json`, and `output.txt`; these must not be swept into the commit by accident.
|
||||
- Risk: some modified files, especially docs and deployment scripts, are related to earlier OTA work and may need only narrow validation rather than full end-to-end execution.
|
||||
- Scope: keep the existing OTA application ZIP for `20260519-f3f40b5-11`, generate a refreshed installer plus separate people-flow weights archive for that same release tag, publish them to `10.8.0.1`, and push the supporting repository changes to Git.
|
||||
- Expected touch points: `.11` release artifacts, `/var/www/html/ai_deploy` on `10.8.0.1`, `deploy/package-managed-portal-ota.sh`, `deploy/install-managed-portal-ota.sh`, `README.md`, `.gitignore`, and task tracking files.
|
||||
- Risk: reusing the existing main ZIP means the installer and weights archive must remain compatible with the already-published `managed-portal-20260519-f3f40b5-11.zip`.
|
||||
- Risk: the current local repository does not contain real weights payload files, so the separate weights archive may need to be generated from the `.11` host release workspace or a stable host weights directory instead of local source control.
|
||||
- Risk: the commit must exclude local artifact files and only capture the intended repo changes.
|
||||
|
||||
## Validation Intent
|
||||
|
||||
- Prove the selected commit excludes local config files and generated artifacts.
|
||||
- Run the narrowest meaningful checks for the people-flow pipeline/test changes and at least a syntax-level check for the OTA scripts.
|
||||
- Prove the refreshed installer and separate weights archive exist for tag `20260519-f3f40b5-11`.
|
||||
- Prove both artifacts are downloadable from `10.8.0.1/ai_deploy`.
|
||||
- Prove the Git commit/push contains only the intended repository changes.
|
||||
|
||||
## Review
|
||||
|
||||
- Status: in progress.
|
||||
- Commit set selected:
|
||||
- Included: `README.md`, `deploy/install-managed-portal-ota.sh`, `deploy/package-managed-portal-ota.sh`, `managed/people_flow_project/src/people_flow/models.py`, `managed/people_flow_project/src/people_flow/pipeline.py`, `managed/people_flow_project/tests/test_pipeline.py`, `tasks/lessons.md`, `tasks/todo.md`.
|
||||
- Excluded as local config or generated artifacts: `test_output/`, `sim_workspace/`, `release-manifest.env`, `api_response.json`, `output.txt`.
|
||||
- Validation completed:
|
||||
- `PYTHONPATH=. pytest tests/test_pipeline.py tests/test_queue_analytics.py` in `managed/people_flow_project`
|
||||
- Result: `9 passed in 0.66s`
|
||||
- `sh -n deploy/install-managed-portal-ota.sh`
|
||||
- `sh -n deploy/package-managed-portal-ota.sh`
|
||||
|
||||
Reference in New Issue
Block a user