AWS IoT Greengrass -Lambda manager state is broken

0

I was successfully setup my pi4 as core device, and some components works fine like IP detector in the console.

I was plan to setup Modbus RTU inbuilt component and the component is installed successfully. but the dependencies like Lambda Manager occurs broken state.

In Greengrass log, its shows some version error.

If I manually change the version it could not reflect in my local core device.

Logs:

com.aws.greengrass.deployment.IotJobsHelper: Added the job to the queue. {ThingName=my-rasperrypi, JobId=f395b688-df36-4d62} 2024-04-30T13:24:23.031Z [INFO] (pool-3-thread-26) com.aws.greengrass.deployment.DeploymentService: Received deployment in the queue. {DeploymentId=f395b688-d123-4d62-b123-14044b1b1234, GreengrassDeploymentId=null, DeploymentType=IOT_JOBS, serviceName=DeploymentService, currentState=RUNNING} 2024-04-30T13:24:23.032Z [INFO] (pool-3-thread-26) com.aws.greengrass.deployment.DeploymentService: Received deployment document in queue. {document={"configurationValidationPolicy":{"timeout":60.0},"components":{"aws.greengrass.Cli":{"version":"2.2.0","runWith":{}},"aws.greengrass.LambdaLauncher":{"version":"2.0.6"},"aws.greengrass.TokenExchangeService":{"version":"2.0.3"},"aws.greengrass.LambdaRuntimes":{"version":"2.0.8"},"aws.greengrass.LocalDebugConsole":{"version":"2.4.2"},"aws.greengrass.Modbus":{"version":"2.1.8","configurationUpdate":{"merge":{"lambdaExecutionParameters":{"EnvironmentVariables":{"ModbusLocalPort":"/dev/ttyUSB0"}},"containerMode":"NoContainer"}},"runWith":{}},"aws.greengrass.LambdaManager":{"version":"2.3.3","configurationUpdate":{"merge":{"RESET":[""]}},"runWith":{}},"aws.greengrass.Nucleus":{"version":"2.2.0"},"aws.greengrass.clientdevices.IPDetector":{"version":"2.1.9"},"aws.greengrass.LegacySubscriptionRouter":{"version":"2.1.11","configurationUpdate":{"merge":{"subscriptions":{"aws-greengrass-modbus":{"id":"aws-greengrass-modbus","source":"arn:aws:lambda:ap-south-1-544924697444:aws:function:aws-greengrass-modbus:version=2.1.8","subject":"modbus/adapter/response","target":"cloud"}}}},"runWith":{}}},"componentUpdatePolicy":{"timeout":60.0,"action":"NOTIFY_COMPONENTS"},"schemaDate":"2021-05-17","deploymentId":"a8a2471f-b1234-4123-9312-ecc88d1e0d32","creationTimestamp":1.714483451358E12,"deploymentName":"Deployment for mypi-group","failureHandlingPolicy":"DO_NOTHING","configurationArn":"arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:46","requiredCapabilities":[]}, serviceName=DeploymentService, currentState=RUNNING} 2024-04-30T13:24:23.113Z [INFO] (pool-3-thread-26) com.aws.greengrass.deployment.DeploymentStatusKeeper: Stored deployment status. {DeploymentId=f395b688-df36-4d62-bf57-14044b12312, GreengrassDeploymentId=a8a2471f-bea4-404e-93fd-ecc88d1e1234, DeploymentStatus=IN_PROGRESS} 2024-04-30T13:24:23.115Z [INFO] (pool-3-thread-26) com.aws.greengrass.deployment.IotJobsHelper: Updating status of persisted deployment. {Status=IN_PROGRESS, StatusDetails={}, ThingName=my-rasperrypi, JobId=f395b688-df36-4d62-bf57-14044b1b7988} 2024-04-30T13:24:23.257Z [INFO] (AwsEventLoop 4) com.aws.greengrass.deployment.IotJobsHelper: Job status update was accepted. {Status=IN_PROGRESS, ThingName=my-rasperrypi, JobId=f395b688-df36-4d62-bf57-14044b1b7988} 2024-04-30T13:24:23.338Z [INFO] (pool-3-thread-26) com.aws.greengrass.deployment.DeploymentDirectoryManager: Create work directory for new deployment. {deploymentId=a8a2471f-bea4-404e-93fd-ecc88d1e0d32, link=/greengrass/v2/deployments/ongoing, directory=/greengrass/v2/deployments/a8a2471f-bea4-404e-93fd-ecc88d1e0d32} 2024-04-30T13:24:23.339Z [INFO] (pool-3-thread-26) com.aws.greengrass.deployment.DeploymentDirectoryManager: Saving deployment metadata to file. {file=/greengrass/v2/deployments/a8a2471f-bea4-404e-93fd-ecc88d1e0d32/deployment_metadata.json, deploymentId=a8a2471f-bea4-404e-93fd-ecc88d1e0d32} 2024-04-30T13:24:23.352Z [INFO] (pool-3-thread-26) com.aws.greengrass.deployment.DeploymentService: Started deployment execution. {serviceName=DeploymentService, currentState=RUNNING, deployment=f395b688-df36-4d62-bf57-14044b1234} 2024-04-30T13:24:23.353Z [INFO] (pool-3-thread-38) com.aws.greengrass.deployment.DeploymentService: deployment-task-execution. Starting deployment task. {Deployment service config={ComponentToGroups={aws.greengrass.Cli={arn:aws:greengrass:ap-south-1:512324697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}, aws.greengrass.clientdevices.IPDetector={arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}, aws.greengrass.LambdaLauncher={arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}, aws.greengrass.LambdaManager={arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}, aws.greengrass.LambdaRuntimes={arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}, aws.greengrass.LegacySubscriptionRouter={arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}, aws.greengrass.LocalDebugConsole={arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}, aws.greengrass.Modbus={arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}, aws.greengrass.Nucleus={arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}, aws.greengrass.TokenExchangeService={arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28=thinggroup/mypi-group}}, dependencies=[], GroupMembership={thinggroup/mypi-group=null}, GroupToLastDeployment={thinggroup/mypi-group={configArn=arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28, timestamp=1713360630032}}, GroupToRootComponents={thinggroup/mypi-group={aws.greengrass.Cli={groupConfigArn=arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28, groupConfigName=thinggroup/mypi-group, version=2.12.4}, aws.greengrass.clientdevices.IPDetector={groupConfigArn=arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28, groupConfigName=thinggroup/mypi-group, version=2.1.9}, aws.greengrass.LegacySubscriptionRouter={groupConfigArn=arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28, groupConfigName=thinggroup/mypi-group, version=2.1.11}, aws.greengrass.LocalDebugConsole={groupConfigArn=arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28, groupConfigName=thinggroup/mypi-group, version=2.4.2}, aws.greengrass.Modbus={groupConfigArn=arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:28, groupConfigName=thinggroup/mypi-group, version=2.1.8}}}, runtime={ProcessedDeployments={}}, version=0.0.0}, deploymentId=a8a21234-bea4-404e-93fd-ecc88d1e0d32, serviceName=DeploymentService, currentState=RUNNING} 2024-04-30T13:24:23.618Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.DependencyResolver: resolve-all-group-dependencies-start. Start to resolve all groups dependencies. {allGroupTargets=[aws.greengrass.Cli, aws.greengrass.LambdaLauncher, aws.greengrass.TokenExchangeService, aws.greengrass.LambdaRuntimes, aws.greengrass.LocalDebugConsole, aws.greengrass.Modbus, aws.greengrass.LambdaManager, aws.greengrass.Nucleus, aws.greengrass.clientdevices.IPDetector, aws.greengrass.LegacySubscriptionRouter], componentToVersionRequirements={aws.greengrass.Cli={thinggroup/mypi-group==2.2.0}, aws.greengrass.LambdaLauncher={thinggroup/mypi-group==2.0.6}, aws.greengrass.TokenExchangeService={thinggroup/mypi-group==2.0.3}, aws.greengrass.LambdaRuntimes={thinggroup/mypi-group==2.0.8}, aws.greengrass.LocalDebugConsole={thinggroup/mypi-group==2.4.2}, aws.greengrass.Modbus={thinggroup/mypi-group==2.1.8}, aws.greengrass.LambdaManager={thinggroup/mypi-group==2.3.3}, aws.greengrass.Nucleus={thinggroup/mypi-group==2.2.0}, aws.greengrass.clientdevices.IPDetector={thinggroup/mypi-group==2.1.9}, aws.greengrass.LegacySubscriptionRouter={thinggroup/mypi-group==2.1.11}}} 2024-04-30T13:24:23.619Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {} 2024-04-30T13:24:23.620Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.Cli-v2.2.0} 2024-04-30T13:24:23.828Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.Cli-v2.2.0} 2024-04-30T13:24:23.835Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {} 2024-04-30T13:24:23.836Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.Nucleus-v2.2.0} 2024-04-30T13:24:24.048Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.Nucleus-v2.2.0} 2024-04-30T13:24:24.053Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {} 2024-04-30T13:24:24.054Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: Found the best local candidate that satisfies the requirement.. {LocalCandidateId=aws.greengrass.LambdaLauncher-v2.0.6} 2024-04-30T13:24:24.241Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.LambdaLauncher-v2.0.6} 2024-04-30T13:24:24.250Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {} 2024-04-30T13:24:24.252Z [INFO] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: Can't find a local candidate that satisfies the requirement.. {} 2024-04-30T13:24:24.447Z [ERROR] (pool-3-thread-39) com.aws.greengrass.componentmanager.ComponentManager: Failed to negotiate version with cloud and no local version to fall back to. {componentName=aws.greengrass.LambdaManager, versionRequirement={thinggroup/mypi-group==2.3.3, aws.greengrass.LambdaLauncher=>=2.0.0 <2.2.0}} 2024-04-30T13:24:24.448Z [ERROR] (pool-3-thread-38) com.aws.greengrass.deployment.DeploymentService: Error occurred while processing deployment. {deploymentId=a8a2471f-bea4-404e-93fd-ecc88d1e0d32, serviceName=DeploymentService, currentState=RUNNING} java.util.concurrent.ExecutionException: com.aws.greengrass.componentmanager.exceptions.NoAvailableComponentVersionException: No local or cloud component version satisfies the requirements Check whether the version constraints conflict and that the component exists in your AWS account with a version that matches the version constraints. If the version constraints conflict, revise deployments to resolve the conflict. Component aws.greengrass.LambdaManager version constraints: thinggroup/mypi-group requires =2.3.3, aws.greengrass.LambdaLauncher requires >=2.0.0 <2.2.0. at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at com.aws.greengrass.deployment.DefaultDeploymentTask.call(DefaultDeploymentTask.java:127) at com.aws.greengrass.deployment.DefaultDeploymentTask.call(DefaultDeploymentTask.java:50) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.lang.Thread.run(Thread.java:840) Caused by: com.aws.greengrass.componentmanager.exceptions.NoAvailableComponentVersionException: No local or cloud component version satisfies the requirements Check whether the version constraints conflict and that the component exists in your AWS account with a version that matches the version constraints. If the version constraints conflict, revise deployments to resolve the conflict. Component aws.greengrass.LambdaManager version constraints: thinggroup/mypi-group requires =2.3.3, aws.greengrass.LambdaLauncher requires >=2.0.0 <2.2.0. at com.aws.greengrass.componentmanager.ComponentManager.negotiateVersionWithCloud(ComponentManager.java:230) at com.aws.greengrass.componentmanager.ComponentManager.resolveComponentVersion(ComponentManager.java:165) at com.aws.greengrass.componentmanager.DependencyResolver.lambda$resolveDependencies$1(DependencyResolver.java:121) at com.aws.greengrass.componentmanager.DependencyResolver.resolveComponentDependencies(DependencyResolver.java:218) at com.aws.greengrass.componentmanager.DependencyResolver.resolveDependencies(DependencyResolver.java:118) at com.aws.greengrass.deployment.DefaultDeploymentTask.lambda$call$2(DefaultDeploymentTask.java:125) ... 4 more

