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.