I have a linux machine on which I want to install AWS greengrass. I have already created a thing in AWS IoT Core console, created certificates and attached required roles and policies.

When I am executing the command that's given by AWS for Greengrass installation, I am getting java.lang.IllegalArgumentException: services in is already a container, cannot become a leaf error.

Command:

sudo -E java -Droot="/greengrass/v2" -Dlog.store=FILE   -jar ./lib/Greengrass.jar   --init-config ./config.yaml   --component-default-user ggc_user:ggc_group   --setup-system-service true
ls /greengrass/v2

Error:

Error while trying to setup Greengrass Nucleus
java.lang.IllegalArgumentException: services in  is already a container, cannot become a leaf
        at com.aws.greengrass.config.Topics.createLeafChild(Topics.java:128)
        at com.aws.greengrass.config.Topics.createLeafChild(Topics.java:114)
        at com.aws.greengrass.config.Topics.lookup(Topics.java:209)
        at com.aws.greengrass.config.Configuration.lookup(Configuration.java:76)
        at com.aws.greengrass.config.ConfigurationReader.mergeTLogInto(ConfigurationReader.java:66)
        at com.aws.greengrass.config.ConfigurationReader.mergeTLogInto(ConfigurationReader.java:41)
        at com.aws.greengrass.config.Configuration.read(Configuration.java:278)
        at com.aws.greengrass.config.Configuration.read(Configuration.java:247)
        at com.aws.greengrass.lifecyclemanager.KernelLifecycle.initConfigAndTlog(KernelLifecycle.java:299)
        at com.aws.greengrass.lifecyclemanager.Kernel.parseArgs(Kernel.java:651)
        at com.aws.greengrass.easysetup.GreengrassSetup.performSetup(GreengrassSetup.java:301)
        at com.aws.greengrass.easysetup.GreengrassSetup.main(GreengrassSetup.java:274)

config.yaml file:

---
system:
  certificateFilePath: "/greengrass/v2/securityCertificate.crt"
  privateKeyPath: "/greengrass/v2/privateKey.key"
  rootCaPath: "/greengrass/v2/rootCACertificate.pem"
  rootpath: "/greengrass/v2"
  thingName: "thingname01"
services:
  aws.greengrass.Nucleus:
    componentType: "NUCLEUS"
    version: "2.9.1"
    configuration:
      awsRegion: "us-east-1"
      iotCredEndpoint: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      iotDataEndpoint: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      iotRoleAlias: "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
      mqtt:
        port: 443
      greengrassDataPlanePort: 8443

Tried to download latest GG nucleus version and tried to Install with automatic provisioning as well. But no luck.

0

There are 0 best solutions below