Bug 641279

Summary: [RFE] can not manage repositories through API
Product: Red Hat Satellite 5 Reporter: Šimon Lukašík <slukasik>
Component: APIAssignee: Tomas Lestach <tlestach>
Status: CLOSED DEFERRED QA Contact: Red Hat Satellite QA List <satqe-list>
Severity: medium Docs Contact:
Priority: low    
Version: 540CC: slukasik, tkasparek
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: 634884 Environment:
Last Closed: 2014-07-04 13:26:07 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 462714    

Description Šimon Lukašík 2010-10-08 09:17:04 UTC
+++ This bug was initially created as a clone of Bug #634884 +++

Description of problem:
I have tried to create channel with assigned repository using XMLRPC API call and was not able to do so.


Version-Release number of selected component (if applicable):
Galactica 20100910.2


How reproducible:
1 of 1


Steps to Reproduce:
1. Use this XMLRPC call to API:
2. API: ret = client.channel.software.create(key, CHANNEL, \
                     'Name %s' % CHANNEL, \
                     'Summary %s' % CHANNEL, \
                     ARCH, PARENT, CHECKSUM, \
                     {'url': '', 'id': '', 'fingerprint': ''}, \
                     {'url': 'http://10.34.26.211/TESTING/repo6/', 'label': CHANNEL+'repo', 'sync': True})
3. Check if channel exist and have repository assigned


Actual results:
Channel is created, but repo not and it is also not assigned to it. This also do not allow me to create channel with multiple repos.


Expected results:
I should be able to create channel with multiple repos. I guess that as repos are standalone entities, proper fix here would be to remove these possibilities from client.channel.software.create() call (as they do not work anyway) and create client.repo.create()/.delete()/getDetails()/... and a call to assign (or remove) a repo to a channel.

IMO this should be fixed or removed from docs before GA.


Additional info:
I was not able to find any error in logs regarding this.

Also client.channel.software.getDetails(key, CHANNEL) shows *only one* assigned repository, although channel have two in WebUI.

--- Additional comment from cperry on 2010-09-17 17:37:15 CEST ---

I agree with the "remove these possibilities from the client.channel.software.create() call (as they do not work anyway)" - if we can, just comment out/remove it from the API doc for the API call. 

We can look at correctly implementing these API's post 5.4 GA.

Cliff

--- Additional comment from lzap on 2010-09-20 09:51:58 CEST ---

Functionality added with bug 562463. I will revert it for now and reopen the bug so we can add this functionality properly later on.

--- Additional comment from lzap on 2010-09-20 10:48:49 CEST ---

Nonfunctional possibility to add repository along with new channel over XMLRPC API has been removed from code and documentation. We do need to create new API (client.repo.create()/.delete()/getDetails()/...) that will handle repositories.

3d3626e2bb9073f53b3fabc15fbc52d8bdf2aac5

--- Additional comment from lzap on 2010-09-20 11:39:44 CEST ---

commit a20579181e4a52706acfed94ff78ca8951766460
Author: Lukas Zapletal <lzap+git>
Date:   Mon Sep 20 10:44:29 2010 +0200

    634884 - managing repositories within channels through XMLRPC API disabled
    (cherry picked from commit 3d3626e2bb9073f53b3fabc15fbc52d8bdf2aac5)

Comment 1 Šimon Lukašík 2010-10-08 09:19:23 UTC
Api call for repository creation was removed. We may want to return
it back, maybe as separate handler. Thanks.