2024-04-30T13:24:38.353Z [INFO] (pool-3-thread-26) com.aws.greengrass.deployment.DeploymentService: Current deployment finished. {DeploymentId=f395b688-df36-4d62-bf57-14044b1b1234, GreengrassDeploymentId=a8a2471f-bea4-404e-93fd-ecc88d12342, serviceName=DeploymentService, currentState=RUNNING} 2024-04-30T13:24:38. [ERROR] (pool-3-thread-26) com.aws.greengrass.deployment.DeploymentService: Deployment task failed with following errors. {DeploymentId=f395b688-df36-4d62-bf57-14044b11234, detailed-deployment-status=FAILED_NO_STATE_CHANGE, deployment-error-types=[REQUEST_ERROR], GreengrassDeploymentId=a8a2471f-bea4-404e-93fd-ecc881234d32, serviceName=DeploymentService, currentState=RUNNING, deployment-error-stack=[DEPLOYMENT_FAILURE, NO_AVAILABLE_COMPONENT_VERSION, COMPONENT_VERSION_REQUIREMENTS_NOT_MET]} com.aws.greengrass.componentmanager.exceptions.NoAvailableComponentVersionException: Enter image description here

2 Risposte
0
Risposta accettata

Hi. Your deployment contains version 2.0.6 of the aws.greengrass.LambaLauncher and 2.3.3 of aws.greengrass.LambdaManager:

