<html xmlns:v="urn:schemas-microsoft-com:vml" 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=us-ascii"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@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","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hi all, <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I wanted to get some feedback about the best way to implement support for Isilon storage clusters within Swift. I’ve taken the Swift code and hacked on it a bit to build a prototype that works with Isilon, but I don’t think that my changes would make sense to integrate into the main Swift codebase because they are very much hack-ish/prototype-ish changes and even if they weren’t they would be very specific to the needs of an Isilon device and as such probably wouldn’t make sense to someone not using an Isilon storage device in the Swift cluster. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I was thinking that perhaps the way that makes the most sense and would be easiest for us (Isilon) to maintain would be to add some type of plugin/extension capability to Swift so that portions of the functionality could be overridden. I was thinking that I could probably draw up a blueprint for this and do the work of implementing it. That’s just my thought, but I wanted to hear what the members of the list have to say concerning this.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>BTW, the primary thing that I had to deal with in order to make Isilon work with Swift was the fact that each node in an Isilon cluster shares a single storage volume by virtue of the OneFS operating system that Isilon nodes run on. So, for example, I had to modify the Swift proxy server so that it doesn’t do things like simultaneously write to two nodes in the same Isilon cluster. Also, I had to modify the replicators so that they do not attempt to replicate between nodes in the Isilon cluster, etc, etc.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Isilon, as a company, feels that OpenStack has a bright future and we want to make sure that we can be a part of that, so I would appreciate any feedback you can give me concerning the best way to support Isilon and OpenStack integration for the long term.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks for your time and consideration.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Alex Pecoraro<o:p></o:p></p><p class=MsoNormal>Sr. Software Engineer<o:p></o:p></p><p class=MsoNormal>EMC Isilon<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>