Bug 862260 - [RFE] engine-iso-uploader: update command-line usage (URL based location, etc.)
[RFE] engine-iso-uploader: update command-line usage (URL based location, etc.)
Status: NEW
Product: ovirt-iso-uploader
Classification: oVirt
Component: Core (Show other bugs)
future
Unspecified Unspecified
medium Severity low (vote)
: ---
: ---
Assigned To: Sandro Bonazzola
Pavel Stehlik
: FutureFeature, Improvement
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-10-02 09:34 EDT by Alon Bar-Lev
Modified: 2017-03-09 05:37 EST (History)
14 users (show)

See Also:
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: Integration
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
sbonazzo: ovirt‑future?
rule-engine: planning_ack?
sbonazzo: devel_ack?
rule-engine: testing_ack?


Attachments (Terms of Use)

  None (edit)
Description Alon Bar-Lev 2012-10-02 09:34:22 EDT
CURRENT STATUS

engine-iso-uploader command-line interface is hard to use, there is no explicit method to select transport (ssh, nfs), there is implicit behaviour, such as if one specifies ssh user then ssh is used.

It is also hard to understand how it can be used with or without engine, and it is very hard to extend in coherent approach.

SUGGESTION

Alter the command-line interface to be similar to other network tools, by making it URL based.

Usage:

engine-iso-uploader [options] command source [source...] destination
    -c|--config file - read configuration from file.
    -o|--option option=value - set configuration option
    --engine - engine to use (rest api) URL notation.
    command
        list - list iso images
        upload - upload iso images
        download - download iso images
    source - URL of source.
    destination - URL of destination.

URL notation:
    protocol://user:password@host:port/path?arguments

Supported local destinations:
    file://path
    /path

Supported remote destinations:
    nfs://*ISO_DOMAIN - '*' marks host as iso domain, query location from server.
    nfs://host/path - bypass engine, put image directly at path.
    ssh://host/path - bypass engine, put image directly at path.

Configuration file
    netrc=<file> default:~/.netrc
    engine=<url>
    ssh-key=<file>

Password prompt
    If URL is missing password and password is not provided within netrc

BENEFITS

1. Using URL notation to provide locations obsoletes the need to specify protocol, host, port, user, password, path. It is standard notation known by target audience.

2. Using well formed command: utility command source... destination is commonly used for transfers.

3. Using standard netrc notation to provide host credentials is better than proprietary format.

4. Using options as name=value provides the ability to extend configuration without altering the command-line usage.
Comment 1 Alon Bar-Lev 2012-10-02 09:37:25 EDT
This was discussed some time ago with Keith Robertson and Itamar Heim.
Comment 2 Sandro Bonazzola 2013-03-19 03:46:50 EDT
Maybe we want also a list-domains command in order to preserve the functionality provided by current list command.

Having also the download command could be useful. Maybe ovirt-engin-iso-uploader will be reductive for the tool, ovirt-engine-iso-ctl or ovirt-engine-iso-manager could be more appropriate.
Comment 3 Alon Bar-Lev 2013-03-19 05:12:55 EDT
We should merge the image and iso uploaders into single tool
Comment 4 Jiri Belka 2013-04-16 06:10:35 EDT
If there is only one ISO domain, does engine-iso-uploader have to ask for its name? This is sooooo annoying.
Comment 5 Sandro Bonazzola 2015-04-07 09:11:41 EDT
Doesn't seems weekathon material to me.
Comment 7 Sandro Bonazzola 2017-03-06 10:36:17 EST
Yaniv, can we close this one since ovirt-iso-uploader is deprecated in favor of ovirt-imageio?
Comment 8 Yaniv Dary 2017-03-09 05:37:58 EST
I would wait for the replacement feature to be in.

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