Open marchukv opened 1 year ago
The IP addresses are used by TCP transporter and it's visible in nodes
command in REPL. I think the easier solution is if we wrap the getIpList
method in utils into a try...catch block and if an error occurs we return with an empty array. Could you create a PR with this change?
Prerequisites
Please answer the following questions for yourself before submitting an issue.
Current Behavior
Intel SGX technology offers a confidential computing service. The Gramine project utilizes this technology to run Linux applications.
During initialization, the Moleculer Service Broker creates a NodeCatalog that requires a list of IP addresses. To obtain this list, the broker uses the
networkInterfaces()
method from thenode:os
module. However, this method utilizes thenetlink
system call to retrieve the list of network interfaces, which is not supported by Gramine.As a result, when the Service Broker is started, it throws an error message of "Unknown system error 97".
Correct me if I'm wrong but as far I understand from the code this list of ips is needed only for TCP transporter and isn't usable for anothers transport types. That's why there is the question - how to avoid geting list of ips during Service Broker starting in correct way?
Expected Behavior
Service Broker starts correctly with Gramine.
Failure Information
Steps to Reproduce
To reproduce this you need server with Intel SGX-compatible processor and correctly set up Gramine. Then try to start Moleculer
Reproduce code snippet
Context
Everuthing is described in
Current Behavior
section.Failure Logs
GoTo
Failure Information
section