コード例 #1
0
ファイル: system.py プロジェクト: OpenSight/StorLever
def check_password(request):
    check_web_password_request = get_params_from_request(request, web_password_check_schema)
    if webconfig.WebPassword().check_password(check_web_password_request['login'],
                                              check_web_password_request['password']):
        return Response(status=200)
    else:
        raise StorLeverError('Wrong user name or password')
コード例 #2
0
ファイル: system.py プロジェクト: OpenSight/StorLever
def put_service(request):
    service_name = request.matchdict["service_name"]
    cmd = get_params_from_request(request, service_mod_schema)

    service_mgr = servicemgr.service_mgr()      # get service manager
    service = service_mgr.get_service_by_name(service_name)

    if "state" in cmd:
        if cmd["state"]:
            service.start(request.client_addr)
        else:
            service.stop(request.client_addr)
    elif "restart" in cmd:
        if cmd["restart"]:
            service.restart(request.client_addr)
    elif "reload" in cmd:
        if cmd["restart"]:
            service.reload(request.client_addr)

    if "auto_start" in cmd:
        if cmd["auto_start"]:
            service.enable_auto_start(request.client_addr)
        else:
            service.disable_auto_start(request.client_addr)

    return Response(status=200)
コード例 #3
0
ファイル: system.py プロジェクト: linuxmap/StorLever
def put_service(request):
    service_name = request.matchdict["service_name"]
    cmd = get_params_from_request(request, service_mod_schema)

    service_mgr = servicemgr.service_mgr()  # get service manager
    service = service_mgr.get_service_by_name(service_name)

    if "state" in cmd:
        if cmd["state"]:
            service.start(request.client_addr)
        else:
            service.stop(request.client_addr)
    elif "restart" in cmd:
        if cmd["restart"]:
            service.restart(request.client_addr)
    elif "reload" in cmd:
        if cmd["restart"]:
            service.reload(request.client_addr)

    if "auto_start" in cmd:
        if cmd["auto_start"]:
            service.enable_auto_start(request.client_addr)
        else:
            service.disable_auto_start(request.client_addr)

    return Response(status=200)
コード例 #4
0
ファイル: block.py プロジェクト: ntvis/StorLever
def set_scsi_dev_smart(request):
    scsi_id = request.matchdict['scsi_id']
    scsi_mgr =  scsimgr.scsi_mgr()
    scsi_dev_info = scsi_mgr.get_scsi_dev_by_id(scsi_id)
    params = get_params_from_request(request, scsi_dev_smart_schema)
    smart_set = params.get("smart", None),
    offline_set = params.get("offline_auto", None),
    scsi_dev_info.set_smart_config(smart_set,offline_set)
    return Response(status=200)



#@get_view(route_name='adapter_list')
#def adapters_get(request):
    #pass


#@get_view(route_name='adapter')
#def adapters_get(request):
    #pass


#@get_view(route_name='adapter_disk_list')
#def adapters_get(request):
    #pass


#@get_view(route_name='adapter_vdisk_list')
#def adapters_get(request):
    #pass
コード例 #5
0
ファイル: san.py プロジェクト: linuxmap/StorLever
def post_tgt_target_lun_list(request):
    iqn = request.matchdict['target_iqn']
    tgt_mgr = tgtmgr.TgtManager
    target = tgt_mgr.get_target_by_iqn(iqn)
    new_lun_conf = get_params_from_request(request, lun_conf_schema)
    if "path" not in new_lun_conf:
        raise StorLeverError("New LUN's path must be configured", 400)

    target.add_lun(new_lun_conf["lun"],
                   new_lun_conf["path"],
                   new_lun_conf.get("device_type", "disk"),
                   new_lun_conf.get("bs_type", "rdwr"),
                   new_lun_conf.get("direct_map", False),
                   new_lun_conf.get("write_cache", True),
                   new_lun_conf.get("readonly", False),
                   new_lun_conf.get("online", True),
                   new_lun_conf.get("scsi_id", ""),
                   new_lun_conf.get("scsi_sn", ""),
                   operator=request.client_addr)

    # generate 201 response
    resp = Response(status=201)
    resp.location = request.route_url('tgt_target_lun_info',
                                      target_iqn=iqn,
                                      lun_number=new_lun_conf["lun"])
    return resp
