[rhel7-branch/master][PATCH] Update the on-disk snapshot of storage when adv. disks are added (#1267944)

Brian C. Lane bcl at redhat.com
Tue Oct 6 23:35:44 UTC 2015


On Tue, Oct 06, 2015 at 05:40:29PM +0200, Vratislav Podzimek wrote:
> If users add advanced storage devices we need to recreate the on-disk snapshot
> of storage because it's really a new on-disk state. Also, adding such devices is
> a change in disk selection so we need to revert to the snapshot first before
> going there.
> 
> Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
> ---
>  pyanaconda/ui/gui/spokes/filter.py  | 8 +++++++-
>  pyanaconda/ui/gui/spokes/storage.py | 4 ++++
>  2 files changed, 11 insertions(+), 1 deletion(-)

NAK. This breaks in a different way when I try to test it here:

1. select one of my vm disks, let it autopart
2. re-enter storage and add an iscsi disk

I get this traceback:

anaconda 21.48.22.53-1 exception report
Traceback (most recent call first):
  File "/tmp/updates/pyanaconda/ui/gui/spokes/filter.py", line 184, in setup
    ports.append(str(disk.node.port))
  File "/tmp/updates/pyanaconda/ui/gui/spokes/filter.py", line 580, in refresh
    self.pages[0].setup(self._store, self.selected_disks, allDisks)
  File "/tmp/updates/pyanaconda/ui/gui/spokes/filter.py", line 668, in on_add_iscsi_clicked
    self.refresh()
AttributeError: 'NoneType' object has no attribute 'port'

Local variables in innermost frame:
self: <pyanaconda.ui.gui.spokes.filter.SearchPage object at 0x7f56fe01dd10>
disks: [iScsiDiskDevice instance (0x7f570d077350) --
  name = sda  status = True  kids = 0 id = 174
  parents = []
  uuid = None  size = 10 GiB
  format = existing None
  major = 8  minor = 0  exists = True  protected = False
  sysfs path = /sys/devices/platform/host2/session1/target2:0:0/2:0:0:1/block/sda
  target size = 10 GiB  path = /dev/sda
  format args = []  originalFormat = None  removable = False, DiskDevice instance (0x50c5750) --
  name = vda  status = True  kids = 0 id = 2
  parents = []
  uuid = None  size = 10 GiB
  format = existing None
  major = 252  minor = 0  exists = True  protected = False
  sysfs path = /sys/devices/pci0000:00/0000:00:04.0/virtio1/block/vda
  target size = 10 GiB  path = /dev/vda
  format args = []  originalFormat = None  removable = False, DiskDevice instance (0x50c5e90) --
  name = vdb  status = True  kids = 0 id = 6
  parents = []
  uuid = None  size = 10 GiB
  format = existing None
  major = 252  minor = 16  exists = True  protected = False
  sysfs path = /sys/devices/pci0000:00/0000:00:06.0/virtio2/block/vdb
  target size = 10 GiB  path = /dev/vdb
  format args = []  originalFormat = None  removable = False]
disk: existing 10 GiB iscsi sda (174)
selectedNames: ['vda']
ports: []
store: <ListStore object at 0x7f56fdf75c30 (GtkListStore at 0x3a4c160)>


If I don't add this patch I can reproduce the reported isleaf traceback.

-- 
Brian C. Lane | Anaconda Team | IRC: bcl #anaconda | Port Orchard, WA (PST8PDT)


More information about the anaconda-patches mailing list