rhevm-iso-uploader - can't upload or list iso-images

Latest response

Hello.
I test RHEV 3 Beta and perform track B, but i have a issue :(
What i already did:

I try get list of iso images in rhevm.demo.redhat.com and get error:

# rhevm-iso-uploader -v -i local-iso-share list
Please provide the REST API password for RHEV-M (CTRL+D to abort):
DEBUG: URL is https://rhevm.demo.redhat.com:8443/api/datacenters
DEBUG: Returned XML is
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<data_centers>
    <data_center id="4886c981-1286-4294-8400-32f13ffb177e" href="/api/datacenters/4886c981-1286-4294-8400-32f13ffb177e">
        <name>atlantic-demo-redhat-com-Local</name>
        <description></description>
        <link rel="storagedomains" href="/api/datacenters/4886c981-1286-4294-8400-32f13ffb177e/storagedomains"/>
        <link rel="permissions" href="/api/datacenters/4886c981-1286-4294-8400-32f13ffb177e/permissions"/>
        <storage_type>localfs</storage_type>
        <storage_format>v1</storage_format>
        <version minor="0" major="3"/>
        <supported_versions>
            <version minor="0" major="3"/>
        </supported_versions>
        <status>
            <state>up</state>
        </status>
    </data_center>
    <data_center id="772abc52-14ee-11e1-baad-5254003bd2b0" href="/api/datacenters/772abc52-14ee-11e1-baad-5254003bd2b0">
        <name>Default</name>
        <description>The default Data Center</description>
        <link rel="storagedomains" href="/api/datacenters/772abc52-14ee-11e1-baad-5254003bd2b0/storagedomains"/>
        <link rel="permissions" href="/api/datacenters/772abc52-14ee-11e1-baad-5254003bd2b0/permissions"/>
        <storage_type>nfs</storage_type>
        <version minor="0" major="3"/>
        <supported_versions>
            <version minor="0" major="3"/>
        </supported_versions>
        <status>
            <state>uninitialized</state>
        </status>
    </data_center>
</data_centers>

ERROR: nsmap
INFO: Use the -h option to see usage.
Usage: rhevm-iso-uploader [options] list
       rhevm-iso-uploader [options] upload [file].[file]...[file]

The ISO uploader can be used to list ISO storage domains and upload files to
storage domains.  The upload operation supports multiple files (separated by
spaces) and wildcarding.

Options:
  --version             show program's version number and exit
  -h, --help            show this help message and exit
  --quiet               intended to be used with "upload" operations to reduce
                        console output. (default=False)
  --log-file=PATH       path to log file (default=/var/log/rhevm/rhevm-iso-
                        uploader.log)
  --conf-file=PATH      path to configuration file
                        (default=/etc/rhevm/isouploader.conf)
  -v, --verbose        
  -f, --force           replace like named files on the target file server
                        (default=off)

  RHEV-M Configuration:
    The options in the RHEV-M group are used by the tool to gain
    authorization to the RHEV-M REST API. The options in this group are
    available for both list and upload commands.

    -u user@rhevm.example.com, --user=user@rhevm.example.com
                        username to use with the RHEV-M REST API.  This should
                        be in UPN format.
    -r rhevm.example.com, --rhevm=rhevm.example.com
                        hostname or IP address of the RHEV-M
                        (default=localhost:8443).

  ISO Storage Domain Configuration:
    The options in the upload configuration group should be provided to
    specify the ISO storage domain to which files should be uploaded.

    -i ISODOMAIN, --iso-domain=ISODOMAIN
                        the ISO domain to which the file(s) should be uploaded
    -n NFSSERVER, --nfs-server=NFSSERVER
                        the NFS server to which the file(s) should be
                        uploaded. This option is an alternative to iso-domain
                        and should not be combined with iso-domain.  Use this
                        when you want to upload files to a specific NFS server
                        (e.g.--nfs-server=example.com:/path/to/some/dir)

  Connection Configuration:
    By default the program uses NFS to copy files to the ISO storage
    domain. To use SSH file transfer, instead of NFS, provide a ssh-user.

    --ssh-user=root     the SSH user that the program will use for SSH file
                        transfers.  This user must either be root or a user
                        with a UID and GID of 36 on the target file server.
    --ssh-port=PORT     the SSH port to connect on
    -k KEYFILE, --key-file=KEYFILE
                        the identity file (private key) to be used for
                        accessing the file server. If a identity file is not
                        supplied the program will prompt for a password.  It
                        is strongly recommended to use key based
                        authentication with SSH because the program may make
                        multiple SSH connections resulting in multiple
                        requests for the SSH password.

Return values:
    0: The program ran to completion with no errors.
    1: The program encountered a critical failure and stopped.
    2: The program did not discover any ISO domains.
    3: The program encountered a problem uploading to an ISO domain.
    4: The program encountered a problem un-mounting and removing the temporary directory.
DEBUG: Configuration:
DEBUG: command: list
DEBUG: Traceback (most recent call last):
DEBUG:   File "/usr/bin/rhevm-iso-uploader", line 925, in <module>
DEBUG:     isoup = ISOUploader(conf)
DEBUG:   File "/usr/bin/rhevm-iso-uploader", line 329, in __init__
DEBUG:     self.list_all_ISO_storage_domains()
DEBUG:   File "/usr/bin/rhevm-iso-uploader", line 374, in list_all_ISO_storage_domains
DEBUG:     dc = api.parseString(dcXML)
DEBUG:   File "/usr/share/rhevm/iso-uploader/schemas/api.py", line 15129, in parseString
DEBUG:     rootObj.build(rootNode)
DEBUG:   File "/usr/share/rhevm/iso-uploader/schemas/api.py", line 4563, in build
DEBUG:     self.buildAttributes(node, node.attrib, [])
DEBUG:   File "/usr/share/rhevm/iso-uploader/schemas/api.py", line 4568, in buildAttributes
DEBUG:     super(DataCenters, self).buildAttributes(node, attrs, already_processed)
DEBUG:   File "/usr/share/rhevm/iso-uploader/schemas/api.py", line 4170, in buildAttributes
DEBUG:     value = find_attr_value_('xsi:type', node)
DEBUG:   File "/usr/share/rhevm/iso-uploader/schemas/api.py", line 258, in find_attr_value_
DEBUG:     namespace = node.nsmap.get(prefix)
DEBUG: AttributeError: nsmap

 

Also, see strace-log http://pastebin.com/GKVjhWJc

Please, help me with this issue.

p.s. both DNS-zones rhevm.demo.redhat.com and atlantic.demo.redhat.com are created on my DNS-server. IP of my DNS-server is described correctly In rhev-h and rhev-m settings.

Responses

Have you installed the server hosting RHEV Manager according to the instructions?

 

To resolve the issue just run:

yum -y install python-lxml

I install the python-lxml and my issue is resolved !!

Thank you for help.

 

I used guide http://docs.redhat.com/docs/en-US/Red_Hat_Enterprise_Virtualization/3.0/html/Evaluation_Guide/Evaluation_Guide-Single_Host.html#Evaluation_Guide-Install_RHEVM when install RHEV-M.

Yes, "ERROR: nsmap", is usually an excellent indicator of missing python-lxml.  This dependency issue will be fixed in the RPM.