예제 #1
0
def CheckClusterExist(request):
    is_exsit = True
    pool_status = vsmapi.pool_status(request)
    if len(pool_status) == 0:
        is_exsit = False
    resp = json.dumps({"is_exsit": is_exsit})
    return HttpResponse(resp)
예제 #2
0
 def __init__(self, request, *args, **kwargs):
     super(AddCacheTier, self).__init__(request, *args, **kwargs)
     cache_tier_pool_list = [('', "Select a Cache Tier Pool")]
     storage_tier_pool_list = [('', "Select a Storage Tier Pool")]
     cache_mode_list = [('', "Select Cache Tier Mode"),
                        ('writeback', "Writeback"),
                        ('readonly', "Read-only")]
     hit_set_type_list = [('bloom', "bloom")]
     pools = vsm_api.pool_status(request)
     cache_tier_pool_list += [(pool.pool_id, pool.name) for pool in pools
                              if not pool.cache_tier_status]
     storage_tier_pool_list += [(pool.pool_id, pool.name) for pool in pools
                                if not pool.cache_tier_status]
     self.fields['cache_tier_pool'].choices = cache_tier_pool_list
     self.fields['storage_tier_pool'].choices = storage_tier_pool_list
     self.fields['cache_mode'].choices = cache_mode_list
     self.fields['hit_set_type'].choices = hit_set_type_list
     settings = vsm_api.get_settings(request)
     setting_dict = dict([(setting.name, setting.value)
                          for setting in settings])
     self.fields['hit_set_count'].initial = setting_dict["ct_hit_set_count"]
     self.fields['hit_set_period_s'].initial = setting_dict[
         "ct_hit_set_period_s"]
     self.fields['target_max_mem_mb'].initial = setting_dict[
         "ct_target_max_mem_mb"]
     self.fields['target_dirty_ratio'].initial = setting_dict[
         "ct_target_dirty_ratio"]
     self.fields['target_full_ratio'].initial = setting_dict[
         "ct_target_full_ratio"]
     self.fields['target_max_objects'].initial = setting_dict[
         "ct_target_max_objects"]
     self.fields['target_min_flush_age_m'].initial = setting_dict[
         "ct_target_min_flush_age_m"]
     self.fields['target_min_evict_age_m'].initial = setting_dict[
         "ct_target_min_evict_age_m"]
예제 #3
0
def CheckClusterExist(request):
    is_exsit = True
    pool_status = vsmapi.pool_status(request)
    if len(pool_status) == 0:
        is_exsit = False
    resp = json.dumps({"is_exsit":is_exsit})
    return HttpResponse(resp)
예제 #4
0
def index(request):
    pool_status = vsmapi.pool_status(None)
    server_list = vsmapi.get_server_list(None)
    status = [server.status for server in server_list]
    if len(pool_status) != 0 or 'Active' in status:
        return render(request, 'vsm/overview/index.html', {})
    else:
        return HttpResponseRedirect("/dashboard/vsm/cluster-import/")
예제 #5
0
def index(request):
    pool_status = vsmapi.pool_status(None)
    server_list = vsmapi.get_server_list(None)
    status = [server.status for server in server_list]
    if len(pool_status) != 0 or 'Active' in status:
        return render(request,'vsm/overview/index.html',{})
    else:
        return HttpResponseRedirect("/dashboard/vsm/clustermgmt/")
예제 #6
0
 def __init__(self, request, *args, **kwargs):
     super(RemoveCacheTier, self).__init__(request, *args, **kwargs)
     cache_tier_pool_list = [('', "Select a Cache Tier Pool")]
     pools = vsm_api.pool_status(request)
     cache_tier_pool_list += [
         (pool.pool_id, pool.name) for pool in pools
         if str(pool.cache_tier_status).startswith("Cache pool for")
     ]
     self.fields['cache_tier_pool'].choices = cache_tier_pool_list
예제 #7
0
파일: views.py 프로젝트: hl10502/vsm
def CheckClusterExist(request):
    is_exsit = True
    pool_status = vsmapi.pool_status(request)
    server_list = vsmapi.get_server_list(None)
    status = [server.status for server in server_list]
    if len(pool_status) == 0 and 'Active' not in status:
        is_exsit = False
    resp = json.dumps({"is_exsit":is_exsit})
    return HttpResponse(resp)
예제 #8
0
 def get_context_data(self, **kwargs):
     context = super(AddCacheTierView, self).get_context_data(**kwargs)
     #get pool list
     pools = vsmapi.pool_status(None)
     context["pool_list"] = [(pool.pool_id, pool.name) for pool in pools if not pool.cache_tier_status]
     context["cache_mode_list"] = [('writeback', "Writeback"), ('readonly', "Read-only")]
     context["hit_set_type_list"] = [('bloom', "bloom")]
     #get the settings
     setting_list = vsmapi.get_settings(None)
     context["settings"] = dict([(setting.name, setting.value) for setting in setting_list])
     return context
