MDM-081 · Ponte di aggiornamento dalla 3.2.x e prova in laboratorio¶
| Campo | Valore |
|---|---|
| Gruppo | 6 · Migrazione del parco |
| Assegnato a (proposta) | Lorenzo + Mattia |
| Priorità | P1 |
| Stima indicativa | M |
| Stato | ⬜ da fare |
| Attività del piano | T9.2 |
| Dipende da | MDM-080, MDM-031, MDM-014 |
Contesto¶
I box dei clienti restano su main e si aggiornano dal pannello (D22). Dopo l'unione di stage in main, l'update della 3.2.x scarica il codice nuovo ma non sa avviarlo: cerca docker-compose.yml e .env.build_tag nella radice, usa il profilo production e non prepara uv, sottomoduli e segreto AWS. La 3.2.x non si modifica: il ponte sta nella release nuova. Analisi: migrazione-box-alla-nuova-versione.md.
Cosa fare (sviluppo su stage, rilascio con l'unione in main)¶
- [ ] File ponte nella radice:
docker-compose.ymle.env.build_tagcompatibili con l'updater 3.2.x (profiloproduction, stessi nomi dei servizi), che avviano la nuova immagine di produzione. - [ ] All'avvio da ponte: import della configurazione (MDM-080), poi via named pipe:
uvse manca, sottomoduli,downdel progetto Compose vecchio, avvio coninfra-cliin ambienteprod. - [ ] Controlli finali (versione,
mac, stato inserito/disinserito, telecamere, midserver) e ripristino automatico del commit e dello stack precedenti, con segnalazione al midserver. - [ ] Gli stessi controlli finali e lo stesso ripristino in
mdm update(dev_scripts/commands/updater.py), che oggi fa solo pull, login ECR einfra-cli ... -up: servono anche per gli update successivi al passaggio. - [ ] Prova in laboratorio con la release candidata, update dal pannello e prova del ripristino, su: 3.1.9 GANZ, 3.1.9 o 3.2.2 Frigate (wrapper Flask), 3.2.9 Frigate; ognuno configurato e inserito. L'updater è lo stesso dalla 3.1.9 alla 3.2.9.
- [ ] Decidere come collegare il box di prova
prodal midserver dev senza il segreto di produzione. - [ ] Provare il ponte senza toccare il
mainvero: sul box di prova l'update della 3.2.x fagit pull origin main, quindi il remotoorigindel box di prova va puntato a un repository di prova il cuimainè la candidata (MDM-032). - [ ] Misurare il tempo di fermo e scriverlo in aggiornamento-box.md.
Criteri di accettazione¶
- Dopo l'update dal pannello il box è su
main, ambienteprod, con lo stesso codice impianto, la stessa configurazione e lo stesso stato; l'update successivo usamdm update. - In caso di errore il box torna da solo alla 3.2.x funzionante.
Rischi e attenzioni¶
Mai su box dei clienti prima della prova completa in laboratorio. Segreto AWS di produzione corretto prima (M27, MDM-031). Tag di produzione aggiornati in infra/environments/prod/.env.build_tag (MDM-032).