RVI SOTA client

Sebimohan Mathew sebimohan at tataelxsi.co.in
Tue Nov 22 11:23:19 EST 2016


Dear Jon Oster,

Today I tried to run the updated rvi_sota_client and found that the error "405 Method Not Allowed" is not coming at client side.

But, I am still not able see the services of client being called by server over RVI successfully. Could you please help to identify the reason for the issues described below.(Log files attached)

1. When I click on a vehicle(in my case, vehicle with UUID: b5be20c1-375c-473d-8a7a-e7f974a10a36) in the UI(localhost:9000/#/vehicles), the webserver try to interact with core for getting the information from client over RVI. But, in the log, I am seeing a error result(status=404) from core_1 and it seems that the communication over RVI for getting the package information from client is not done. Why does core responds with error 404?
-------------------------------------------
webserver_1        | Authorizing
webserver_1        | [info] - audit - Request: GET /api/v1/devices?regex=. from user genivi
device-registry_1  | I|15:18:52.287|akka.actor.ActorSystemImpl|method=GET path=/api/v1/devices query='regex=.&namespace=genivi' service_name=device-registry stime=233 status=200 traceid=993a6674-8398-4379-b76e-4b50b595b755
resolver_1         | W|15:18:53.384|akka.kafka.KafkaConsumerActor|Consumer interrupted with WakeupException after timeout. Message: null. Current value of akka.kafka.consumer.wakeup-timeout is 3000 milliseconds
webserver_1        | Authorizing
webserver_1        | [info] - audit - Request: GET /api/v1/resolver/devices/b5be20c1-375c-473d-8a7a-e7f974a10a36/package from user genivi
webserver_1        | Authorizing
webserver_1        | [info] - audit - Request: GET /api/v1/resolver/firmware/b5be20c1-375c-473d-8a7a-e7f974a10a36 from user genivi
webserver_1        | Authorizing
webserver_1        | Authorizing
webserver_1        | [info] - audit - Request: GET /api/v1/device_updates/b5be20c1-375c-473d-8a7a-e7f974a10a36/results from user genivi
webserver_1        | [info] - audit - Request: GET /api/v1/resolver/devices/b5be20c1-375c-473d-8a7a-e7f974a10a36/component from user genivi
core_1             | I|15:18:53.869|akka.actor.ActorSystemImpl|method=GET path=/api/v1/device_updates/b5be20c1-375c-473d-8a7a-e7f974a10a36/results query='' service_name=sota-core stime=55 status=404 traceid=775a52b1-725a-497d-b050-6d08e30a444a
-----------------------------

2. When I click on the SYNC icon on UI, the core gives an error  status 405. I was expecting to see the package list being populated after querying and getting information from client.
------------
webserver_1        | [info] - audit - Request: POST /api/v1/device_updates/undefined/sync from user genivi
core_1             | I|15:18:57.611|akka.actor.ActorSystemImpl|method=POST path=/api/v1/device_updates/undefined/sync query='' service_name=sota-core stime=31 status=405 traceid=b3f3290e-b28e-4f68-96ff-9b40659e67a4
--------------

Now, If I create a package and created a NEW CAMPAIGN to send update to client, communication till rvi_backend is seen in log. But Nothing reaches at client and I am seeing an error in rvi_device_1 LOG.
------------------------
webserver_1        | [info] - audit - Request: POST /api/v1/update_requests from user genivi
...
core_1             | I|15:21:13.416|akka.actor.ActorSystemImpl|method=POST path=/api/v1/update_requests query='' service_name=sota-core stime=743 status=201 traceid=d39baf08-b07c-4269-a955-6539cf519ea7
rvi_backend_1      | (rvi at fc3d7bbdf54a)1> 2016-11-22 15:21:13.518 [info] <0.115.0>@rvi_log:store_event:350 RVI_LOG: <<"svc_edge:15-BcDQ">>/0/<<"svc_edge">>/<<"local_message: genivi.org/device/b5be20c1-375c-473d-8a7a-e7f">>
rvi_backend_1      | (rvi at fc3d7bbdf54a)1> 2016-11-22 15:21:13.518 [info] <0.174.0>@dlink_tcp_rpc:handle_call:512 dlink_tcp: setup_data_link (<<"genivi.org/device/b5be20c1-375c-473d-8a7a-e7f974a10a36/sota/notify">>, [])
rvi_backend_1      | (rvi at fc3d7bbdf54a)1> 2016-11-22 15:21:13.518 [info] <0.115.0>@rvi_log:store_event:350 RVI_LOG: <<"svc_edge:15-BcDQ">>/1/<<"authorize">>/<<"auth msg: Cred=xxx">>
rvi_backend_1      | (rvi at fc3d7bbdf54a)1> 2016-11-22 15:21:13.518 [info] <0.115.0>@rvi_log:store_event:350 RVI_LOG: <<"svc_edge:15-BcDQ">>/0/<<"svc_edge">>/<<"schedule message (genivi.org/device/b5be20c1-375c-473d-8a7a-">>
rvi_backend_1      | (rvi at fc3d7bbdf54a)1> 2016-11-22 15:21:13.519 [info] <0.115.0>@rvi_log:store_event:350 RVI_LOG: <<"svc_edge:15-BcDQ">>/0/<<"schedule">>/<<"queue: tid=1">>
rvi_device_1       | (rvi at fe8874e3fee6)1> 2016-11-22 15:21:13.632 [info] <0.115.0>@rvi_log:store_event:350 RVI_LOG: <<"null">>/0/<<"svc_edge">>/<<"result: error">>
-----------------------

Thanks,
Sebimohan

From: Jon Oster [mailto:jon at advancedtelematic.com]
Sent: Tuesday, November 22, 2016 3:30 PM
To: Sebimohan Mathew
Cc: genivi-projects at lists.genivi.org
Subject: Re: RVI SOTA client

Hi Matthew,

When you select RVI as the interaction protocol on Core (via the CORE_INTERACTION_PROTOCOL environment variable), the regular REST API for core gets disabled. As for why the client is still making those API calls, that’s a mistake—we just merged an update to rvi_sota_client that should rectify that problem.

Can you give it a try with the new client?

Best,

Jon Oster


On Nov 21, 2016, at 5:27 PM, Sebimohan Mathew <sebimohan at tataelxsi.co.in<mailto:sebimohan at tataelxsi.co.in>> wrote:

Hi all,

I am trying to run RVI SOTA server and client (Inside docker)on an Ubuntu 14.04 machine. But I am getting some error messages. Please help to understand and solve the issue.
Sources used :
https://github.com/GENIVI/rvi_sota_server/commit/48b2bc6b94fe6280890c4bdee246e4e429b5560a
https://github.com/GENIVI/rvi_sota_client/commit/0167dce98692f707b74395977c478c2ca44fa0c7
Log files attached.

I have run the SOTA sever with command: docker-compose -f docker-compose.yml -f core-rvi.yml -f client-rvi.yml up
(after updating the DEVICE_ID in client-rvi.yml with a new device ID which I have created using UI)

While running the client, the register service is successful,
eg;
{"jsonrpc":"2.0","id":471488913558013,"method":"register_service","params":{"network_address":"http://127.0.0.1:9080<http://127.0.0.1:9080/>","service":"/sota/getpackages"}}
2016-11-21T12:56:16Z (0167dce): INFO - Response status: 200 OK

But, for system_info and for installed packages it failed with error: "405 Method Not Allowed".
From the mailing list, I read that the system_info sending to server is not tested over RVI. Is it the same case for Installed packages POST as-well??

From the log of rvi sota client, I see a line: "RVI server edge listening at http://127.0.0.1:9080<http://127.0.0.1:9080/>."
But when I tried to see the exposed ports from docker, I did not see port 9080 exposed from for sota-client. Is it an issue?? How will the RVI client node communicate to sota client?

I created a package from UI and created a NEW CAMPAIGN to send update to client about the new package. But in the server log, I see and error message and it seems that no notifications are send to client. Is it because of the issue in the communication between RVI nodes?. Is there any other configuration which I have to do the make the RVI server and client nodes communicate successfully and get an update(NewUpdateAvailable)?
Error: "rvi_device_1       | (rvi at 8f9d8d172548)1> 2016-11-21 15:37:49.782 [info] <0.115.0>@rvi_log:store_event:350 RVI_LOG: <<"null">>/0/<<"svc_edge">>/<<"result: error">>"

------------------
Configuration at rvi sota client side is:
[core]
server = "http://localhost:8080<http://localhost:8080/>"

[device]
uuid = "eaf66ce9-f7ee-4d33-bc78-eec3419c2d5b"
vin = "TEST47D48KLVYV02X"
packages_dir = "/tmp/"
package_manager = "deb"
system_info = "system_info.sh"
polling_interval = 0
certificates_path = "/etc/sota_certificates"

[gateway]
console = false
dbus = false
http = false
rvi = true
socket = false
websocket = false

[network]
http_server = "http://127.0.0.1:8888<http://127.0.0.1:8888/>"
rvi_edge_server = "http://127.0.0.1:9080<http://127.0.0.1:9080/>"
socket_commands_path = "/tmp/sota-commands.socket"
socket_events_path = "/tmp/sota-events.socket"
websocket_server = "ws://127.0.0.1:3012"

[rvi]
client = "http://127.0.0.1:8901<http://127.0.0.1:8901/>"
storage_dir = "/var/sota"
timeout = 20

Thanks,
Sebimohan
<client_log_with_rvi_2.txt><server_log_with_rvi2.txt>_______________________________________________
genivi-projects mailing list
genivi-projects at lists.genivi.org<mailto:genivi-projects at lists.genivi.org>
http://lists.genivi.org/cgi-bin/mailman/listinfo/genivi-projects

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genivi.org/pipermail/genivi-projects_lists.genivi.org/attachments/20161122/df326292/attachment.html>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 20161122_sota_client_log.txt
URL: <http://lists.genivi.org/pipermail/genivi-projects_lists.genivi.org/attachments/20161122/df326292/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 20161122_sota_server_log.txt
URL: <http://lists.genivi.org/pipermail/genivi-projects_lists.genivi.org/attachments/20161122/df326292/attachment-0001.txt>


More information about the genivi-projects mailing list