예제 #9
0
 def get_context_data(self, **kwargs):
     context = super(AddCacheTierView, self).get_context_data(**kwargs)
     #get pool list
     pools = vsmapi.pool_status(None)
     context["pool_list"] = [(pool.pool_id, pool.name) for pool in pools
                             if not pool.cache_tier_status]
     context["cache_mode_list"] = [('writeback', "Writeback"),
                                   ('readonly', "Read-only")]
     context["hit_set_type_list"] = [('bloom', "bloom")]
     #get the settings
     setting_list = vsmapi.get_settings(None)
     context["settings"] = dict([(setting.name, setting.value)
                                 for setting in setting_list])
     return context
예제 #10
0
    def get_data(self):
        #_pool.= vsmapi.get_pool.list(self.request,)
        _pool_status = []
        try:
            _pool_status = vsmapi.pool_status(self.request)
            if _pool_status:
                logging.debug("resp body in view: %s" % _pool_status)
        except:
            exceptions.handle(self.request,
                              _('Unable to retrieve sever list. '))

        pool_status = []
        for _pool in _pool_status:
            pool = {"id": _pool.poolId,
                        "name": _pool.name,
                        "tag": _pool.tag,
                        "storage_group": _pool.storageGroup,
                        "size": _pool.size,
                        "pg_count": _pool.pgNum,
                        "pgp_count": _pool.pgpNum,
                        "create_by": _pool.createdBy,
                        "kb_used": (_pool.num_bytes / 1024 + 1) if _pool.num_bytes else 0,
                        "objects": _pool.num_objects,
                        "clones": _pool.num_object_clones,
                        "degraded": _pool.num_objects_degraded,
                        "unfound": _pool.num_objects_unfound,
                        "read_ops": _pool.num_read,
                        "read_kb": _pool.num_read_kb,
                        "write_ops": _pool.num_write,
                        "write_kb": _pool.num_write_kb,
                        "client_read_b": _pool.read_bytes_sec,
                        "client_write_b": _pool.write_bytes_sec,
                        "client_ops": _pool.op_per_sec,
                        "status": _pool.status,
                        "updated_at": get_time_delta(_pool.updated_at),
                        }

            pool_status.append(pool)
        pool_status = sorted(pool_status, lambda x,y: cmp(x['id'], y['id']))
        return pool_status
 def __init__(self, request, *args, **kwargs):
     super(AddCacheTier, self).__init__(request, *args, **kwargs)
     cache_tier_pool_list = [('',"Select a Cache Tier Pool")]
     storage_tier_pool_list = [('',"Select a Storage Tier Pool")]
     cache_mode_list = [('',"Select Cache Tier Mode"), ('writeback', "Writeback"), ('readonly', "Read-only")]
     hit_set_type_list = [('bloom', "bloom")]
     pools = vsm_api.pool_status(request)
     cache_tier_pool_list += [(pool.pool_id, pool.name) for pool in pools if not pool.cache_tier_status]
     storage_tier_pool_list += [(pool.pool_id, pool.name) for pool in pools if not pool.cache_tier_status]
     self.fields['cache_tier_pool'].choices = cache_tier_pool_list
     self.fields['storage_tier_pool'].choices = storage_tier_pool_list
     self.fields['cache_mode'].choices = cache_mode_list
     self.fields['hit_set_type'].choices = hit_set_type_list
     settings = vsm_api.get_settings(request)
     setting_dict = dict([(setting.name, setting.value) for setting in settings])
     self.fields['hit_set_count'].initial = setting_dict["ct_hit_set_count"]
     self.fields['hit_set_period_s'].initial = setting_dict["ct_hit_set_period_s"]
     self.fields['target_max_mem_mb'].initial = setting_dict["ct_target_max_mem_mb"]
     self.fields['target_dirty_ratio'].initial = setting_dict["ct_target_dirty_ratio"]
     self.fields['target_full_ratio'].initial = setting_dict["ct_target_full_ratio"]
     self.fields['target_max_objects'].initial = setting_dict["ct_target_max_objects"]
     self.fields['target_min_flush_age_m'].initial = setting_dict["ct_target_min_flush_age_m"]
     self.fields['target_min_evict_age_m'].initial = setting_dict["ct_target_min_evict_age_m"]
예제 #12
0
def index(request):
    pool_status = vsmapi.pool_status(None)
    if len(pool_status) != 0:
        return render(request,'vsm/overview/index.html',{})
    else:
        return HttpResponseRedirect("/dashboard/vsm/clustermgmt/")
 def __init__(self, request, *args, **kwargs):
     super(RemoveCacheTier, self).__init__(request, *args, **kwargs)
     cache_tier_pool_list = [('',"Select a Cache Tier Pool")]
     pools = vsm_api.pool_status(request)
     cache_tier_pool_list += [(pool.pool_id, pool.name) for pool in pools if str(pool.cache_tier_status).startswith("Cache pool for")]
     self.fields['cache_tier_pool'].choices = cache_tier_pool_list
예제 #14
0
def index(request):
    pool_status = vsmapi.pool_status(None)
    if len(pool_status) != 0:
        return render(request, 'vsm/overview/index.html', {})
    else:
        return HttpResponseRedirect("/dashboard/vsm/clustermgmt/")