GGv2 component versioning

0

Hello -

I'm building a component and running into issues when trying to get it deployed down to the GGv2 core device. Specifically I see a problem in the greengrass.log where it seems to be misinterpreting my component version.

In the recipe it's specified as 1.0.1-1616781067 and in the error I see a message like this:

2021-03-26T17:58:27.183Z [ERROR] (pool-2-thread-19) com.aws.greengrass.componentmanager.ComponentManager: Failed to negotiate version with cloud and no local version to fall back to. {componentName=com.xx.xxxxxxx, versionRequirement={thinggroup/TestThingGroup=>=1.0.1 <1616781068.0.0}}

By contrast, here's a working example:

greengrass_2021_03_26_16_0.log:2021-03-26T16:50:44.261Z [INFO] (pool-2-thread-428) com.aws.greengrass.componentmanager.ComponentManager: Searching for best candidate locally on the device.. {VersionRequirements={aws.greengrass.LocalDebugConsole=>=2.0.3 <2.1.0, aws.greengrass.Cli=>=2.0.5 <2.1.0}, ComponentName=aws.greengrass.Nucleus}

It may be a red herring but seems like the upper version limited is only pulling the patch portion of the version. Has anyone else seen this? I believe this is still legal in semantic versioning; however, the dev guide didn't really spell out if this would be permitted.

Thanks!

mgfink
asked 3 years ago231 views
2 Answers
0

Received confirmation from support this format isn't supported and semantic versioning (eg. v.r.m) must be used.

mgfink
answered 3 years ago
0

The docs (https://docs.aws.amazon.com/greengrass/v2/developerguide/component-recipe-reference.html) really need to be updated, as pre-release versioning is supported as part of the spec (https://semver.org/spec/v2.0.0-rc.2.html). This definitely complicates CI/CD deployments, as GreengrassV2 does not gracefully handle updating different components with the same version.

answered 2 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