コード例 #6
0
ファイル: san.py プロジェクト: OpenSight/StorLever
def post_tgt_target_lun_list(request):
    iqn = request.matchdict['target_iqn']
    tgt_mgr = tgtmgr.TgtManager
    target = tgt_mgr.get_target_by_iqn(iqn)
    new_lun_conf = get_params_from_request(request, lun_conf_schema)
    if "path" not in new_lun_conf:
        raise StorLeverError("New LUN's path must be configured", 400)

    target.add_lun(new_lun_conf["lun"],
                   new_lun_conf["path"],
                   new_lun_conf.get("device_type", "disk"),
                   new_lun_conf.get("bs_type", "rdwr"),
                   new_lun_conf.get("direct_map", False),
                   new_lun_conf.get("write_cache", True),
                   new_lun_conf.get("readonly", False),
                   new_lun_conf.get("online", True),
                   new_lun_conf.get("scsi_id", ""),
                   new_lun_conf.get("scsi_sn", ""),
                   operator=request.client_addr)

    # generate 201 response
    resp = Response(status=201)
    resp.location = request.route_url('tgt_target_lun_info',
                                      target_iqn=iqn,
                                      lun_number=new_lun_conf["lun"])
    return resp
コード例 #7
0
ファイル: utils.py プロジェクト: dulton/StorLever
def post_send_mail(request):
    mail_mgr = mailmgr.MailManager
    send_mail_conf = get_params_from_request(request, send_mail_schema)
    info = mail_mgr.send_email(
        send_mail_conf["to"], send_mail_conf["subject"], send_mail_conf["content"], send_mail_conf["debug"]
    )
    return {"debug_info": info}
コード例 #8
0
ファイル: utils.py プロジェクト: linuxmap/StorLever
def post_send_mail(request):
    mail_mgr = mailmgr.MailManager
    send_mail_conf = get_params_from_request(request, send_mail_schema)
    info = mail_mgr.send_email(send_mail_conf["to"], send_mail_conf["subject"],
                               send_mail_conf["content"],
                               send_mail_conf["debug"])
    return {"debug_info": info}
コード例 #9
0
ファイル: utils.py プロジェクト: linuxmap/StorLever
def put_zabbix_passive_server_list(request):
    zabbix_agent = zabbixagent.ZabbixAgentManager
    server_list_conf = get_params_from_request(
        request, zabbix_passive_server_list_schema)
    zabbix_agent.set_passive_check_server_list(server_list_conf,
                                               operator=request.client_addr)
    return Response(status=200)
コード例 #10
0
ファイル: block.py プロジェクト: linuxmap/StorLever
def set_scsi_dev_smart(request):
    scsi_id = request.matchdict['scsi_id']
    scsi_mgr =  scsimgr.scsi_mgr()
    scsi_dev_info = scsi_mgr.get_scsi_dev_by_id(scsi_id)
    params = get_params_from_request(request, scsi_dev_smart_schema)
    smart_set = params.get("smart", None),
    offline_set = params.get("offline_auto", None),
    scsi_dev_info.set_smart_config(smart_set,offline_set)
    return Response(status=200)



#@get_view(route_name='adapter_list')
#def adapters_get(request):
    #pass


#@get_view(route_name='adapter')
#def adapters_get(request):
    #pass


#@get_view(route_name='adapter_disk_list')
#def adapters_get(request):
    #pass


#@get_view(route_name='adapter_vdisk_list')
#def adapters_get(request):
    #pass
コード例 #11
0
def del_quota_user(request):
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)
    params = get_params_from_request(request, del_quoat_group_schema)
    user = params["user"]
    fs.quota_group_set(user, 0, 0, 0, 0)
    return Response(status=200)
コード例 #12
0
ファイル: fs.py プロジェクト: OpenSight/StorLever
def del_quota_user(request):
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)
    params = get_params_from_request(request, del_quoat_group_schema)
    user = params["user"]
    fs.quota_group_set(user,0,0,0,0)
    return Response(status=200)
