def _save_shares(dev, shares): wwns = [] for share_id, (label, wwn, snapshot_size, size, share_type, speed, full) in shares.iteritems(): wwn = normalize_wwn(wwn) wwns.append(wwn) model, created = ComponentModel.create( ComponentType.share, name='3PAR %s disk share' % share_type, family=share_type, speed=speed, priority=0, # FIXME: why 0? ) share, created = DiskShare.concurrent_get_or_create( wwn=wwn, defaults={'device': dev}, ) if not created: if dev.id != share.device.id: raise ValueError( 'DiskShare %r: Conflict of devices %r and %r!' % ( share, dev, share.device, ) ) share.model = model share.label = label share.full = full share.size = size share.share_id = share_id share.snapshot_size = snapshot_size share.save() dev.diskshare_set.exclude(wwn__in=wwns).delete()
def _save_shares(dev, volumes): wwns = [] for (label, serial, size, volume_type, speed) in volumes: wwn = normalize_wwn(serial) wwns.append(wwn) model, created = ComponentModel.create( ComponentType.share, speed=speed, family=volume_type, name='MSA %s disk share' % volume_type, priority=0, # FIXME: why 0? ) share, created = DiskShare.concurrent_get_or_create( wwn=wwn, defaults={'device': dev}, ) if not created: if dev.id != share.device.id: raise ValueError( 'DiskShare %r: Conflict of devices %r and %r!' % ( share, dev, share.device, )) share.model = model share.label = label share.size = size * 512 / 1024 / 1024 share.snapshot_size = 0 share.save() dev.diskshare_set.exclude(wwn__in=wwns).delete()
def _save_shares(dev, volumes): wwns = [] for (label, serial, size, volume_type, speed) in volumes: wwn = normalize_wwn(serial) wwns.append(wwn) model, created = ComponentModel.create( ComponentType.share, speed=speed, family=volume_type, name='MSA %s disk share' % volume_type, priority=0, # FIXME: why 0? ) share, created = DiskShare.concurrent_get_or_create( wwn=wwn, defaults={'device': dev}, ) if not created: if dev.id != share.device.id: raise ValueError( 'DiskShare %r: Conflict of devices %r and %r!' % ( share, dev, share.device, ) ) share.model = model share.label = label share.size = size * 512 / 1024 / 1024 share.snapshot_size = 0 share.save() dev.diskshare_set.exclude(wwn__in=wwns).delete()
def _save_shares(dev, shares): wwns = [] for share_id, (label, wwn, snapshot_size, size, share_type, speed, full) in shares.iteritems(): wwn = normalize_wwn(wwn) wwns.append(wwn) model, created = ComponentModel.create( ComponentType.share, name='3PAR %s disk share' % share_type, family=share_type, speed=speed, priority=0, # FIXME: why 0? ) share, created = DiskShare.concurrent_get_or_create( wwn=wwn, defaults={'device': dev}, ) if not created: if dev.id != share.device.id: raise ValueError( 'DiskShare %r: Conflict of devices %r and %r!' % ( share, dev, share.device, )) share.model = model share.label = label share.full = full share.size = size share.share_id = share_id share.snapshot_size = snapshot_size share.save() dev.diskshare_set.exclude(wwn__in=wwns).delete()
def _save_shares(dev, volumes): wwns = [] for (label, serial, size, type, speed) in volumes: wwn = normalize_wwn(serial) wwns.append(wwn) model, created = ComponentModel.concurrent_get_or_create( name='MSA %s disk share' % type, type=ComponentType.share.id, family=type, speed=speed) share, created = DiskShare.concurrent_get_or_create(wwn=wwn, device=dev) share.model = model share.label = label share.size = size * 512 / 1024 / 1024 share.snapshot_size = 0 share.save() dev.diskshare_set.exclude(wwn__in=wwns).delete()
def _save_shares(dev, shares): wwns = [] for share_id, (label, wwn, snapshot_size, size, type, speed, full) in shares.iteritems(): wwn = normalize_wwn(wwn) wwns.append(wwn) model, created = ComponentModel.concurrent_get_or_create( name='3PAR %s disk share' % type, type=ComponentType.share.id, family=type, speed=speed) share, created = DiskShare.concurrent_get_or_create(wwn=wwn, device=dev) share.model = model share.label = label share.full = full share.size = size share.share_id = share_id share.snapshot_size = snapshot_size share.save() dev.diskshare_set.exclude(wwn__in=wwns).delete()