From Fedora Project Wiki

DNF UUID

Resumen

En este momento, estimamos los sistemas Fedora instalados contando las direcciones IP únicas que aparecen en las actualizaciones de nuestras estadísticas. Necesitamos mejores datos que eso. Hay algunas propuestas para sistemas más complicados, pero una cosa rápida que podemos hacer es implementar un UUID (identificador único) por sistema y contar eso en lugar de direcciones IP.

Esto es lo que hace openSUSE — ver https://metrics.opensuse.org/ para estadísticas en vivo. Ver también esta discusión previa del Consejo de Fedora para contextualizar.

Propietario

  • Nombre: Matthew Miller
  • Email: mattdm
  • Notas de la versión del propietario:

Estado Actual

  • Targeted release: Fedora 30
  • Última actualización: 2023-07-25
  • Rastreador de errores: <<será asignado por el Wrangler>>

Descripción Detallada

El problema

  • A. Actualmente, solo podemos contar con el uso de Fedora OS observando las direcciones IP. Esto está sujeto a un conteo insuficiente debido a NAT y al conteo excesivo debido a cambios en asignaciones DHCP (short DHCP leases) y computadoras portátiles que se trasladan entre el trabajo o la escuela y el hogar o la cafetería.
  • B. Podemos contar qué lanzamientos se observan, pero no podemos distinguir variantes.
  • C. No podemos contar rápidamente porque varios registros se copian de nuevo a un servidor central y los datos no son consistentes durante varios días.

Restricciones

  • La comunidad de Fedora se preocupa por la privacidad y es adversa a las medidas de seguimiento. No queremos rastrear; solo contar.
  • Por esta razón, no queremos usar ningún identificador como /etc/machine-id que pueda usarse para otros fines..
  • Y, también por esa razón, debe haber una forma relativamente fácil de optar por no participar.
  • Esto debe funcionar con los mecanismos de actualización de Yum/DNF, MicroDNF, PackageKit, Cockpit, rpm-ostree, GNOME, Muon, Apper y software utilizados en otros spins.
  • We need to be able to distinguish between short-lived instances (like temporary containers or test machines) and actual installations.

Fuera del alcance

  • No queremos hacer un seguimiento de los usuarios, solo contar los sistemas..
  • Excepto por distinguir instalaciones temporales de uso "real", no necesitamos rastrear los sistemas a lo largo del tiempo. Solo queremos un conteo diario o semanal del momento.
  • Poder ver cómo se actualizan los sistemas a lo largo del tiempo puede ser interesante, pero no es tan importante como las preocupaciones de privacidad.

Otros Elementos

  • VARIANT_ID será configurado en /etc/os-release. Ver Changes/Label Our Variants Queremos esto, incluyendo VERSION_ID y la arquitectura del CPU.
  • Es posible que también queramos que cada informe contenga una marca booleana que muestre si el sistema ha estado en uso durante al menos 24 horas para ayudar a categorizar por separado la prueba y otras instancias desechables.
  • openSUSE actualmente usa un UUID en zypper; esto es camino recorrido.
  • Yum y DNF han incorporado soporte para variables de conjuntos de archivos que pueden ser "eliminadas" para tratar problemas de privacidad.

Ver https://bugzilla.redhat.com/show_bug.cgi?id=1542060

Beneficios para Fedora

  • Mejores métricas en general
  • La página de estadísticas públicas se actualiza automáticamente.
  • Mejor conocimiento del uso relativo de diferentes variantes.
  • Información sobre el uso de Fedora en sistemas de prueba de corta duración y contenedores temporales frente a instalaciones a largo plazo.

Alcance

  • Propietarios de propuestas: trabajar con el equipo de DNF e Infraestructura para implementar la función UUID y la recopilación de datos de backend correspondiente.
  • Equipo DNF: trabajar en las características.
  • Mantenedores de otras herramientas de administración de paquetes: asegúrese de que la función funcione también en estos casos
  • Otros desarrolladores: los mantenedores de spins, deben asegurarse de que VARIANT_ID se está configurando en /etc/os-release
  • Ingenieros de Lanzamiento: #Releng issue number (Se necesita una comprobación de un impacto con Release Engineering) -- no debe tener impacto.
  • Políticas y pautas(guías): ninguna.
  • Aprobación de marca: ninguna

Impacto en la Actualización/compatibilidad

Las versiones anteriores no tendrán habilitado el conteo UUID; Seguiremos recopilando estadísticas de la forma tradicional para esos sistemas.

Como probar

Una vez que el sistema esté en su lugar, veremos los datos recopilados.

Experiencia de Usuario

La experiencia del usuario no cambiará. Los usuarios que deseen optar por no contar contarán con una manera fácil de hacerlo.

Dependencias

Gestores de paquetes.

Plan de Contingencia

  • Mecanismo de contingencia: continuar contando la forma antigua
  • Plazo de contingencia: no bloquea la liberación; Podemos realizar el envío con la función incompleta, aunque sería más útil tenerla disponible en GA.
  • ¿Bloquea la liberación? No
  • ¿Bloquea productos? No

Documentation

Las notas de la versión se deben escribir, y la documentación que describe cómo optar por no participar.

Release Notes

Esto necesita ser escrito pero depende de la implementación exacta.