<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:'times new roman', 'new york', times, serif;font-size:12pt"><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">The idea to make ring implementation pluggable seems nice. </font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><br></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">At the same time I am thinking that many developers might not will feel comfortable with modifying existing ring structure, since it *works* :) Probably, the other viable option for allowing data location compliance is to implement it <i>outside</i> of ring file structure (but maybe <i>inside</i> the future Ring component/service). </font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times,
 serif"><br></font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">As an example I look at how replication works, "<a id="d246e1280">If a replicator detects that a remote drive is has failed, it will use the ring's “get_more_nodes” interface to choose an alternate node to synchronize with." </a></font><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><a id="d246e1280">It seems that "Ring#get_more_nodes" can be used in </a></font><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; "><a id="d246e1280">a similar manner</a></span><span class="Apple-style-span" style="font-family: 'times new roman', 'new york', times, serif; "><a id="d246e1280"> to select alternative nodes in other zones for storing objects once some of the zones are banned for specific accounts.</a></span></div><div><a id="d246e1280"><font
 class="Apple-style-span" face="'times new roman', 'new york', times, serif"><br></font></a></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif">- Rostik</font></div><div><font class="Apple-style-span" face="'times new roman', 'new york', times, serif"><br></font><div><font><hr size="1"><b style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><span style="font-weight: bold;">From:</span></b><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" style="font-size: 12pt; "> Joshua McKenty <josh@piston.cc></font><br><b style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><span style="font-weight: bold;">To:</span></b><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" style="font-size: 12pt; "> Rostyslav Slipetskyy <rslipetskyy@yahoo.com></font><br><b style="font-size: 12pt; font-family:
 'times new roman', 'new york', times, serif; "><span style="font-weight: bold;">Cc:</span></b><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" style="font-size: 12pt; "> OpenStack <openstack@lists.launchpad.net></font><br><b style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><span style="font-weight: bold;">Sent:</span></b><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" style="font-size: 12pt; "> Tue, May 31, 2011 1:45:01 AM</font><br><b style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; "><span style="font-weight: bold;">Subject:</span></b><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" style="font-size: 12pt; "> Re: [Openstack] suggestion for data location compliance in swift</font><br></font><br>
<meta http-equiv="x-dns-prefetch-control" content="off"><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" style="font-size: 12pt; ">This was one of the use cases that drove the design discussion on decoupling the swift ring implementation from the rest of swift (along with supporting multiple tiers of hardware). See </font><a rel="nofollow" target="_blank" href="https://blueprints.launchpad.net/swift/+spec/swift-pluggable-hashing-ring" style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; ">https://blueprints.launchpad.net/swift/+spec/swift-pluggable-hashing-ring</a><font class="Apple-style-span" face="'times new roman', 'new york', times, serif" style="font-size: 12pt; "> for the basic proposal, however, and you'll note that we could definitely use some additional developers :)</font><div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif;
 "><br></div><div style="font-size: 12pt; font-family: 'times new roman', 'new york', times, serif; ">Joshua<br><div><br></div><div><br><div>
Joshua McKenty<br>Piston Cloud Computing, Inc.<br>(650) 283-6846<br><a rel="nofollow" ymailto="mailto:joshua@piston.cc" target="_blank" href="mailto:joshua@piston.cc">joshua@piston.cc</a><br><br><br>
</div>
<br><div><div>On 2011-05-30, at 4:18 PM, Rostyslav Slipetskyy wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Some of the data stored in the cloud has legal requirements to be stored <br>physically within certain geographical boundary (for example within a country). <br>Currently OpenStack does not allow to impose restrictions on data location.<br><br>It looks like zones can be very handy to achieve data location compliance <br>(according to the docs they can be used to group devices based on physical <br>location). For example, suppose that a provider has servers in USA (zones 1-5) <br>and Canada (zones 6-10). Let's imagine that a customer has some legal <br>requirements to store its data on the servers in the USA. What I imagine doing <br>is to restrict data for customer accounts to zones 1-5. <br><br>Most probably, ring modifications will be necessary in order to implement this.<br><br>Best
 Regards,<br>Rostik<br><br>_______________________________________________<br>Mailing list: <a rel="nofollow" target="_blank" href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>Post to     : <a rel="nofollow" ymailto="mailto:openstack@lists.launchpad.net" target="_blank" href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>Unsubscribe : <a rel="nofollow" target="_blank" href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>More help   : <a rel="nofollow" target="_blank" href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br></div></blockquote></div><br></div></div><meta http-equiv="x-dns-prefetch-control" content="on"></div></div><div style="font-family: 'times new roman', 'new york', times, serif; font-size: 12pt; position: fixed; "></div>


</div></body></html>