Jump to: navigation, search

Image handling in edge environment

This page contains a summary of the Vancouver Forum discussions about the topic. Full notes of the discussion are in here. The features and requirements for edge cloud infrastructure are described in OpenStack_Edge_Discussions_Dublin_PTG.

Syncronisation strategies

  • Copy every image to every edge cloud instance: the simplest and less optimal solution
  • Copy images only to those edge cloud instances where they are needed
    • Provide a syncronisation policy together with the image
    • Rely on the pulling of the images

Architecture options for Glance

Legend for the figures:

  • Solid lines are REST API
  • dashed lines are where the actual image data are transferred

One Glance with multiple backends

There is one central Glance what is capable to handle multiple backends. Every edge cloud instance is represented by a backend. The syncronisation of the image data is the responsibility of the backend (eg.: CEPH). OpenStack services in the edge cloud instances are using the images in the Glance backend with a direct url.
Glance-edge-architecture-multiple-backends.PNG
Work for multiple backends has been already started with an etherpad and a spec. Cascading (one edge cloud instance is the receiver and the source of the images at the same time) is possible if the central galnce is able to orchestrate the syncronisation of images.

  • Concerns
    • Network partitioning tolerance?
    • Is it safe to store database credentials in the far edge?

Several Glances with an independent syncronisation service

Every edge cloud instance have its Glance instance. There is a synchronisation service what is able to instruct the Glances to do the synchronisation. The synchronisation of the image data is the responsibility of the backend (eg.: CEPH).
Glance-edge-architecture-synch-service.PNG
Cascading is visible for the syncronisation service only, not for Glance.

  • There is a Proxy imeplementation called mixmatch

One Glance and multiple Glance API servers

There is one central Glance and every edge cloud instance runs a separate Glance API server. These Glance API servers are communicating with the central Glance. Backend is acessed centrally, there is only chaching in the edge cloud instances.
Glance-edge-architectures-api-servers.PNG
Cascading is not possible as only pulling strategy works in this case.