2024-04-30T13:24:23.032Z [INFO] (pool-3-thread-26) com.aws.greengrass.deployment.DeploymentService: Received deployment document in queue. {document={"configurationValidationPolicy":{"timeout":60.0},"components":{"aws.greengrass.Cli":{"version":"2.2.0","runWith":{}},"aws.greengrass.LambdaLauncher":{"version":"2.0.6"},"aws.greengrass.TokenExchangeService":{"version":"2.0.3"},"aws.greengrass.LambdaRuntimes":{"version":"2.0.8"},"aws.greengrass.LocalDebugConsole":{"version":"2.4.2"},"aws.greengrass.Modbus":{"version":"2.1.8","configurationUpdate":{"merge":{"lambdaExecutionParameters":{"EnvironmentVariables":{"ModbusLocalPort":"/dev/ttyUSB0"}},"containerMode":"NoContainer"}},"runWith":{}},"aws.greengrass.LambdaManager":{"version":"2.3.3","configurationUpdate":{"merge":{"RESET":[""]}},"runWith":{}},"aws.greengrass.Nucleus":{"version":"2.2.0"},"aws.greengrass.clientdevices.IPDetector":{"version":"2.1.9"},"aws.greengrass.LegacySubscriptionRouter":{"version":"2.1.11","configurationUpdate":{"merge":{"subscriptions":{"aws-greengrass-modbus":{"id":"aws-greengrass-modbus","source":"arn:aws:lambda:ap-south-1-544924697444:aws:function:aws-greengrass-modbus:version=2.1.8","subject":"modbus/adapter/response","target":"cloud"}}}},"runWith":{}}},"componentUpdatePolicy":{"timeout":60.0,"action":"NOTIFY_COMPONENTS"},"schemaDate":"2021-05-17","deploymentId":"a8a2471f-b1234-4123-9312-ecc88d1e0d32","creationTimestamp":1.714483451358E12,"deploymentName":"Deployment for mypi-group","failureHandlingPolicy":"DO_NOTHING","configurationArn":"arn:aws:greengrass:ap-south-1:544924697444:configuration:thinggroup/mypi-group:46","requiredCapabilities":[]}, serviceName=DeploymentService, currentState=RUNNING}

This a conflict. aws.greengrass.LambaLauncher 2.0.6 requires aws.greengrass.LambdaManager versions >=2.0.0 <2.2.0. So I suggest you revise your deployment to include the latest LambdaLauncher, namely 2.0.13 (which seems to be already installed).

Also, you're deploying Nucleus and CLI (2.2.0). They're nearly 3 years old. I suggest you upgrade them to 2.12.5.

profile pictureAWS
ESPERTO
Greg_B
con risposta un mese fa
profile pictureAWS
ESPERTO
verificato un mese fa
  • Hi, If I revise the deployment, it can't reflect and it goes to previous changes.

0

Hi,

How are you revising the deployment? Are you updating the version for the LambdaManager as suggested by Greg? If yes, what is the error you see?

Thanks

AWS
sidsriv
con risposta un mese fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande