def get_shares_data(self): share_nets_names = {} share_nets = manila.share_network_list(self.request) for share_net in share_nets: share_nets_names[share_net.id] = share_net.name try: shares = manila.share_list(self.request) for share in shares: share.share_network = (share_nets_names.get( share.share_network_id) or share.share_network_id) share.metadata = ui_utils.metadata_to_str(share.metadata) snapshots = manila.share_snapshot_list(self.request, detailed=True) share_ids_with_snapshots = [] for snapshot in snapshots: share_ids_with_snapshots.append(snapshot.to_dict()['share_id']) for share in shares: if share.to_dict()['id'] in share_ids_with_snapshots: setattr(share, 'has_snapshot', True) else: setattr(share, 'has_snapshot', False) except Exception: exceptions.handle(self.request, _('Unable to retrieve share list.')) return [] # Gather our tenants to correlate against IDs return shares
def get_data(self): try: share_group_id = self.kwargs['share_group_id'] share_group = manila.share_group_get(self.request, share_group_id) members = manila.share_list( self.request, search_opts={"share_group_id": share_group_id}) share_group.members = members share_group.share_group_type = manila.share_group_type_get( self.request, share_group.share_group_type_id) share_types = manila.share_type_list(self.request) share_group.share_types = [{ "id": st.id, "name": st.name, "is_public": getattr(st, 'share_type_access:is_public'), "dhss": st.extra_specs.get('driver_handles_share_servers') } for st in share_types if st.id in share_group.share_types] return share_group except Exception: redirect = reverse('horizon:admin:share_groups:index') exceptions.handle(self.request, _('Unable to retrieve share group details.'), redirect=redirect)
def _get_shares(self, search_opts=None): try: return manila.share_list(self.request, search_opts=search_opts) except Exception: exceptions.handle(self.request, _('Unable to retrieve share list.')) return []
def test_share_list(self, kwargs): result = api.share_list(self.request, search_opts=kwargs) self.assertEqual(self.manilaclient.shares.list.return_value, result) self.manilaclient.shares.list.assert_called_once_with( search_opts=kwargs)
def get_shares_data(self): share_nets_names = {} share_nets = manila.share_network_list(self.request) for share_net in share_nets: share_nets_names[share_net.id] = share_net.name try: shares = manila.share_list(self.request) for share in shares: share.share_network = ( share_nets_names.get(share.share_network_id) or share.share_network_id) share.metadata = ui_utils.metadata_to_str(share.metadata) snapshots = manila.share_snapshot_list(self.request, detailed=True) share_ids_with_snapshots = [] for snapshot in snapshots: share_ids_with_snapshots.append(snapshot.to_dict()['share_id']) for share in shares: if share.to_dict()['id'] in share_ids_with_snapshots: setattr(share, 'has_snapshot', True) else: setattr(share, 'has_snapshot', False) except Exception: exceptions.handle( self.request, _('Unable to retrieve share list.')) return [] # Gather our tenants to correlate against IDs return shares
def allowed(self, request, share_serv): if share_serv: share_search_opts = {'share_server_id': share_serv.id} shares_list = manila.share_list(request, search_opts=share_search_opts) if shares_list: return False return share_serv.status not in ("deleting", "creating") return True
def allowed(self, request, share_serv): if share_serv: share_search_opts = {'share_server_id': share_serv.id} shares_list = manila.share_list(request, search_opts=share_search_opts) if shares_list: return False return share_serv.status not in ["deleting", "creating"] return True
def get_share_snapshots_data(self): try: snapshots = manila.share_snapshot_list(self.request) shares = manila.share_list(self.request) share_names = dict([(share.id, share.name or share.id) for share in shares]) for snapshot in snapshots: snapshot.share = share_names.get(snapshot.share_id) except Exception: msg = _("Unable to retrieve share snapshots list.") exceptions.handle(self.request, msg) return [] # Gather our tenants to correlate against IDs return snapshots
def tenant_quota_usages(f, request, tenant_id=None): usages = f(request, tenant_id) if 'shares' not in _get_manila_disabled_quotas(request): shares = manila.share_list(request) snapshots = manila.share_snapshot_list(request) sn_l = manila.share_network_list(request) gig_s = sum([int(v.size) for v in shares]) gig_ss = sum([int(v.size) for v in snapshots]) usages.tally('gigabytes', gig_s + gig_ss) usages.tally('shares', len(shares)) usages.tally('snapshots', len(snapshots)) usages.tally('share_networks', len(sn_l)) return usages
def get_snapshots_data(self): snapshots = [] try: snapshots = manila.share_snapshot_list( self.request, search_opts={'all_tenants': True}) shares = manila.share_list(self.request) share_names = dict([(share.id, share.name or share.id) for share in shares]) for snapshot in snapshots: snapshot.share = share_names.get(snapshot.share_id) except Exception: msg = _("Unable to retrieve snapshot list.") exceptions.handle(self.request, msg) # Gather our projects to correlate against IDs utils.set_project_name_to_objects(self.request, snapshots) return snapshots
def get_data(self): try: share_serv_id = self.kwargs['share_server_id'] share_serv = manila.share_server_get(self.request, share_serv_id) share_search_opts = {'share_server_id': share_serv.id} shares_list = manila.share_list(self.request, search_opts=share_search_opts) for share in shares_list: share.name_or_id = share.name or share.id share_serv.shares_list = shares_list if not hasattr(share_serv, 'share_network_id'): share_serv.share_network_id = None except Exception: redirect = reverse('horizon:admin:share_servers:index') exceptions.handle(self.request, _('Unable to retrieve share server details.'), redirect=redirect) return share_serv
def get_snapshots_data(self): snapshots = [] try: snapshots = manila.share_snapshot_list( self.request, search_opts={'all_tenants': True}) shares = manila.share_list(self.request) share_names = dict([(share.id, share.name or share.id) for share in shares]) for snapshot in snapshots: snapshot.share = share_names.get(snapshot.share_id) except Exception: msg = _("Unable to retrieve snapshot list.") exceptions.handle(self.request, msg) # Gather our tenants to correlate against IDs utils.set_tenant_name_to_objects(self.request, snapshots) return snapshots
def tenant_limit_usages(f, request): limits = f(request) if base.is_service_enabled(request, 'share'): try: limits.update(manila.tenant_absolute_limits(request)) shares = manila.share_list(request) snapshots = manila.share_snapshot_list(request) total_s_size = sum([getattr(share, 'size', 0) for share in shares]) total_ss_size = sum([getattr(ss, 'size', 0) for ss in snapshots]) limits['totalGigabytesUsed'] = total_s_size + total_ss_size limits['totalSharesUsed'] = len(shares) limits['totalSnapshotsUsed'] = len(snapshots) except Exception: msg = _("Unable to retrieve share limit information.") horizon.exceptions.handle(request, msg) return limits
def get_data(self): try: share_serv_id = self.kwargs['share_server_id'] share_serv = manila.share_server_get(self.request, share_serv_id) share_search_opts = {'share_server_id': share_serv.id} shares_list = manila.share_list(self.request, search_opts=share_search_opts) for share in shares_list: share.name_or_id = share.name or share.id share_serv.shares_list = shares_list if not hasattr(share_serv, 'share_network_id'): share_serv.share_network_id = None except Exception: redirect = reverse('horizon:project:shares:index') exceptions.handle(self.request, _('Unable to retrieve share server details.'), redirect=redirect) return share_serv
def get_data(self): try: share_group_id = self.kwargs['share_group_id'] share_group = manila.share_group_get(self.request, share_group_id) members = manila.share_list( self.request, search_opts={"share_group_id": share_group_id}) share_group.members = members share_types = manila.share_type_list(self.request) share_group.share_types = [ {"id": st.id, "name": st.name, "is_public": getattr(st, 'share_type_access:is_public'), "dhss": st.extra_specs.get('driver_handles_share_servers')} for st in share_types if st.id in share_group.share_types ] return share_group except Exception: redirect = reverse('horizon:admin:share_groups:index') exceptions.handle( self.request, _('Unable to retrieve share group details.'), redirect=redirect)
def get_shares_data(self): shares = [] try: shares = manila.share_list( self.request, search_opts={'all_tenants': True}) snapshots = manila.share_snapshot_list( self.request, detailed=True, search_opts={'all_tenants': True}) share_ids_with_snapshots = [] for snapshot in snapshots: share_ids_with_snapshots.append(snapshot.to_dict()['share_id']) for share in shares: if share.to_dict()['id'] in share_ids_with_snapshots: setattr(share, 'has_snapshot', True) else: setattr(share, 'has_snapshot', False) except Exception: exceptions.handle( self.request, _('Unable to retrieve share list.')) # Gather our projects to correlate against IDs utils.set_project_name_to_objects(self.request, shares) return shares
def get_shares_data(self): shares = [] try: shares = manila.share_list(self.request, search_opts={'all_tenants': True}) snapshots = manila.share_snapshot_list( self.request, detailed=True, search_opts={'all_tenants': True}) share_ids_with_snapshots = [] for snapshot in snapshots: share_ids_with_snapshots.append(snapshot.to_dict()['share_id']) for share in shares: if share.to_dict()['id'] in share_ids_with_snapshots: setattr(share, 'has_snapshot', True) else: setattr(share, 'has_snapshot', False) except Exception: exceptions.handle(self.request, _('Unable to retrieve share list.')) # Gather our projects to correlate against IDs utils.set_project_name_to_objects(self.request, shares) return shares