Bug 1118794

Summary: [RFE] provide more script-friendly interface for system editing
Product: [Community] Beaker Reporter: Jiri Jaburek <jjaburek>
Component: generalAssignee: beaker-dev-list
Status: NEW --- QA Contact: tools-bugs <tools-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 0.17CC: alemay, azelinka
Target Milestone: ---Keywords: FutureFeature
Target Release: ---   
Hardware: All   
OS: All   
Whiteboard:
Fixed In Version: Doc Type: Enhancement
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Description Jiri Jaburek 2014-07-11 14:22:33 UTC
Description of problem:

This bug was originally about enabling owners to use the CSV interface itself, as discussed on the mailing list [1], but after seeing bug 1117016, I'd like to file this as a list of "features", since the interface isn't all that important as the ability to perform the actions.

Therefore please allow system owners to modify the following in a more script-friendly way (ie. for modifying >10 machines at a time):

- basic details
  - condition
  - type
  - hypervisor
  - owner (if possible)
  - current user (if possible)
  - active loan (if possible)
  - mac address

- architectures list
- key/values (if possible)
- groups list
- ACL details
- power config
- install options (per-arch lines)

These are the fields I use/modify when setting up (sometimes lots of) machines or virtual machines and the ability to do it without control-tab-ing through 20 tabs in the browser multiple times would be really welcome.

The ability to "set" instead of "add"/"remove" would also be useful to maintain consistency across machines.


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

Comment 3 Jiri Jaburek 2014-07-11 14:29:05 UTC
Please note that this RFE could be solved in more ways than one - it's about doing changes in batches, which could be done via the WebUI as well - something like "select the fields you want to copy from machine X and enter a list of machines as destinations".

Comment 4 Nick Coghlan 2014-07-21 03:10:57 UTC
Reviewing which of these are already scriptable:

System loans: loan-grant/loan-return
ACLs: policy-grant/policy-revoke
Manual reservations: system-reserve/system-release

Bug 804479 covers adding a change-condition command
Bug 1118884 covers adding a change-owner command

For the others, a generally available CSV import/export option actually may be the best answer.

Comment 5 Nick Coghlan 2014-07-21 03:12:27 UTC
Andrew, would you be able to provide some feedback on Jiri's problem description here? For folks with full admin access, how much of this functionality does the existing CSV import/export capability cover?

Comment 6 Jiri Jaburek 2014-10-08 12:41:44 UTC
(In reply to Nick Coghlan from comment #4)
> Reviewing which of these are already scriptable:
> 
> System loans: loan-grant/loan-return
> ACLs: policy-grant/policy-revoke

While that's certainly useful, a better approach for my case would be "set these ALCs, overriding anything original". Presuming that the machines are all in a certain state is not a good idea.

> Manual reservations: system-reserve/system-release
> 
> Bug 804479 covers adding a change-condition command
> Bug 1118884 covers adding a change-owner command
> 
> For the others, a generally available CSV import/export option actually may
> be the best answer.

Comment 8 andrew 2015-08-24 13:34:09 UTC
(In reply to Nick Coghlan from comment #5)
> Andrew, would you be able to provide some feedback on Jiri's problem
> description here? For folks with full admin access, how much of this
> functionality does the existing CSV import/export capability cover?

Sorry for the really late response. But 90% of all of these things are doable via a csv. And for the things that are not the new cli options address this.
Normally I have a bunch of csv templates that I use to build my configs so I'm not writing them by hand which helps.

Comment 9 Jiri Jaburek 2015-08-24 15:05:57 UTC
Another option to solve the use case of editing lots of nearly-identical machines would be to add a "templating" system where most of the properties could be shared between systems (acls, install options, excluded families, etc.) within a pool, which is IIRC already possible for ACLs.