On 09/28/2017 10:39 AM, Brian Bouterse wrote: > 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.
Yes, implementing a custom storage back-end for no good reason would be surprising. But, that's not what happened. The detailed reasons where very well understood at the time. Basically, the behavior of the FileSystemStorage with regard to the way it calculated actual storage paths and how it stored files was incompatible with our needs. I should have documented those exact details but didn't. I was more interested in getting pulp3 storage working. Given the unexpected (and undocumented) behavior and code complexity in the FileSystemStorage, it seemed safer and easier to implement a few extra methods than to extend. > 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. If the purpose is to document requirements, do a gap analysis and re-design a solution, this task should not yet be groomed and aligned to a sprint. > > On Thu, Sep 28, 2017 at 11:06 AM, Jeff Ortel <[email protected] > <mailto:[email protected]>> wrote: > > > > On 09/28/2017 08:56 AM, Dennis Kliban wrote: > > On Tue, Sep 26, 2017 at 11:14 AM, Jeff Ortel <[email protected] > <mailto:[email protected]> <mailto:[email protected] > <mailto:[email protected]>>> wrote: > > > > Team, > > > > I am fine with revisiting storage as some point but disagree that > #2950 should be *high* priority (higher than > > most other tasks) and should not aligned with sprint 26. As noted > in redmine, Our FileStorage implementation > > conforms to the django storage interface, is simple and tested. > The django provided FileSystemStorage has > > concerning code quality and is completely undocumented. To safely > subclass it will require inspecting the > > code line-by-line to ensure predictable behavior when overriding > any of it's methods. As you all know, > > reliable storage is a critical part of Pulp. > > > > > > We use the rest of Django without inspecting every line of code, so I > don't see a reason to treat the > > FileSystem storage backend any different. We are using Django so we can > reduce the amount of code we are > > maintaining ourselves. Completely reimplementing the storage backend > goes against that goal. I plan to work on > > this issue today. > > The rest of django is documented. The FileSystemStorage class is not. > Not even docstrings. It has > undocumented behaviors and the only way to understand them is to read the > code. > > I just have a hard time understanding why this is higher priority than > these other sprint tasks like: > > 3024 content creation API does not validate the hostname portion of > the URL. > 3021 Database writes are not all recorded in DB > 2994 Erratum not updated after upstream change > 2988 Exception when raising a user-Defined that has a custom __init__. > 2373 Planning on how to support global importer > > And ... everything else left to do for the MVP. > > > > > -Dennis > > > > > > As I said, it's a fine idea to revisit this. But, looking at the > other tasks aligned to sprint 26 (and, all > > the work left to do for the MVP), this is not higher priority. > > > > -jeff > > > > > > https://pulp.plan.io/issues/2950 <https://pulp.plan.io/issues/2950> > <https://pulp.plan.io/issues/2950 <https://pulp.plan.io/issues/2950>> > > > > > > > _______________________________________________ > Pulp-dev mailing list > [email protected] <mailto:[email protected]> > https://www.redhat.com/mailman/listinfo/pulp-dev > <https://www.redhat.com/mailman/listinfo/pulp-dev> > >
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Pulp-dev mailing list [email protected] https://www.redhat.com/mailman/listinfo/pulp-dev
