Upgraded to 2.1.0, cannot deploy

0

I upgraded to GreenGrass version 2.1.0, and now I cannot deploy. It looks like it's trying to load aws.greengrass.Nucleus? I'm deploying:

ggOpcLee=10.0.0 # My lambda
aws.greengrass.Cli==2.0.5
aws.greengrass.LambdaManager==2.1.0
aws.greengrass.Nucleus==2.1.0
aws.greengrass.Cloudwatch==2.0.4
aws.greengrass.LogManager==2.1.0

Any thoughts appreciated...

From /greengrass/v2/logs/greengrass.log:

2021-05-04T17:22:44.673Z [INFO] (pool-2-thread-51) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-end. Resolved component version.. {ResolvedComponent=aws.greengrass.Cli-v2.0.5}
2021-05-04T17:22:44.677Z [INFO] (pool-2-thread-51) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version
starts. {component=aws.greengrass.Nucleus, versionRequirements={thing/LeeThing2==2.1.0, aws.greengrass.Cli=>=2.0.5 <2.1.0, aws.greengrass.LambdaManager=>=2.0.0 <2.2.0}}
2021-05-04T17:22:44.677Z [INFO] (pool-2-thread-51) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={thing/LeeThing2==2.1.0, aws.greengrass.Cli=>=2.0.5 <2.1.0, aws.greengrass.LambdaManager=>=2.0.0 <2.2.0}, ComponentName=aws.greengrass.Nucleus}
2021-05-04T17:22:44.678Z [INFO] (pool-2-thread-51) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {}
2021-05-04T17:22:44.679Z [INFO] (pool-2-thread-51) com.aws.greengrass.componentmanager.ComponentManager: Can't find a local candidate that satisfies the requirement.. {}
2021-05-04T17:22:44.679Z [INFO] (pool-2-thread-51) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-05-04T17:22:44.941Z [ERROR] (pool-2-thread-51) com.aws.greengrass.componentmanager.ComponentManager: Failed to negotiate version with cloud and no local version
to fall back to. {componentName=aws.greengrass.Nucleus, versionRequirement={thing/LeeThing2==2.1.0, aws.greengrass.Cli=>=2.0.5 <2.1.0, aws.greengrass.LambdaManager=>=2.0.0 <2.2.0}}

asked 3 years ago401 views
5 Answers
0
Accepted Answer

Hi,
Please deploy the latest version of all the components. Specifically, deploy CLI version 2.1.0.

The error you got: "Failed to negotiate version with cloud and no local version
to fall back to. {componentName=aws.greengrass.Nucleus, versionRequirement={thing/LeeThing2==2.1.0, aws.greengrass.Cli=>=2.0.5 <2.1.0, aws.greengrass.LambdaManager=>=2.0.0 <2.2.0}}" Tells you that Nucleus version 2.1.0 is required by your thing deployment, but less than 2.1.0 is required by the CLI; thus no version can satisfy both requirements. You need to update the CLI version in order to get a CLI version which is compatible.

Cheers,
Michael

AWS
EXPERT
answered 3 years ago
0

I noticed that I also need to deploy to a "Target type" of "Thing group". If I try and deploy to "Core device", the deploy fails with a similar error message as above. So I'm wondering if the deploy actually worked for a "Thing group"? It stays "Active" even if I revert to Cli version 2.0.5.

answered 3 years ago
0

I think the deploy is failing even when I deploy to a "Thing group".

answered 3 years ago
0

I notice on the "AWS IoT > GreenGrass > Core Devices > LeeThing2" page the Greengrass Core software version is 2.0.5, where it needs to be 2.1.0? I deleted and recreated the thing (after verifying that the Greengrass.jar version I was using was 2.1.0) and it still shows 2.0.5. I tried just deploying ggOpcLee (my lambda) with no other components, to LeeThing2, and got:

2021-05-06T16:47:48.843Z [INFO] (pool-2-thread-46) com.aws.greengrass.componentmanager.DependencyResolver: resolve-group-dependencies-start. Start to resolve group dependencies. {targetComponents=[ggOpcLee], componentToVersionRequirements={aws.greengrass.Cli=thinggroup/GreengrassQuickStartGroup2==2.0.5}, aws.greengrass.LambdaLauncher={ggOpcLee=>=1.0.0, ggHello=>=1.0.0}, aws.greengrass.TokenExchangeService={ggOpcLee=>=1.0.0, ggHello=>=1.0.0}, aws.greengrass.LambdaRuntimes={ggOpcLee=>=1.0.0, ggHello=>=1.0.0}, ggOpcLee={thinggroup/LeeGroupV2==7.0.0, thing/LeeThing2==11.0.0}, ggHello={thinggroup/GreengrassQuickStartGroup2==2.0.0}, aws.greengrass.LambdaManager={aws.greengrass.LambdaLauncher=>=2.0.0 <2.2.0}, aws.greengrass.Nucleus={aws.greengrass.Cli=>=2.0.5 <2.1.0, aws.greengrass.LambdaManager=>=2.0.0 <2.2.0}}}
2021-05-06T16:47:48.843Z [INFO] (pool-2-thread-46) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=ggOpcLee, versionRequirements={thinggroup/LeeGroupV2==7.0.0, thing/LeeThing2==11.0.0}}
2021-05-06T16:47:48.843Z [INFO] (pool-2-thread-46) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={
thinggroup/LeeGroupV2==7.0.0, thing/LeeThing2==11.0.0}, ComponentName=ggOpcLee}
2021-05-06T16:47:48.851Z [INFO] (pool-2-thread-46) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {}
2021-05-06T16:47:48.852Z [INFO] (pool-2-thread-46) com.aws.greengrass.componentmanager.ComponentManager: Can't find a local candidate that satisfies the requirement.. {}