コード例 #13
0
ファイル: system.py プロジェクト: OpenSight/StorLever
def change_password(request):
    change_password_request = get_params_from_request(request, web_password_change_schema)
    if webconfig.WebPassword().change_password(change_password_request['login'],
                                               change_password_request['old_password'],
                                               change_password_request['new_password']):
        return Response(status=200)
    else:
        raise StorLeverError('Unable to change password')
コード例 #14
0
ファイル: fs.py プロジェクト: OpenSight/StorLever
def get_fs_ls(request):
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)
    params = get_params_from_request(request, get_fs_ls_schema)
    path = params["path"]
    ls_info = fs.ls_dir(path)
    return ls_info
コード例 #15
0
def get_fs_ls(request):
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)
    params = get_params_from_request(request, get_fs_ls_schema)
    path = params["path"]
    ls_info = fs.ls_dir(path)
    return ls_info
コード例 #16
0
ファイル: system.py プロジェクト: linuxmap/StorLever
def check_password(request):
    check_web_password_request = get_params_from_request(
        request, web_password_check_schema)
    if webconfig.WebPassword().check_password(
            check_web_password_request['login'],
            check_web_password_request['password']):
        return Response(status=200)
    else:
        raise StorLeverError('Wrong user name or password')
コード例 #17
0
ファイル: lvm.py プロジェクト: linuxmap/StorLever
def post_lv_snapshot(request):
    params = get_params_from_request(request, lv_snapshot_schema)
    vg_name = request.matchdict['vg']
    lv_name = request.matchdict['lv']
    lvm_mng = lvm.lvm_mgr()
    vg = lvm_mng.get_vg(vg_name)
    lv = vg.get_lv(lv_name)
    lv.snapshot(params['name'], params['size'])
    return Response(status=200)
コード例 #18
0
ファイル: block.py プロジェクト: linuxmap/StorLever
def set_block_opt(request):
    scsi_id = request.matchdict['scsi_id']
    scsi_mgr =  scsimgr.scsi_mgr()
    scsi_dev_info = scsi_mgr.get_scsi_dev_by_id(scsi_id)
    params = get_params_from_request(request, scsi_dev_smart_schema)
    smart_set = params.get("smart", None),
    offline_set = params.get("offline_auto", None),
    scsi_dev_info.set_smart_config(smart_set,offline_set)
    return Response(status=200)
コード例 #19
0
ファイル: lvm.py プロジェクト: OpenSight/StorLever
def post_lv_snapshot(request):
    params = get_params_from_request(request, lv_snapshot_schema)
    vg_name = request.matchdict['vg']
    lv_name = request.matchdict['lv']
    lvm_mng = lvm.lvm_mgr()
    vg = lvm_mng.get_vg(vg_name)
    lv = vg.get_lv(lv_name)
    lv.snapshot(params['name'], params['size'])
    return Response(status=200)
コード例 #20
0
ファイル: block.py プロジェクト: ntvis/StorLever
def set_block_opt(request):
    scsi_id = request.matchdict['scsi_id']
    scsi_mgr =  scsimgr.scsi_mgr()
    scsi_dev_info = scsi_mgr.get_scsi_dev_by_id(scsi_id)
    params = get_params_from_request(request, scsi_dev_smart_schema)
    smart_set = params.get("smart", None),
    offline_set = params.get("offline_auto", None),
    scsi_dev_info.set_smart_config(smart_set,offline_set)
    return Response(status=200)
コード例 #21
0
ファイル: network.py プロジェクト: OpenSight/StorLever
def add_bond_group(request):
    params = get_params_from_request(request, bond_add_schema)
    bond_manager = bond.bond_mgr()
    bond_name = bond_manager.add_group(params['miimon'], params['mode'], params['ifs'],
                                       params['ip'], params['netmask'], params['gateway'],
                                       request.client_addr)

    resp = Response(status=201)
    resp.location = request.route_url('bond_port', port_name=bond_name)
    return resp
コード例 #22
0
def post_port_op(request):
    op_info = get_params_from_request(request, port_op_schema)
    port_name = request.matchdict['port_name']
    eth_face = ifmgr.if_mgr()
    eth = eth_face.get_interface_by_name(port_name)
    if op_info["opcode"] == "enable":
        eth.up(user=request.client_addr)
    elif op_info["opcode"] == "disable":
        eth.down(user=request.client_addr)
    return Response(status=200)
コード例 #23
0
def modify_single_port(request):
    port_info = get_params_from_request(request, port_mod_schema)
    port_name = request.matchdict['port_name']
    eth_face = ifmgr.if_mgr()
    eth = eth_face.get_interface_by_name(port_name)
    eth.set_ip_config(ip=port_info.get("ip", None),
                      netmask=port_info.get("netmask", None),
                      gateway=port_info.get("gateway", None),
                      user=request.client_addr)
    return Response(status=200)
コード例 #24
0
ファイル: system.py プロジェクト: OpenSight/StorLever
def add_group(request):
    group_info = get_params_from_request(request, group_info_schema)
    user_mgr = usermgr.user_mgr()
    user_mgr.group_add(group_info["name"], group_info.get("gid"),
                       user=request.client_addr)

    # generate 201 response
    resp = Response(status=201)
    resp.location = request.route_url('group_info', group_name=group_info["name"])
    return resp
コード例 #25
0
ファイル: utils.py プロジェクト: dulton/StorLever
def put_snmp_agent_monitor_info(request):
    monitor_name = request.matchdict["monitor_name"]
    snmp_agent = snmpagent.SnmpAgentManager
    monitor_info = get_params_from_request(request, snmp_monitor_mod_schema)

    snmp_agent.update_monitor_conf(
        monitor_name, monitor_info.get("expression"), monitor_info.get("option"), operator=request.client_addr
    )

    return Response(status=200)
コード例 #26
0
ファイル: block.py プロジェクト: linuxmap/StorLever
def scan_bus(request):
    scsi_mgr =  scsimgr.scsi_mgr()
    params = get_params_from_request(request, scan_bus_schema)
    remove = params.get("remove", False),
    force_rescan = params.get("force_rescan", False),
    force_remove = params.get("force_remove", False),
    if params['opt'] == "re_scan":  
        scsi_mgr.rescan_bus(params['host'], params['channels'], params['targets'],\
                             params['luns'],remove,force_rescan, force_remove)
    return Response(status=200)
コード例 #27
0
ファイル: san.py プロジェクト: linuxmap/StorLever
def post_tgt_target_iqn_list(request):
    tgt_mgr = tgtmgr.TgtManager
    new_target_conf = get_params_from_request(request, target_conf_schema)
    tgt_mgr.create_target(new_target_conf["iqn"], operator=request.client_addr)

    # generate 201 response
    resp = Response(status=201)
    resp.location = request.route_url('tgt_target_info',
                                      target_iqn=new_target_conf["iqn"])
    return resp
コード例 #28
0
ファイル: block.py プロジェクト: ntvis/StorLever
def scan_bus(request):
    scsi_mgr =  scsimgr.scsi_mgr()
    params = get_params_from_request(request, scan_bus_schema)
    remove = params.get("remove", None),
    force_rescan = params.get("force_rescan", None),
    force_remove = params.get("force_remove", None),
    if params['opt'] == "re_scan":  
        scsi_mgr.rescan_bus(params['host'], params['channels'], params['targets'],\
                             params['luns'],remove,force_rescan, force_remove)
    return Response(status=200)
コード例 #29
0
ファイル: san.py プロジェクト: OpenSight/StorLever
def post_tgt_target_iqn_list(request):
    tgt_mgr = tgtmgr.TgtManager
    new_target_conf = get_params_from_request(request, target_conf_schema)
    tgt_mgr.create_target(new_target_conf["iqn"], operator=request.client_addr)

    # generate 201 response
    resp = Response(status=201)
    resp.location = request.route_url('tgt_target_info',
                                      target_iqn=new_target_conf["iqn"])
    return resp
