Bug 1884970

Summary: [v2v][Doc][VMware to CNV VM import API] Storage Mapping: Source storage name should change to storage id
Product: Container Native Virtualization (CNV) Reporter: Ilanit Stein <istein>
Component: V2VAssignee: Sam Lucidi <slucidi>
Status: CLOSED ERRATA QA Contact: Md Nadeem <mnadeem>
Severity: high Docs Contact:
Priority: high    
Version: 2.5.0CC: cnv-qe-bugs, fdupont, mnadeem
Target Milestone: ---   
Target Release: 2.5.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-17 13:24:56 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
VMware datastore details screenshot none

Description Ilanit Stein 2020-10-04 08:22:43 UTC
Documentation:
https://github.com/kubevirt/vm-import-operator/blob/master/docs/design.md#vmware-mappings

Description:
1. Source storage "name" should change into storage "id".
2. There should be a reference/explanation how to fetch this id.

Current documentation:
=====================
apiVersion: v2v.kubevirt.io/v1beta1
kind: ResourceMapping
metadata:
 name: example-vmware-resourcemappings
 namespace: example-ns
spec:
  vmware:
    networkMappings:
    - source:
        name: VM Network # map network name to network attachment definition
      target: xyz
      type: multus
    - source:
        id: network-7 # alternatively the network can be mapped by managed object reference
      Target:
        name: pod
      type: pod
    storageMappings:
    - source:
        name: iSCSI_Datastore # maps disks in a given VMware datastore to a storage class   <========== name should change into id.
      target: storage_class_1

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

Comment 1 Ilanit Stein 2020-10-04 09:02:11 UTC
Use the API explorer to list the datastores and get the reference from there
https://<VMware FQDN>/apiexplorer/
you'll have to log in on that page, 
then find 'datastores' and the entry for GET /vcenter/datastore
https://<VMware FQDN>/apiexplorer/#!/datastore_/get_vcenter_datastore
that will give you a list of objects that have a key called "datastore" with a value formatted like "datastore-30"
click "Try It Out!" at the bottom of the GET /vcenter/datastore section

That will display VMware datastore details(See "VMware datastore details" attachment), 
including "datastore" field with value of the required datastore id, like "datastore-12"

Comment 2 Ilanit Stein 2020-10-04 09:03:27 UTC
Created attachment 1718743 [details]
VMware datastore details screenshot

Comment 4 Fabien Dupont 2020-10-07 07:05:00 UTC
@Sam, I think that https://github.com/kubevirt/vm-import-operator/pull/410 fixes the storage mapping by name, and updates the documentation with examples with both name and id.

Comment 5 Md Nadeem 2020-10-23 16:22:43 UTC
verified on CNV version: 2.5.0-234

VM import works with both storage id or storage name

Comment 8 errata-xmlrpc 2020-11-17 13:24:56 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (OpenShift Virtualization 2.5.0 Images), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2020:5127