Пример #1
0
 def del_pool(self, cluster_id, pool_id):
     if not cluster_id:
         raise exc.CommandError(
             'no valid cluster id is provided to delete pool!')
     if not pool_id:
         raise exc.CommandError('no valid id is provided to delete pool!')
     return self._delete(self.base_url.clusters(cluster_id).pools(pool_id))
Пример #2
0
 def get_networks(self, cluster_id, server_id, **kwargs):
     if cluster_id is None:
         raise exc.CommandError('must specify cluster id!')
     if server_id is None:
         raise exc.CommandError('must specify ceph server id!')
     networks_path = self.base_url.clusters(cluster_id).servers(
         server_id).networks
     return self._list(networks_path)
Пример #3
0
 def del_group(self, cluster_id, group_id):
     if not cluster_id:
         raise exc.CommandError(
             'no valid cluster id is provided to delete group!')
     if not group_id:
         raise exc.CommandError(
             'no valid group id is provided to delete group!')
     self._delete(self.base_url.clusters(cluster_id).groups(group_id))
Пример #4
0
 def get_server_monitors(self, cluster_id, server_id):
     if not cluster_id:
         raise exc.CommandError('Must specify cluster id!')
     if not server_id:
         raise exc.CommandError('Must specify server id!')
     return self._list(
         self.base_url.clusters(cluster_id).servers(server_id).mons, None,
         None)
Пример #5
0
 def get_ceph_disks(self, cluster_id, server_id):
     if not cluster_id:
         raise exc.CommandError(
             'no valid cluster id is provided to retrieve ceph disks!')
     if not server_id:
         raise exc.CommandError(
             'no valid server id is provided to retrieve ceph disks!')
     return self._list(
         self.base_url.clusters(cluster_id).servers(server_id).cephdisks)
Пример #6
0
 def delete_dir(self, cluster_id, fs_id, inode):
     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 inode:
         raise exc.CommandError('Must provide directory inode!')
     self._delete(
         self.base_url.clusters(cluster_id).fses(fs_id).dirs(inode))
Пример #7
0
 def delete_backup_rb(self, cluster_id, rbtask_id):
     if cluster_id is None:
         raise exc.CommandError('must provide cluster id '
                                'to delete backup rbtask')
     if rbtask_id is None:
         raise exc.CommandError('must provide rbtask id '
                                'to delete backup rbtask')
     self._delete(
         self.base_url.clusters(cluster_id).backup.rbtasks(rbtask_id))
Пример #8
0
 def modify_pool(self, cluster_id, pool_id, **kwargs):
     if not cluster_id:
         raise exc.CommandError(
             'no valid cluster id is provided to modify pool!')
     if not pool_id:
         raise exc.CommandError('no valid id is provided to modify pool!')
     entity = dict()
     entity.update(kwargs)
     return self._update(
         self.base_url.clusters(cluster_id).pools(pool_id), entity)
Пример #9
0
    def manipulate_cluster(self, cluster_id, operation):
        if cluster_id is None:
            raise exc.CommandError('must specify cluster id to update!')

        if operation not in CLUSTER_OPERATTION:
            raise exc.CommandError(
                'must specify valid operation to manipulate cluster')

        entity = {'entity': {'operation': operation}}
        return self._update(self.base_url.clusters(cluster_id), entity)
Пример #10
0
    def modify_server(self, cluster_id, server_id, **kwargs):
        if cluster_id is None:
            raise exc.CommandError('must specify ceph cluster id to update!')
        if server_id is None:
            raise exc.CommandError('must specify ceph server id to update!')

        _body = dict(operation='move')
        entity = {'entity': _body}
        return self._update(
            self.base_url.clusters(cluster_id).servers(server_id), entity)
Пример #11
0
    def delete_rb_policy(self, cluster_id, pool_id):
        if cluster_id is None:
            raise exc.CommandError(
                'must specify cluster id to delete backup policy')
        if pool_id is None:
            raise exc.CommandError(
                'must specify pool id to delete backup policy')

        self._delete(
            self.base_url.clusters(cluster_id).pools(pool_id).rbpolicy)
Пример #12
0
 def modify_emailnotification(self, id, **kwargs):
     if id is None:
         raise exc.CommandError('must specify mail id to update!')
     allowed = ["receiver", "severity_mask", "enabled"]
     for key in kwargs.keys():
         if key not in allowed:
             raise exc.CommandError('%s is not a valid parameter' % key)
     entity = dict()
     entity.update(kwargs)
     return self._update(self.base_url.notification.emails(id), entity)
Пример #13
0
 def delete_bucket(self, cluster_id, group_id, bucket_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 not bucket_id:
         raise exc.CommandError('Bucket id should be provided!')
     return self._delete(
         self.base_url.clusters(cluster_id).groups(group_id).buckets(
             bucket_id))
Пример #14
0
 def get_rbd_detail(self, cluster_id, pool_id, rbd_id):
     if not cluster_id:
         raise exc.CommandError('must specify cluster id!')
     if not pool_id:
         raise exc.CommandError('must specify server id!')
     if not rbd_id:
         raise exc.CommandError('must specify osd id!')
     return self._get(
         self.base_url.clusters(cluster_id).pools(pool_id).rbds(rbd_id),
         None, None)
Пример #15
0
 def modify_alert(self, alert_id, **kwargs):
     if alert_id is None:
         raise exc.CommandError('must specify alert id to update!')
     allowed = ["threshold", "period", "status", "severity"]
     for key in kwargs.keys():
         if key not in allowed:
             raise exc.CommandError('%s is not a valid parameter' % key)
     entity = dict()
     entity.update(kwargs)
     return self._update(self.base_url.alerts(alert_id), entity)
Пример #16
0
 def add_mon(self, cluster_id, server_id):
     if not cluster_id:
         raise exc.CommandError(
             'no valid cluster id provided to add monitor!')
     if not server_id:
         raise exc.CommandError(
             'no valid server id is provided to add monitor!')
     entity = dict()
     return self._create(
         self.base_url.clusters(cluster_id).servers(server_id).mons, entity)
Пример #17
0
    def get_rb_policy(self, cluster_id, pool_id):
        if cluster_id is None:
            raise exc.CommandError(
                'must specify cluster id to query backup policy')
        if pool_id is None:
            raise exc.CommandError(
                'must specify pool id to query backup policy')

        return self._get(
            self.base_url.clusters(cluster_id).pools(pool_id).rbpolicy)
Пример #18
0
 def add_osd(self, cluster_id, server_id, disks):
     if not cluster_id:
         raise exc.CommandError(
             'no valid cluster id is provided to add disks!')
     if not server_id:
         raise exc.CommandError(
             'no valid server id is provided to add disks!')
     entity = dict(uuids=disks)
     return self._create(
         self.base_url.clusters(cluster_id).servers(server_id).osds, entity)
Пример #19
0
 def get_osd_detail(self, cluster_id, server_id, osd_id):
     if not cluster_id:
         raise exc.CommandError('must specify cluster id!')
     if not server_id:
         raise exc.CommandError('must specify server id!')
     if not osd_id:
         raise exc.CommandError('must specify osd id!')
     return self._get(
         self.base_url.clusters(cluster_id).servers(server_id).osds(osd_id),
         None, None)
Пример #20
0
    def modify_cluster(self, cluster_id, name, addr, **kwargs):
        if cluster_id is None:
            raise exc.CommandError('must specify ceph cluster id to update!')

        _body = dict(name=name, addr=addr, operation='modify')
        entity = {'entity': _body}
        if not entity:
            raise exc.CommandError('no valid information is provided to '
                                   'update ceph cluster %s: %s!' %
                                   (cluster_id, kwargs))
        return self._update(self.base_url.clusters(cluster_id), entity)
Пример #21
0
 def add_bucket(self, cluster_id, group_id, parent_id, **kwargs):
     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
     kwargs.update({'parent_id': parent_id})
     return self._create(
         self.base_url.clusters(cluster_id).groups(group_id).buckets,
         kwargs)
Пример #22
0
    def get_osds_capacity(self, cluster_id, server_id):

        if not cluster_id:
            raise exc.CommandError(
                'no valid cluster id is provided to retrieve osds!')
        if not server_id:
            raise exc.CommandError(
                'no valid server id is provided to retrieve osds!')
        return self._get(
            self.base_url.clusters(cluster_id).servers(
                server_id).osds_capacity, None)
Пример #23
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))
Пример #24
0
    def modify_cluster_conf(self, cluster_id, **kwargs):
        if not cluster_id:
            raise exc.CommandError(
                'no valid cluster id provided to modify cluster config!')

        if not kwargs:
            raise exc.CommandError(
                'no valid properties provided to update cluster config!')
        entity = dict()
        entity.update(kwargs)
        return self._update(self.base_url.clusters(cluster_id).config, entity)
Пример #25
0
 def update_backup_rb(self, cluster_id, rbtask_id, **kwargs):
     if not cluster_id:
         raise exc.CommandError('must provide cluster id '
                                'to update backup rbtask')
     if not kwargs:
         raise exc.CommandError('must provide properties '
                                'to update backup rbtask')
     entity = dict()
     entity.update(kwargs)
     return self._update(
         self.base_url.clusters(cluster_id).backup.rbtasks(rbtask_id),
         entity)
Пример #26
0
 def get_snapshots(self, cluster_id, pool_id, rbd_id):
     if not (type(cluster_id) == int):
         raise exc.CommandError(
             'No valid cluster id is provided to get snaps!')
     if not (type(pool_id) == int):
         raise exc.CommandError(
             'No valid pool id is provided to get snaps!')
     if not (type(rbd_id) == int):
         raise exc.CommandError('No valid rbd id is provided to get snaps!')
     return self._list(
         self.base_url.clusters(cluster_id).pools(pool_id).rbds(
             rbd_id).snapshots)
Пример #27
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}))
Пример #28
0
 def delete_osd(self, cluster_id, server_id, osd_id):
     if not cluster_id:
         raise exc.CommandError(
             'no valid cluster id is provided to delete osd!')
     if not server_id:
         raise exc.CommandError(
             'no valid server id is provided to delete osd!')
     if not osd_id:
         raise exc.CommandError(
             'no valid monitor id is provided to delete osd!')
     return self._delete(
         self.base_url.clusters(cluster_id).servers(server_id).osds(osd_id))
Пример #29
0
 def option_pool(self, cluster_id, pool_id, **kwargs):
     if not cluster_id:
         raise exc.CommandError(
             'No valid cluster id is provided to set cache pool!')
     if not pool_id:
         raise exc.CommandError(
             'No valid id is provided to set cache pool!')
     option_data = dict()
     option_data.update(kwargs)
     return self._update(
         self.base_url.clusters(cluster_id).pools(pool_id).option,
         option_data)
Пример #30
0
 def modify_alerttype(self, alerttype_id, **kwargs):
     if alerttype_id is None:
         raise exc.CommandError('must specify alerttype id to update!')
     allowed = [
         "default_threshold", "default_period", "default_trapenabled",
         "default_alertenabled", "default_severity"
     ]
     for key in kwargs.keys():
         if key not in allowed:
             raise exc.CommandError('%s is not a valid parameter' % key)
     entity = dict()
     entity.update(kwargs)
     return self._update(self.base_url.alerttypes(alerttype_id), entity)