[katello-devel] Future feature RFC: Package Upload

Mike McCune mmccune at redhat.com
Tue Mar 20 16:50:27 UTC 2012


On 03/20/2012 06:33 AM, Brad Buckingham wrote:
>
> On 03/20/2012 08:30 AM, Todd Sanders wrote:
>> On 03/19/2012 03:25 PM, Brad Buckingham wrote:
>>> In the future, the plan is to provide Katello users with the ability
>>> to upload a package.  This email is to present a couple of options
>>> for accomplishing this in the UI and gather some initial feedback.
>>>
>>> Assumptions:
>>> - Prior to package upload, the target repository must exist.
>>> - When a package is uploaded, it will be uploaded only to the Library.
>>>
>>> The following are a couple of options for accomplishing this in the UI:
>>>
>>> 1. Incorporate it as part of Content Management ->  Custom Content
>>> Providers
>>>
>>>      For example,
>>>      a. select [provider] ->  Products&  Repos ->  [repository]
>>>      b. from the Repository Details subpanel, allow the user the
>>> ability to browse
>>>          to a package file and click 'Upload'
>>>
>>> 2. Incorporate it as part of Content Management ->  Promotions
>>>
>>>      For example,
>>>      a. in the content tree, navigate to Repos
>>>      b. select the repo.  (Note: currently, users can see repos
>>> listed, but not select them).
>>>      c. from the Repository Details pane (new), allow the user the
>>> ability to browse
>>>          to a package file and click 'Upload'.  (Notes: We could also
>>> use this pane to display
>>>          a few details on the repository, such as name, url and other
>>> useful info.).
>>>
>>> I lean towards option 2 for a couple of reasons:
>>> - Before a user adds a package, they are likely to browse to see what
>>> packages exist.  Currently, this would be done from the Promotions
>>> page; therefore, they would already be on the page.
>>> - In the future, users will have the ability to download packages.
>>> Assuming this will be based on earlier implementations, this would be
>>> from the Promotions page; therefore, having both upload/download on
>>> Promotions keeps it 'somewhat' consistent.
>>>
>>> There may be other options as well.
>>>
>>> Any thoughts/opinions/preferences?
>>>
>>> Thanks,
>>> Brad
>>>
>>> _______________________________________________
>>> katello-devel mailing list
>>> katello-devel at redhat.com
>>> https://www.redhat.com/mailman/listinfo/katello-devel
>>
> [brad] Folks,  A lot of great feedback.  Thanks!  As a next step, will
> create a wiki page to outline the requirements for the feature.  For
> integration in the UI, will assume that this will be part of the overall
> content browser solution, so we'll work the details of UI look/design as
> part of that bigger feature.
>
>> Couple of comments here:
>>
>> 1. Let's not reinvent the wheel here, the heavy lifting has already
>> been done in Pulp.  We should expose the same set of functionality
>> that Pulp provides with regards to package uploads via it's cli.  See:
>> http://pulpproject.org/ug/UGContent.html#upload
>>

definite big +1

> [brad] +1.  I had looked over the REST APIs, but not the CLI.  Thanks
> for the pointer.
>> 2. Package uploads are only valid for "Custom" Providers.
>>
> [brad] +1.  That was the intent.
>> 3. We need to support both uploading single packages and/or
>> *directories* of packages to the Library, and only to the Library.
>> IMO, the best place for this functionality would be within a content
>> browser either (a) from a screen where the user is browsing all
>> packages in the Library, or (b) from a screen where the where the user
>> is browsing all packages scoped to a repository in the Library.  Isn't
>> the content browser functionality targeted for our next release?
>>
> [brad] Thanks for the input regarding the needs.  Based on the
> clarifications on what Katello will need to support, the content browser
> is the better fit, as it doesn't really fit in to the existing
> capabilities.  Content browser is planned for the next release.  We'll
> need to get the discussions rolling on that one, if they haven't
> already, since this would be a small piece of that bigger solution.

directory uploads would be awesome, unfortunately without something like 
Flash or Java there is no way to upload a directory of files with a 
browser, you can only do a file-by-file approach with pure JavaScript 
and HTML.  More info here:

http://stackoverflow.com/questions/254251/what-is-the-best-way-to-upload-a-folder-to-a-website

just something to keep in mind.  For the CLI this won't be an issue but 
for our WebUI we won't be able to do a whole directory.

>> 4. Packages should be able to exist without repository associations.
>> Meaning I can upload to server, then associate with one or more
>> repositories.  This could be done in a single operation for
>> convenience, but not required.
>>
> [brad] Good point.  It would provide more flexibility to not force it as
> a single operation.

what is the real use case for 'repoless' packages?  Do people really use 
this that often?  I ask because it will require us to write UI/CLI/API 
to manage packages that live outside of a repository which we really 
don't have any notion of now.  Just making sure that this is something 
we really need.  Wondering if we can start by forcing all packages to be 
at least a member of one or more repos and if people really want 
repoless packages we can do that too.

>> 5. Packages that already exist in a Library repository should be able
>> to be associated and un-associated from other Library repositories.
>>
> [brad] +1
>> 6. We need to support chunked uploads; and the upload should be able
>> to resume if restarted after a failure.
>>
> [brad] +1

definitely good but will have some interesting technical challenges from 
a browser's perspective.

Mike




More information about the katello-devel mailing list