Use IDT to run the AWS IoT Greengrass qualification suite
You can use AWS IoT Device Tester for AWS IoT Greengrass V2 to verify that the AWS IoT Greengrass Core software runs on your hardware and can communicate with the AWS Cloud. It also performs end-to-end tests with AWS IoT Core. For example, it verifies that your device can deploy components and upgrade them.
In addition to testing devices, IDT for AWS IoT Greengrass V2 creates resources (for example, AWS IoT things, groups, and so on) in your AWS account to facilitate the qualification process.
To create these resources, IDT for AWS IoT Greengrass V2 uses the AWS credentials
configured in the config.json
file to make API calls on your behalf.
These resources are provisioned at various times during a test.
When you use IDT for AWS IoT Greengrass V2 to run the AWS IoT Greengrass qualification suite, it performs the following steps:
-
Loads and validates your device and credentials configuration.
-
Performs selected tests with the required local and cloud resources.
-
Cleans up local and cloud resources.
-
Generates tests reports that indicate if your board passed the tests required for qualification.
Test suite versions
IDT for AWS IoT Greengrass V2 organizes tests into test suites and test groups.
-
A test suite is the set of test groups used to verify that a device works with particular versions of AWS IoT Greengrass.
-
A test group is the set of individual tests related to a particular feature, such as component deployments.
Test suites are versioned using a
format, for example major
.minor
.patch
GGV2Q_1.0.0
. When you download IDT, the package includes the
latest Greengrass qualification suite version.
Important
Tests from unsupported test suite versions are not valid for device qualification. IDT doesn't print qualification reports for unsupported versions. For more information, see Support policy for AWS IoT Device Tester for AWS IoT Greengrass.
You can run list-supported-products
to list the versions of AWS IoT Greengrass and test
suites that are supported by your current version of IDT.
Test group descriptions
- Required Test Groups for Core Qualification
-
These test groups are required to qualify your AWS IoT Greengrass V2 device for the AWS Partner Device Catalog.
- Core Dependencies
-
Validates that the device meets all software and hardware requirements for the AWS IoT Greengrass Core software. This test group includes the following test case:
- Java Version
-
Checks that the required Java version is installed on the device under test. AWS IoT Greengrass requires Java 8 or later.
- PreTest Validation
-
Checks that the device meets the software requirements to run tests.
-
For Linux-based devices, this test checks if the device can run the following Linux commands:
chmod
,cp
,echo
,grep
,kill
,ln
,mkinfo
,ps
,rm
,sh
,uname
-
For Windows-based devices, this test checks if the device has the following Microsoft software installed:
Powershell
v5.1 or later, .NET v4.6.1 or later, Visual C++ 2017 or later, PsExec utility
-
- Version Checker
-
Checks that the version of AWS IoT Greengrass provided is compatible with the AWS IoT Device Tester version you are using.
- Component
-
Validates that the device can deploy components and upgrade them. This test group includes the following tests:
- Cloud Component
-
Validates device capability for cloud components.
- Local Component
-
Validates device capability for local components.
- Lambda
-
This test is not applicable for Windows-based devices.
Validates that the device can deploy Lambda function components that use the Java runtime, and that the Lambda functions can use AWS IoT Core MQTT topics as event sources for work messages.
- MQTT
-
Validates that the device can subscribe and publish to AWS IoT Core MQTT topics.
- Optional Test Groups
-
Note
These test groups are optional, and used only for qualifying Linux-based Greengrass core devices. If you choose to qualify for optional tests, your device is listed with additional capabilities in the AWS Partner Device Catalog.
- Docker dependencies
-
Validates that the device meets all required technical dependencies to use the AWS-provided Docker application manager (
aws.greengrass.DockerApplicationManager
) component. - Docker Application Manager Qualification
-
Validates that the device can download a Docker container image from Amazon ECR .
- Machine Learning Dependencies
-
Note
The machine learning optional test group is supported only in IDT v4.9.3.
Validates that the device meets all of the required technical dependencies to use the AWS-provided machine learning (ML) components.
- Machine Learning Inference Tests
-
Note
The machine learning optional test group is supported only in IDT v4.9.3.
Validates that the device can perform ML inference using the Deep Learning Runtime
and TensorFlow Lite ML frameworks. - Stream Manager Dependencies
-
Note
The stream manager optional test group is supported only in IDT v4.9.3.
Validates that the device can download, install, and run the AWS IoT Greengrass stream manager.
- Hardware Security Integration (HSI)
-
Note
This test is available in IDT v4.9.3 and later for Linux-based devices only. AWS IoT Greengrass doesn't currently support hardware security integration for Windows devices.
Validates that the device can authenticate connections to the AWS IoT and AWS IoT Greengrass services using a private key and certificate that are stored in a hardware security module (HSM). This test also verifies that the AWS-provided PKCS#11 provider component can interface with the HSM using a vendor-provided PKCS#11 library. For more information, see Hardware security integration.