<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Title" content="">
<meta name="Keywords" content="">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Courier New";
panose-1:2 7 3 9 2 2 5 2 4 4;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:Calibri;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:Calibri;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-margin-top-alt:auto;
margin-right:0in;
mso-margin-bottom-alt:auto;
margin-left:0in;
font-size:11.0pt;
font-family:Calibri;}
span.EmailStyle19
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.author-a-z75z2oz122zz71zz87zz67zz89zz69zz82zw1z122zz65zz82zh
{mso-style-name:author-a-z75z2oz122zz71zz87zz67zz89zz69zz82zw1z122zz65zz82zh;}
span.EmailStyle21
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle22
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle23
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle24
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle25
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle26
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle27
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle28
{mso-style-type:personal;
font-family:Calibri;
color:windowtext;}
span.EmailStyle29
{mso-style-type:personal-reply;
font-family:Calibri;
color:windowtext;}
span.msoIns
{mso-style-type:export-only;
mso-style-name:"";
text-decoration:underline;
color:teal;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:141119753;
mso-list-type:hybrid;
mso-list-template-ids:2080029288 1593443206 68026371 68026373 68026369 68026371 68026373 68026369 68026371 68026373;}
@list l0:level1
{mso-level-start-at:4;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:23.25pt;
text-indent:-.25in;
font-family:Calibri;
mso-fareast-font-family:Calibri;}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:59.25pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:95.25pt;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:131.25pt;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:167.25pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:203.25pt;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:239.25pt;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:275.25pt;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
margin-left:311.25pt;
text-indent:-.25in;
font-family:Wingdings;}
@list l1
{mso-list-id:334503852;
mso-list-type:hybrid;
mso-list-template-ids:-1802453970 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l1:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l1:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l1:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l1:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l1:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l1:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l1:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l1:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l2
{mso-list-id:355812015;
mso-list-type:hybrid;
mso-list-template-ids:-38794562 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l2:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l2:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l2:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l2:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l2:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l2:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l2:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l2:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l3
{mso-list-id:735010555;
mso-list-type:hybrid;
mso-list-template-ids:619730094 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l3:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l3:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l3:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l3:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l3:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l3:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l3:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l3:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l3:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l4
{mso-list-id:991133564;
mso-list-type:hybrid;
mso-list-template-ids:706239408 68026369 68026371 68026373 68026369 68026371 68026373 68026369 68026371 68026373;}
@list l4:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l4:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l4:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l4:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l4:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l4:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l4:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l4:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l4:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l5
{mso-list-id:1755006289;
mso-list-template-ids:100693118;}
@list l5:level1
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l5:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:1.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:"Courier New";
mso-bidi-font-family:"Times New Roman";}
@list l5:level3
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:1.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Wingdings;}
@list l5:level4
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l5:level5
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:2.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l5:level6
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l5:level7
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:3.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l5:level8
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.0in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
@list l5:level9
{mso-level-number-format:bullet;
mso-level-text:;
mso-level-tab-stop:4.5in;
mso-level-number-position:left;
text-indent:-.25in;
mso-ansi-font-size:10.0pt;
font-family:Symbol;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style>
</head>
<body bgcolor="white" lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><a name="_MailEndCompose"><span style="color:red">In-lined comments / questions below,</span></a><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:red">Greg.</span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman";color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><b><span style="color:black">From: </span></b><span style="color:black">"Csatari, Gergely (Nokia - HU/Budapest)" <</span><a href="mailto:gergely.csatari@nokia.com"><span style="color:#954F72">gergely.csatari@nokia.com</span></a><span style="color:black">><br>
<b>Date: </b>Thursday, June 28, 2018 at 3:35 AM<br>
<b>To: </b>"</span><a href="mailto:ekuvaja@redhat.com"><span style="color:#954F72">ekuvaja@redhat.com</span></a><span style="color:black">" <</span><a href="mailto:ekuvaja@redhat.com"><span style="color:#954F72">ekuvaja@redhat.com</span></a><span style="color:black">>,
Greg Waines <</span><a href="mailto:Greg.Waines@windriver.com"><span style="color:#954F72">Greg.Waines@windriver.com</span></a><span style="color:black">>, "</span><a href="mailto:openstack-dev@lists.openstack.org"><span style="color:#954F72">openstack-dev@lists.openstack.org</span></a><span style="color:black">"
<</span><a href="mailto:openstack-dev@lists.openstack.org"><span style="color:#954F72">openstack-dev@lists.openstack.org</span></a><span style="color:black">>, "</span><a href="mailto:edge-computing@lists.openstack.org"><span style="color:#954F72">edge-computing@lists.openstack.org</span></a><span style="color:black">"
<</span><a href="mailto:edge-computing@lists.openstack.org"><span style="color:#954F72">edge-computing@lists.openstack.org</span></a><span style="color:black">><br>
<b>Subject: </b>RE: [Edge-computing] [edge][glance][mixmatch]: Wiki of the possible architectures for image synchronisation<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-family:"Times New Roman";color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Hi, <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">I’ve added the following pros and cons to the different options: <br>
<br>
<br>
<br>
<o:p></o:p></span></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="color:black;mso-list:l5 level1 lfo6">One Glance with multiple backends [<a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#One_Glance_with_multiple_backends"><span style="color:#954F72">1</span></a>] <br>
<span style="color:red">[Greg]<br>
I’m not sure I understand this option.<br>
<br>
Is each Glance Backend completely independent ? e.g. when I do a “glance image-create ...” am I specifying a backend and that’s where the image is to be stored ?<br>
This is what I was originally thinking.<br>
So I was thinking that synchronization of images to Edge Clouds is simply done by doing “glance image-create ...” to the appropriate backends.<br>
<br>
But then you say “The syncronisation of the image data is the responsibility of the backend (eg.: CEPH).” ... which makes it sound like my thinking above is wrong and the Backends are NOT completely independent, but instead in some sort of replication configuration
... is this leveraging ceph replication factor or something (for example) ?<br>
<br>
<br>
<br>
</span><o:p></o:p>
<ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="color:black;mso-list:l5 level2 lfo6">Pros: <o:p></o:p>
<ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Relatively easy to implement based on the current Glance architecture<o:p></o:p></li></ul>
</li><li class="MsoNormal" style="color:black;mso-list:l5 level2 lfo6">Cons: <o:p></o:p>
<ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Requires the same Glance backend in every edge cloud instance<o:p></o:p></li><li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Requires the same OpenStack version in every edge cloud instance (apart from during upgrade)<o:p></o:p></li><li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Sensitivity for network connection loss is not clear<br>
<span style="color:red">[Greg] I could be wrong, but even though the OpenStack services in the edge clouds are using the images in their glance backend with a direct URL, <br>
I think the OpenStack services (e.g. nova) still need to get the direct URL via the Glance API which is ONLY available at the central site.<br>
So don’t think this option supports autonomy of edge Subcloud when connectivity is lost to central site.</span><br>
<br>
<br>
<br>
<o:p></o:p></li></ul>
</li></ul>
</li><li class="MsoNormal" style="color:black;mso-list:l5 level1 lfo6">Several Glances with an independent syncronisation service, sych via Glance API [<a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#Several_Glances_with_an_independent_syncronisation_service.2C_sych_via_Glance_API"><span style="color:#954F72">2</span></a>]<o:p></o:p>
<ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="color:black;mso-list:l5 level2 lfo6">Pros: <o:p></o:p>
<ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Every edge cloud instance can have a different Glance backend<o:p></o:p></li><li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Can support multiple OpenStack versions in the different edge cloud instances<o:p></o:p></li><li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Can be extended to support multiple VIM types<o:p></o:p></li></ul>
</li><li class="MsoNormal" style="color:black;mso-list:l5 level2 lfo6">Cons: <o:p></o:p>
<ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Needs a new synchronisation service<br>
<span style="color:red">[Greg] Don’t believe this is a big con ... suspect we are going to need this new synchronization service for synchronizing resources of a number of other openstack services ... not just glance.</span><br>
<br>
<br>
<br>
<o:p></o:p></li></ul>
</li></ul>
</li><li class="MsoNormal" style="color:black;mso-list:l5 level1 lfo6">Several Glances with an independent syncronisation service, synch using the backend [<a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#Several_Glances_with_an_independent_syncronisation_service.2C_synch_using_the_backend"><span style="color:#954F72">3</span></a>] <br>
<span style="color:red">[Greg] This option seems a little odd to me.<br>
We are synching the GLANCE DB via some new synchronization service, but synching the Images themselves via the backend ... I think that would be tricky to ensure consistency.</span><o:p></o:p>
<ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="color:black;mso-list:l5 level2 lfo6">Pros: <o:p></o:p>
<ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">I could not find any<o:p></o:p></li></ul>
</li><li class="MsoNormal" style="color:black;mso-list:l5 level2 lfo6">Cons: <o:p></o:p>
<ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Needs a new synchronisation service<br>
<br>
<br>
<br>
<o:p></o:p></li></ul>
</li></ul>
</li><li class="MsoNormal" style="color:black;mso-list:l5 level1 lfo6">One Glance and multiple Glance API servers [<a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#One_Glance_and_multiple_Glance_API_servers"><span style="color:#954F72">4</span></a>]<o:p></o:p>
<ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="color:black;mso-list:l5 level2 lfo6">Pros: <o:p></o:p>
<ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">Implicitly location aware<o:p></o:p></li></ul>
</li><li class="MsoNormal" style="color:black;mso-list:l5 level2 lfo6">Cons: <o:p></o:p>
<ul style="margin-top:0in" type="square">
<li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">First usage of an image always takes a long time<o:p></o:p></li><li class="MsoNormal" style="color:black;mso-list:l5 level3 lfo6">In case of network connection error to the central Galnce Nova will have access to the images, but will not be able to figure out if the user have rights to use the image and will not have path
to the images data<br>
<span style="color:red">[Greg] Yeah we tripped over the issue that although the Glance API can cache the image itself, it does NOT cache the image meta data (which I am guessing has info like “user access” etc.) ... so this option improves latency of access
to image itself but does NOT provide autonomy.<br>
<br>
We plan on looking at options to resolve this, as we like the “implicit location awareness” of this option ... and believe it is an option that some customers will like.<br>
If anyone has any ideas ?</span><o:p></o:p></li></ul>
</li></ul>
</li></ul>
<p class="MsoNormal"><span style="color:black">Are these correct? Do I miss anything?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Thanks, <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">Gerg0<o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">[1]: </span><a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#One_Glance_with_multiple_backends"><span style="color:#954F72">https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#One_Glance_with_multiple_backends</span></a><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">[2]: </span><a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#Several_Glances_with_an_independent_syncronisation_service.2C_sych_via_Glance_API"><span style="color:#954F72">https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#Several_Glances_with_an_independent_syncronisation_service.2C_sych_via_Glance_API</span></a><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">[3]: </span><a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#Several_Glances_with_an_independent_syncronisation_service.2C_synch_using_the_backend"><span style="color:#954F72">https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#Several_Glances_with_an_independent_syncronisation_service.2C_synch_using_the_backend</span></a><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black">[4]: </span><a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#One_Glance_and_multiple_Glance_API_servers"><span style="color:#954F72">https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#One_Glance_and_multiple_Glance_API_servers</span></a><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="color:black"> <o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman";color:black"> </span><span style="color:black"><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:12.0pt;font-family:"Times New Roman""><o:p> </o:p></span></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Csatari, Gergely (Nokia - HU/Budapest) <br>
<b>Sent:</b> Monday, June 11, 2018 4:29 PM<br>
<b>To:</b> Waines, Greg <Greg.Waines@windriver.com>; OpenStack Development Mailing List (not for usage questions) <openstack-dev@lists.openstack.org>; edge-computing@lists.openstack.org<br>
<b>Subject:</b> RE: [Edge-computing] [edge][glance][mixmatch]: Wiki of the possible architectures for image synchronisation<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Hi, <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks for the comments. <o:p></o:p></p>
<p class="MsoNormal">I’ve updated the wiki: <a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#Several_Glances_with_an_independent_syncronisation_service.2C_synch_using_the_backend">
https://wiki.openstack.org/wiki/Image_handling_in_edge_environment#Several_Glances_with_an_independent_syncronisation_service.2C_synch_using_the_backend</a><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Br, <o:p></o:p></p>
<p class="MsoNormal">Gerg0<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Waines, Greg [<a href="mailto:Greg.Waines@windriver.com">mailto:Greg.Waines@windriver.com</a>]
<br>
<b>Sent:</b> Friday, June 8, 2018 1:46 PM<br>
<b>To:</b> Csatari, Gergely (Nokia - HU/Budapest) <<a href="mailto:gergely.csatari@nokia.com">gergely.csatari@nokia.com</a>>; OpenStack Development Mailing List (not for usage questions) <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>;
<a href="mailto:edge-computing@lists.openstack.org">edge-computing@lists.openstack.org</a><br>
<b>Subject:</b> Re: [Edge-computing] [edge][glance][mixmatch]: Wiki of the possible architectures for image synchronisation<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><span style="color:red">Responses in-lined below,</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:red">Greg.</span><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:black">From: </span></b><span style="color:black">"Csatari, Gergely (Nokia - HU/Budapest)" <<a href="mailto:gergely.csatari@nokia.com">gergely.csatari@nokia.com</a>><br>
<b>Date: </b>Friday, June 8, 2018 at 3:39 AM<br>
<b>To: </b>Greg Waines <<a href="mailto:Greg.Waines@windriver.com">Greg.Waines@windriver.com</a>>, "<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>,
"<a href="mailto:edge-computing@lists.openstack.org">edge-computing@lists.openstack.org</a>" <<a href="mailto:edge-computing@lists.openstack.org">edge-computing@lists.openstack.org</a>><br>
<b>Subject: </b>RE: [Edge-computing] [edge][glance][mixmatch]: Wiki of the possible architectures for image synchronisation</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Times New Roman""> </span><o:p></o:p></p>
</div>
<p class="MsoNormal">Hi, <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Going inline.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b>From:</b> Waines, Greg [<a href="mailto:Greg.Waines@windriver.com">mailto:Greg.Waines@windriver.com</a>]
<br>
<b>Sent:</b> Thursday, June 7, 2018 2:24 PM<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal">I had some additional questions/comments on the Image Synchronization Options (
<a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment">https://wiki.openstack.org/wiki/Image_handling_in_edge_environment</a> ):<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><b><u>One Glance with multiple backends</u></b><o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l2 level1 lfo2">In this scenario, are all Edge Clouds simply configured with the one central glance for its GLANCE ENDPOINT ?
<o:p></o:p>
<ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="mso-list:l2 level2 lfo2">i.e. GLANCE is a typical shared service in a multi-region environment ?<o:p></o:p></li></ul>
</li></ul>
<p class="MsoNormal" style="margin-left:.25in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.25in">[G0]: In my understanding yes. <o:p>
</o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l2 level1 lfo2">If so,<br>
how does this OPTION support the requirement for Edge Cloud Operation when disconnected from Central Location ?<o:p></o:p></li></ul>
<p class="MsoNormal" style="margin-left:.25in"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:.25in">[G0]: This is an open question for me also.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><b><u>Several Glances with an independent synchronization service (PUSH)</u></b><o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l3 level1 lfo3">I refer to this as the PUSH model<o:p></o:p></li><li class="MsoNormal" style="mso-list:l3 level1 lfo3">I don’t believe you have to ( or necessarily should) rely on the backend to do the synchronization of the images
<o:p></o:p>
<ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="margin-bottom:12.0pt;mso-list:l3 level2 lfo3">i.e. the ‘Synch Service’ could do this strictly through Glance REST APIs
<br>
(making it independent of the particular Glance backend ... and allowing the Glance Backends at Central and Edge sites to actually be different)<o:p></o:p></li></ul>
</li></ul>
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:.5in">
[G0]: Okay, I can update the wiki to reflect this. Should we keep the “synchronization by the backend” option as an other alternative?<br>
<span style="color:red">[Greg] Yeah we should keep it as an alternative.</span><o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l3 level1 lfo3">I think the ‘Synch Service’ MUST be able to support ‘selective/multicast’ distribution of Images from Central to Edge for Image Synchronization
<o:p></o:p>
<ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="margin-bottom:12.0pt;mso-list:l3 level2 lfo3">i.e. you don’t want Central Site pushing ALL images to ALL Edge Sites ... especially for the small Edge Sites<o:p></o:p></li></ul>
</li></ul>
<p class="MsoNormal" style="mso-margin-top-alt:0in;margin-right:0in;margin-bottom:12.0pt;margin-left:35.4pt">
[G0]: Yes, the question is how to define these synchronization policies.<br>
<span style="color:red">[Greg] Agreed ... we’ve had some very high-level discussions with end users, but haven’t put together a proposal yet.</span><o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l3 level1 lfo3">Not sure ... but I didn’t think this was the model being used in mixmatch ... thought mixmatch was more the PULL model (below)<o:p></o:p></li></ul>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:35.4pt">[G0]: Yes, this is more or less my understanding. I remove the mixmatch reference from this chapter.
<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"><b><u>One Glance and multiple Glance API Servers (PULL)</u></b><o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l1 level1 lfo4">I refer to this as the PULL model<o:p></o:p></li><li class="MsoNormal" style="mso-list:l1 level1 lfo4">This is the current model supported in StarlingX’s Distributed Cloud sub-project
<o:p></o:p>
<ul style="margin-top:0in" type="circle">
<li class="MsoNormal" style="mso-list:l1 level2 lfo4">We run glance-api on all Edge Clouds ... that talk to glance-registry on the Central Cloud, and<o:p></o:p></li><li class="MsoNormal" style="mso-list:l1 level2 lfo4">We have glance-api setup for caching such that only the first access to an particular image incurs the latency of the image transfer from Central to Edge<o:p></o:p></li></ul>
</li></ul>
<p class="MsoNormal" style="margin-left:35.4pt">[G0]: Do you do image caching in Glance API or do you rely in the image cache in Nova? In the Forum session there were some discussions about this and I think the conclusion was that using the image cache of Nova
is enough.<br>
<span style="color:red">[Greg] We enabled image caching in the Glance API.<br>
I believe that Nova Image Caching caches at the compute node ... this would work ok for all-in-one edge clouds or small edge clouds.<br>
But glance-api caching caches at the edge cloud level, so works better for large edge clouds with lots of compute nodes.</span><o:p></o:p></p>
<ul style="margin-top:0in" type="disc">
<li class="MsoNormal" style="mso-list:l1 level1 lfo4"> <o:p></o:p></li><li class="MsoNormal" style="mso-list:l1 level1 lfo4">this PULL model affectively implements the location aware synchronization you talk about below, (i.e. synchronise images only to those cloud instances where they are needed)?<o:p></o:p></li></ul>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">In StarlingX Distributed Cloud, <o:p></o:p></p>
<p class="MsoNormal">We plan on supporting both the PUSH and PULL model ... suspect there are use cases for both.<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">[G0]: This means that you need an architecture supporting both.<o:p></o:p></p>
<p class="MsoNormal">Just for my curiosity what is the use case for the pull model once you have the push model in place?<o:p></o:p></p>
<p class="MsoNormal"><span style="color:red">[Greg] The PULL model certainly results in the most efficient distribution of images ... basically images are distributed ONLY to edge clouds that explicitly use the image.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:red">Also if the use case is NOT concerned about incurring the latency of the image transfer from Central to Edge on the FIRST use of image then the PULL model could be preferred ... TBD.</span><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Here is the updated wiki: <a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment">
https://wiki.openstack.org/wiki/Image_handling_in_edge_environment</a><o:p></o:p></p>
<p class="MsoNormal"><span style="color:red">[Greg] Looks good.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:red"> </span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:red">Greg.</span><o:p></o:p></p>
<p class="MsoNormal"><span style="color:red"> </span><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks, <o:p></o:p></p>
<p class="MsoNormal">Gerg0<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="color:black">From: </span></b><span style="color:black">"Csatari, Gergely (Nokia - HU/Budapest)" <<a href="mailto:gergely.csatari@nokia.com">gergely.csatari@nokia.com</a>><br>
<b>Date: </b>Thursday, June 7, 2018 at 6:49 AM<br>
<b>To: </b>"<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>" <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>, "<a href="mailto:edge-computing@lists.openstack.org">edge-computing@lists.openstack.org</a>"
<<a href="mailto:edge-computing@lists.openstack.org">edge-computing@lists.openstack.org</a>><br>
<b>Subject: </b>Re: [Edge-computing] [edge][glance][mixmatch]: Wiki of the possible architectures for image synchronisation</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"Times New Roman""> </span><o:p></o:p></p>
</div>
<p class="MsoNormal">Hi, <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">I did some work ont he figures and realised, that I have some questions related to the alternative options:<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Multiple backends option: <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:23.25pt;text-indent:-.25in;mso-list:l0 level1 lfo5">
<![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>What is the API between Glance and the Glance backends?<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:23.25pt;text-indent:-.25in;mso-list:l0 level1 lfo5">
<![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>How is it possible to implement location aware synchronisation (synchronise images only to those cloud instances where they are needed)?<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:23.25pt;text-indent:-.25in;mso-list:l0 level1 lfo5">
<![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>Is it possible to have different OpenStack versions in the different cloud instances?<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:23.25pt;text-indent:-.25in;mso-list:l0 level1 lfo5">
<![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>Can a cloud instance use the locally synchronised images in case of a network connection break?<o:p></o:p></p>
<p class="MsoNormal" style="margin-left:23.25pt;text-indent:-.25in;mso-list:l0 level1 lfo5">
<![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>Is it possible to implement this without storing database credentials ont he edge cloud instances?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Independent synchronisation service: <o:p></o:p></p>
<p class="MsoNormal" style="margin-left:23.25pt;text-indent:-.25in;mso-list:l0 level1 lfo5">
<![if !supportLists]><span style="mso-list:Ignore">-<span style="font:7.0pt "Times New Roman"">
</span></span><![endif]>If I understood [<a href="https://mixmatch.readthedocs.io/en/latest/">1</a>] correctly mixmatch can help Nova to attach a remote volume, but it will not help in synchronizing the images. is this true?<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">As I promised in the Edge Compute Group call I plan to organize an IRC review meeting to check the wiki. Please indicate your availability in [<a href="https://doodle.com/poll/bddg65vyh4qwxpk5">2</a>].<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">[1]: <a href="https://mixmatch.readthedocs.io/en/latest/">https://mixmatch.readthedocs.io/en/latest/</a><o:p></o:p></p>
<p class="MsoNormal">[2]: <a href="https://doodle.com/poll/bddg65vyh4qwxpk5">https://doodle.com/poll/bddg65vyh4qwxpk5</a><o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Br, <o:p></o:p></p>
<p class="MsoNormal">Gerg0<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Csatari, Gergely (Nokia - HU/Budapest) <br>
<b>Sent:</b> Wednesday, May 23, 2018 8:59 PM<br>
<b>To:</b> OpenStack Development Mailing List (not for usage questions) <<a href="mailto:openstack-dev@lists.openstack.org">openstack-dev@lists.openstack.org</a>>;
<a href="mailto:edge-computing@lists.openstack.org">edge-computing@lists.openstack.org</a><br>
<b>Subject:</b> [edge][glance]: Wiki of the possible architectures for image synchronisation<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Hi, <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Here I send the wiki page [<a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment">1</a>] where I summarize what I understood from the Forum session about image synchronisation in edge environment [2], [3].<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Please check and correct/comment. <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">Thanks, <o:p></o:p></p>
<p class="MsoNormal">Gerg0<o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal"> <o:p></o:p></p>
<p class="MsoNormal">[1]: <a href="https://wiki.openstack.org/wiki/Image_handling_in_edge_environment">
https://wiki.openstack.org/wiki/Image_handling_in_edge_environment</a><o:p></o:p></p>
<p class="MsoNormal">[2]: <a href="https://etherpad.openstack.org/p/yvr-edge-cloud-images">
https://etherpad.openstack.org/p/yvr-edge-cloud-images</a><o:p></o:p></p>
<p class="MsoNormal">[3]: <span class="author-a-z75z2oz122zz71zz87zz67zz89zz69zz82zw1z122zz65zz82zh">
<a href="https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21768/image-handling-in-an-edge-cloud-infrastructure">https://www.openstack.org/summit/vancouver-2018/summit-schedule/events/21768/image-handling-in-an-edge-cloud-infrastructure</a></span><o:p></o:p></p>
</div>
</body>
</html>