コード例 #30
0
ファイル: network.py プロジェクト: OpenSight/StorLever
def modify_single_port(request):
    port_info = get_params_from_request(request, port_mod_schema)
    port_name = request.matchdict['port_name']
    eth_face = ifmgr.if_mgr()
    eth = eth_face.get_interface_by_name(port_name)
    eth.set_ip_config(ip=port_info.get("ip", None),
                      netmask=port_info.get("netmask", None),
                      gateway=port_info.get("gateway", None),
                      user=request.client_addr)
    return Response(status=200)
コード例 #31
0
ファイル: network.py プロジェクト: OpenSight/StorLever
def post_port_op(request):
    op_info = get_params_from_request(request, port_op_schema)
    port_name = request.matchdict['port_name']
    eth_face = ifmgr.if_mgr()
    eth = eth_face.get_interface_by_name(port_name)
    if op_info["opcode"] == "enable":
        eth.up(user=request.client_addr)
    elif op_info["opcode"] == "disable":
        eth.down(user=request.client_addr)
    return Response(status=200)
コード例 #32
0
ファイル: system.py プロジェクト: linuxmap/StorLever
def change_password(request):
    change_password_request = get_params_from_request(
        request, web_password_change_schema)
    if webconfig.WebPassword().change_password(
            change_password_request['login'],
            change_password_request['old_password'],
            change_password_request['new_password']):
        return Response(status=200)
    else:
        raise StorLeverError('Unable to change password')
コード例 #33
0
def add_bond_group(request):
    params = get_params_from_request(request, bond_add_schema)
    bond_manager = bond.bond_mgr()
    bond_name = bond_manager.add_group(params['miimon'], params['mode'],
                                       params['ifs'], params['ip'],
                                       params['netmask'], params['gateway'],
                                       request.client_addr)

    resp = Response(status=201)
    resp.location = request.route_url('bond_port', port_name=bond_name)
    return resp
コード例 #34
0
ファイル: system.py プロジェクト: OpenSight/StorLever
def mod_user_info(request):
    user_name = request.matchdict["user_name"]
    user_info = get_params_from_request(request)
    user_info["name"] = user_name
    user_info = user_info_schema.validate(user_info)
    user_mgr = usermgr.user_mgr()
    user_mgr.user_mod(user_info["name"], user_info.get("password"), user_info.get("uid"),
                      user_info.get("primary_group"), user_info.get("groups"),
                      user_info.get("home_dir"), user_info.get("login"),
                      user_info.get("comment"), user=request.client_addr)
    return Response(status=200)
コード例 #35
0
ファイル: lvm.py プロジェクト: ntvis/StorLever
def post_vg_op(request):
    params = get_params_from_request(request, vg_op_schema)
    vg_name = request.matchdict['vg']
    lvm_mng = lvm.lvm_mgr()
    vg = lvm_mng.get_vg(vg_name)
    if(params['opt']) == 'grow' :
        vg.grow(params['dev'])
    elif(params['opt']) == 'shrink' :
        vg.shrink(params['dev'])
               
    return Response(status=200)
コード例 #36
0
def change_fs(request):
    params = get_params_from_request(request, change_fs_schema)
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)

    if (params['opt']) == 'grow':
        fs.grow_size()
        return Response(status=200)
    else:
        return Response(status=403)
コード例 #37
0
ファイル: fs.py プロジェクト: OpenSight/StorLever
def change_fs(request):
    params = get_params_from_request(request, change_fs_schema)
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)
    
    if(params['opt']) == 'grow' :
        fs.grow_size()
        return Response(status=200) 
    else :
        return Response(status=403)
コード例 #38
0
ファイル: utils.py プロジェクト: linuxmap/StorLever
def put_snmp_agent_monitor_info(request):
    monitor_name = request.matchdict['monitor_name']
    snmp_agent = snmpagent.SnmpAgentManager
    monitor_info = get_params_from_request(request, snmp_monitor_mod_schema)

    snmp_agent.update_monitor_conf(monitor_name,
                                   monitor_info.get("expression"),
                                   monitor_info.get("option"),
                                   operator=request.client_addr)

    return Response(status=200)
