Bug 697872 - RFE: add a call to remove packages from repos
Summary: RFE: add a call to remove packages from repos
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Pulp
Classification: Retired
Component: z_other
Version: unspecified
Hardware: Unspecified
OS: Unspecified
medium
low
Target Milestone: ---
: Sprint 23
Assignee: John Matthews
QA Contact: Preethi Thomas
URL:
Whiteboard:
Depends On:
Blocks: 563609 verified-to-close
TreeView+ depends on / blocked
 
Reported: 2011-04-19 14:18 UTC by Daniel Mach
Modified: 2011-08-16 12:22 UTC (History)
2 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2011-08-16 12:11:19 UTC
Embargoed:


Attachments (Terms of Use)

Description Daniel Mach 2011-04-19 14:18:57 UTC
The new call should be reverse method to service_api.associate_packages().

Arguments:
{file_name: [repo_id, repo_id, ...]}

Result:
((filename,checksum), [repoids])
Should return only file names and repo ids of files which were actually removed.
This structure is the same as associate_packages' input.

When a repo doesn't exist, throwing an error would be probably appropriate.

Comment 1 John Matthews 2011-05-11 22:04:24 UTC
Added service_api.disassociate_packages() which does the opposite behavior of service_api.associate_packages()

Takes in same arguments as service_api.associate_packages().

Note:  both of these calls, service_api.associate_packages() and service_api.disassociate_packages() will return an empty list on success.  If one of the items was not able to be processed then that item will be returned.

Error format is: [{'filename':{'checksum_value':[repoid]}}]


QE:  This call is a WebService API call and in the Client API we expose, but it is not in pulp-admin/pulp-client.  Below I provide a script under plulp/playpen to test the call.

Suggestion for testing
1) Do a local sync of a dir on disk with rpms.
2) Create a csv file of prev synced rpms so we can associate them to a new repo
   Run: pulp/playpen/api/generate_csv.py -o $PATH_TO_RPMS -d test_bz697872.csv
3) Create an empty repo:  sudo pulp-admin repo create --id test_bz697872
4) Associate test packages to this repo:  
   pulp/playpen/api/package_associate.py ./test_bz697872.csv test_bz697872
5) Verify content has been associated:  sudo pulp-admin content list --repoid test_bz697872
6) Test Disassociate:
   pulp/playpen/api/package_disassociate.py ./test_bz697872.csv test_bz697872
7) Verify content has been disassociated

Commit:
http://git.fedorahosted.org/git/?p=pulp.git;a=commitdiff;h=b19f5194a8d89fad876e3585d2383ab65c9617ab

Comment 2 Jeff Ortel 2011-05-12 18:45:40 UTC
build: 0.176

Comment 3 Preethi Thomas 2011-06-07 18:10:40 UTC
[root@preethi ~]# rpm -q pulp
pulp-0.0.186-1.fc14.noarch

[root@preethi ~]# pulp-admin repo create --id=local_1 --feed=file:///tmp/my_rpms/
Successfully created repository [ local_1 ]

[root@preethi ~]# pulp-admin repo sync --id=local_1 -F
Sync for repository local_1 started
Sync: Finished
3/3 new items downloaded
0/3 existing items processed

Item Details: 
Rpms: 3/3



[root@preethi ~]# pulp/playpen/api/generate_csv.py -d /tmp/my_rpms/ -o test_bz697872.csv
Will read /tmp/my_rpms/ and write to test_bz697872.csv
Processed 3 rpms.

[root@preethi ~]# cat test_bz697872.csv
/tmp/my_rpms/pulp-large_1mb_test-packageA-0.1.1-1.fc14.noarch.rpm,a234230b4adac9e1990492b76c706b4d7fcfe8a17fdc959b6672a3447e4f94f6
/tmp/my_rpms/pulp-large_1mb_test-packageB-0.1.1-1.fc14.noarch.rpm,8a4d6ac36824405c193a764d1babd608374596655a604c49ec308de946c56d5a
/tmp/my_rpms/pulp-large_1mb_test-packageC-0.1.1-1.fc14.noarch.rpm,7b6d84f97ec0e6917f7a4cc3f14e1db7c8df6d1c14dcc3c528de5ba73cd1fb74
[root@preethi ~]# 
[root@preethi ~]# 
[root@preethi ~]# 
[root@preethi ~]# 
[root@preethi ~]#  pulp-admin repo create --id test_bz697872
Successfully created repository [ test_bz697872 ]

[root@preethi ~]# pulp/playpen/api/package_associate.py ./test_bz697872.csv test_bz697872
Success, no errors occurred
[root@preethi ~]# 
[root@preethi ~]# 
[root@preethi ~]# pulp-admin content list --repoid test_bz697872
pulp-large_1mb_test-packageA-0.1.1-1.fc14.noarch.rpm,a234230b4adac9e1990492b76c706b4d7fcfe8a17fdc959b6672a3447e4f94f6
pulp-large_1mb_test-packageB-0.1.1-1.fc14.noarch.rpm,8a4d6ac36824405c193a764d1babd608374596655a604c49ec308de946c56d5a
pulp-large_1mb_test-packageC-0.1.1-1.fc14.noarch.rpm,7b6d84f97ec0e6917f7a4cc3f14e1db7c8df6d1c14dcc3c528de5ba73cd1fb74

[root@preethi ~]# pulp/playpen/api/package_disassociate.py ./test_bz697872.csv test_bz697872
Success, no errors occurred
[root@preethi ~]# 
[root@preethi ~]# 
[root@preethi ~]# pulp-admin content list --repoid test_bz697872No content in the repo [test_bz697872]
[root@preethi ~]#

Comment 4 Preethi Thomas 2011-08-16 12:11:19 UTC
Closing with Community Release 15

pulp-0.0.223-4.

Comment 5 Preethi Thomas 2011-08-16 12:22:51 UTC
Closing with Community Release 15

pulp-0.0.223-4.


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