Problem:
I've followed the necessary steps from the walkthrough however I am running into an issue where the AWS IoT Greengrass Core software fails to download the artifact on the core device.
Error on log:com.aws.greengrass.componentmanager.exceptions.ArtifactChecksumMismatchException: Integrity check for downloaded artifact failed. Probably due to file corruption.
Based on the walkthrough I have made sure:
To use the .zip files provided in Ryan's public S3 bucket s3://public-ryan/jetson/models/
The Etag of the .zip files on my S3 bucket match those of the .zip files in Ryan's S3 bucket
IoT Greengrass Core software was able to set up the correct path locally to download the artifacts into (i.e. /greengrass/v2/aws.greengrass.JetsonDLRImageClassification/1.0.0/) but was unable to download the .zip file and unzip the contents from my S3 bucket.
I would really appreciate some guidance as to what is preventing a successful deployment.
Please see my log
2021-11-19T13:39:16.021Z [INFO] (Thread-3) com.aws.greengrass.deployment.IotJobsHelper: Received new deployment notification. Requesting details. {ThingName=MyJetson}
2021-11-19T13:39:16.121Z [INFO] (Thread-3) com.aws.greengrass.deployment.IotJobsHelper: Received Iot job description. {Status=QUEUED, queueAt=Fri Nov 19 13:39:13 GMT 2021, ThingName=MyJetson, JobId=66ca0dd6-1068-4b1e-82b0-8fc7161bc670}
2021-11-19T13:39:16.125Z [INFO] (Thread-3) com.aws.greengrass.deployment.IotJobsHelper: Added the job to the queue. {ThingName=MyJetson, JobId=66ca0dd6-1068-4b1e-82b0-8fc7161bc670}
2021-11-19T13:39:24.604Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.DeploymentService: Received deployment in the queue. {deploymentId=66ca0dd6-1068-4b1e-82b0-8fc7161bc670, DeploymentType=IOT_JOBS, serviceName=DeploymentService, currentState=RUNNING}
2021-11-19T13:39:24.609Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.DeploymentService: Received deployment document in queue. {document={"configurationValidationPolicy":{"timeout":60.0},"components":{"aws.greengrass.JetsonDLRImageClassification":{"version":"1.0.0"},"variant.Jetson.ImageClassification.ModelStore":{"version":"0.1.1"},"variant.Jetson.DLR":{"version":"1.0.0"},"aws.greengrass.Nucleus":{"version":"2.0.5","runWith":{}}},"componentUpdatePolicy":{"timeout":60.0,"action":"NOTIFY_COMPONENTS"},"schemaDate":"2021-05-17","deploymentId":"710c56ae-dd50-4b4b-b0dd-3d24a755cf99","creationTimestamp":1.637329151134E12,"deploymentName":"Deployment for MyJetsonGroup","failureHandlingPolicy":"DO_NOTHING","configurationArn":"arn:aws:greengrass:eu-west-2:576888525644:configuration:thinggroup/MyJetsonGroup:17","requiredCapabilities":[]}, serviceName=DeploymentService, currentState=RUNNING}
2021-11-19T13:39:24.695Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.IotJobsHelper: Updating status of persisted deployment. {Status=IN_PROGRESS, StatusDetails={}, ThingName=MyJetson, JobId=66ca0dd6-1068-4b1e-82b0-8fc7161bc670}
2021-11-19T13:39:24.876Z [INFO] (Thread-3) com.aws.greengrass.deployment.IotJobsHelper: Job status update was accepted. {Status=IN_PROGRESS, ThingName=MyJetson, JobId=66ca0dd6-1068-4b1e-82b0-8fc7161bc670}
2021-11-19T13:39:24.957Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.DeploymentDirectoryManager: Create work directory for new deployment. {deploymentId=arn:aws:greengrass:eu-west-2:576888525644:configuration:thinggroup/MyJetsonGroup:17, link=/greengrass/v2/deployments/ongoing, directory=/greengrass/v2/deployments/arn.aws.greengrass.eu-west-2.576888525644.configuration.thinggroup+MyJetsonGroup.17}
2021-11-19T13:39:24.958Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.DeploymentDirectoryManager: Persist deployment metadata. {file=/greengrass/v2/deployments/arn.aws.greengrass.eu-west-2.576888525644.configuration.thinggroup+MyJetsonGroup.17/deployment_metadata.json, deploymentId=arn:aws:greengrass:eu-west-2:576888525644:configuration:thinggroup/MyJetsonGroup:17}
2021-11-19T13:39:24.960Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.DeploymentService: Started deployment execution. {serviceName=DeploymentService, currentState=RUNNING, deployment=66ca0dd6-1068-4b1e-82b0-8fc7161bc670}
2021-11-19T13:39:24.960Z [INFO] (pool-2-thread-26) com.aws.greengrass.deployment.DeploymentService: deployment-task-execution. Starting deployment task. {Deployment service config={ComponentToGroups={aws.greengrass.Nucleus={}}, dependencies=[], GroupToRootComponents={}, runtime={ProcessedDeployments={}}, version=0.0.0}, deploymentId=arn:aws:greengrass:eu-west-2:576888525644:configuration:thinggroup/MyJetsonGroup:17, serviceName=DeploymentService, currentState=RUNNING}
2021-11-19T13:39:24.962Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.DependencyResolver: resolve-group-dependencies-start. Start to resolve group dependencies. {targetComponents=[aws.greengrass.JetsonDLRImageClassification, variant.Jetson.ImageClassification.ModelStore, variant.Jetson.DLR, aws.greengrass.Nucleus], componentToVersionRequirements={aws.greengrass.JetsonDLRImageClassification={thinggroup/MyJetsonGroup==1.0.0}, variant.Jetson.ImageClassification.ModelStore={thinggroup/MyJetsonGroup==0.1.1}, variant.Jetson.DLR={thinggroup/MyJetsonGroup==1.0.0}, aws.greengrass.Nucleus={thinggroup/MyJetsonGroup==2.0.5}}}
2021-11-19T13:39:24.965Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=aws.greengrass.JetsonDLRImageClassification, versionRequirements={thinggroup/MyJetsonGroup==1.0.0}}
2021-11-19T13:39:24.965Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={thinggroup/MyJetsonGroup==1.0.0}, ComponentName=aws.greengrass.JetsonDLRImageClassification}
2021-11-19T13:39:24.965Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {}
2021-11-19T13:39:24.966Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.JetsonDLRImageClassification-v1.0.0}
2021-11-19T13:39:24.966Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:25.152Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:25.153Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.JetsonDLRImageClassification-v1.0.0}
2021-11-19T13:39:25.157Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=variant.Jetson.ImageClassification.ModelStore, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.2.0, thinggroup/MyJetsonGroup==0.1.1}}
2021-11-19T13:39:25.157Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.2.0, thinggroup/MyJetsonGroup==0.1.1}, ComponentName=variant.Jetson.ImageClassification.ModelStore}
2021-11-19T13:39:25.157Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {}
2021-11-19T13:39:25.158Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=variant.Jetson.ImageClassification.ModelStore-v0.1.1}
2021-11-19T13:39:25.158Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:25.312Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:25.312Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=variant.Jetson.ImageClassification.ModelStore-v0.1.1}
2021-11-19T13:39:25.315Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=variant.Jetson.DLR, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.4.0, thinggroup/MyJetsonGroup==1.0.0}}
2021-11-19T13:39:25.315Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.4.0, thinggroup/MyJetsonGroup==1.0.0}, ComponentName=variant.Jetson.DLR}
2021-11-19T13:39:25.316Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {}
2021-11-19T13:39:25.317Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=variant.Jetson.DLR-v1.0.0}
2021-11-19T13:39:25.317Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:25.483Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:25.483Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=variant.Jetson.DLR-v1.0.0}
2021-11-19T13:39:25.486Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=aws.greengrass.Nucleus, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}}
2021-11-19T13:39:25.486Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}, ComponentName=aws.greengrass.Nucleus}
2021-11-19T13:39:25.487Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found running component which meets the requirement and use it.. {ComponentIdentifier=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:25.487Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:25.487Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:25.672Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:25.673Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:25.676Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=aws.greengrass.Nucleus, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}}
2021-11-19T13:39:25.676Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}, ComponentName=aws.greengrass.Nucleus}
2021-11-19T13:39:25.677Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found running component which meets the requirement and use it.. {ComponentIdentifier=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:25.677Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:25.677Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:25.854Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:25.855Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:25.857Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=aws.greengrass.Nucleus, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}}
2021-11-19T13:39:25.857Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}, ComponentName=aws.greengrass.Nucleus}
2021-11-19T13:39:25.858Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found running component which meets the requirement and use it.. {ComponentIdentifier=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:25.859Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:25.859Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:26.015Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:26.015Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.019Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=variant.Jetson.ImageClassification.ModelStore, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.2.0, thinggroup/MyJetsonGroup==0.1.1}}
2021-11-19T13:39:26.019Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.2.0, thinggroup/MyJetsonGroup==0.1.1}, ComponentName=variant.Jetson.ImageClassification.ModelStore}
2021-11-19T13:39:26.019Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {}
2021-11-19T13:39:26.020Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=variant.Jetson.ImageClassification.ModelStore-v0.1.1}
2021-11-19T13:39:26.020Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:26.172Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:26.172Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=variant.Jetson.ImageClassification.ModelStore-v0.1.1}
2021-11-19T13:39:26.174Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=aws.greengrass.Nucleus, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}}
2021-11-19T13:39:26.174Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}, ComponentName=aws.greengrass.Nucleus}
2021-11-19T13:39:26.175Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found running component which meets the requirement and use it.. {ComponentIdentifier=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.175Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.176Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:26.336Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:26.336Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.339Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=variant.Jetson.DLR, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.4.0, thinggroup/MyJetsonGroup==1.0.0}}
2021-11-19T13:39:26.339Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.4.0, thinggroup/MyJetsonGroup==1.0.0}, ComponentName=variant.Jetson.DLR}
2021-11-19T13:39:26.340Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {}
2021-11-19T13:39:26.340Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=variant.Jetson.DLR-v1.0.0}
2021-11-19T13:39:26.341Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:26.518Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:26.518Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=variant.Jetson.DLR-v1.0.0}
2021-11-19T13:39:26.522Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=aws.greengrass.Nucleus, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}}
2021-11-19T13:39:26.522Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}, ComponentName=aws.greengrass.Nucleus}
2021-11-19T13:39:26.523Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found running component which meets the requirement and use it.. {ComponentIdentifier=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.523Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.523Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:26.664Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:26.664Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.666Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=aws.greengrass.Nucleus, versionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}}
2021-11-19T13:39:26.667Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}, ComponentName=aws.greengrass.Nucleus}
2021-11-19T13:39:26.668Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found running component which meets the requirement and use it.. {ComponentIdentifier=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.668Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.668Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-11-19T13:39:26.828Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-end. Negotiated version with cloud. {}
2021-11-19T13:39:26.828Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.Nucleus-v2.0.5}
2021-11-19T13:39:26.840Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.DependencyResolver: resolve-group-dependencies-finish. Finish resolving group dependencies. {resolvedComponents={aws.greengrass.JetsonDLRImageClassification=aws.greengrass.JetsonDLRImageClassification-v1.0.0, variant.Jetson.ImageClassification.ModelStore=variant.Jetson.ImageClassification.ModelStore-v0.1.1, aws.greengrass.Nucleus=aws.greengrass.Nucleus-v2.0.5, variant.Jetson.DLR=variant.Jetson.DLR-v1.0.0}, componentToVersionRequirements={aws.greengrass.JetsonDLRImageClassification={thinggroup/MyJetsonGroup==1.0.0}, variant.Jetson.ImageClassification.ModelStore={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.2.0, thinggroup/MyJetsonGroup==0.1.1}, variant.Jetson.DLR={aws.greengrass.JetsonDLRImageClassification=>=0.1.1 <1.4.0, thinggroup/MyJetsonGroup==1.0.0}, aws.greengrass.Nucleus={aws.greengrass.JetsonDLRImageClassification=>=2.0.3 <2.1.0, thinggroup/MyJetsonGroup==2.0.5, variant.Jetson.ImageClassification.ModelStore=>=2.0.3 <2.1.0, variant.Jetson.DLR=>=2.0.3 <2.1.0}}}
2021-11-19T13:39:26.840Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: prepare-package-start. {packageIdentifier=aws.greengrass.JetsonDLRImageClassification-v1.0.0}
2021-11-19T13:39:26.845Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.plugins.S3Downloader: get-download-size-from-s3. {componentIdentifier=aws.greengrass.JetsonDLRImageClassification, artifactUri=s3://components1/artifacts/aws.greengrass.JetsonDLRImageClassification/1.0.0/image_classification.zip}
2021-11-19T13:39:27.041Z [INFO] (pool-2-thread-27) com.aws.greengrass.tes.CredentialRequestHandler: Received IAM credentials that will be cached until 2021-11-19T14:34:27Z. {iotCredentialsPath=/role-aliases/GreengrassV2TokenExchangeRoleAlias/credentials}
2021-11-19T13:39:27.175Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.plugins.S3Downloader: get-download-size-from-s3. {componentIdentifier=aws.greengrass.JetsonDLRImageClassification, artifactUri=s3://components1/artifacts/aws.greengrass.JetsonDLRImageClassification/1.0.0/image_classification.zip}
2021-11-19T13:39:27.443Z [INFO] (pool-2-thread-27) com.aws.greengrass.componentmanager.plugins.S3Downloader: download-artifact. task failed and will be retried. {task-attempt=1, componentIdentifier=aws.greengrass.JetsonDLRImageClassification, artifactUri=s3://components1/artifacts/aws.greengrass.JetsonDLRImageClassification/1.0.0/image_classification.zip}
com.aws.greengrass.componentmanager.exceptions.ArtifactChecksumMismatchException: Integrity check for downloaded artifact failed. Probably due to file corruption.
at com.aws.greengrass.componentmanager.plugins.ArtifactDownloader.lambda$downloadToPath$0(ArtifactDownloader.java:132)
at com.aws.greengrass.util.RetryUtils.runWithRetry(RetryUtils.java:46)
at com.aws.greengrass.componentmanager.plugins.ArtifactDownloader.downloadToPath(ArtifactDownloader.java:120)
at com.aws.greengrass.componentmanager.ComponentManager.prepareArtifacts(ComponentManager.java:395)
at com.aws.greengrass.componentmanager.ComponentManager.preparePackage(ComponentManager.java:344)
at com.aws.greengrass.componentmanager.ComponentManager.lambda$preparePackages$1(ComponentManager.java:327)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
2021-11-19T13:49:30.635Z [ERROR] (pool-2-thread-27) com.aws.greengrass.componentmanager.ComponentManager: Failed to prepare package aws.greengrass.JetsonDLRImageClassification-v1.0.0. {}
com.aws.greengrass.componentmanager.exceptions.PackageDownloadException: Failed to download artifact name: 's3://components1/artifacts/aws.greengrass.JetsonDLRImageClassification/1.0.0/image_classification.zip' for component aws.greengrass.JetsonDLRImageClassification-1.0.0, reason: Failed to download the artifact
at com.aws.greengrass.componentmanager.plugins.ArtifactDownloader.downloadToPath(ArtifactDownloader.java:141)
at com.aws.greengrass.componentmanager.ComponentManager.prepareArtifacts(ComponentManager.java:395)
at com.aws.greengrass.componentmanager.ComponentManager.preparePackage(ComponentManager.java:344)
at com.aws.greengrass.componentmanager.ComponentManager.lambda$preparePackages$1(ComponentManager.java:327)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: com.aws.greengrass.componentmanager.exceptions.ArtifactChecksumMismatchException: Integrity check for downloaded artifact failed. Probably due to file corruption.
at com.aws.greengrass.componentmanager.plugins.ArtifactDownloader.lambda$downloadToPath$0(ArtifactDownloader.java:132)
at com.aws.greengrass.util.RetryUtils.runWithRetry(RetryUtils.java:46)
at com.aws.greengrass.componentmanager.plugins.ArtifactDownloader.downloadToPath(ArtifactDownloader.java:120)
... 7 more
2021-11-19T13:49:39.994Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.DeploymentService: Current deployment finished. {DeploymentId=66ca0dd6-1068-4b1e-82b0-8fc7161bc670, serviceName=DeploymentService, currentState=RUNNING}
2021-11-19T13:49:40.128Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.IotJobsHelper: Updating status of persisted deployment. {Status=FAILED, StatusDetails={deployment-failure-cause=Failed to download artifact name: 's3://components1/artifacts/aws.greengrass.JetsonDLRImageClassification/1.0.0/image_classification.zip' for component aws.greengrass.JetsonDLRImageClassification-1.0.0, reason: Failed to download the artifact, detailed-deployment-status=FAILED_NO_STATE_CHANGE}, ThingName=MyJetson, JobId=66ca0dd6-1068-4b1e-82b0-8fc7161bc670}
2021-11-19T13:49:40.300Z [INFO] (Thread-3) com.aws.greengrass.deployment.IotJobsHelper: Job status update was accepted. {Status=FAILED, ThingName=MyJetson, JobId=66ca0dd6-1068-4b1e-82b0-8fc7161bc670}
2021-11-19T13:49:40.391Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.DeploymentDirectoryManager: Persist link to last deployment. {link=/greengrass/v2/deployments/previous-failure}
2021-11-19T13:49:40.399Z [INFO] (pool-2-thread-12) com.aws.greengrass.deployment.DeploymentDirectoryManager: Clean up link to earlier deployment. {link=/greengrass/v2/deployments/previous-failure}
2021-11-19T13:49:42.099Z [INFO] (Thread-3) com.aws.greengrass.deployment.IotJobsHelper: Received empty jobs in notification . {ThingName=MyJetson}
Problem: I've followed the necessary steps from the walkthrough however I am running into an issue where the AWS IoT Greengrass Core software fails to download the artifact on the core device.
Error on log:
com.aws.greengrass.componentmanager.exceptions.ArtifactChecksumMismatchException: Integrity check for downloaded artifact failed. Probably due to file corruption.
Based on the walkthrough I have made sure:
IoT Greengrass Core software was able to set up the correct path locally to download the artifacts into (i.e. /greengrass/v2/aws.greengrass.JetsonDLRImageClassification/1.0.0/) but was unable to download the .zip file and unzip the contents from my S3 bucket.
I would really appreciate some guidance as to what is preventing a successful deployment.
Please see my log