COVESA / vsomeip

An implementation of Scalable service-Oriented MiddlewarE over IP
Mozilla Public License 2.0
1.02k stars 651 forks source link

Port configuration missing for []. Service is internal #218

Closed bularcasergiu closed 1 year ago

bularcasergiu commented 3 years ago

This issue is reproduced using vSomeIP 3.1.7.1, and affects the service side when on the target is running a routing manager:

 [info] OFFER(4444): [1111.2222:0.0] (true)
 [info] Port configuration missing for [1111.2222]. Service is internal.

If i configure my service application also as routing manager the service is registered correctly. service_app_as_routing_manager.txt service_app_log_with_default_routing.txt service_running_with_default_routing_manager_conf.txt routing_manager_conf.txt routing_manager_log.txt service_app_as_routing_manager_conf.txt

I need to start a routing manager because on my targets are running more than one vsomeip application. These service needs to communicate with a client deployed on other target.

Originally posted by @bularcasergiu in https://github.com/GENIVI/vsomeip/issues/53#issuecomment-761065264

lutzbichler commented 3 years ago

This message only happens if your routing manager application (routingmanagerd) uses a configuration that does not define a port for the service you want to offer.

bularcasergiu commented 3 years ago

This message only happens if your routing manager application (routingmanagerd) uses a configuration that does not define a port for the service you want to offer.

Like that looks the routingmanagerd configuration:

{
    "unicast": "<eth..>",
    "logging":
    {
        "level":"debug",
        "console":"true",
        "file": 
        {
            "enable" : "true",
            "path" : "/tmp/vsomeip.log"
        },
        "dlt" : "false"
    },
    "routing":"routingmanagerd",
    "service-discovery":
    {
        "enable" : "true",
        "multicast" : "224.224.224.245",
        "port" : "30490",
        "protocol" : "udp",
        "initial_delay_min" : "10",
        "initial_delay_max" : "100",
        "repetitions_base_delay" : "200",
        "repetitions_max" : "3",
        "ttl" : "3",
        "cyclic_offer_delay" : "2000",
        "request_response_delay" : "1500"
    }

How should look to define a port for this service

        "service":"0x1111",
        "instance":"0x2222",
        "unreliable":"30509"

?

lutzbichler commented 3 years ago

"services" : [ { "service":"0x1111", "instance":"0x2222", "unreliable":"30509" } ]

bularcasergiu commented 3 years ago

"services" : [ { "service":"0x1111", "instance":"0x2222", "unreliable":"30509" } ]

and this configuration needs to be added to the routing manager configuration file, not in the other config file (hello_world_service.json) ?

lutzbichler commented 3 years ago

Yes. In general it is a good idea to let all vsomeip application use the same configuration file.

bularcasergiu commented 3 years ago

Ok, i understand this! Somehow the 2.10 version support configuring applications in different files, and that help the deployment. But this can be handled ;)

Tx for help!

yooouxin commented 2 years ago

@bularcasergiu Have you found a better way to handle multi-configuration files? Actually you metioned 2.10 support different configuration files,but my test still failed.Routing manager host still report Port configuration missing...

pauloasherring commented 2 years ago

@yooouxin Apparently, files on the same local tree have higher precedence over system-wide config files (e.g. /etc/vsomeip). So, one way of handling different config files would be to put each file together with each executable in separate folders.

journey175 commented 2 years ago

It is not flexible for put the offered service info into routes vsomeip.json file, to support remote service find. I think its better to fix the route`s config file for multiple service , is that any method to solve this problem? thanks for your reply.