Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Solución de problemas de IDT paraAWS IoT GreengrassV2
IDT paraAWS IoT GreengrassV2 escribe los errores en varias ubicaciones según el tipo de error. IDT escribe los errores en la consola, los archivos de registro y los informes de las pruebas.
¿Dónde buscar errores
Los errores de alto nivel se muestran en la consola mientras se ejecuta la prueba y, una vez finalizadas todas las pruebas, aparece un resumen de las pruebas fallidas.awsiotdevicetester_report.xml
contiene un resumen de todos los errores que provocaron el error de una prueba. IDT almacena los archivos de registro de cada ejecución de prueba en un directorio con un UUID para la ejecución de la prueba, que se muestra en la consola durante la ejecución de la prueba.
El directorio de registros de pruebas de IDT es
. Este directorio contiene los siguientes archivos que se muestran en la tabla. Esto es útil a efectos de depuración.<device-tester-extract-location>
/results/<execution-id>
/logs/
Archivos | Descripción |
---|---|
test_manager.log |
Los registros escritos en la consola mientras se estaba ejecutando la prueba. El resumen de los resultados al final de este archivo incluye una lista de las pruebas que no superaron. La advertencia y los registros de errores en este archivo pueden proporcionarle información acerca de los errores que se producen. |
|
Registros detallados de la prueba específica en un grupo de prueba. En el caso de las pruebas que utilizan componentes de Greengrass, el archivo de registro de casos de prueba se denominagreengrass-test-run.log . |
|
Registros detallados deAWS IoT GreengrassSoftware básico. IDT copia este archivo del dispositivo que se está probando cuando ejecuta las pruebas de instalaciónAWS IoT GreengrassSoftware básico del dispositivo. Para obtener más información sobre los mensajes de este archivo de registro, consulteSolución de problemas AWS IoT Greengrass V2. |
|
Registros detallados de los componentes de Greengrass que se implementan durante las pruebas. IDT copia los archivos de registro de los componentes del dispositivo que se está probando cuando ejecuta pruebas en las que se despliegan componentes específicos. El nombre de cada archivo de registro de componentes corresponde al nombre del componente desplegado. Para obtener más información sobre los mensajes de este archivo de registro, consulteSolución de problemas AWS IoT Greengrass V2. |
Resolver IDT paraAWS IoT GreengrassErrores V2
Antes de ejecutar IDT paraAWS IoT Greengrass, coloque los archivos de configuración correctos. Si recibe errores de análisis y configuración, lo primero que debe hacer es buscar y utilizar una plantilla de configuración adecuada para su entorno.
Si continúa teniendo problemas, consulte el siguiente proceso de depuración.
Temas
- Errores de resolución de alias
- Errores de conflicto
- Error por la imposibilidad de iniciar una prueba
- La imagen de calificación de Docker contiene errores
- No se pudo leer la credencial
- Controle los errores con PreInstalled Greengrass
- Excepción de firma no válida
- Errores de calificación del aprendizaje automático
- Implementaciones fallidas de Open Test Framework (OTF)
- Errores de procesamiento
- Errores de permiso denegado
- Error al generar el informe de calificación
- Error por ausencia de un parámetro obligatorio
- Excepción de seguridad en macOS
- Errores de conexión SSH
- Errores de calificación del administrador de transmisiones
- Errores de tiempo de espera
- Errores de comprobación de versiones
Errores de resolución de alias
Al ejecutar conjuntos de pruebas personalizados, es posible que aparezca el siguiente error en la consola y en eltest_manager.log
.
Couldn't resolve placeholders: couldn't do a json lookup: index out of range
Este error puede producirse cuando los alias configurados en el orquestador de pruebas de IDT no se resuelven correctamente o si los valores resueltos no están presentes en los archivos de configuración. Para resolver este error, asegúrese de quedevice.json
yuserdata.json
contienen la información correcta requerida para su conjunto de pruebas. Para obtener información sobre la configuración requerida paraAWS IoT Greengrasscalificación, consulteConfigure los ajustes de IDT para ejecutar el conjunto de AWS IoT Greengrass cualificación.
Errores de conflicto
Es posible que aparezca el siguiente error al ejecutar elAWS IoT Greengrassconjunto de cualificaciones simultáneamente en más de un dispositivo.
ConflictException: Component [com.example.IDTHelloWorld : 1.0.0] for account [account-id
] already exists with state: [DEPLOYABLE] { RespMetadata: { StatusCode: 409, RequestID: “id
” }, Message_: “Component [com.example.IDTHelloWorld : 1.0.0] for account [account-id
] already exists with state: [DEPLOYABLE]” }
La ejecución simultánea de pruebas aún no es compatible con elAWS IoT Greengrasssuite de calificación. Ejecute el conjunto de calificaciones de forma secuencial para cada dispositivo.
Error por la imposibilidad de iniciar una prueba
Es posible que encuentres errores que apunten a fallos que se produjeron cuando la prueba intentaba comenzar. Existen varias causas posibles, por lo que debe hacer lo siguiente:
-
Asegúrese de que el nombre del grupo que aparece en el comando de ejecución realmente existe. IDT hace referencia al nombre del grupo directamente desde su
device.json
archivo. -
Asegúrese de que el dispositivo o dispositivos del grupo tienen parámetros de configuración correctos.
La imagen de calificación de Docker contiene errores
Las pruebas de calificación del administrador de aplicaciones de Docker utilizan elamazon/amazon-ec2-metadata-mock
imagen del contenedor en Amazon ECR para calificar el dispositivo sometido a prueba.
Es posible que reciba el siguiente error si la imagen ya está presente en un contenedor Docker del dispositivo que se está probando.
The Docker image amazon/amazon-ec2-metadata-mock:
version
already exists on the device.
Si anteriormente descargó esta imagen y ejecutó elamazon/amazon-ec2-metadata-mock
contenedor de su dispositivo, asegúrese de eliminar esta imagen del dispositivo que se está probando antes de realizar las pruebas de calificación.
No se pudo leer la credencial
Al probar dispositivos Windows, es posible que encuentre elFailed to read
credential
error en elgreengrass.log
archivo si el usuario que utiliza para conectarse al dispositivo que se está probando no está configurado en el administrador de credenciales de ese dispositivo.
Para resolver este error, configure el usuario y la contraseña del usuario IDT en el administrador de credenciales del dispositivo que se está probando.
Para obtener más información, consulte Configura las credenciales de usuario para los dispositivos Windows.
Controle los errores con PreInstalled Greengrass
Mientras ejecutas IDT con PreInstalled Greengrass, si encuentra un error deGuice
oErrorInCustomProvider
, compruebe si el archivouserdata.json
tiene elInstalledDirRootOnDevice
establecido en la carpeta de instalación de Greengrass. IDT busca el archivoeffectiveConfig.yaml
debajo de<InstallationDirRootOnDevice>/config/effectiveConfig.yaml
.
Para obtener más información, consulte Configura las credenciales de usuario para los dispositivos Windows.
Excepción de firma no válida
Al ejecutar las pruebas de calificación de Lambda, es posible que encuentre elinvalidsignatureexception
error si su máquina host IDT tiene problemas de acceso a la red. Reinicie el router y vuelva a ejecutar las pruebas.
Errores de calificación del aprendizaje automático
Al ejecutar pruebas de calificación de aprendizaje automático (ML), es posible que se produzcan errores de calificación si el dispositivo no cumple con los requisitosrequerimientospara desplegar elAWS-componentes de aprendizaje automático proporcionados. Para solucionar los errores de calificación del aprendizaje automático, haga lo siguiente:
-
Busque los detalles de los errores en los registros de los componentes que se implementaron durante la ejecución de la prueba. Los registros de los componentes se encuentran en
directorio.<device-tester-extract-location>
/results/<execution-id>
/logs/<test-group-id>
-
Añada el
-Dgg.persist=installed.software
argumento altest.json
archivo para el caso de prueba fallido. Eltest.json
el archivo se encuentra en<device-tester-extract-location>
/tests/GGV2Q_version
directory.
Implementaciones fallidas de Open Test Framework (OTF)
Si las pruebas de OTF no completan la implementación, una causa probable podrían ser los permisos establecidos para la carpeta principal deTempResourcesDirOnDevice
yInstallationDirRootOnDevice
. Para configurar los permisos de esta carpeta correctamente, ejecute el siguiente comando. Sustituya
por el nombre de la carpeta principal.folder-name
sudo chmod
755
folder-name
Errores de procesamiento
Los errores tipográficos en una configuración de JSON pueden provocar errores de análisis. En la mayoría de los casos, el problema es resultado de omitir un paréntesis, una coma o unas comillas en el archivo JSON. IDT realiza la validación JSON e imprime información de depuración. Imprime la línea en la que se produjo el error, el número de línea y el número de la columna del error de sintaxis. Esta información debería ser suficiente para ayudarte a corregir el error, pero si sigues sin poder localizarlo, puedes realizar la validación manualmente en tu IDE, en un editor de texto como Atom o Sublime, o a través de una herramienta online como JSONlint.
Errores de permiso denegado
IDT realiza operaciones en diversos directorios y archivos en un dispositivo que se está probando. Algunas de estas operaciones requieren acceso raíz. Para automatizar estas operaciones, IDT debe ser capaz de ejecutar comandos con sudo sin escribir una contraseña.
Siga estos pasos para permitir acceso sudo sin escribir una contraseña.
nota
user
y username
hacen referencia al usuario SSH que utiliza IDT para acceder al dispositivo a prueba.
-
Use sudo usermod -aG sudo
<ssh-username>
para añadir el usuario SSH al grupo sudo. -
Cierre la sesión y, a continuación, vuelva a iniciar sesión para que los cambios surtan efecto.
-
Añada el archivo
/etc/sudoers
y, a continuación, agregue la siguiente línea al final del archivo:<ssh-username>
ALL=(ALL) NOPASSWD: ALLnota
Le recomendamos que utilice sudo visudo al editar
/etc/sudoers
.
Error al generar el informe de calificación
IDT admite las cuatro últimas
versiones delAWS IoT Greengrasspaquete de cualificación V2 (GGV2Q) para generar informes de cualificación que puede enviar aAWS Partner Networkpara incluir sus dispositivos en elAWS PartnerCatálogo de dispositivos. Las versiones anteriores del paquete de cualificaciones no generan informes de cualificación.major
.minor
Si tiene preguntas sobre la política de soporte, póngase en contacto conAWS Support
Error por ausencia de un parámetro obligatorio
Cuando IDT agrega nuevas funciones, puede introducir cambios en los archivos de configuración. Utilizar un archivo de configuración antiguo podría romper la configuración. Si esto ocurre, el archivo
en <test_case_id>
.log/results/
enumera explícitamente todos los parámetros que faltan. IDT también valida los esquemas de los archivos de configuración JSON para comprobar que está utilizando la última versión compatible.<execution-id>
/logs
Excepción de seguridad en macOS
Cuando ejecutas IDT en un ordenador host macOS, se bloquea la ejecución de IDT. Para ejecutar IDT, conceda una excepción de seguridad a los ejecutables que forman parte de la funcionalidad de ejecución de IDT. Cuando aparezca el mensaje de advertencia en el equipo host, haga lo siguiente para cada uno de los ejecutables aplicables:
Para conceder una excepción de seguridad a los ejecutables de IDT
-
En el ordenador macOS, en el menú Apple, abrePreferencias del sistema.
-
EligeSeguridad y privacidad, luego en elGeneralpestaña, selecciona el icono de candado para realizar cambios en la configuración de seguridad.
-
En caso de bloqueo
devicetester_mac_x86-64
, busca el mensaje"devicetester_mac_x86-64" was blocked from use because it is not from an identified developer.
y eligePermitir de todos modos. -
Reanude las pruebas de IDT hasta que haya revisado todos los ejecutables involucrados.
Errores de conexión SSH
Cuando IDT no puede conectarse a un dispositivo que se está probando, registra los fallos de conexión/results/
. Los mensajes SSH aparecen en la parte superior de este archivo de registro porque la conexión a un dispositivo que se está probando es una de las primeras operaciones que realiza IDT.<execution-id>
/logs/<test-case-id>
.log
La mayoría de las configuraciones de Windows utilizan la aplicación de terminal PuTTY para conectarse a los hosts Linux. Esta aplicación requiere que convierta los archivos de clave privada PEM estándar a un formato propietario de Windows denominado PPK. Si configura SSH en sudevice.json
archivo, utilice archivos PEM. Si usa un archivo PPK, IDT no puede crear una conexión SSH con elAWS IoT Greengrassdispositivo y no puede ejecutar pruebas.
A partir de la versión 4.4.0 de IDT, si no has activado el SFTP en el dispositivo que estás probando, es posible que veas el siguiente error en el archivo de registro.
SSH connection failed with EOF
Para resolver este error, habilita SFTP en tu dispositivo.
Errores de calificación del administrador de transmisiones
Al ejecutar las pruebas de calificación de Stream Manager, es posible que veas el siguiente error en elcom.aws.StreamManagerExport.log
archivo.
Failed to upload data to S3
Este error puede producirse cuando el administrador de transmisiones usa elAWScredenciales en el~/root/.aws/credentials
archiva en tu dispositivo en lugar de utilizar las credenciales de entorno que IDT exporta al dispositivo que se está probando. Para evitar este problema, elimine elcredentials
archiva en tu dispositivo y vuelve a ejecutar la prueba de calificación.
Errores de tiempo de espera
Puede aumentar el tiempo de espera de cada prueba especificando un multiplicador de tiempo de espera aplicado al valor predeterminado del tiempo de espera de cada prueba. Cualquier valor configurado para esta marca debe ser superior o igual a 1,0.
Para utilizar el multiplicador de tiempo de espera, utilice la marca --timeout-multiplier
al ejecutar las pruebas. Por ejemplo:
./devicetester_linux run-suite --suite-id GGV2Q_1.0.0 --pool-id DevicePool1 --timeout-multiplier 2.5
Para obtener más información, ejecute run-suite --help
.
Algunos errores de tiempo de espera se producen cuando los casos de prueba de IDT no se pueden completar debido a problemas de configuración. No puede resolver estos errores aumentando el multiplicador de tiempo de espera. Usa los registros de la ejecución de la prueba para solucionar los problemas de configuración subyacentes.
-
Si los registros de los componentes MQTT o Lambda contienen
Access denied
si se producen errores, es posible que la carpeta de instalación de Greengrass no tenga los permisos de archivo correctos. Ejecute el siguiente comando para cada carpeta de la ruta de instalación que haya definido en suuserdata.json
archivo.sudo chmod 755
folder-name
-
Si los registros de Greengrass indican que la implementación de la CLI de Greengrass no está completa, haga lo siguiente:
-
Compruebe que
bash
está instalado en el dispositivo que se está probando. -
Si tu
userdata.json
el archivo incluye elGreengrassCliVersion
parámetro de configuración, elimínelo. Este parámetro está obsoleto en IDT v4.1.0 y versiones posteriores. Para obtener más información, consulte Configure userdata.json.
-
-
Si la prueba de despliegue de Lambda no ha tenido éxito y aparece el mensaje de error «Validar la publicación de Lambda: se ha agotado el tiempo de espera» y aparece un error en el archivo de registro de la prueba (
idt-gg2-lambda-function-idt-
) que dice<resource-id>
.logError: Could not find or load main class com.amazonaws.greengrass.runtime.LambdaRuntime.
, haga lo siguiente:-
Compruebe para qué carpeta se utilizó
InstallationDirRootOnDevice
en eluserdata.json
archivo. -
Asegúrese de que los permisos de usuario correctos estén configurados en su dispositivo. Para obtener más información, consultaConfigura los permisos de usuario en tu dispositivo.
-
Errores de comprobación de versiones
IDT emite el siguiente error cuandoAWSlas credenciales de usuario del usuario de IDT no tienen los permisos de IAM necesarios.
Failed to check version compatibility
ElAWSel usuario que no tiene los permisos de IAM necesarios.