Una actualización de firmware que dañe dispositivos debería afectar a pocos. Un despliegue por oleadas envía primero un paquete a un grupo pequeño, comprueba cómo ha ido, espera y solo entonces pasa a grupos más grandes. Se detiene por sí solo cuando una oleada sale peor de lo que permites. Esta página explica cómo configurarlo y seguirlo. Los conceptos básicos de paquetes y asignaciones están en Firmware updates (OTA).
Cuándo puedes usar oleadas
Las oleadas se aplican a una asignación a Every device of a profile o a Some devices (una lista de dispositivos). Una asignación a One device se envía de inmediato. Necesitas el permiso para asignar firmware (administradores).
Configurar un despliegue
- Abre el paquete en Firmware y selecciona Assign (o usa la pestaña Firmware de un perfil).
- Elige Every device of a profile o Some devices y selecciona los destinos.
- Activa Send in waves («Una primera oleada pequeña de dispositivos en línea, y después oleadas más grandes. El despliegue se detiene por sí solo cuando una oleada sale peor de lo que permites.»).
- Mantén Use the usual plan, o edita las oleadas (ver abajo).
- Selecciona Check. What happens muestra el número de dispositivos y «In waves: …» con el tamaño de cada oleada.
- Selecciona Assign y confirma.
El plan habitual
| Oleada | Tamaño | Espera tras completarse |
|---|---|---|
| 1 | 1 % de los dispositivos, como mínimo 1 y como máximo 10 (el canario) | 30 minutos |
| 2 | 10 % | 30 minutos |
| 3 | 50 % | 15 minutos |
| 4 | el resto | — |
Cada oleada del plan habitual necesita que al menos el 90 % de sus dispositivos terminados estén actualizados, se pausa si los fallidos superan el 5 % y se cierra como máximo a los 240 minutos.
Tus propias oleadas
En Waves, «Los tamaños se cuentan sobre los dispositivos que se actualizarán. La última oleada toma todos los dispositivos restantes.» Para cada oleada:
| Campo | Significado | Rango |
|---|---|---|
| Size as | Number of devices o Share of the devices (%) | Un tamaño mayor que 0; una proporción de como máximo 100 % |
| Wait after it passed (minutes) | El tiempo de reposo antes de que empiece la siguiente oleada | 0 a 10,080 (7 días) |
| At least updated (%) | El umbral de éxito sobre los dispositivos terminados de la oleada | 0 a 100 |
| At most failed (%) | El umbral de fallos | 0 a 100 |
| At most failed (devices) | Límite absoluto opcional. «Déjalo vacío para contar solo la proporción.» | — |
| Close after (minutes) | Cuánto tiempo permanece abierta la oleada. «Los dispositivos que sigan sin conexión o en espera para entonces pasan a la siguiente y no cuentan como fallos.» | 5 a 43,200 |
Add a wave y Remove wave n cambian la lista; The rest marca la última oleada. Un despliegue tiene como máximo 20 oleadas.
Cómo se reparten los dispositivos en oleadas
- El orden de los dispositivos es estable para un despliegue, así que un dispositivo no salta de oleada cuando vuelves a mirar.
- Los dispositivos en línea van primero, así que la oleada canario te da resultados rápidamente.
- Un dispositivo de una oleada posterior no recibe nada (sin atributos
fw_*) hasta que empiece su oleada. En su página aparece Waits for wave n.
Mientras se ejecuta un despliegue
La página del paquete muestra el Rollout in waves: cada oleada con su State (Not started, Updating, Passed, waiting, Passed, Paused, Not sent), sus Devices y su Progress («updated de planned actualizados, failed fallidos»), y el umbral actual («Now: … failed (… %), … % of the finished updated.»). «This wave closes … at the latest» y «The next wave starts …» muestran los horarios.
El estado del despliegue es Running, Paused, Completed o Aborted.
Pausa automática
El despliegue se pausa por sí solo cuando una oleada:
| Motivo | Se muestra como |
|---|---|
| tiene más fallos de los permitidos | demasiados dispositivos fallidos |
| se cierra con menos dispositivos actualizados de los requeridos | muy pocos dispositivos actualizados |
| se cierra sin ningún dispositivo terminado | ningún dispositivo terminó a tiempo |
«Los dispositivos que ya han empezado terminan su actualización; ningún otro dispositivo la recibe hasta que alguien reanude el despliegue.» Tus administradores reciben un aviso en la aplicación («package: the rollout is paused»).
Pause, Resume, Abort
| Acción | Efecto |
|---|---|
| Pause | «Ningún otro dispositivo recibe la actualización hasta que reanudes. Los dispositivos que ya han empezado terminan su actualización; una actualización no se puede detener de forma segura a mitad de camino.» |
| Resume | «El despliegue continúa con la oleada n.» Tras una pausa automática: «Reanudar acepta lo ocurrido hasta ahora: solo los nuevos fallos cuentan contra el umbral, y una oleada detenida al final cuenta como superada.» |
| Abort | «Su asignación se elimina. Los dispositivos que no han empezado a instalar no reciben esta actualización; los dispositivos cubiertos por otra asignación pasan a esa. Esto no se puede deshacer.» |
Un despliegue también termina cuando el paquete se revoca, cuando se elimina su asignación o cuando una asignación más reciente lo reemplaza.
Avisos, auditoría y webhooks
| Evento | Webhook | Aviso en la aplicación |
|---|---|---|
| Una oleada superada | ota.rollout.wave_completed | «Suficientes dispositivos de la oleada n se actualizaron. La siguiente oleada empieza tras su tiempo de espera.» |
| Pausado | ota.rollout.paused | sí |
| Reanudado | ota.rollout.resumed | — |
| Completado | ota.rollout.completed | «Las n oleadas están superadas. Los dispositivos que estaban sin conexión se actualizan cuando vuelven.» |
| Abortado | ota.rollout.aborted | — |
Cada pausa, reanudación y cancelación se registra en el registro de auditoría con quién la hizo.
Consejos
- Antes de un despliegue, prueba el paquete en unos pocos dispositivos a los que puedas acceder físicamente, con asignaciones One device.
- Deja el tiempo de reposo lo bastante largo para que los problemas aparezcan: un dispositivo que se reinicia en bucle necesita tiempo para fallar.
- Los dispositivos con enlaces medidos pueden esperar (Waiting) en lugar de actualizarse; pasan a la siguiente y no cuentan como fallos cuando se cierra la oleada.

