Import/export KAA applications

169 views
Skip to first unread message

Lillah Ramsey

unread,
Apr 27, 2016, 9:57:59 AM4/27/16
to Kaa project


Hello everybody,

In my project, I should have two different platforms (development platform and production platform).
In the development one, I code and test applications, and when an application is ready to deploy, I have to install it in production platform without regenerating agent SDK and using the same information hard coded in the SDK (public key, endpoint ID, ...).

Is KAA solution able to export an application from an environment to another?
If yes, can you tell me what to do, else is this functionality will be available in a future release?

Thanks,

Ramsey

Anthony Serdyukov

unread,
Apr 27, 2016, 11:45:20 PM4/27/16
to Kaa project
Hi Lillah.

I have previously asked the same question. Please see the response here: https://groups.google.com/d/topic/kaaproject/o0K-wsmsW1w/discussion

Lillah Ramsey

unread,
Apr 28, 2016, 12:04:49 PM4/28/16
to Kaa project

Thank you Anthony but my question doesn't concern schemas only but all application including endpoint SDK.

For example, I create an application A and defining config, profile and log schemas; then I generate the corresponding SDK that includes a hard coded data (public key, endpointID, bootstrap servers address and port, ..).

In my endpoint in testing platform, I use this SDK to develop my agent application and when the application is ready, I switch to production platform.

If I export only schemas, logically my endpoint couldn’t communicate with the production KAA server because of hard coded data (public key especially). So, I've to generate the SDK in production platform, compile my new SDK and install it in endpoints.

 

Is there a solution to import an application (not only schemas) from a KAA server to another one without having to regenerate SDK and compile endpoint agent?

 

Thank you!


Ramsey

Anthony Serdyukov

unread,
Apr 28, 2016, 12:42:24 PM4/28/16
to Kaa project
Yes, the feature you descibed is a must have. But I'm sure in 0.8.1 there is no such a feature.

I hope in upcoming 0.9.0 we'll have something in this regard. Or maybe in 1.0.

Andrew Kokhanovskyi

unread,
Apr 30, 2016, 1:53:37 PM4/30/16
to Kaa project
Ramsey, Anthony:

appreciate your input, it's very valuable. The idea for endpoints migration across Kaa clusters has been around for quite a while already. However, in our personal experience this feature has never been seen as critical, as we never used the same endpoints both for dev/testing and production. Therefore, flashing production devices with the SDK generated from the production cluster was a natural part of the process. However, your story makes perfect sense. I have updated KAA-124 based on your input, and bumped it up to an Epic. We will keep it in mind while planning the phased implementation of 1.0 Banana Beach.

You are welcome to chime in directly in the ticket, or propose your implementation for inclusion into the Kaa upstream via a PR in github.

Cheers,
AK

Lillah Ramsey

unread,
May 4, 2016, 12:58:08 PM5/4/16
to Kaa project
Thank you Andrew,

In the meantime, is it possible to get keys from testing paltform and push it in the production platform?
The idea, is to avoid flushing new keys in endpoints but flush boostrap keys instead.

regards,

Lillah 

Andrew Shvayka

unread,
Jun 13, 2016, 3:38:10 AM6/13/16
to Kaa project
Hi,

Yes, this is possible. Keys are located in /usr/lib/kaa-node/keys folder.
However, please note that during generation of Kaa SDK, we embed not only public key of bootstrap server, but also their connection information (host:port).
So, in order to make devices work with new environment, you will need production server to listen on the same host.
This is possible if you use DNS names in host (you can change corresponding IP address inside DNS record).

Thanks,
Andrew

Lillah Ramsey

unread,
Jun 13, 2016, 6:24:03 AM6/13/16
to Kaa project
Thank you!
Reply all
Reply to author
Forward
0 new messages