So I put back components Cli / LambdaManager / LogManager / Nucleus (all 2.1.0 versions) and got:

2021-05-06T17:02:49.979Z [INFO] (pool-2-thread-48) com.aws.greengrass.componentmanager.DependencyResolver: resolve-group-dependencies-start. Start to resolve group dependencies. {targetComponents=[aws.greengrass.Cli, aws.greengrass.LogManager, ggOpcLee, aws.greengrass.LambdaManager, aws.greengrass.Nucleus], componentToVersionRequirements={aws.greengrass.Cli={thing/LeeThing2==2.1.0, thinggroup/GreengrassQuickStartGroup2==2.0.5}, aws.greengrass.LambdaLauncher={ggOpcLee=>=1.0.0, ggHello=>=1.0.0}, aws.greengrass.TokenExchangeService={ggOpcLee=>=1.0.0, ggHello=>=1.0.0}, aws.greengrass.LambdaRuntimes={ggOpcLee=>=1.0.0, ggHello=>=1.0.0}, ggOpcLee={thinggroup/LeeGroupV2==7.0.0, thing/LeeThing2==11.0.0}, aws.greengrass.
LogManager={thing/LeeThing2==2.1.0}, ggHello={thinggroup/GreengrassQuickStartGroup2==2.0.0}, aws.greengrass.LambdaManager={aws.greengrass.LambdaLauncher=>=2.0.0 <2.2.0, thing/LeeThing2==2.1.0}, aws.greengrass.Nucleus={aws.greengrass.Cli=>=2.0.5 <2.1.0, thing/LeeThing2==2.1.0, aws.greengrass.LambdaManager=>=2.0.0 <2.2.0}}}
2021-05-06T17:02:49.979Z [INFO] (pool-2-thread-48) com.aws.greengrass.componentmanager.ComponentManager: resolve-component-version-start. Resolving component version starts. {component=aws.greengrass.Cli, versionRequirements={thing/LeeThing2==2.1.0, thinggroup/GreengrassQuickStartGroup2==2.0.5}}
2021-05-06T17:02:49.979Z [INFO] (pool-2-thread-48) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={thing/LeeThing2==2.1.0, thinggroup/GreengrassQuickStartGroup2==2.0.5}, ComponentName=aws.greengrass.Cli}
2021-05-06T17:02:49.979Z [INFO] (pool-2-thread-48) com.aws.greengrass.componentmanager.ComponentManager: No running component satisfies the requirement. Searching in the local component store.. {}
2021-05-06T17:02:49.980Z [INFO] (pool-2-thread-48) com.aws.greengrass.componentmanager.ComponentManager: Can't find a local candidate that satisfies the requirement.. {}
2021-05-06T17:02:49.980Z [INFO] (pool-2-thread-48) com.aws.greengrass.componentmanager.ComponentManager: negotiate-version-with-cloud-start. Negotiating version with cloud. {}
2021-05-06T17:02:50.353Z [ERROR] (pool-2-thread-48) com.aws.greengrass.componentmanager.ComponentManager: Failed to negotiate version with cloud and no local version to fall back to. {componentName=aws.greengrass.Cli, versionRequirement={thing/LeeThing2==2.1.0, thinggroup/GreengrassQuickStartGroup2==2.0.5}}

I notice "aws.greengrass.Cli={thing/LeeThing2==2.1.0, thinggroup/GreengrassQuickStartGroup2==2.0.5}," here, and I'm not sure where GreengrassQuickStartGroup2 is coming from (it's not listed on my "Groups" page), nor why it's asking for version 2.0.5 for Cli. Also it looks like Cli 2.1.0 is requiring Nucleus < 2.1.0 ("aws.greengrass.Nucleus={aws.greengrass.Cli=>=2.0.5 <2.1.0")

Any further thoughts appreciated...

answered 3 years ago
0

I uninstalled 2.1.0 and reinstalled it, and now the deploy works! Apparently my 2.1.0 installation got scrambled when I upgraded from 2.0.0.

Uninstall: https://docs.aws.amazon.com/greengrass/v2/developerguide/uninstall-greengrass-core-v2.html
Install: https://docs.aws.amazon.com/greengrass/v2/developerguide/install-greengrass-core-v2.html

answered 3 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions