d8c7782
From: Cole Robinson <crobinso@redhat.com>
d8c7782
Date: Wed, 3 Dec 2014 13:08:18 -0500
d8c7782
Subject: [PATCH virt-manager] create: Fix default storage path when VM name is
d8c7782
 changed (bz 1169141)
d8c7782
d8c7782
Regressed with 2e7ebd4 . Use skip_disk_page() to determine when we
d8c7782
shouldn't assume default storage
d8c7782
d8c7782
(cherry picked from commit 4a678f05439da9f17c8cd89f22a59df1b27eddd6)
d8c7782
---
d8c7782
 virtManager/addstorage.py | 6 +-----
d8c7782
 virtManager/create.py     | 7 ++++---
d8c7782
 2 files changed, 5 insertions(+), 8 deletions(-)
d8c7782
d8c7782
diff --git a/virtManager/addstorage.py b/virtManager/addstorage.py
d8c7782
index 9b2a673..91cce73 100644
d8c7782
--- a/virtManager/addstorage.py
d8c7782
+++ b/virtManager/addstorage.py
d8c7782
@@ -108,9 +108,6 @@ class vmmAddStorage(vmmGObjectUI):
d8c7782
         hd_label = ("%s" % hd_label)
d8c7782
         widget.set_markup(hd_label)
d8c7782
 
d8c7782
-    def _is_default_storage(self):
d8c7782
-        return bool(self.widget("config-storage-create").get_active())
d8c7782
-
d8c7782
     def _check_default_pool_active(self):
d8c7782
         default_pool = self.conn.get_default_pool()
d8c7782
         if default_pool and not default_pool.is_active():
d8c7782
@@ -257,8 +254,7 @@ class vmmAddStorage(vmmGObjectUI):
d8c7782
         return path
d8c7782
 
d8c7782
     def is_default_storage(self):
d8c7782
-        return self.widget("config-storage-create").is_visible() and \
d8c7782
-               self.widget("config-storage-create").get_active()
d8c7782
+        return self.widget("config-storage-create").get_active()
d8c7782
 
d8c7782
     def _check_ideal_path(self, path, vmname, collidelist):
d8c7782
         # See if the ideal disk path (/default/pool/vmname.img)
d8c7782
diff --git a/virtManager/create.py b/virtManager/create.py
d8c7782
index f15763c..0f9bdaa 100644
d8c7782
--- a/virtManager/create.py
d8c7782
+++ b/virtManager/create.py
d8c7782
@@ -1062,9 +1062,8 @@ class vmmCreate(vmmGObjectUI):
d8c7782
         return self.addstorage.get_default_path(name)
d8c7782
 
d8c7782
     def is_default_storage(self):
d8c7782
-        usedef = self.addstorage.is_default_storage()
d8c7782
-        isimport = (self.get_config_install_page() == INSTALL_PAGE_IMPORT)
d8c7782
-        return usedef and not isimport
d8c7782
+        return (self.addstorage.is_default_storage() and
d8c7782
+                not self.skip_disk_page())
d8c7782
 
d8c7782
     def get_config_customize(self):
d8c7782
         return self.widget("summary-customize").get_active()
d8c7782
@@ -1718,6 +1717,8 @@ class vmmCreate(vmmGObjectUI):
d8c7782
         if name != self.guest.name:
d8c7782
             self.guest.name = name
d8c7782
             if self.is_default_storage():
d8c7782
+                logging.debug("User changed VM name and using default storage,"
d8c7782
+                    "re-validating with new default storage path.")
d8c7782
                 # User changed the name and we are using default storage
d8c7782
                 # which depends on the VM name. Revalidate things
d8c7782
                 if not self.validate_storage_page():