How can I upload a ISO image to my ISO storage domain without using ISO uploader?

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Virtualization 2.x and 3.x
  • Red Hat Virtualization 4.0 (may be referrered to as RHEV/RHEV-M for the rest of this documentation)

Issue

  • How can I upload a ISO image to my ISO storage domain without using ISO uploader?

Resolution

Since ovirt-image-uploader, aka engine-iso-uploader has been deprecated and removed from RHV 4.4, the recommended way to do this is manually.
Documentation has been updated:
AdminGuide: Uploading images to an ISO domain.

For environments prior to RHV 4.4:
- In addition to using the ISO uploader utility installed together with RHEV-M, it is possible to manually copy a ISO image to the ISO storage domain in order to make it available from within RHEV-M.

1. SSH as root into one of the RHEV-H belonging to the Data Center where your ISO storage domain resides.

# ssh root@rhevh
root@rhevh's Password:
#

2. Enable the 'vdsm' account. This is disabled by default:

 # chsh -s /bin/bash vdsm
Changing shell for vdsm.
Shell changed.

3. Switch to vdsm user. This is important as root does not have enough permissions see the full tree listing.

# su - vdsm

4. Get a directory tree of /rhev/data-center

-bash-3.2$ tree /rhev/data-center
.
|-- 80dfacc7-52dd-4d75-ab82-4f9b8423dc8b
|   |-- 76d1ecba-b61d-45a4-8eb5-89ab710a6275 -> /rhev/data-center/mnt/10.10.10.10:_rhevnfssd/76d1ecba-b61d-45a4-8eb5-89ab710a6275
|   |-- b835cd1c-111c-468d-ba70-fec5346af227 -> /rhev/data-center/mnt/10.10.10.10:_rhevisosd/b835cd1c-111c-468d-ba70-fec5346af227
|   |-- mastersd -> 76d1ecba-b61d-45a4-8eb5-89ab710a6275
|   |-- tasks -> mastersd/master/tasks
|   `-- vms -> mastersd/master/vms
|-- hsm-tasks
`-- mnt
    |-- 10.10.10.10:_rhevisosd
    |   |-- b835cd1c-111c-468d-ba70-fec5346af227
    |   |   |-- dom_md
    |   |   |   |-- ids
    |   |   |   |-- inbox
    |   |   |   |-- leases
    |   |   |   |-- metadata
    |   |   |   `-- outbox
    |   |   `-- images
    |   |       `-- 11111111-1111-1111-1111-111111111111
    |   `-- lost+found [error opening dir]

(output trimmed)

5. Now (still as user vdsm) scp the ISO from the source location into the full path of '11111111-1111-1111-1111-111111111111':

-bash-3.2$ scp root@isosource:/isos/RHEL4.8-i386-AS-DVD.iso /rhev/data-center/mnt/10.96.4.50:_rhevisosd/b835cd1c-111c-468d-ba70-fec5346af227/images/11111111-1111-1111-1111-111111111111

6. File permissions for the newly scp'ed ISO image should be 36:36 (vdsm:kvm). If they are not, change user and group ownership of the iso file to 36:36 (vdsm's user and group):

-bash-3.2$ cd /rhev/data-center/mnt/10.96.4.50:_rhevisosd/b835cd1c-111c-468d-ba70-fec5346af227/images/11111111-1111-1111-1111-111111111111
-bash-3.2$ chown 36.36 RHEL4.8-i386-AS-DVD.iso
-bash-3.2$

7. Reset the shell for vdsm

 # chsh -s /sbin/nologin vdsm

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

2 Comments

how to install chsh? i do not find chsh

The chsh program is part of the util-linux package in RHEL 7.  If you know a program name, you can use yum to discover which RPM package provides it by running:

# yum whatprovides '*bin/chsh'
{...}
util-linux-2.23.2-61.el7.x86_64 : A collection of basic system utilities
Repo        : @anaconda/7.7
Matched from:
Filename    : /usr/bin/chsh