KeyError: 'AWS_GG_NUCLEUS_DOMAIN_SOCKET_FILEPATH_FOR_COMPONENT'

0

[Questions/What I want to ask] I am building an AWS IoT Greengrass core following this AWS hands-on. However, when deploying this sample component, When I run the command, you will see output similar to the following:

INFO: Connection established with event stream RPC server Local deployment submitted! Deployment Id: 2b79b12d-1888-4574-a335-86df3b90528b

However, "INFO: Connection established with event stream RPC server" is not output. At this point, I think there may be a problem related to the event stream RPC server.

[Problems that are occurring] Problem with IPC socket? When I run python, "KeyError: 'AWS_GG_NUCLEUS_DOMAIN_SOCKET_FILEPATH_FOR_COMPONENT'" inevitably appears, and all ipc_client related processes result in errors.

# python3 example_subscriber.py
Traceback (most recent call last):
   File "/home/ubuntu/environment/GreengrassCore/artifacts/com.example.Subscriber/1.0.0/example_subscriber.py", line 14, in <module>
     ipc_client = awsiot.greengrasscoreipc.connect()
   File "/home/ubuntu/.local/lib/python3.10/site-packages/awsiot/greengrasscoreipc/__init__.py", line 45, in connect
     ipc_socket = os.environ["AWS_GG_NUCLEUS_DOMAIN_SOCKET_FILEPATH_FOR_COMPONENT"]
   File "/usr/lib/python3.10/os.py", line 680, in __getitem__
     raise KeyError(key) from None
KeyError: 'AWS_GG_NUCLEUS_DOMAIN_SOCKET_FILEPATH_FOR_COMPONENT'

The code in example_subscriber.py is the same as the hands-on one.

[Background of the problem] I want to send a message from the AWS IoT Greengrass core on AWS to the AWS IoT Greengrass core built on Windows on EC2.

[What I researched myself] When I googled ‘AWS_GG_NUCLEUS_DOMAIN_SOCKET_FILEPATH_FOR_COMPONENT’, this AWS repost hit, and it said that sudo deletes all environment variables. However, I don't use sudo when running recipes or even when I normally run them, but I run as root, and this error occurs.

taka
asked 21 days ago144 views
5 Answers
0
Accepted Answer

Hi,

You said that "when I run the command...", what is the command that you are running? Are you executing the Python component yourself? You cannot run Greengrass components yourself using the command line. Greengrass components can only be run by Greengrass itself, so this error is exactly what I'd expect when you run it yourself.

Please make sure that you are deploying the component to Greengrass using the Greengrass local CLI or cloud deployment.

Cheers,

Michael

AWS
EXPERT
answered 20 days ago
0

Hello taka,

At this point can you make sure that Greengrass is properly running with no issues before submitting the deployment? Since you are using the guide from the workshop, you can check this via sudo systemctl status greengrass.service

Can you also check the greengrass.log for any errors which may of occurred during startup which could interfere with setting these env vars.

Could you share any related changes specifically done to either the recipe / component from the workshop to specifically fit your use case?

AWS
answered 21 days ago
0

Hello jrcarb,

Thank you for your answering.

# systemctl status greengrass.service
● greengrass.service - Greengrass Core
     Loaded: loaded (/etc/systemd/system/greengrass.service; enabled; vendor preset: enabled)
     Active: active (running) since Tue 2024-04-09 08:44:40 JST; 4min 12s ago
   Main PID: 21106 (sh)
      Tasks: 58 (limit: 4598)
     Memory: 232.4M
        CPU: 15.157s
     CGroup: /system.slice/greengrass.service
             ├─21106 /bin/sh /greengrass/v2/alts/current/distro/bin/loader
             └─21111 java -Dlog.store=FILE -Dlog.store=FILE -Droot=/greengrass/v2 -jar /greengrass/v2/alts/current/distro/lib/Gre>

