<div dir="ltr">One of the things I heard was that we aren't sure why we have this custom storage backend. I was very surprised to hear that because it was developed and merged. I want to make sure we understand custom code we've written before we go too much further. I think that is why we put it on the sprint currently.<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Sep 28, 2017 at 11:06 AM, Jeff Ortel <span dir="ltr"><<a href="mailto:jortel@redhat.com" target="_blank">jortel@redhat.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
On 09/28/2017 08:56 AM, Dennis Kliban wrote:<br>
<span class="">> On Tue, Sep 26, 2017 at 11:14 AM, Jeff Ortel <<a href="mailto:jortel@redhat.com">jortel@redhat.com</a> <mailto:<a href="mailto:jortel@redhat.com">jortel@redhat.com</a>>> wrote:<br>
><br>
> Team,<br>
><br>
> I am fine with revisiting storage as some point but disagree that #2950 should be *high* priority (higher than<br>
> most other tasks) and should not aligned with sprint 26. As noted in redmine, Our FileStorage implementation<br>
> conforms to the django storage interface, is simple and tested. The django provided FileSystemStorage has<br>
> concerning code quality and is completely undocumented. To safely subclass it will require inspecting the<br>
> code line-by-line to ensure predictable behavior when overriding any of it's methods. As you all know,<br>
> reliable storage is a critical part of Pulp.<br>
><br>
><br>
> We use the rest of Django without inspecting every line of code, so I don't see a reason to treat the<br>
> FileSystem storage backend any different. We are using Django so we can reduce the amount of code we are<br>
> maintaining ourselves. Completely reimplementing the storage backend goes against that goal. I plan to work on<br>
> this issue today.<br>
<br>
</span>The rest of django is documented. The FileSystemStorage class is not. Not even docstrings. It has<br>
undocumented behaviors and the only way to understand them is to read the code.<br>
<br>
I just have a hard time understanding why this is higher priority than these other sprint tasks like:<br>
<br>
3024 content creation API does not validate the hostname portion of the URL.<br>
3021 Database writes are not all recorded in DB<br>
2994 Erratum not updated after upstream change<br>
2988 Exception when raising a user-Defined that has a custom __init__.<br>
2373 Planning on how to support global importer<br>
<br>
And ... everything else left to do for the MVP.<br>
<span class=""><br>
><br>
> -Dennis<br>
><br>
><br>
> As I said, it's a fine idea to revisit this. But, looking at the other tasks aligned to sprint 26 (and, all<br>
> the work left to do for the MVP), this is not higher priority.<br>
><br>
> -jeff<br>
><br>
><br>
</span>> <a href="https://pulp.plan.io/issues/2950" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/<wbr>2950</a> <<a href="https://pulp.plan.io/issues/2950" rel="noreferrer" target="_blank">https://pulp.plan.io/issues/<wbr>2950</a>><br>
><br>
><br>
<br>
<br>______________________________<wbr>_________________<br>
Pulp-dev mailing list<br>
<a href="mailto:Pulp-dev@redhat.com">Pulp-dev@redhat.com</a><br>
<a href="https://www.redhat.com/mailman/listinfo/pulp-dev" rel="noreferrer" target="_blank">https://www.redhat.com/<wbr>mailman/listinfo/pulp-dev</a><br>
<br></blockquote></div><br></div>