SOTA Client

Streif, Rudolf rstreif at jaguarlandrover.com
Wed Sep 28 20:51:18 EDT 2016


Jon, Arthur,

I enabled device registration to the sota server core. The device attempts
to send its system info:

2016-09-29T00:44:26Z (0167dce): INFO - PUT
http://38.101.164.230:8080/api/v1/device_updates/b4a59275-6aa9-4682-99c8-3ee2d2bf6325/system_info
2016-09-29T00:44:26Z (0167dce): INFO - Request length: 14504 bytes
2016-09-29T00:44:26Z (0167dce): DEBUG - body:
{ /* device info omitted for clarity */
}

2016-09-29T00:44:26Z (0167dce): INFO - Response status: 405 Method Not
Allowed
2016-09-29T00:44:26Z (0167dce): DEBUG - on_response headers:
x-ats-traceid: 10bd4662-9c47-46be-80e7-a228792fb721
x-ats-trace-sig: 9ad8e647d413ada5b0922c00eef5dfae661b9bf5
x-ats-version:
sota-core/0.0.1-6676a0941aa428989e7becf29b1644f77a3e927b-SNAPSHOT-SNAPSHOT
Allow: GET
Server: akka-http/2.4.8
Date: Thu, 29 Sep 2016 00:44:26 GMT
Connection: close
Content-Type: text/plain; charset=UTF-8
Content-Length: 47


Apparently the device receives "405 Method Not Allowed" when sending the
device info via HTTP PUT.

On the server side there is not much info:

core_1             | I|00:44:26.463|akka.actor.ActorSystemImpl|method=PUT
path=/api/v1/device_updates/b4a59275-6aa9-4682-99c8-3ee2d2bf6325/system_info
service_name=sota-core stime=1 status=405 traceid=10bd4662-9c47-46be-80
e7-a228792fb721

What's the issue?

:rjs



On Wed, Sep 28, 2016 at 4:47 PM, Streif, Rudolf <rstreif at jaguarlandrover.com
> wrote:

