In one of our customer environment we were trying to upload the iso image on KVM storage domain, but when we were trying to upload the image we encountered following error:
[root@oraovm REST]# python upload_to_storagedomain.py -l oraovm -u admin@internal -c /etc/pki/ovirt-engine/ca.pem --sdd-name NFS-ISO-DATA -t ISO /home/os_files/SW_DVD9_Win_Server_CORE_2016_64Bit.iso Enter engine Login password:- Creating disk... Traceback (most recent call last): File "upload_to_storagedomain.py", line 179, inmain() File "upload_to_storagedomain.py", line 117, in main disk = create_disk() File "upload_to_storagedomain.py", line 101, in create_disk name = arg.sdd_name File "/usr/lib64/python2.7/site-packages/ovirtsdk4/services.py", line 7074, in add return self._internal_add(disk, headers, query, wait) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 223, in _internal_add context = self._connection.send(request) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py", line 371, in send return self.__send(request) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py", line 389, in __send self.authenticate() File "/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py", line 385, in authenticate self.__parse_error(e) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py", line 933, in __parse_error six.reraise(clazz, clazz(error_msg), sys.exc_info()[2]) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py", line 382, in authenticate self._sso_token = self._get_access_token() File "/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py", line 618, in _get_access_token sso_response = self._get_sso_response(self._sso_url, post_data) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/__init__.py", line 695, in _get_sso_response curl.perform() ovirtsdk4.Error: Error while sending HTTP request: (51, "Unable to communicate securely with peer: requested domain name does not match the server's certificate.") [root@oraovm REST]#
Cause:
1. Fully qualified domain name was not used on command line while using the REST API
2. certificate location issue.
Solution:
Use the fully qualified domain name as listed in the below command and execute the REST API script from the location of the certificate and upload completed successfully.
[root@oraovm REST]# python upload_to_storagedomain.py -l oraovm.ora.com.sa -u admin@internal -c ca.pem --sdd-name NFS-ISO-DATA -t ISO /home/os_files/SW_DVD9_Win_Server_CORE_2016_64Bit.iso Enter engine Login password:- Creating disk... Traceback (most recent call last): File "upload_to_storagedomain.py", line 179, inmain() File "upload_to_storagedomain.py", line 117, in main disk = create_disk() File "upload_to_storagedomain.py", line 101, in create_disk name = arg.sdd_name File "/usr/lib64/python2.7/site-packages/ovirtsdk4/services.py", line 7074, in add return self._internal_add(disk, headers, query, wait) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 232, in _internal_add return future.wait() if wait else future File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 55, in wait return self._code(response) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 229, in callback self._check_fault(response) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 132, in _check_fault self._raise_error(response, body) File "/usr/lib64/python2.7/site-packages/ovirtsdk4/service.py", line 118, in _raise_error raise error ovirtsdk4.Error: Fault reason is "Operation Failed". Fault detail is "[Cannot add Virtual Disk. Storage Domain type is illegal.]". HTTP response code is 400. [root@oraovm REST]# python upload_to_storagedomain.py -l oraovm.ora.com.sa -u admin@internal -c ca.pem --sdd-name NFS-DOMAIN -t ISO /home/os_files/SW_DVD9_Win_Server_CORE_2016_64Bit.iso Enter engine Login password:- Creating disk... Creating transfer session... Uploading image... 200,OK, Completed, 99% Transfer Complete Session Closed [root@oraovm REST]#
Thanks for reading :)
regards,
Zaheer
Comments