<p dir="ltr">I agree, go would be perfect for these tools.</p>
<p dir="ltr">Static compilation makes deployment trivial.</p>
<p dir="ltr"> +1</p>
<br><div class="gmail_quote"><div dir="ltr">On Sun, Jun 14, 2015, 9:50 PM Prashanth Pai <<a href="mailto:ppai@redhat.com">ppai@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Personally, I'd use Go which is "performant" as you put it. You could reuse(read fork) this project: <a href="https://github.com/aisola/go-coreutils" rel="noreferrer" target="_blank">https://github.com/aisola/go-coreutils</a><br>
And also leverage Kaushal's go bindings (<a href="https://forge.gluster.org/gogfapi#more" rel="noreferrer" target="_blank">https://forge.gluster.org/gogfapi#more</a>) which itself can grow along with glusterfs-coreutils project.<br>
<br>
Regards,<br>
-Prashanth Pai<br>
<br>
----- chris holcombe <<a href="mailto:chris.holcombe@canonical.com" target="_blank">chris.holcombe@canonical.com</a>> wrote:<br>
> Having previously worked at Facebook myself I know that it's absolutely<br>
> critical that these tools be as performant as possible. I understand the<br>
> desire to program these in Python because it allows more people to<br>
> participate but unfortunately in this case it's not possible.<br>
><br>
> Craig - Let us know when you push your code. I'll start lending a hand<br>
> as soon as I can.<br>
><br>
> On 06/14/2015 02:49 PM, Craig Cabrey wrote:<br>
> > I've already started writing the utilities in C per my internship project. I'll push these up when ready (most probably sometime this week) as a POC.<br>
> ><br>
> > Maybe then we can look into implementing with Python?<br>
> ><br>
> > Craig<br>
> ><br>
> >> On Jun 14, 2015, at 2:47 PM, Joe Julian <<a href="mailto:joe@julianfamily.org" target="_blank">joe@julianfamily.org</a>> wrote:<br>
> >><br>
> >> I was thinking the other way around. Write it in python then optimize if it's necessary.<br>
> >>> On 06/14/2015 02:45 PM, chris holcombe wrote:<br>
> >>> Maybe we could write these in C and setup python bindings for them. Thoughts? I'm down with writing them in C. I could use more practice.<br>
> >>><br>
> >>>> On 06/14/2015 02:36 PM, Joe Julian wrote:<br>
> >>>> I would prefer python.<br>
> >>>><br>
> >>>>> On 06/14/2015 11:18 AM, Niels de Vos wrote:<br>
> >>>>>> On Sat, Jun 13, 2015 at 06:45:45PM +0530, M S Vishwanath Bhat wrote:<br>
> >>>>>> On 12 June 2015 at 23:59, chris holcombe <<a href="mailto:chris.holcombe@canonical.com" target="_blank">chris.holcombe@canonical.com</a>><br>
> >>>>>> wrote:<br>
> >>>>>><br>
> >>>>>>> Yeah I have this repo but it's basically empty:<br>
> >>>>>>> <a href="https://github.com/cholcombe973/GlusterUtils" rel="noreferrer" target="_blank">https://github.com/cholcombe973/GlusterUtils</a><br>
> >>>>>> AFAIK the plan is to collaborate through a git repo in <a href="http://github.com/gluster" rel="noreferrer" target="_blank">github.com/gluster</a><br>
> >>>>>> account. But anything that works should be good...<br>
> >>>>>><br>
> >>>>>> And the choice of language seems to be python.<br>
> >>>>> Depending on the target systems, Python may not be suitable. There are<br>
> >>>>> cloud deployments that do not have Python installed. I think that even<br>
> >>>>> includes the minimal cloud images Fedora and CentOS provide. IMHO would<br>
> >>>>> be nice to be able to support those systems too, without pulling in too<br>
> >>>>> many dependencies.<br>
> >>>>><br>
> >>>>> But, I'll leave it up to the people writing the code ;-)<br>
> >>>>><br>
> >>>>> Cheers,<br>
> >>>>> Niels<br>
> >>>>><br>
> >>>>>> Best Regards,<br>
> >>>>>> Vishwanath<br>
> >>>>>><br>
> >>>>>>>> On 06/12/2015 11:27 AM, Craig Cabrey wrote:<br>
> >>>>>>>><br>
> >>>>>>>> Chris,<br>
> >>>>>>>><br>
> >>>>>>>> That sounds good to me.<br>
> >>>>>>>><br>
> >>>>>>>> I already have started on implementation, just to get familiar with the<br>
> >>>>>>>> codebase and GFAPI.<br>
> >>>>>>>><br>
> >>>>>>>> Is there a public repo that we can use for collaboration?<br>
> >>>>>>>><br>
> >>>>>>>> Craig<br>
> >>>>>>>><br>
> >>>>>>>> On Jun 12, 2015, at 10:46 AM, chris holcombe <<br>
> >>>>>>>>> <a href="mailto:chris.holcombe@canonical.com" target="_blank">chris.holcombe@canonical.com</a>> wrote:<br>
> >>>>>>>>><br>
> >>>>>>>>> Craig,<br>
> >>>>>>>>><br>
> >>>>>>>>> I was actually planning on building the same tool set. I would like to<br>
> >>>>>>>>> work with you also on this if that's ok.<br>
> >>>>>>>>><br>
> >>>>>>>>> -Chris<br>
> >>>>>>>>><br>
> >>>>>>>>>> On 06/12/2015 10:43 AM, Jeff Darcy wrote:<br>
> >>>>>>>>>><br>
> >>>>>>>>>> Hi everyone,<br>
> >>>>>>>>>>> This summer I am an intern at Facebook working on the Gluster team.<br>
> >>>>>>>>>>> Part of<br>
> >>>>>>>>>>> my project for the summer includes developing a set of coreutils that<br>
> >>>>>>>>>>> utilizes the Gluster C API natively.<br>
> >>>>>>>>>>><br>
> >>>>>>>>>>> This project is similar in nature to the NFS coreutils that some of<br>
> >>>>>>>>>>> you may<br>
> >>>>>>>>>>> have heard about from the other Facebook engineers at the Gluster<br>
> >>>>>>>>>>> summit<br>
> >>>>>>>>>>> recently. I just wanted to reach out to the Gluster community to gather<br>
> >>>>>>>>>>> ideas, potential features, feedback, and direction.<br>
> >>>>>>>>>>><br>
> >>>>>>>>>>> The initial set of utilities that I am developing includes the<br>
> >>>>>>>>>>> following:<br>
> >>>>>>>>>>><br>
> >>>>>>>>>>> * cat<br>
> >>>>>>>>>>> * mkdir<br>
> >>>>>>>>>>> * put (read from stdin and write to a file)<br>
> >>>>>>>>>>> * mv<br>
> >>>>>>>>>>> * ls<br>
> >>>>>>>>>>> * rm<br>
> >>>>>>>>>>> * tail<br>
> >>>>>>>>>>><br>
> >>>>>>>>>>> Again, any feedback will be welcome.<br>
> >>>>>>>>>> Hi, Craig, and welcome to the project. :)<br>
> >>>>>>>>>><br>
> >>>>>>>>>> There seems to be some overlap with a proposal Ragahavendra Talur sent<br>
> >>>>>>>>>> out<br>
> >>>>>>>>>> a couple of days ago.<br>
> >>>>>>>>>><br>
> >>>>>>>>>><br>
> >>>>>>>>>> <a href="https://urldefense.proofpoint.com/v1/url?u=https://docs.google.com/document/d/1yuRLRbdccx_0V0UDAxqWbz4g983q5inuINHgM1YO040/edit?usp%3Dsharing&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=86la5Xg7nlxAzIR6E5c2v2SgQSd6VssYzB%2BklM3wf%2BI%3D%0A&s=8d55bb5770b8ed1d683a6908a05af32b79289735c537c660252fcaa7c690e162" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v1/url?u=https://docs.google.com/document/d/1yuRLRbdccx_0V0UDAxqWbz4g983q5inuINHgM1YO040/edit?usp%3Dsharing&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=86la5Xg7nlxAzIR6E5c2v2SgQSd6VssYzB%2BklM3wf%2BI%3D%0A&s=8d55bb5770b8ed1d683a6908a05af32b79289735c537c660252fcaa7c690e162</a><br>
> >>>>>>>>>><br>
> >>>>>>>>>> This seems like an excellent opportunity to collaborate. Ideally, I<br>
> >>>>>>>>>> think<br>
> >>>>>>>>>> it would be useful to have both an FTP-client-like "shell" and a set of<br>
> >>>>>>>>>> standalone "one shot" commands, based on as much common code as<br>
> >>>>>>>>>> possible.<br>
> >>>>>>>>>><br>
> >>>>>>>>>> _______________________________________________<br>
> >>>>>>>>>> Gluster-devel mailing list<br>
> >>>>>>>>>> <a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
> >>>>>>>>>><br>
> >>>>>>>>>> <a href="https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=86la5Xg7nlxAzIR6E5c2v2SgQSd6VssYzB%2BklM3wf%2BI%3D%0A&s=28546cdc6fdf6f75f4cfa4b8260abc595eee96601a5f849ebb230ddbd1faf8b3" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=86la5Xg7nlxAzIR6E5c2v2SgQSd6VssYzB%2BklM3wf%2BI%3D%0A&s=28546cdc6fdf6f75f4cfa4b8260abc595eee96601a5f849ebb230ddbd1faf8b3</a><br>
> >>>>>>> _______________________________________________<br>
> >>>>>>> Gluster-devel mailing list<br>
> >>>>>>> <a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
> >>>>>>> <a href="https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1</a><br>
> >>>>>> _______________________________________________<br>
> >>>>>> Gluster-devel mailing list<br>
> >>>>>> <a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
> >>>>>> <a href="https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1</a><br>
> >>>>> _______________________________________________<br>
> >>>>> Gluster-devel mailing list<br>
> >>>>> <a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
> >>>>> <a href="https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1</a><br>
> >>>> _______________________________________________<br>
> >>>> Gluster-devel mailing list<br>
> >>>> <a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
> >>>> <a href="https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1</a><br>
> >> _______________________________________________<br>
> >> Gluster-devel mailing list<br>
> >> <a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
> >> <a href="https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1" rel="noreferrer" target="_blank">https://urldefense.proofpoint.com/v1/url?u=http://www.gluster.org/mailman/listinfo/gluster-devel&k=ZVNjlDMF0FElm4dQtryO4A%3D%3D%0A&r=ThH6JMKaB%2Fxgkh9d2jPjehcdps8B69L0q04jdBbZvX4%3D%0A&m=vXGpsdu0VQkkhe9HG68hcfca%2F938GTXmmbz4t56hNMg%3D%0A&s=33c038573fdbc5f7914eefe2f0a5e8cfc57ea8c652a1cb42358e6d1a401628f1</a><br>
><br>
> _______________________________________________<br>
> Gluster-devel mailing list<br>
> <a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
> <a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
_______________________________________________<br>
Gluster-devel mailing list<br>
<a href="mailto:Gluster-devel@gluster.org" target="_blank">Gluster-devel@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-devel" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-devel</a><br>
</blockquote></div>