- Mais recentes
- Mais votos
- Mais comentários
Hi,
I'd recommend you read: https://docs.aws.amazon.com/greengrass/v2/developerguide/manage-deployments.html#component-dependency-resolution.
You have deployed both to the thing and a thing group with incompatible versions. You must remove the component from either the thing or the thing group's deployment manifest then perform that deployment to resolve the conflict.
This happens because you cannot have multiple versions of the same component on the same device. Because the deployment to the thing and thing group want different things, we cannot satisfy their requests so the deployment will fail. You need to then modify the deployment so that only one deployment deploys the component, or they deploy compatible versions.
Remove Moquette from the thing's deployment by making a new deployment to the thing which does not include Moquette. Now you can deploy to the thing group with any version of Moquette that you want.
Cheers,
Michael
I have one more question. As I mentioned earlier, I have four core devices, and I would like to keep one of them separate from the group for testing purposes. If everything goes well, I will deploy it to the group. Currently, I'm doing this using a sub-deployment. Is this correct? How should I do it? Thank you very much.
Subdeployment doesn't add a thing to a group, to add a thing then just add it to the group and it will receive the latest deployment for that group. But you will get version conflicts unless you first deploy to the thing to remove all components.
Understood. So, what is the use case for subimplementations?
Subdeployment can be used to retry failed thing group deployments on individual devices. It can also be used to test changes on a single device before moving those changes to the full group. But it should be used minimally and only for several minutes before removing the subdeployment group.
And how can I delete the sub-implementation?
Open the thing group page of the iot console and then delete the group.
Conteúdo relevante
- AWS OFICIALAtualizada há 2 anos
In this case, when I remove Mosquette, cli complains, then nucleus, then logmanager... Should I remove all the components from both the group implementation and the device implementation? I prefer, except for exceptions, to handle a single implementation, but due to conflicts I've encountered, I've had to create more, thinking that was the solution. I'm sure I never fully understood it. I thought that if there is a group implementation and a device implementation, the latter is the valid one.
When you refer to removing "Mosquette" from the implementation of the thing, is it done as indicated on this page? https://docs.aws.amazon.com/es_es/greengrass/v2/developerguide/revise-deployments.html Are there other ways?
Thank you very much for your response.
You need to decide if you want a group or an individual device. Pick one, not both.
Pick the individual device, now you will only deploy to the thing and not the thing group. Revise the deployment to the group and uncheck ALL components. Now make the deployment, this will remove the group's dependencies from the device. Now you're free to deploy to the thing using a thing (not a thing group) deployment.
Thank you very much, this last comment clarified the next steps for me a lot.