Forráskód Böngészése

Move winrm_exception.InvalidCredentials handling back to wsman.py.

Signed-off-by: Nashwan Azhari <nazhari@cloudbasesolutions.com>
Nashwan Azhari 2 éve
szülő
commit
9242203b7e
2 módosított fájl, 16 hozzáadás és 13 törlés
  1. 4 13
      coriolis/osmorphing/osmount/windows.py
  2. 12 0
      coriolis/wsman.py

+ 4 - 13
coriolis/osmorphing/osmount/windows.py

@@ -5,7 +5,6 @@ import re
 import uuid
 
 from oslo_log import log as logging
-from winrm import exceptions as winrm_exceptions
 
 from coriolis import exception
 from coriolis.osmorphing.osmount import base
@@ -37,23 +36,15 @@ class WindowsMountTools(base.BaseOSMountTools):
                 "(get-ciminstance Win32_OperatingSystem).Caption")
             LOG.debug("Windows version: %s", version_info)
             return True
-        except winrm_exceptions.InvalidCredentialsError as ex:
-            raise exception.NotAuthorized(
-                message="The WinRM connection credentials are invalid. "
-                        "If you are using a template with a default "
-                        "pre-baked username/password, please ensure "
-                        "that you have passed the credentials to the "
-                        "destination Coriolis plugin you have selected,"
-                        " either via the Target Environment parameters "
-                        "set when creating the Migration/Replica, or "
-                        "by setting it in the destination plugin's "
-                        "dedicated section of the coriolis.conf "
-                        "static configuration file.") from ex
+        except exception.NotAuthorized:
+            # NOTE: Unauthorized exceptions should be propagated.
+            raise
         except exception.CoriolisException:
             LOG.debug(
                 "Failed Windows OSMount OS check: %s",
                 utils.get_exception_details())
             pass
+        return False
 
     def _run_diskpart_script(self, script):
         """Executes the given script with diskpart.exe.

+ 12 - 0
coriolis/wsman.py

@@ -116,6 +116,18 @@ class WSManConnection(object):
                 self._protocol.cleanup_command(shell_id, command_id)
 
             return (std_out, std_err, exit_code)
+        except winrm_exceptions.InvalidCredentialsError as ex:
+            raise exception.NotAuthorized(
+                message="The WinRM connection credentials are invalid. "
+                        "If you are using a template with a default "
+                        "pre-baked username/password, please ensure "
+                        "that you have passed the credentials to the "
+                        "destination Coriolis plugin you have selected,"
+                        " either via the Target Environment parameters "
+                        "set when creating the Migration/Replica, or "
+                        "by setting it in the destination plugin's "
+                        "dedicated section of the coriolis.conf "
+                        "static configuration file.") from ex
         finally:
             if shell_id:
                 self._protocol.close_shell(shell_id)