> I worked through these issues most of which are related to sbt (most
> likely the version that is provided with the sota server). That version is
> not the official sbt but one from another developer.
>
>
>> ./sbt docker:publishLocal
>>
>> creates this problem:
>>
>> :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
>> download failed: org.scala-sbt#main;0.13.11!main.jar
>> download failed: org.scala-sbt#actions;0.13.11!actions.jar
>> download failed: org.scala-sbt#io;0.13.11!io.jar
>> download failed: org.scala-sbt#completion;0.13.11!completion.jar
>> download failed: org.scala-sbt#collections;0.13.11!collections.jar
>> download failed: org.scala-sbt#api;0.13.11!api.jar
>> download failed: org.scala-sbt#incremental-comp
>> iler;0.13.11!incremental-compiler.jar
>> download failed: org.scala-sbt#compile;0.13.11!compile.jar
>> download failed: org.scala-sbt#ivy;0.13.11!ivy.jar
>> download failed: org.scala-sbt#main-settings;0.13.11!main-settings.jar
>> download failed: org.scala-sbt#command;0.13.11!command.jar
>> download failed: org.scala-sbt#compiler-interfa
>> ce;0.13.11!compiler-interface.jar
>> Error during sbt execution: Error retrieving required libraries
>>  (see /home/rstreif/.sbt/boot/update.log for complete log)
>> Error: Could not retrieve sbt 0.13.11
>>
>> It's the same result on the GENIVI Debian-based SOTA server as well as on
>> my dev box running Fedora 24.
>>
>> sbt typically tries multiple sources (mirrors) to download the required
> artifacts from. Surprisingly enough quite a few do not have the artifacts
> available at all. Then there are several sources (mirrors) who use URL
> redirection to another server. The sbt tool included with the sota server
> repo cannot deal with redirects. That has been a known problem with the
> official sbt tool too. The official tool has been fixed however this tool
> still seems to suffer from the problem.
>
> I ended up manually downloading the artifacts which is when I discovered
> the redirection.
>
>
>>> sbt docker:publishLocal
>>>
>>> with this result:
>>>
>>> [info] Loading project definition from /home/rstreif/develop/rvi_sota_server/project
>>>
>>> fatal: No names found, cannot describe anything.
>>> [info] Set current project to sota (in build
>>> file:/home/rstreif/develop/rvi_sota_server/)
>>> java.lang.UnsupportedClassVersionError: com/typesafe/config/ConfigException
>>> : Unsupported major.minor version 52.0
>>>        at java.lang.ClassLoader.defineClass1(Native Method)
>>>        at java.lang.ClassLoader.defineClass(ClassLoader.java:803)
>>>        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>>>
>>>        at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>>>        at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>>>        at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>>>        at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>>        at java.security.AccessController.doPrivileged(Native Method)
>>>        at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
>>>        at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
>>>        at com.typesafe.sbt.web.SbtWeb$$anonfun$com$typesafe$sbt$web$Sb
>>> tWeb$$load$1.apply(SbtWeb.scala:559)
>>>        at com.typesafe.sbt.web.SbtWeb$$anonfun$com$typesafe$sbt$web$Sb
>>> tWeb$$load$1.apply(SbtWeb.scala:559)
>>>        at scala.Option.fold(Option.scala:157)
>>>        at com.typesafe.sbt.web.SbtWeb$.com$typesafe$sbt$web$SbtWeb$$load(SbtWeb.scala:573)
>>>
>>>        at com.typesafe.sbt.web.SbtWeb$$anonfun$globalSettings$1$$anonf
>>> un$apply$1.apply(SbtWeb.scala:143)
>>>        at com.typesafe.sbt.web.SbtWeb$$anonfun$globalSettings$1$$anonf
>>> un$apply$1.apply(SbtWeb.scala:143)
>>>        at scala.Function1$$anonfun$andThen$1.apply(Function1.scala:55)
>>>        at sbt.Project$.setProject(Project.scala:319)
>>>        at sbt.BuiltinCommands$.doLoadProject(Main.scala:503)
>>>        at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:484)
>>>
>>>        at sbt.BuiltinCommands$$anonfun$loadProjectImpl$2.apply(Main.scala:484)
>>>
>>>        at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:59)
>>>
>>>        at sbt.Command$$anonfun$applyEffect$1$$anonfun$apply$2.apply(Command.scala:59)
>>>
>>>        at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:61)
>>>
>>>        at sbt.Command$$anonfun$applyEffect$2$$anonfun$apply$3.apply(Command.scala:61)
>>>
>>>        at sbt.Command$.process(Command.scala:93)
>>>        at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96)
>>>
>>>        at sbt.MainLoop$$anonfun$1$$anonfun$apply$1.apply(MainLoop.scala:96)
>>>
>>>        at sbt.State$$anon$1.process(State.scala:184)
>>>        at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96)
>>>        at sbt.MainLoop$$anonfun$1.apply(MainLoop.scala:96)
>>>        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
>>>        at sbt.MainLoop$.next(MainLoop.scala:96)
>>>        at sbt.MainLoop$.run(MainLoop.scala:89)
>>>        at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:68)
>>>
>>>        at sbt.MainLoop$$anonfun$runWithNewLog$1.apply(MainLoop.scala:63)
>>>
>>>        at sbt.Using.apply(Using.scala:24)
>>>        at sbt.MainLoop$.runWithNewLog(MainLoop.scala:63)
>>>        at sbt.MainLoop$.runAndClearLast(MainLoop.scala:46)
>>>        at sbt.MainLoop$.runLoggedLoop(MainLoop.scala:30)
>>>        at sbt.MainLoop$.runLogged(MainLoop.scala:22)
>>>        at sbt.StandardMain$.runManaged(Main.scala:54)
>>>        at sbt.xMain.run(Main.scala:29)
>>>        at xsbt.boot.Launch$$anonfun$run$1.apply(Launch.scala:109)
>>>        at xsbt.boot.Launch$.withContextLoader(Launch.scala:128)
>>>        at xsbt.boot.Launch$.run(Launch.scala:109)
>>>        at xsbt.boot.Launch$$anonfun$apply$1.apply(Launch.scala:35)
>>>        at xsbt.boot.Launch$.launch(Launch.scala:117)
>>>        at xsbt.boot.Launch$.apply(Launch.scala:18)
>>>        at xsbt.boot.Boot$.runImpl(Boot.scala:41)
>>>        at xsbt.boot.Boot$.main(Boot.scala:17)
>>>        at xsbt.boot.Boot.main(Boot.scala)
>>> [error] java.lang.UnsupportedClassVersionError:
>>> com/typesafe/config/ConfigException : Unsupported major.minor version
>>> 52.0
>>> [error] Use 'last' for the full log.
>>> Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore?
>>>
>>
> This issue is related to the Play framework and the Java version installed
> on the system.
>
> java.lang.UnsupportedClassVersionError: com/typesafe/config/ConfigException
> : Unsupported major.minor version 52.0
>
> The error message somewhat cryptically tells us that Java 8 is required
> (major version = 8). Incidentally, the system I have been using only had
> Java 7 installed.
>
>
> Now the sota server builds and creates the docker images locally.
>
> The local version now also resolves the issue with devices being added to
> the registry but not showing up in the device list.
>
> So far, so good. Let's see what's next....
>
> :rjs
>



-- 
*Rudolf J Streif*
System Architect - Open Source Initiative
Open Source Technology Centre

*M:* +1.619.631.5383
*Email:*  rstreif at jaguarlandrover.com



UK: G/26/2 G02 Building 523, Engineering Centre, Gaydon, Warwick, CV35 ORR
US: 1419 NW 14th Ave, Portland, OR 97209
jaguar.com | landrover.com
-------------------
Business Details:
Jaguar Land Rover Limited
Registered Office: Abbey Road, Whitley, Coventry CV3 4LF
Registered in England No: 1672070

This e-mail and any attachments contain confidential information for a
specific individual and purpose.  The information is private and privileged
and intended solely for the use of the individual to whom it is addressed.
If you are not the intended recipient, please e-mail us immediately.  We
apologise for any inconvenience caused but you are hereby notified that any
disclosure, copying or distribution or the taking of any action in reliance
on the information contained herein is strictly prohibited.

This e-mail does not constitute an order for goods or services unless
accompanied by an official purchase order.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.genivi.org/pipermail/genivi-projects_lists.genivi.org/attachments/20160928/94e25e62/attachment.html>


More information about the genivi-projects mailing list