Apr 09 08:44:40 ip-10-0-10-208 systemd[1]: Started Greengrass Core.
Apr 09 08:44:40 ip-10-0-10-208 sh[21106]: Greengrass root: /greengrass/v2
Apr 09 08:44:40 ip-10-0-10-208 sh[21106]: Java executable: java
Apr 09 08:44:40 ip-10-0-10-208 sh[21106]: JVM options: -Dlog.store=FILE -Droot=/greengrass/v2
Apr 09 08:44:40 ip-10-0-10-208 sh[21106]: Nucleus options: --setup-system-service false
Apr 09 08:44:42 ip-10-0-10-208 sh[21111]: Launching Nucleus...
Apr 09 08:44:43 ip-10-0-10-208 sh[21111]: Launched Nucleus successfully.
# cat greengrass.log
2024-04-08T23:44:43.019Z [INFO] (main) com.aws.greengrass.security.SecurityService: Register crypto key service provider. {keyType=file}
2024-04-08T23:44:43.020Z [INFO] (main) com.aws.greengrass.security.SecurityService: Register MQTT connection security provider. {keyType=file}
2024-04-08T23:44:43.026Z [INFO] (main) com.aws.greengrass.mqttclient.spool.Spool: Spooler has been configured. {maxSizeInBytes=2621440, storageType=Memory, keepQos0WhenOffline=false}
2024-04-08T23:44:43.027Z [INFO] (main) com.aws.greengrass.mqttclient.spool.Spool: Memory Spooler has been set up. {}
2024-04-08T23:44:43.044Z [INFO] (main) com.aws.greengrass.lifecyclemanager.Kernel: Attempt to load service from plugins. {serviceName=aws.greengrass.Nucleus}
2024-04-08T23:44:43.122Z [INFO] (pool-3-thread-3) com.aws.greengrass.cli.CLIService: Set up symlink to CLI binary. {binary=/greengrass/v2/packages/artifacts-unarchived/aws.greengrass.Cli/2.12.4/aws.greengrass.cli.client/cliclient/bin/greengrass-cli, link=/greengrass/v2/bin/greengrass-cli, serviceName=aws.greengrass.Cli, currentState=NEW}
2024-04-08T23:44:43.123Z [INFO] (pool-3-thread-3) com.aws.greengrass.cli.CLIService: Set up symlink to CLI binary. {binary=/greengrass/v2/packages/artifacts-unarchived/aws.greengrass.Cli/2.12.4/aws.greengrass.cli.client/cliclient/bin/greengrass-cli.cmd, link=/greengrass/v2/bin/greengrass-cli.cmd, serviceName=aws.greengrass.Cli, currentState=NEW}
2024-04-08T23:44:43.124Z [INFO] (aws.greengrass.Cli-lifecycle) com.aws.greengrass.cli.CLIService: service-set-state. {serviceName=aws.greengrass.Cli, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.127Z [INFO] (aws.greengrass.Cli-lifecycle) com.aws.greengrass.cli.CLIService: service-set-state. {serviceName=aws.greengrass.Cli, currentState=INSTALLED, newState=STARTING}
2024-04-08T23:44:43.127Z [INFO] (aws.greengrass.Cli-lifecycle) com.aws.greengrass.cli.CLIService: Stopping backingTask waiting for dependency ready. {serviceName=aws.greengrass.Cli, currentState=STARTING}
2024-04-08T23:44:43.142Z [INFO] (pool-3-thread-3) com.aws.greengrass.cli.CLIService: Auth tokens have been revoked. {serviceName=aws.greengrass.Cli, currentState=STARTING}
2024-04-08T23:44:43.145Z [INFO] (aws.greengrass.Cli-lifecycle) com.aws.greengrass.cli.CLIService: service-set-state. {serviceName=aws.greengrass.Cli, currentState=STARTING, newState=RUNNING}
2024-04-08T23:44:43.179Z [INFO] (main) com.aws.greengrass.lifecyclemanager.Kernel: Attempt to load service from plugins. {serviceName=aws.greengrass.LambdaLauncher}
2024-04-08T23:44:43.199Z [INFO] (main) com.aws.greengrass.lifecyclemanager.Kernel: Attempt to load service from plugins. {serviceName=FleetStatusService}
2024-04-08T23:44:43.213Z [INFO] (main) com.aws.greengrass.lifecyclemanager.Kernel: Attempt to load service from plugins. {serviceName=DeploymentService}
2024-04-08T23:44:43.485Z [INFO] (main) com.aws.greengrass.lifecyclemanager.Kernel: Attempt to load service from plugins. {serviceName=TelemetryAgent}
2024-04-08T23:44:43.506Z [INFO] (Thread-4) com.aws.greengrass.mqttclient.AwsIotMqtt5Client: Successfully connected to AWS IoT Core. {clientId=GreengrassQuickStartCore-18ebb1e2ff8, sessionPresent=false}
2024-04-08T23:44:43.581Z [INFO] (main) com.aws.greengrass.lifecyclemanager.Kernel: Attempt to load service from plugins. {serviceName=UpdateSystemPolicyService}
2024-04-08T23:44:43.583Z [INFO] (main) com.aws.greengrass.lifecyclemanager.Kernel: Attempt to load service from plugins. {serviceName=main}
2024-04-08T23:44:43.651Z [INFO] (main) com.aws.greengrass.lifecyclemanager.Kernel: effective-config-dump-complete. {file=/greengrass/v2/config/effectiveConfig.yaml}
2024-04-08T23:44:43.652Z [INFO] (main) com.aws.greengrass.lifecyclemanager.KernelLifecycle: system-start. {main=services.main:NEW}
2024-04-08T23:44:43.659Z [INFO] (aws.greengrass.Nucleus-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.Nucleus, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.660Z [INFO] (DeploymentService-lifecycle) com.aws.greengrass.deployment.DeploymentService: service-set-state. {serviceName=DeploymentService, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.661Z [INFO] (TelemetryAgent-lifecycle) com.aws.greengrass.telemetry.TelemetryAgent: service-set-state. {serviceName=TelemetryAgent, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.661Z [INFO] (aws.greengrass.Nucleus-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.Nucleus, currentState=INSTALLED, newState=STARTING}
2024-04-08T23:44:43.667Z [INFO] (FleetStatusService-lifecycle) com.aws.greengrass.status.FleetStatusService: service-set-state. {serviceName=FleetStatusService, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.667Z [INFO] (TelemetryAgent-lifecycle) com.aws.greengrass.telemetry.TelemetryAgent: service-set-state. {serviceName=TelemetryAgent, currentState=INSTALLED, newState=STARTING}
2024-04-08T23:44:43.669Z [INFO] (FleetStatusService-lifecycle) com.aws.greengrass.status.FleetStatusService: service-set-state. {serviceName=FleetStatusService, currentState=INSTALLED, newState=STARTING}
2024-04-08T23:44:43.682Z [INFO] (TelemetryAgent-lifecycle) com.aws.greengrass.telemetry.TelemetryAgent: service-set-state. {serviceName=TelemetryAgent, currentState=STARTING, newState=RUNNING}
2024-04-08T23:44:43.683Z [INFO] (pool-3-thread-26) com.aws.greengrass.lifecyclemanager.GenericExternalService: generic-service-finished. Nothing done. {serviceName=aws.greengrass.Nucleus, currentState=STARTING}
2024-04-08T23:44:43.684Z [INFO] (aws.greengrass.Nucleus-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.Nucleus, currentState=STARTING, newState=FINISHED}
2024-04-08T23:44:43.684Z [INFO] (aws.greengrass.Nucleus-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.Nucleus, currentState=FINISHED, newState=STOPPING}
2024-04-08T23:44:43.685Z [INFO] (pool-3-thread-26) com.aws.greengrass.lifecyclemanager.GenericExternalService: Shutdown initiated. {serviceName=aws.greengrass.Nucleus, currentState=STOPPING}
2024-04-08T23:44:43.686Z [INFO] (pool-3-thread-26) com.aws.greengrass.lifecyclemanager.GenericExternalService: generic-service-shutdown. {serviceName=aws.greengrass.Nucleus, currentState=STOPPING}
2024-04-08T23:44:43.686Z [INFO] (FleetStatusService-lifecycle) com.aws.greengrass.status.FleetStatusService: service-set-state. {serviceName=FleetStatusService, currentState=STARTING, newState=RUNNING}
2024-04-08T23:44:43.687Z [INFO] (aws.greengrass.Nucleus-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.Nucleus, currentState=STOPPING, newState=FINISHED}
2024-04-08T23:44:43.687Z [INFO] (aws.greengrass.LocalDebugConsole-lifecycle) com.aws.greengrass.localdebugconsole.SimpleHttpServer: service-set-state. {serviceName=aws.greengrass.LocalDebugConsole, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.689Z [INFO] (DeploymentService-lifecycle) com.aws.greengrass.deployment.DeploymentService: service-set-state. {serviceName=DeploymentService, currentState=INSTALLED, newState=STARTING}
2024-04-08T23:44:43.690Z [INFO] (DeploymentService-lifecycle) com.aws.greengrass.deployment.DeploymentService: service-set-state. {serviceName=DeploymentService, currentState=STARTING, newState=RUNNING}
2024-04-08T23:44:43.691Z [INFO] (aws.greengrass.LocalDebugConsole-lifecycle) com.aws.greengrass.localdebugconsole.SimpleHttpServer: service-set-state. {serviceName=aws.greengrass.LocalDebugConsole, currentState=INSTALLED, newState=STARTING}
2024-04-08T23:44:43.691Z [INFO] (aws.greengrass.LocalDebugConsole-lifecycle) com.aws.greengrass.localdebugconsole.SimpleHttpServer: Stopping backingTask waiting for dependency ready. {serviceName=aws.greengrass.LocalDebugConsole, currentState=STARTING}
2024-04-08T23:44:43.698Z [INFO] (main-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=main, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.698Z [INFO] (UpdateSystemPolicyService-lifecycle) com.aws.greengrass.lifecyclemanager.UpdateSystemPolicyService: service-set-state. {serviceName=UpdateSystemPolicyService, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.698Z [INFO] (aws.greengrass.LambdaLauncher-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.LambdaLauncher, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.710Z [INFO] (UpdateSystemPolicyService-lifecycle) com.aws.greengrass.lifecyclemanager.UpdateSystemPolicyService: service-set-state. {serviceName=UpdateSystemPolicyService, currentState=INSTALLED, newState=STARTING}
2024-04-08T23:44:43.722Z [INFO] (UpdateSystemPolicyService-lifecycle) com.aws.greengrass.lifecyclemanager.UpdateSystemPolicyService: service-set-state. {serviceName=UpdateSystemPolicyService, currentState=STARTING, newState=RUNNING}
2024-04-08T23:44:43.746Z [INFO] (aws.greengrass.LambdaManager-lifecycle) com.aws.greengrass.lambdamanager.LambdaManager: service-set-state. {serviceName=aws.greengrass.LambdaManager, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.752Z [INFO] (aws.greengrass.LambdaManager-lifecycle) com.aws.greengrass.lambdamanager.LambdaManager: service-set-state. {serviceName=aws.greengrass.LambdaManager, currentState=INSTALLED, newState=STARTING}
2024-04-08T23:44:43.753Z [INFO] (pool-3-thread-15) com.aws.greengrass.lambdamanager.LambdaManager: sync-dns-config. {source=/etc/resolv.conf, serviceName=aws.greengrass.LambdaManager, currentState=STARTING}
2024-04-08T23:44:43.750Z [INFO] (Thread-4) com.aws.greengrass.deployment.IotJobsHelper: No deployment job found. {ThingName=GreengrassQuickStartCore-18ebb1e2ff8}
2024-04-08T23:44:43.751Z [INFO] (main) com.aws.greengrass.status.FleetStatusService: fss-status-update-published. Status update published to FSS. {trigger=NUCLEUS_LAUNCH, serviceName=FleetStatusService, currentState=RUNNING}
2024-04-08T23:44:43.755Z [INFO] (pool-3-thread-7) com.aws.greengrass.lambdamanager.FileSync: file-sync. start sync. {file=resolv.conf, source=/etc}
2024-04-08T23:44:43.779Z [INFO] (pool-3-thread-17) com.aws.greengrass.clientdevices.auth.certificate.infra.BackgroundCertificateRefresh: Starting background refresh of client certificates every 86400 seconds. {}
2024-04-08T23:44:43.797Z [INFO] (pool-3-thread-18) com.aws.greengrass.mqtt.bridge.MQTTBridge: service-config-change. Updating mapping. {mapping={}, serviceName=aws.greengrass.clientdevices.mqtt.Bridge, currentState=NEW}
2024-04-08T23:44:43.848Z [INFO] (aws.greengrass.clientdevices.mqtt.Bridge-lifecycle) com.aws.greengrass.mqtt.bridge.MQTTBridge: service-set-state. {serviceName=aws.greengrass.clientdevices.mqtt.Bridge, currentState=NEW, newState=INSTALLED}
2024-04-08T23:44:43.899Z [INFO] (pool-3-thread-17) com.aws.greengrass.clientdevices.auth.certificate.usecases.ConfigureManagedCertificateAuthority: Configuring Greengrass managed certificate authority.. {}
2024-04-08T23:44:43.899Z [INFO] (pool-3-thread-17) com.aws.greengrass.clientdevices.auth.certificate.CertificateStore: Loading Greengrass managed certificate authority. {}
2024-04-08T23:44:44.345Z [INFO] (pool-3-thread-15) com.aws.greengrass.lambdamanager.LambdaServer: Lambda server ready to accept connections on port 34469. {}
2024-04-08T23:44:44.346Z [INFO] (aws.greengrass.LambdaManager-lifecycle) com.aws.greengrass.lambdamanager.LambdaManager: service-set-state. {serviceName=aws.greengrass.LambdaManager, currentState=STARTING, newState=RUNNING}
2024-04-08T23:44:44.347Z [INFO] (aws.greengrass.LambdaLauncher-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.LambdaLauncher, currentState=INSTALLED, newState=STARTING}
2024-04-08T23:44:44.348Z [INFO] (pool-3-thread-20) com.aws.greengrass.lifecyclemanager.GenericExternalService: generic-service-finished. Nothing done. {serviceName=aws.greengrass.LambdaLauncher, currentState=STARTING}
2024-04-08T23:44:44.348Z [INFO] (aws.greengrass.LambdaLauncher-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.LambdaLauncher, currentState=STARTING, newState=FINISHED}
2024-04-08T23:44:44.354Z [INFO] (aws.greengrass.LambdaLauncher-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.LambdaLauncher, currentState=FINISHED, newState=STOPPING}
2024-04-08T23:44:44.355Z [INFO] (pool-3-thread-20) com.aws.greengrass.lifecyclemanager.GenericExternalService: Shutdown initiated. {serviceName=aws.greengrass.LambdaLauncher, currentState=STOPPING}
2024-04-08T23:44:44.355Z [INFO] (pool-3-thread-20) com.aws.greengrass.lifecyclemanager.GenericExternalService: generic-service-shutdown. {serviceName=aws.greengrass.LambdaLauncher, currentState=STOPPING}
2024-04-08T23:44:44.356Z [INFO] (aws.greengrass.LambdaLauncher-lifecycle) com.aws.greengrass.lifecyclemanager.GenericExternalService: service-set-state. {serviceName=aws.greengrass.LambdaLauncher, currentState=STOPPING, newState=FINISHED}
2024-04-08T23:44:44.679Z [INFO] (pool-3-thread-17) com.aws.greengrass.clientdevices.auth.certificate.CertificateStore: Configured new certificate authority. {subject=CN=Greengrass Core CA, L=Seattle, ST=Washington, OU=Amazon Web Services, O=Amazon.com Inc., C=US}
2024-04-08T23:44:45.649Z [INFO] (pool-3-thread-25) com.aws.greengrass.localdebugconsole.SimpleHttpServer: Starting local dashboard server. {serviceName=aws.greengrass.LocalDebugC
taka
answered 21 days ago
0

I have not made any changes to the recipes or components of the workshop.

The log size of aws.greengrass.Nucleus.log is 0. Is this normal?

/greengrass/v2/logs# ll
total 276
drwx------  2 root root   4096 Apr  9 08:24 ./
drwxr-xr-x 12 root root   4096 Apr  9 08:44 ../
-rw-r--r--  1 root root      0 Apr  8 09:40 aws.greengrass.LambdaLauncher.log
-rw-r--r--  1 root root      0 Apr  8 09:40 aws.greengrass.LambdaRuntimes.log
-rw-r--r--  1 root root      0 Apr  8 09:40 aws.greengrass.Nucleus.log
-rw-r--r--  1 root root  12885 Apr  8 10:16 com.example.HelloWorld.log
-rw-r--r--  1 root root  15389 Apr  8 09:59 com.example.HelloWorld_2024_04_08_09_0.log
-rw-r--r--  1 root root   5749 Apr  9 08:24 com.example.Publisher.log
-rw-r--r--  1 root root   4939 Apr  9 08:44 com.example.Subscriber.log
-rw-r--r--  1 root root 220908 Apr  9 08:44 greengrass.log
-rw-r--r--  1 root root    229 Apr  9 02:20 greengrass_2024_04_09_02_0.log
-rw-r--r--  1 root root      0 Apr  8 09:40 main.log
taka
answered 21 days ago
0

Hi MichaelDombrowski-AW That's right! I executed "python3 example_subscriber.py" I probably thought so too. All resolved! Thank you!

taka
answered 20 days ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions