Пример #1
0
    def reset_dba_portal_redis(self):
        '''
        Reset redis data.
        '''
        print '%s: -- redis: reset backup data...' % time.strftime('%Y-%m-%d %H-%M-%S')
        backup_list = BackupList()
        print '%s: -- redis: reset server data...' % time.strftime('%Y-%m-%d %H-%M-%S')
        server_list = ServerList()
        server_all = server_list.list_all()
        self.set_json_with_expire('server_all', server_all, self._expire_server_all)
        time.sleep(3)
        # server_available = server_list.list_available()
        # self.set_json_with_expire('server_available', server_available, self._expire_server_available)
        # time.sleep(3)
        # server_total_count = server_list.get_total_count()
        # self.set_json_with_expire('server_total_count', server_total_count, self._expire_server_total_count)
        # time.sleep(3)

        print '%s: -- redis: reset instance data...' % time.strftime('%Y-%m-%d %H-%M-%S')
        instance_list = InstanceList()
        instance_all = instance_list.list_all()
        self.set_json_with_expire('instance_all', instance_all, self._expire_instance_all)
        time.sleep(3)
        instance_total_count = instance_list.get_total_count()
        self.set_json_with_expire('instance_total_count', instance_total_count, self._expire_instance_total_count)
        time.sleep(3)

        return True
Пример #2
0
    def reset_dba_portal_redis(self):
        '''
        Reset redis data.
        '''
        print '%s: -- redis: reset backup data...' % time.strftime(
            '%Y-%m-%d %H-%M-%S')
        backup_list = BackupList()
        print '%s: -- redis: reset server data...' % time.strftime(
            '%Y-%m-%d %H-%M-%S')
        server_list = ServerList()
        server_all = server_list.list_all()
        self.set_json_with_expire('server_all', server_all,
                                  self._expire_server_all)
        time.sleep(3)
        # server_available = server_list.list_available()
        # self.set_json_with_expire('server_available', server_available, self._expire_server_available)
        # time.sleep(3)
        # server_total_count = server_list.get_total_count()
        # self.set_json_with_expire('server_total_count', server_total_count, self._expire_server_total_count)
        # time.sleep(3)

        print '%s: -- redis: reset instance data...' % time.strftime(
            '%Y-%m-%d %H-%M-%S')
        instance_list = InstanceList()
        instance_all = instance_list.list_all()
        self.set_json_with_expire('instance_all', instance_all,
                                  self._expire_instance_all)
        time.sleep(3)
        instance_total_count = instance_list.get_total_count()
        self.set_json_with_expire('instance_total_count', instance_total_count,
                                  self._expire_instance_total_count)
        time.sleep(3)

        return True
Пример #3
0
def instance_info(id=None):
    try:
        data = dict({'page_data': dict()})
        host_info = ServerList()
        instance = InstList()

        single_instance_info = dict()
        query_result = instance.info_by_id(id)
        single_instance_info = query_result[0]
        data['page_data']['instance_info'] = single_instance_info

        server_id = single_instance_info['server_id']
        single_server_info = dict()
        query_result = host_info.info_by_id(server_id)
        single_server_info = query_result[0]
        data['page_data']['server_info'] = single_server_info
        data['page_data']['server_info']['server_id'] = server_id

        machine_info = dict()
        query_result = host_info.machine_info_by_id(server_id)
        machine_info = query_result[0]
        data['page_data']['machine_info'] = machine_info

        data['page_name'] = 'Instance Info'
        return render_template('instanceinfo.html', data=data)
    except CmdbApiCallException, e:
        flash(e.detail_msg(), 'danger')
        return render_template('blank.html')
Пример #4
0
def server_info_edit(server_id=None):
    try:
        data = dict()
        host_info = ServerList()
        if request.method == 'POST':
            page_data = request.form
            host_info.save_server_info(page_data)
            flash('Edit Server Information Success', 'success')
        else:
            if not server_id or server_id == 0:
                page_data = ''
            else:
                page_data = host_info.info_by_id(server_id)[0]

        server_form = ServerInfoForm()
        supported_select_key = ['owner', 'mirror', 'server_status', 'env']
        fill_select_data = dict()
        for key in supported_select_key:
            fill_select_data[key] = page_data[key]
        server_form = fill_server_info_form(server_form=server_form, **fill_select_data)
        data['page_name'] = 'Server Info'
        data['form'] = server_form
        data['page_data'] = page_data
        return render_template('serverinfoedit.html', data=data)
    except CmdbApiCallException, e:
        flash(e.detail_msg(), 'danger')
        return render_template('blank.html')
Пример #5
0
def server_list():
    try:
        data = dict()
        supported_query_key = ['owner', 'mirror', 'server_status', 'env', 'use_status']
        query_condition = dict()
        all_servers = ServerList()
        for key in supported_query_key:
            request_value = request.args.get(key, False)
            if request_value:
                query_condition[key] = request_value

        page_data = all_servers.list_all(data=query_condition)

        filter_form = ServerInfoForm()
        filter_form = fill_server_info_form(server_form=filter_form, **query_condition)

        message_list = ({'from': 'admin', 'time': '2013-01-01', 'content': 'This is a test message'},)
        task_list = ({'name': 'task 1', 'progress': 10},)
        data['message_list'] = message_list
        data['task_list'] = task_list
        data['page_name'] = 'Machine List'
        data['page_data'] = page_data
        data['filter_form'] = filter_form
        return render_template('serverlist.html', data=data)
    except CmdbApiCallException, e:
        flash(e.detail_msg(), 'danger')
        return render_template('blank.html')
Пример #6
0
def init_system(server_id=None):
    try:
        data = dict()
        host_info = ServerList()
        if request.method == 'POST':
            request_dict = dict()
            request_dict['server_id'] = request.form.get('server_id')
            request_dict['server_ip'] = request.form.get('server_ip')
            request_dict['mirror'] = request.form.get('mirror')
            request_dict['comment'] = request.form.get('comment')
            result = host_info.init_system_with_mirror(request_dict)
            flash('System initial request sent', 'success')
        else:
            if not server_id or server_id == 0:
                page_data = ''

        page_data = host_info.info_by_id(server_id)[0]
        server_form = ServerInitForm()
        if request.form.get('mirror', False):
            server_form = fill_init_server_form(server_form, request.form.get('mirror', ''))
        else:
            server_form = fill_init_server_form(server_form, mirror=page_data['mirror'])
        data['page_name'] = 'Server Info'
        data['form'] = server_form
        data['page_data'] = page_data
        return render_template('init_system.html', data=data)
    except CmdbApiCallException, e:
        flash(e.detail_msg(), 'danger')
        return render_template('blank.html')
Пример #7
0
def online_system(server_id=None):
    host_info = ServerList()

    try:
        query_result = host_info.online_by_id(server_id)
        flash('Online Server Success', 'success')
    except CmdbApiCallException, e:
        flash(e.detail_msg(), 'danger')
        return render_template('blank.html')
Пример #8
0
def fill_init_server_form(server_form=None, mirror=''):
    host_info = ServerList()

    mirror_list = host_info.list_supported_mirror()
    mirror_list = zip(mirror_list, mirror_list)
    server_form.mirror.choices = mirror_list

    if not mirror: mirror = ''
    server_form.mirror.data = mirror
    return server_form
Пример #9
0
def delete_server(server_id=None):
    host_info = ServerList()

    try:
        query_result = host_info.delete_by_id(server_id)
        flash('Delete Server Success', 'success')
        return redirect(url_for('server_list'))
    except CmdbApiCallException, e:
        flash(e.detail_msg(), 'danger')
        return render_template('blank.html')
        return redirect(url_for('server_info', server_id=server_id))
Пример #10
0
def add_server():
    try:
        host_info = ServerList()
        env = host_info.list_supported_env()
        mirror = host_info.list_supported_mirror()
        use_status = host_info.list_supported_use_status()
        owner = host_info.list_supported_dba()
        status = host_info.list_supported_status()

        server_form = ServerInfoForm()
        server_form.env.choices = env
        server_form.mirror.choices = mirror
        server_form.server_status.choices = status
        server_form.use_status.choices = use_status
        server_form.owner.choices = owner
        data = dict()
        if request.method == 'POST':
            server_post = request.form
            server_info = ServerList()
            result = server_info.add_server(server_post)
            page_data = dict()
            page_data['add_result'] = dict()
            flash('Add Server Success!', 'success')
            return redirect(url_for('server_info', server_id=request.form['server_id']))
            data['form_data'] = server_post
        else:
            page_data = ''
            data['form_data'] = dict()
        data['page_name'] = 'Add Server'
        data['form'] = server_form
        data['page_data'] = page_data
        return render_template('addserver.html', data=data)
    except CmdbApiCallException, e:
        flash(e.detail_msg(), 'danger')
        return render_template('blank.html')
Пример #11
0
    def init_dba_portal_redis(self):
        self._redis.flushall()

        print 'add server data into redis...'
        server_list = ServerList()
        server_all = server_list.list_all()
        server_all = json.dumps(server_all, ensure_ascii=False)
        self._redis.set('server_all', server_all)
        time.sleep(3)
        server_available = server_list.list_available()
        server_available = json.dumps(server_available, ensure_ascii=False)
        self._redis.set('server_available', server_available)
        time.sleep(3)
        server_total_count = server_list.get_total_count()
        server_total_count = json.dumps(server_total_count, ensure_ascii=False)
        self._redis.set('server_total_count', server_total_count)
        time.sleep(3)

        print 'add instance data into redis...'
        instance_list = InstList()
        instance_total_count = instance_list.get_total_count()
        instance_total_count = json.dumps(instance_total_count,
                                          ensure_ascii=False)
        self._redis.set('instance_total_count', instance_total_count)
        time.sleep(3)

        print 'add backup data into redis...'
        backup_list = BackupList()
        backup_mha = backup_list.mha()
        backup_mha = json.dumps(backup_mha, ensure_ascii=False)
        self._redis.set('backup_mha', backup_mha)
        time.sleep(3)
        backup_single_instance = backup_list.single_instance()
        backup_single_instance = json.dumps(backup_single_instance,
                                            ensure_ascii=False)
        self._redis.set('backup_single_instance', backup_single_instance)
        time.sleep(3)
        backup_configure = backup_list.configure()
        backup_configure = json.dumps(backup_configure, ensure_ascii=False)
        self._redis.set('backup_configure', backup_configure)
        time.sleep(3)
        backup_email_backup_report = backup_list.email_backup_report()
        backup_email_backup_report = json.dumps(backup_email_backup_report,
                                                ensure_ascii=False)
        self._redis.set('backup_email_backup_report',
                        backup_email_backup_report)
        time.sleep(3)

        return True
Пример #12
0
    def init_dba_portal_redis(self):
        self._redis.flushall()

        print "add server data into redis..."
        server_list = ServerList()
        server_all = server_list.list_all()
        server_all = json.dumps(server_all, ensure_ascii=False)
        self._redis.set("server_all", server_all)
        time.sleep(3)
        server_available = server_list.list_available()
        server_available = json.dumps(server_available, ensure_ascii=False)
        self._redis.set("server_available", server_available)
        time.sleep(3)
        server_total_count = server_list.get_total_count()
        server_total_count = json.dumps(server_total_count, ensure_ascii=False)
        self._redis.set("server_total_count", server_total_count)
        time.sleep(3)

        print "add instance data into redis..."
        instance_list = InstList()
        instance_total_count = instance_list.get_total_count()
        instance_total_count = json.dumps(instance_total_count, ensure_ascii=False)
        self._redis.set("instance_total_count", instance_total_count)
        time.sleep(3)

        print "add backup data into redis..."
        backup_list = BackupList()
        backup_mha = backup_list.mha()
        backup_mha = json.dumps(backup_mha, ensure_ascii=False)
        self._redis.set("backup_mha", backup_mha)
        time.sleep(3)
        backup_single_instance = backup_list.single_instance()
        backup_single_instance = json.dumps(backup_single_instance, ensure_ascii=False)
        self._redis.set("backup_single_instance", backup_single_instance)
        time.sleep(3)
        backup_configure = backup_list.configure()
        backup_configure = json.dumps(backup_configure, ensure_ascii=False)
        self._redis.set("backup_configure", backup_configure)
        time.sleep(3)
        backup_email_backup_report = backup_list.email_backup_report()
        backup_email_backup_report = json.dumps(backup_email_backup_report, ensure_ascii=False)
        self._redis.set("backup_email_backup_report", backup_email_backup_report)
        time.sleep(3)

        return True
Пример #13
0
def dashboard():
    try:
        data = dict()
        message_list = ({'from': 'admin', 'time': '2013-01-01', 'content': 'This is a test message'},)
        task_list = ({'name': 'task 1', 'progress': 10},)
        data['message_list'] = message_list
        data['task_list'] = task_list
        data['page_name'] = 'Dash Board'
        servers = ServerList()
        instances = InstList()
        data['page_data'] = dict()
        data['page_data']['server_cnt'] = servers.get_total_cnt()
        data['page_data']['instance_cnt'] = instances.get_total_cnt()
        return render_template('dashboard.html', data=data)

    except (CmdbApiCallException, requests.ConnectionError), e:
        flash(e.message, 'danger')
        return render_template('dashboard.html', data=data)
Пример #14
0
def fill_server_info_form(server_form=None, env='', mirror='', server_status='', use_status='', owner=''):
    host_info = ServerList()

    env_list = host_info.list_supported_env()
    mirror_list = host_info.list_supported_mirror()
    use_status_list = host_info.list_supported_use_status()
    server_status_list = host_info.list_supported_status()
    owner_list = host_info.list_supported_dba()
    server_form.env.choices = env_list
    server_form.mirror.choices = mirror_list
    server_form.server_status.choices = server_status_list
    server_form.use_status.choices = use_status_list
    server_form.owner.choices = owner_list

    if not env: env = ''
    if not mirror: mirror = ''
    if not owner: owner = ''
    if not server_status: server_status = ''
    if not use_status: use_status = ''
    server_form.env.data = env
    server_form.mirror.data = mirror
    server_form.owner.data = owner
    server_form.server_status.data = server_status
    server_form.use_status.data = use_status
    return server_form
Пример #15
0
def server_info(server_id=None):
    try:
        data = dict({'page_data': dict()})
        host_info = ServerList()

        single_server_info = dict()
        query_result = host_info.info_by_id(server_id)
        single_server_info = query_result[0]
        data['page_data']['server_info'] = single_server_info
        data['page_data']['server_info']['server_id'] = server_id

        machine_info = dict()
        query_result = host_info.machine_info_by_id(server_id)
        if len(query_result) > 0:
            machine_info = query_result[0]
            data['page_data']['machine_info'] = machine_info

        data['page_name'] = 'Server Info'
        return render_template('serverinfo.html', data=data)
    except CmdbApiCallException, e:
        flash(e.detail_msg(), 'danger')
        return render_template('blank.html')