コード例 #39
0
ファイル: block.py プロジェクト: linuxmap/StorLever
def block_clean_meta(request):
    block_name = request.matchdict['block']
    params = get_params_from_request(request, block_clean_meta_schema)
    if params['opt'] == "clean_meta":  
        block_mgr =  blockmgr.block_mgr()
        block_dev = block_mgr.get_block_dev_by_name(block_name)
        block_dev.clean_meta()
    elif params['opt'] == "flush_buf":  
        block_mgr =  blockmgr.block_mgr()
        block_dev = block_mgr.get_block_dev_by_name(block_name)
        block_dev.flush_block_buf()   
    return Response(status=200)
コード例 #40
0
ファイル: system.py プロジェクト: OpenSight/StorLever
def add_user(request):
    user_info = get_params_from_request(request, user_info_schema)
    user_mgr = usermgr.user_mgr()
    user_mgr.user_add(user_info["name"], user_info.get("password"), user_info.get("uid"),
                      user_info.get("primary_group"), user_info.get("groups"),
                      user_info.get("home_dir"), user_info.get("login"),
                      user_info.get("comment"), user=request.client_addr)

    # generate 201 response
    resp = Response(status=201)
    resp.location = request.route_url('user_info', user_name=user_info["name"])
    return resp
コード例 #41
0
ファイル: system.py プロジェクト: linuxmap/StorLever
def add_group(request):
    group_info = get_params_from_request(request, group_info_schema)
    user_mgr = usermgr.user_mgr()
    user_mgr.group_add(group_info["name"],
                       group_info.get("gid"),
                       user=request.client_addr)

    # generate 201 response
    resp = Response(status=201)
    resp.location = request.route_url('group_info',
                                      group_name=group_info["name"])
    return resp
コード例 #42
0
ファイル: fs.py プロジェクト: OpenSight/StorLever
def put_quota_user(request):
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)
    params = get_params_from_request(request, put_quoat_group_schema)
    user = params["user"]
    block_softlimit = params["block_softlimit"]
    block_hardlimit = params["block_hardlimit"]
    inode_softlimit = params["inode_softlimit"]
    inode_hardlimit = params["inode_hardlimit"]
    fs.quota_user_set(user,block_softlimit,block_hardlimit,inode_softlimit,inode_hardlimit)
    return Response(status=200)
コード例 #43
0
ファイル: fs.py プロジェクト: OpenSight/StorLever
def add_quota_group(request):
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)
    params = get_params_from_request(request, add_quoat_group_schema)
    group = params["group"]
    block_softlimit = params["block_softlimit"]
    block_hardlimit = params["block_hardlimit"]
    inode_softlimit = params["inode_softlimit"]
    inode_hardlimit = params["inode_hardlimit"]
    fs.quota_group_set(group,block_softlimit,block_hardlimit,inode_softlimit,inode_hardlimit)
    return Response(status=200)
コード例 #44
0
ファイル: block.py プロジェクト: ntvis/StorLever
def block_clean_meta(request):
    block_name = request.matchdict['block']
    params = get_params_from_request(request, block_clean_meta_schema)
    if params['opt'] == "clean_meta":  
        block_mgr =  blockmgr.block_mgr()
        block_dev = block_mgr.get_block_dev_by_name(block_name)
        block_dev.clean_meta()
    elif params['opt'] == "flush_buf":  
        block_mgr =  blockmgr.block_mgr()
        block_dev = block_mgr.get_block_dev_by_name(block_name)
        block_dev.flush_block_buf()   
    return Response(status=200)
コード例 #45
0
ファイル: san.py プロジェクト: OpenSight/StorLever
def put_tgt_target_outgoinguser_info(request):
    iqn = request.matchdict['target_iqn']
    username = request.matchdict['user_name']
    tgt_mgr = tgtmgr.TgtManager
    target = tgt_mgr.get_target_by_iqn(iqn)
    mod_user_conf = get_params_from_request(request)
    mod_user_conf["username"] = username
    mod_user_conf = user_conf_schema.validate(mod_user_conf)

    target.set_outgoinguser(mod_user_conf["username"], mod_user_conf["password"], operator=request.client_addr)

    return Response(status=200)
