The Netapp NFS openstack plugin (havana and icehouse) checks before cloning an image whether the source and destination images are on the same filer. This is done via API call "net-ifconfig-get", which is then used to determine if the IP addresses of source and destination match:
https://github.com/openstack/cinder/blob/stable/havana/cinder/volume/drivers/netapp/nfs.py#L1242
The problem I'm having is that the account I'm using for API access only exists on a vfiler for security and separation reasons. According to the API/SDK docs, "net-ifconfig-get" is not supported on vfiler. A trace of the HTTP conversation between openstack cinder and vfiler shows:
<!DOCTYPE netapp SYSTEM '/na_admin/netapp_filer.dtd'>
<netapp version='1.1' xmlns='http://www.netapp.com/filer/admin'>
<results status="failed" reason="Unable to find API: net-ifconfig-get" errno="13005"/></netapp>
This prevents openstack from making a direct netapp clone of the file, since it cannot be sure the images are on the same filer.
Why is the current openstack plugin not support vfilers? Should this be documented somewhere?
I think there must be a better way to check whether the filers are the same, how about checking the serial number? "system-get-info" would work on a vfiler.
Cheers,
Christoph