Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Preamble

Eve/Zedcloud orchestration handles EdgeDevConfig can contain upto three kinds of downloadable objects, 

  1. BaseOs Object
  2. Application Object
  3. Certificate Object

The configuration these downloadable objects are currently divided into two parts. 

  1. Image configuration
  2. DataStore Configuration

object configuration, consists of two parts, containing 

  1. Object information
  2. DataStore information


The object configuration contains object details The image configuration contains image information such as, name, size, type, image sha, signature etc., and some other details, along with the data store id. The DataStore data store configuration contains information the storage details such as, fqdn, server name, transfer protocol and access details. The handling and orchestration of the image and datastore configuration are currently done Based on the object type, the handling of these objects are currently handled by two agents namely, baseosmgr and zedmanager.  Basosmgr handles baseos and certificate objects. Zedmanager handles application objects.   Both of these device agents wait on the object and datastore configuration, for the image and datastore objects to be available before constructing them as baseos/application or certificate objectsconstruction of full object configuration(containing the object details and from  where it can be downloaded). These objects are then published to downloader, for further processing.downloading.

Image Added

Image Added

Image Added

Problem Statement

When a For the datastore configuration, and value changes , in the current implementation, it is not handled properlyare not getting handled. For example, if the fqdn value changes, the object is not getting downloaded again, from the new location.

We have the same functionality across inside two agents, which can be folded up to one place (downloader) in the code base. We should move datastore configuration handling function to the user of this information, downloader.

The datastore configuration, contains sensitive access information. The zedcloud Controller can push this as an encrypted config blob and finally to the device. On device, it needs to be decrypted and  handled at one place (downloader).


Solution Proposal

The datastore configuration handling will be removed from baseosmgr and zedmanager, and moved to downloader. And these   These agents will only publish the image configuration to downloader.   The downloader, Downloader will subscribe to datastore configuration object from zedagent. The downloader Downloader will construct the downloadable object configuration using the image object configuration and datastore object configuration. And will process them further.  Everything else will remain the same.

Image Added