Bug 1119405 - [RFE] Remove requirement of "source-parent" argument of the '-a' option of spacewalk-clone-by-date
Summary: [RFE] Remove requirement of "source-parent" argument of the '-a' option of sp...
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Spacewalk
Classification: Community
Component: Clients
Version: 2.2
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Stephen Herr
QA Contact: Red Hat Satellite QA List
URL:
Whiteboard:
Depends On:
Blocks: space23
TreeView+ depends on / blocked
 
Reported: 2014-07-14 17:10 UTC by Stephen Herr
Modified: 2015-04-14 19:02 UTC (History)
6 users (show)

Fixed In Version: spacewalk-utils-2.3.2-1
Doc Type: Enhancement
Doc Text:
Clone Of: 982391
Environment:
Last Closed: 2015-04-14 19:02:36 UTC


Attachments (Terms of Use)

Description Stephen Herr 2014-07-14 17:10:11 UTC
+++ This bug was initially created as a clone of Bug #982391 +++

1. Proposed title of this feature request

A: Remove requirement of "source-parent" argument of the '-a' option of spacewalk-clone-by-date

3. What is the nature and description of the request?

A: Do not require the source parent for the '-a' option of spacewalk-clone-by-date.


A: The customer is requesting this as they feel that the requirement of the source parent channel to not be user friendly.  To quote the customer's update in comment #73:
 
"The update added a -a option:

  -a PARENTS, --parents=PARENTS
                        Already existing channels that will be used as the
                        original parent and destination parent of child
                        channels cloned this session.

So the new version looks like this:
spacewalk-clone-by-date -d 2012-06-19 \
-a rhel-x86_64-server-6 rhel-x86_64-server-6.2_2012-06-19 \
-l rhn-tools-rhel-x86_64-server-6 clone-rhn-tools-rhel-x86_64-server-6_2012-06-19 \
-u xxxx -p xxxx

The ONLY difference from a user perspective is the use of "-a" instead of "-l" for the parents.

This is it still requires you to define both the source parent and the target parent.  There is a fundamental problem with this because the root issue with the user-friendliness comes from having to define BOTH parents.  I should not have to.  By requiring both the source and target parent, that means that I have to already know what the source parent is that the target was created from in the first place.  That is confusing and error prone.

Let's say, for example, that I originally used a clone as the parent to create the new parent that had specific errata selected, but then later on, I go to create the new parent, and I select the wrong source parent that includes the errata that I wanted to omit.  The result would be that my target parent would get trashed because the wrong errata would be applied.  At worst, I wouldn't know that I had done it; at best, I'd be trolling through all the errata trying to figure out which ones aren't supposed to be there.

What I really wanted to see is this:
spacewalk-clone-by-date -d 2012-06-19 \
-a rhel-x86_64-server-6.2_2012-06-19 \
-l rhn-tools-rhel-x86_64-server-6 clone-rhn-tools-rhel-x86_64-server-6_2012-06-19 \
-u xxxx -p xxxx

Note that the -a has ONLY the target parent.  Functionally, the source parent is not needed.  I care only about what parent I'm tying the new child to, not the source parent that the target parent is related to.  That way, I _can't_ accidentally bork the parent."
 
5. How would the customer like to achieve this? (List the functional requirements here)

A: Remove the requirement of the source parent argume from the '-a' option.  So instead of this:

spacewalk-clone-by-date -d 2012-06-19 \ 
-a rhel-x86_64-server-6 rhel-x86_64-server-6.2_2012-06-19 \
-l rhn-tools-rhel-x86_64-server-6 clone-rhn-tools-rhel-x86_64-server-6_2012-06-19 \
-u xxxx -p xxxx

The customer wants to see is this:
spacewalk-clone-by-date -d 2012-06-19 \
-a rhel-x86_64-server-6.2_2012-06-19 \
-l rhn-tools-rhel-x86_64-server-6 clone-rhn-tools-rhel-x86_64-server-6_2012-06-19 \
-u xxxx -p xxxx

10. List any affected packages or components.

A: spacewalk-clone-by-date

--- Additional comment from Stephen Herr on 2014-06-09 08:49:12 EDT ---

The request to remove the source parent label is valid from a usability perspective; the destination parent channel knows where it was cloned from and therefore it should not be required for the user to type it in every time.

However, please note that it is impossible to mess up the parent channel with the -a / --parents option, even if the wrong souce parent label is specified. Changes will only be made to channels specified with -l / --channels, if you use the --parents option then the parent channels are used only for dependency resolution and cloning of new channels under the correct parent, no changes are made to the parent. We need to state this explicitly in the documentation. Please pass this information on to the customer as I think it will go a long way towards easing their worries.

--- Additional comment from Stephen Herr on 2014-06-09 09:13:56 EDT ---

More accurately it *is* possible for a channel specified with --parents to be modified, but *only* if packages cloned into a child channel require packages in the parent that are not currently there. The packages required to fulfill rpm dependencies will be cloned into the parent, but no errata and the --to_date and other options have no effect on the parent.

Comment 1 Stephen Herr 2014-07-14 18:13:15 UTC
Committing to Spacewalk master:
48e623480c41e95f7f3ca54ae8dd543fe6df70f2

Comment 2 Stephen Herr 2014-07-15 19:43:28 UTC
Also needed:
61bad9cd697bd8ac45620661ba2b05006182575c
e6e00010dbb958dec88f5f3bef024029c67c0217

Comment 3 Grant Gainey 2015-03-23 16:58:42 UTC
Moving bugs to ON_QA as we move to release Spacewalk 2.3

Comment 4 Grant Gainey 2015-04-14 19:02:36 UTC
Spacewalk 2.3 has been released. See

https://fedorahosted.org/spacewalk/wiki/ReleaseNotes23


Note You need to log in before you can comment on or make changes to this bug.