- Newest
- Most votes
- Most comments
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
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.
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...
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
Relevant content
- Accepted Answerasked a year ago
- AWS OFFICIALUpdated 10 months ago
- AWS OFFICIALUpdated 7 months ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated a year ago