<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
To be clear, Randall is referring to a swift container (directory).
<div class=""><br class="">
</div>
<div class="">Murali has a good idea of attempting to use swift client first, as it has performance optimizations that can speed up the process more than naive file transfer tools. I did mention to him that wget does have a retiree feature, and that we could
 see about using curl instead to allow for chunked encoding as additional optimizations. </div>
<div class=""><br class="">
</div>
<div class="">Randall, are you suggesting that we could use swift client for both private and public LP uses? That sounds like a good suggestion to me.</div>
<div class=""><br class="">
</div>
<div class="">Adrian</div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Jun 17, 2015, at 11:10 AM, Randall Burt <<a href="mailto:randall.burt@RACKSPACE.COM" class="">randall.burt@RACKSPACE.COM</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">Can't
 an operator make the target container public therefore removing the need for multiple access strategies? </span><br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
-------- Original message --------</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
From: Murali Allada<span class="Apple-converted-space"> </span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
Date:06/17/2015 11:41 AM (GMT-06:00)<span class="Apple-converted-space"> </span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
To: "OpenStack Development Mailing List (not for usage questions)"<span class="Apple-converted-space"> </span></div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
Subject: [openstack-dev] [Solum] Supporting swift downloads for operator languagepacks</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<br class="">
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<div style="font-family: Calibri, sans-serif; font-size: 14px; margin-top: 0px; margin-bottom: 0px; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class="">Hello Solum Developers, <br class="">
</span></font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; margin-top: 0px; margin-bottom: 0px; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class=""> </span></font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; margin-top: 0px; margin-bottom: 0px; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class=""><font size="3" class=""><span style="font-size: 12pt;" class="">When we were designing the operator </span></font><font size="3" class=""><span style="font-size: 12pt;" class="">languagepack
 feature for Solum, we wanted to make use of public urls to download operator LPs, such as those available for CDN backed swift containers we have at Rackspace, or any publicly accessible url. This would mean that when a user chooses to build applications on
 to</span></font><font size="3" class=""><span style="font-size: 12pt;" class="">​​</span></font><font size="3" class=""><span style="font-size: 12pt;" class="">p of a languagepack provided by the operator, we use a url to 'wget</span></font><font size="3" class=""><span style="font-size: 12pt;" class="">'
 the LP image.</span></font></span></font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; margin-top: 0px; margin-bottom: 0px; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class=""><br class="">
</span></font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; margin-top: 0px; margin-bottom: 0px; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class="">Recently, we have started noticing a number of failures because of corrupted docker images downloaded using 'wget'. The docker images work fine when we
 download them manually with a swift client and use them. The corruption seem to be happening when we try to download a large image using 'wget' and there are dropped packets or intermittent network issues.<br class="">
</span></font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; margin-top: 0px; margin-bottom: 0px; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class=""><br class="">
</span></font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; margin-top: 0px; margin-bottom: 0px; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class="">My thinking is to start using the swift client to download operator LPs by default instead of wget. The swift client already implements retry logic, downloading
 large images in chunks, etc. This means we would not get the niceties of using publicly accessible urls. However, the feature will be more reliable and robust.<br class="">
</span></font></div>
<div style="font-family: Calibri, sans-serif; font-size: 14px; margin-top: 0px; margin-bottom: 0px; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class=""><br class="">
</span></font></div>
<div style="margin-top: 0px; margin-bottom: 0px; background-color: rgb(255, 255, 255);" class="">
The implementation would be as follows:<br class="">
</div>
<ul style="font-family: Calibri, sans-serif; font-size: 14px; margin-top: 14pt; margin-bottom: 14pt; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class="">
<li class=""><font size="3" class=""><span style="font-size: 12pt;" class="">​We'll use the existing service tenant configuration available in the solum config file to authenticate and store operator languagepacks using the swift client. We were using a different
 tenant to build and host LPs, but now that we require the tenants credentials in the config file, it's best to reuse the existing service tenant creds. Note: If we don't, we'll have 3 separate tenants to maintain. </span></font>
<ul class="">
<li class=""><font size="3" class=""><span style="font-size: 12pt;" class="">​Service tenant </span></font></li><li class=""><font size="3" class=""><span style="font-size: 12pt;" class="">Operator languagepack tenant</span></font></li><li class=""><font size="3" class=""><span style="font-size: 12pt;" class="">Global admin tenant </span></font></li></ul>
</span></font></li><li class=""><font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><font size="3" class=""><span style="font-size: 12pt;" class="">I'll keep the option to download the operator languagepacks from a publicly available url. I'll allow operators to
 choose which method they want to use by changing a setting in the solum config file.</span></font></font></li></ul>
<span style="font-size: 12pt;" class="">FYI: In my tests, I've noticed that downloading an image using the swift client is twice as fast as downloading the same image using 'wget' from a CDN url.</span>
<div class=""><span style="font-size: 12pt;" class=""></span><br class="">
<div style="font-family: Calibri, sans-serif; font-size: 14px; background-color: rgb(255, 255, 255);" class="">
<font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class="">Thanks,</span></font><br class="">
<div class=""><font face="Calibri,Arial,Helvetica,sans-serif" size="2" class=""><span style="font-size: 16px;" class="">Murali</span></font></div>
</div>
<div style="margin-top: 0px; margin-bottom: 0px;" class=""><br class="">
</div>
</div>
</div>
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">__________________________________________________________________________</span><br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">OpenStack
 Development Mailing List (not for usage questions)</span><br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">Unsubscribe:<span class="Apple-converted-space"> </span></span><a href="mailto:OpenStack-dev-request@lists.openstack.org" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">OpenStack-dev-request@lists.openstack.org</a><span style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">?subject:unsubscribe</span><br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 16px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</body>
</html>