예제 #1
0
def memcached_do_add() :
    result = {}
    if not request.form.has_key('ip') :
        result['status'] = 'no ip address'
    elif not request.form.has_key('version') :
        result['status'] = 'no version selected'
    elif not request.form.has_key('port') :
        result['status'] = 'no port inputed'
    elif not request.form.has_key('memory') :
        result['status'] = 'no memory inputed'
    elif not request.form.has_key('group') :
        result['status'] = 'no group selected'
    else :
        ip = request.form['ip'].strip().encode('utf8')
        version = request.form['version']
        port = str(request.form['port'].strip())
        memory = str(request.form['memory'].strip())
        group = str(request.form['group'])
        param = request.form['param'].strip().encode('utf8')
        isstart = str(request.form['isstart'])
        _memcached = db_session.query(Memcacheds).filter_by(ip = ip,port = port).first()
        if not _memcached :
            if not param :
                data = os.popen("bash -l /var/www/memcache_cloud/memcached_add.sh " + ip + " " + version + " " + port + " " + memory + " " + isstart).read()
            else :
                data = os.popen("bash -l /var/www/memcache_cloud/memcached_add.sh " + ip + " " + version + " " + port + " " + memory + " " + isstart + " '" + param + "'").read()
            result['status'] = data
            if (isstart == "1" and data == "add success\n") or isstart == "0" :
                memcache = Memcacheds(ip=ip, port=port, memory=memory, status=1, group_id=group, version=version, parameters=param)
                db_session.add(memcache)
                db_session.commit()
        else :
            result['status'] = 'the memcached is already added'
    return json.dumps(result)
예제 #2
0
def memcached_do_edit() :
    result = {}
    memcached_id = int(request.form['memcached_id'])
    ip = request.form['ip'].strip().encode('utf8')
    version = int(request.form['version'])
    port = int(request.form['port'].strip())
    memory = int(request.form['memory'].strip())
    group = int(request.form['group'])
    param = request.form['param'].strip().encode('utf8')
    _memcached = db_session.query(Memcacheds).filter_by(id = memcached_id).first()
    _memcached.ip = ip
    _memcached.version = version
    _memcached.port = port
    _memcached.memory = memory
    _memcached.group_id = group
    _memcached.parameters = param
    db_session.commit()
    result['status'] = 'Edit success!'
    return json.dumps(result)
예제 #3
0
def group_do_add() :
    result = {}

    if not request.form.has_key('name') :
        result['status'] = 'error'
        result['message'] = 'please input name'
    else :
        name = request.form['name']
        count = db_session.query(Groups).filter_by(name = name).count()
        if (count > 0) :
            result['status'] = 'error'
            result['message'] = 'group ' + name + ' is existed!'
        else :
            group = Groups(name)
            db_session.add(group)
            db_session.commit()
            result['status'] = 'ok'
            result['message'] = 'add successed. group id is ' + str(group.id)

    return json.dumps(result)
예제 #4
0
@mod.route('/memcached-<memcached_id>-stop', methods=['GET', 'POST'])
def memcached_stop(memcached_id) :
    try :
        memcached_id = int(memcached_id)
    except Exception, e :
        return 'invalid memcached id'

    _memcached = db_session.query(Memcacheds).filter_by(id = memcached_id).first()
    result = {}
    if not _memcached :
        result['status'] = "the memcached not exist"
    else :
        data = os.popen("bash -l /var/www/memcache_cloud/memcached_stop.sh " + _memcached.ip + " " + str(_memcached.port) + " " + str(_memcached.memory) + " " + str(_memcached.version) + " '" + str(_memcached.parameters) + "'").read()
        result['status'] = data
        _memcached.status = 0
        db_session.commit()
    return json.dumps(result)

@mod.route('/memcached-<memcached_id>-delete', methods=['GET', 'POST'])
def memcached_delete(memcached_id) :
    result = {}
    try :
        memcached_id = int(memcached_id)
    except Exception, e :
        return 'invalid memcached id'
    _memcached = db_session.query(Memcacheds).filter_by(id = memcached_id).first()
    db_session.delete(_memcached)
    db_session.commit()
    result['status'] = 'delete success'
    return json.dumps(result)