내용으로 건너뛰기

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!

질문됨 5년 전499회 조회

2개 답변
0

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

답변함 5년 전

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.

답변함 4년 전

로그인하지 않았습니다. 로그인해야 답변을 게시할 수 있습니다.

좋은 답변은 질문에 명확하게 답하고 건설적인 피드백을 제공하며 질문자의 전문적인 성장을 장려합니다.

관련 콘텐츠