Volver a la wiki

Auto-Provision: botón Refresh por dispositivo

Descripción general

Sesión 114 (2026-06-08) — Parte 4a de Auto-Provision

En el listado de resultados del escaneo Auto-Provision, cada dispositivo descubierto dispone ahora de un botón Refresh que re-ejecuta el discovery completo de ese dispositivo concreto sin necesidad de re-escanear toda la subred. El refresh reutiliza automáticamente las credenciales guardadas (SNMP + SSH cifradas) en el DeviceProfile.

Motivación

Características

Endpoint: POST /auto-provision/profiles/{id}/rediscover

UI: botón “Refresh” en results.js

Método JS: AutoProvision.refreshProfile()

Ubicado en static/js/network/auto_provision/deep_discovery.js. Orquesta el refresh:

async refreshProfile(profileId) {
    showToast('Refreshing device — re-running discovery with saved credentials…', 'info');
    try {
        const updated = await ApiService.post(`/api/network/auto_provision/profiles/${profileId}/rediscover`);
        if (updated && updated.error) {
            showToast(updated.error, 'error');
            return;
        }
        const idx = this.discoveredProfiles.findIndex(p => p.id === profileId);
        if (idx >= 0 && updated && updated.id) {
            this.discoveredProfiles[idx] = updated;
            this.renderResults();
        }
        showToast('Device refreshed.', 'success');
    } catch (error) {
        showToast(`Refresh failed: ${error.message || error}`, 'error');
    }
}

Entidades tocadas

Sinergia con sesión 114

Esta feature depende directamente de la herencia de credenciales SSH (Sesión 114, Terminal) que ahora persiste las contraseñas SSH en DeviceProfile.ssh_password_encrypted. Sin eso, el refresh tendría que pedir credenciales de nuevo.

Notas de implementación

Pendiente (Parte 4b)

La Parte 4 completa incluye también la carga/recuperación de búsquedas guardadas desde la UI. Ya se persisten en localStorage vía sessions.js, pero falta la UI para listarlas y recargarlas.

Véase también

Subir