def get_volumes(self, request):
     volumes = []
     try:
         available = sg_api.VOLUME_STATE_ENABLED
         volumes = sg_api.volume_list(self.request,
                                      search_opts=dict(status=available))
     except Exception:
         exceptions.handle(request,
                           _('Unable to retrieve list of volumes.'))
     return volumes
Пример #2
0
 def get_volumes(self, request):
     volumes = []
     try:
         enabled = sg_api.VOLUME_STATE_ENABLED
         for vol in sg_api.volume_list(self.request,
                                       search_opts=dict(status=enabled)):
             if vol.replicate_status in ['deleted', 'disabled', None]:
                 volumes.append(vol)
     except Exception:
         exceptions.handle(request,
                           _('Unable to retrieve list of volumes.'))
     return volumes
 def __init__(self, request, *args, **kwargs):
     super(EnableForm, self).__init__(request, *args, **kwargs)
     cinder_volumes = self.get_cinder_volumes(request)
     sg_volumes = []
     choices = [('', _("Choose a volume"))]
     for vol in sg_api.volume_list(request):
         sg_volumes.append(vol.id)
     if cinder_volumes:
         choices = [('', _("Choose a volume"))]
         for volume in cinder_volumes:
             if volume.status == "available":
                 choices.append((volume.id, volume))
     self.fields['volume_id'].choices = choices
Пример #4
0
 def get_data(self):
     try:
         marker, sort_dir = self._get_marker()
         backups, self._has_more_data, self._has_prev_data = \
             sg_api.volume_backup_list_paged(
                 self.request, marker=marker, sort_dir=sort_dir,
                 paginate=True)
         volumes = sg_api.volume_list(self.request)
         volumes = dict((v.id, v) for v in volumes)
         for backup in backups:
             backup.volume = volumes.get(backup.volume_id)
     except Exception:
         backups = []
         exceptions.handle(self.request, _("Unable to retrieve "
                                           "volume backups."))
     return backups
    def get_data(self):
        snapshots = []
        volumes = {}
        try:
            marker, sort_dir = self._get_marker()
            snapshots, self._has_more_data, self._has_prev_data = \
                sg_api.volume_snapshot_list_paged(
                    self.request, paginate=True, marker=marker,
                    sort_dir=sort_dir)
            volumes = sg_api.volume_list(self.request)
            volumes = dict((v.id, v) for v in volumes)
        except Exception:
            exceptions.handle(self.request, _("Unable to retrieve "
                                              "volume snapshots."))

        for snapshot in snapshots:
            volume = volumes.get(snapshot.volume_id)
            setattr(snapshot, '_volume', volume)

        return snapshots
Пример #6
0
    def get_data(self):
        replications = []
        volumes = {}
        try:
            marker, sort_dir = self._get_marker()
            replications, self._has_more_data, self._has_prev_data = \
                sg_api.volume_replication_list_paged(self.request,
                                                     paginate=True,
                                                     marker=marker,
                                                     sort_dir=sort_dir)
            volumes = sg_api.volume_list(self.request)
            volumes = dict((v.id, v) for v in volumes)
        except Exception:
            exceptions.handle(self.request,
                              _("Unable to retrieve "
                                "volume replications."))

        for replication in replications:
            master_vol = volumes.get(replication.master_volume, None)
            setattr(replication, '_master', master_vol)
            slave_vol = volumes.get(replication.slave_volume, None)
            setattr(replication, '_slave', slave_vol)

        return replications