コード例 #46
0
ファイル: lvm.py プロジェクト: linuxmap/StorLever
def post_vg_op(request):
    params = get_params_from_request(request, vg_op_schema)
    vg_name = request.matchdict['vg']
    lvm_mng = lvm.lvm_mgr()
    vg = lvm_mng.get_vg(vg_name)
    if (params['opt']) == 'grow':
        for dev in params['dev']:
            vg.grow(dev)
    elif (params['opt']) == 'shrink':
        for dev in params['dev']:
            vg.shrink(dev)
    return Response(status=200)
コード例 #47
0
ファイル: system.py プロジェクト: OpenSight/StorLever
def restore_conf_from_file(request):

    params = get_params_from_request(request)

    # check params
    if "file" not in params:
        raise StorLeverError("\"file\" params must be given", 400)

    cfg_mgr = cfgmgr.cfg_mgr()      # get cfg manager

    cfg_mgr.restore_from_file(params["file"], user=request.client_addr)

    return Response(status=200)
コード例 #48
0
ファイル: lvm.py プロジェクト: linuxmap/StorLever
def post_lv_op(request):
    params = get_params_from_request(request, lv_op_schema)
    vg_name = request.matchdict['vg']
    lv_name = request.matchdict['lv']
    lvm_mng = lvm.lvm_mgr()
    vg = lvm_mng.get_vg(vg_name)
    lv = vg.get_lv(lv_name)
    if (params['opt']) == 'activate':
        lv.activate()
    elif (params['opt']) == 'disable':
        lv.deactivate()

    return Response(status=200)
コード例 #49
0
ファイル: nas.py プロジェクト: linuxmap/StorLever
def put_nfs_export_info(request):
    export_name = request.matchdict['export_name']
    nfs_mgr = nfsmgr.NfsManager
    export_conf = get_params_from_request(request)
    export_conf["name"] = export_name
    export_conf = nfs_export_schema.validate(export_conf)

    nfs_mgr.set_export_conf(export_name,
                            export_conf.get("path"),
                            export_conf.get("clients"),
                            operator=request.client_addr)

    return Response(status=200)
コード例 #50
0
def modify_bond_group(request):
    bond_name = request.matchdict['port_name']
    params = get_params_from_request(request, bond_mod_schema)
    mode = params.get("mode")
    miimon = params.get("miimon")
    bond_manager = bond.bond_mgr()
    bond_group = bond_manager.get_group_by_name(bond_name)
    if mode is None:
        mode = bond_group.mode
    if miimon is None:
        miimon = bond_group.miimon
    bond_group.set_bond_config(miimon, mode, request.client_addr)
    return Response(status=200)
コード例 #51
0
ファイル: nas.py プロジェクト: linuxmap/StorLever
def post_smb_account_list(request):
    smb_mgr = smbmgr.SmbManager
    new_account_conf = get_params_from_request(request, smb_account_schema)

    smb_mgr.add_smb_account(new_account_conf["account_name"],
                            new_account_conf["password"],
                            operator=request.client_addr)

    # generate 201 response
    resp = Response(status=201)
    resp.location = request.route_url(
        'smb_account_conf', account_name=new_account_conf["account_name"])
    return resp
コード例 #52
0
ファイル: system.py プロジェクト: linuxmap/StorLever
def backup_conf_to_file(request):

    params = get_params_from_request(request)

    # check params
    if "file" not in params:
        raise StorLeverError("\"file\" params must be given", 400)

    cfg_mgr = cfgmgr.cfg_mgr()  # get cfg manager

    cfg_mgr.backup_to_file(params["file"])

    return Response(status=200)
コード例 #53
0
ファイル: nas.py プロジェクト: linuxmap/StorLever
def put_smb_account_conf(request):
    account_name = request.matchdict['account_name']
    smb_mgr = smbmgr.SmbManager
    account_conf = get_params_from_request(request)

    account_conf["account_name"] = account_name
    account_conf = smb_account_schema.validate(account_conf)

    smb_mgr.set_smb_account_passwd(account_conf["account_name"],
                                   account_conf["password"],
                                   operator=request.client_addr)

    return Response(status=200)
コード例 #54
0
ファイル: nas.py プロジェクト: OpenSight/StorLever
def post_smb_account_list(request):
    smb_mgr = smbmgr.SmbManager
    new_account_conf = get_params_from_request(request, smb_account_schema)

    smb_mgr.add_smb_account(new_account_conf["account_name"],
                            new_account_conf["password"],
                            operator=request.client_addr)

    # generate 201 response
    resp = Response(status=201)
    resp.location = request.route_url('smb_account_conf',
                                      account_name=new_account_conf["account_name"])
    return resp
コード例 #55
0
ファイル: system.py プロジェクト: linuxmap/StorLever
def restore_conf_from_file(request):

    params = get_params_from_request(request)

    # check params
    if "file" not in params:
        raise StorLeverError("\"file\" params must be given", 400)

    cfg_mgr = cfgmgr.cfg_mgr()  # get cfg manager

    cfg_mgr.restore_from_file(params["file"], user=request.client_addr)

    return Response(status=200)
コード例 #56
0
ファイル: system.py プロジェクト: OpenSight/StorLever
def backup_conf_to_file(request):

    params = get_params_from_request(request)

    # check params
    if "file" not in params:
        raise StorLeverError("\"file\" params must be given", 400)

    cfg_mgr = cfgmgr.cfg_mgr()      # get cfg manager

    cfg_mgr.backup_to_file(params["file"])

    return Response(status=200)
コード例 #57
0
ファイル: network.py プロジェクト: OpenSight/StorLever
def modify_bond_group(request):
    bond_name = request.matchdict['port_name']
    params = get_params_from_request(request, bond_mod_schema)
    mode = params.get("mode")
    miimon = params.get("miimon")
    bond_manager = bond.bond_mgr()
    bond_group = bond_manager.get_group_by_name(bond_name)
    if mode is None:
        mode = bond_group.mode
    if miimon is None:
        miimon = bond_group.miimon
    bond_group.set_bond_config(miimon, mode, request.client_addr)
    return Response(status=200)
コード例 #58
0
ファイル: lvm.py プロジェクト: OpenSight/StorLever
def post_lv_op(request):
    params = get_params_from_request(request, lv_op_schema)
    vg_name = request.matchdict['vg']
    lv_name = request.matchdict['lv']
    lvm_mng = lvm.lvm_mgr()
    vg = lvm_mng.get_vg(vg_name)
    lv = vg.get_lv(lv_name)
    if(params['opt']) == 'activate' :
        lv.activate()
    elif(params['opt']) == 'disable' :
        lv.deactivate()
               
    return Response(status=200)
コード例 #59
0
def add_quota_group(request):
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)
    params = get_params_from_request(request, add_quoat_group_schema)
    group = params["group"]
    block_softlimit = params["block_softlimit"]
    block_hardlimit = params["block_hardlimit"]
    inode_softlimit = params["inode_softlimit"]
    inode_hardlimit = params["inode_hardlimit"]
    fs.quota_group_set(group, block_softlimit, block_hardlimit,
                       inode_softlimit, inode_hardlimit)
    return Response(status=200)
コード例 #60
0
def put_quota_user(request):
    fs_name = request.matchdict['fsname']
    fs_mrg = fsmgr.fs_mgr()
    fs = fs_mrg.get_fs_by_name(fs_name)
    params = get_params_from_request(request, put_quoat_group_schema)
    user = params["user"]
    block_softlimit = params["block_softlimit"]
    block_hardlimit = params["block_hardlimit"]
    inode_softlimit = params["inode_softlimit"]
    inode_hardlimit = params["inode_hardlimit"]
    fs.quota_user_set(user, block_softlimit, block_hardlimit, inode_softlimit,
                      inode_hardlimit)
    return Response(status=200)