Beispiel #1
0
 def get_hosts_number(self, cluster_id, status=0, **kwargs):
     if not cluster_id:
         raise exc.CommandError('Must provide cluster id!')
     path = "%s/$count" % str(self.base_url.clusters(cluster_id).servers)
     entity = {'status': status}
     entity.update(kwargs)
     return self._get(options.build_url_encoded(path, None, entity))
Beispiel #2
0
 def list_groups(self, cluster_id, underlying=0):
     if not cluster_id:
         raise exc.CommandError('Cluster id should be provided!')
     groups_uri = self.base_url.clusters(cluster_id).groups
     return self._list(
         options.build_url_encoded(str(groups_uri), None,
                                   {"underlying": underlying}))
Beispiel #3
0
    def get_external_site_detail(self, site_id, **kwargs):
        if not site_id:
            raise exc.CommandError('must specify site id to get detail!')

        entity = dict()
        entity.update(kwargs)
        return self._get(
            options.build_url_encoded(str(self.base_url.backup.sites(site_id)),
                                      None, entity))
Beispiel #4
0
 def get_dirs(self, cluster_id, fs_id, path):
     if not cluster_id:
         raise exc.CommandError('Must provide cluster id!')
     if not fs_id:
         raise exc.CommandError('Must provide file system id!')
     if not path:
         raise exc.CommandError('Must provide directory path!')
     query_params = {"path": str(path)}
     uri_path = str(self.base_url.clusters(cluster_id).fses(fs_id).dirs)
     return self._list(
         options.build_url_encoded(uri_path, None, query_params))
Beispiel #5
0
 def get_emailnotifications(self, **kwargs):
     items = [
         'enabled',
     ]
     for key in kwargs.keys():
         if key not in items:
             raise exc.CommandError('%s is not a valid parameter' % key)
     entity = dict()
     entity.update(kwargs)
     return self._list(
         options.build_url_encoded(str(self.base_url.notification.emails),
                                   None, entity))
Beispiel #6
0
 def list_buckets(self, cluster_id, group_id, parent_id):
     if not cluster_id:
         raise exc.CommandError('Cluster id should be provided!')
     if not group_id:
         raise exc.CommandError('Group id should be provided!')
     if parent_id is None:
         parent_id = -1
     buckets_uri = self.base_url.clusters(cluster_id).groups(
         group_id).buckets
     return self._list(
         options.build_url_encoded(str(buckets_uri), None,
                                   {"parent_id": parent_id}))
Beispiel #7
0
    def get_latest_kpi(self, **kwargs):
        itemList = ('clusterid', 'target')
        for item in itemList:
            if not kwargs.has_key(item):
                raise exc.CommandError('must specify {}!'.format(item))

        entity = dict()
        entity.update(kwargs)

        return self._list(
            options.build_url_encoded(str(self.base_url.kpi.latest), None,
                                      entity))
Beispiel #8
0
    def kpi_export(self, **kwargs):
        itemList = ('format', 'cluster', 'clusterid', 'time_from', 'time_till',
                    'granularity')
        for item in itemList:
            if not kwargs.has_key(item):
                raise exc.CommandError('must specify {}!'.format(item))

        entity = dict()
        entity.update(kwargs)

        return self._get(
            options.build_url_encoded(str(self.base_url.kpi.export), None,
                                      entity))
Beispiel #9
0
    def get_history(self, entity_id, item_type, item_name=None, **kwargs):
        if item_type is None:
            raise exc.CommandError('must specify item_type!')
        if type is None:
            raise exc.CommandError('must specify query entity type!')

        # we need encode query params here
        entity = {'entity_id': entity_id, 'item_type': item_type}
        item_name and entity.update({'item_name': item_name})
        kwargs and entity.update(kwargs)

        return self._get(
            options.build_url_encoded(str(self.base_url.history), None,
                                      entity))
Beispiel #10
0
    def get_kpi_history(self, **kwargs):
        itemList = ('clusterid', 'target', 'kpi', 'time_from', 'time_till',
                    'time_zone_offset', 'granularity')
        for item in itemList:
            if not kwargs.has_key(item):
                raise exc.CommandError('must specify {}!'.format(item))
            if item == 'time_zone_offset':
                time_zone = kwargs[item].strip()
                kwargs['time_from'] = self.horizon2local(
                    time_zone, kwargs['time_from'])
                kwargs['time_till'] = self.horizon2local(
                    time_zone, kwargs['time_till'])

        entity = dict()
        entity.update(kwargs)

        LOG.info('hahahahahaha: %s' % kwargs['time_zone_offset'])

        result = self._get(
            options.build_url_encoded(str(self.base_url.kpi), None, entity))
        LOG.info("result: %s" % result)
        #return self._get(options.build_url_encoded(str(self.base_url.kpi), None, entity))
        return result
Beispiel #11
0
 def get_alert_events(self, **kwargs):
     return self._get(
         options.build_url_encoded(str(self.base_url.alertevents), None,
                                   kwargs))
Beispiel #12
0
 def get_logs(self, **kwargs):
     return self._get(
         options.build_url_encoded(str(self.base_url.logs), None, kwargs))
Beispiel #13
0
 def get_pools(self, cluster_id, **kwargs):
     return self._get(
         options.build_url_encoded(
             str(self.base_url.clusters(cluster_id).pools), None, kwargs))
Beispiel #14
0
 def get_backup_log(self, cluster_id, **kwargs):
     return self._get(
         options.build_url_encoded(
             str(self.base_url.clusters(cluster_id).backup.logs), None,
             kwargs))
Beispiel #15
0
 def list_backup_rb(self, cluster_id, **kwargs):
     return self._get(
         options.build_url_encoded(
             str(self.base_url.clusters(cluster_id).backup.rbtasks), None,
             kwargs))