Skip to content

greengrass-lite: Properly support local deployment and fleet provisioning options when enabled together #15159

@CodeforEvolution

Description

@CodeforEvolution

Target Yocto Release: Walnascar (5.2)

Goal

Utilize the greengrass-lite recipe to support running a local deployment at first boot without provisioning if a network is not present. Once the device is able to reach the internet, it should be able to performing JIT fleet provisioning, followed by syncing/replacing the local deployment with the equivalent cloud deployment.

Former Problems

There are few issues that were previously occurring because certain fixes in the main branch of aws-greengrass-lite haven't made it into a formal release:

Remaining Problems/Considerations

  • The ggl.local-deployment.service file specifies that the local deployment shouldn't occur until after all of greengrass lite has started (greengrass-lite.target), and after fleet provisioning (ggl.gg_post-fleetprovisioning.service) which means that the local deployment can't occur in the case where the device can't be provisioned over the web and occurs later after initial device startup. Is there a reason that the local deployment service couldn't just wait upon the ggl.core.ggdeploymentd.service instead?
  • The ggl.local-deployment.service has a hard-coded 10-second delay specified in the ExecStartPre entry of the service file. Is this necessary to ensure the deployment daemon has fully started up?
  • Once commits involving specifying a thing group name for a local deployment make it into a formal release (aws-greengrass/aws-greengrass-lite@adc2880 & aws-greengrass/aws-greengrass-lite@36ed039), the greengrass-lite recipe, local deployment Systemd service, and ggl-deploy-image-components file will need to be updated to support specifying a thing group name for a local deployment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions