Ejemplo n.º 1
0
def index(request):
    try:
        dashboard_task.delay()
        #grains_task.delay()
        minions_status_task.delay()
    except:
        logger.error("Connection refused, don't connect rabbitmq service")
    try:
        dashboard_status = Dashboard_status.objects.get(id=1)
    except:
        status_list = [0, 0, 0, 0, 0]
    else:
        status_list = [
            int(dashboard_status.up),
            int(dashboard_status.down),
            int(dashboard_status.accepted),
            int(dashboard_status.unaccepted),
            int(dashboard_status.rejected),
        ]
        logger.info(status_list)

    salt_grains = Salt_grains.objects.all()
    release_list = []
    os_all = []
    os_release = []
    for release in salt_grains:
        release_dic = eval(release.grains)
        release_info = release_dic.get('osfullname').decode(
            'string-escape') + release_dic.get('osrelease').decode(
                'string-escape')
        release_list.append(release_info)
        os_release = list(set(release_list))
        logger.info(os_release)

    for release_name in os_release:
        os_dic = {
            'name': release_name,
            'value': release_list.count(release_name)
        }
        os_all.append(os_dic)
        logger.info(os_all)

    salt_master_stauts = CheckPort('Salt Master', '127.0.0.1', 4505)
    salt_api_status = CheckPort('Salt Api', '127.0.0.1', 8000)
    rabbitmy_status = CheckPort('RabbitMQ', '127.0.0.1', 5672)
    rabbitmy_m_status = CheckPort('RabbitMQ Management', '127.0.0.1', 15672)
    celery_status = CheckProgress('Celery', 'celery worker')
    check_service = [
        salt_master_stauts, salt_api_status, rabbitmy_status,
        rabbitmy_m_status, celery_status
    ]

    return render(
        request, 'dashboard/index.html', {
            'status': status_list,
            'os_release': os_release,
            'os_all': os_all,
            'check_service': check_service,
        })
Ejemplo n.º 2
0
def index(request):
    try:
        dashboard_task.delay()
        #grains_task.delay()
        minions_status_task.delay()
    except:
        logger.error("Connection refused, don't connect rabbitmq service")
    try:
        dashboard_status = Dashboard_status.objects.get(id=1)
    except:
        status_list = [0, 0, 0, 0, 0]
    else:
        status_list = [int(dashboard_status.up),
                   int(dashboard_status.down),
                   int(dashboard_status.accepted),
                   int(dashboard_status.unaccepted),
                   int(dashboard_status.rejected),
                   ]
        logger.info(status_list)

    salt_grains = Salt_grains.objects.all()
    release_list = []
    os_all = []
    os_release = []
    for release in salt_grains:
        release_dic = eval(release.grains)
        release_info = release_dic.get('osfullname').decode('string-escape') + release_dic.get('osrelease').decode('string-escape')
        release_list.append(release_info)
        os_release = list(set(release_list))
        logger.info(os_release)

    for release_name in os_release:
        os_dic = {'name': release_name, 'value': release_list.count(release_name)}
        os_all.append(os_dic)
        logger.info(os_all)

    salt_master_stauts = CheckPort('Salt Master', '127.0.0.1', 4505)
    salt_api_status = CheckPort('Salt Api', '127.0.0.1', 8000)
    rabbitmy_status = CheckPort('RabbixMQ', '127.0.0.1', 5672)
    rabbitmy_m_status = CheckPort('RabbixMQ Management', '127.0.0.1', 15672)
    celery_status = CheckProgress('Celery', 'celery worker')
    check_service = [salt_master_stauts, salt_api_status, rabbitmy_status, rabbitmy_m_status, celery_status]


    return render(request, 'dashboard/index.html', {'status': status_list,
                                                    'os_release': os_release,
                                                    'os_all': os_all,
                                                    'check_service': check_service,
                                                    })
Ejemplo n.º 3
0
def minions_keys(request):
    sapi = SaltAPI()
    alert_info = ""
    if request.POST:
        minion_id_a = request.POST.get("accept")
        minion_id_r = request.POST.get("reject")
        minion_id_d = request.POST.get("delete")
        if minion_id_a:
            sapi.accept_key(minion_id_a)
            try:
                accept_grains_task.delay(minion_id_a)
            except Exception as e:
                logger.error(e)
            try:
                minions_status_task.delay()
                alert_info = "Minion: " + minion_id_a + " Accept Key Success"
            except Exception as e:
                alert_info = "Minion: " + minion_id_a + " Accept Key Fault"
                logger.error(e)
        elif minion_id_r:
            sapi.reject_key(minion_id_r)
        else:
            sapi.delete_key(minion_id_d)
            try:
                Minions_status.objects.get(minion_id=minion_id_d).delete()
            except Exception as e:
                logger.error(e)
            try:
                Salt_grains.objects.get(minion_id=minion_id_d).delete()
            except Exception as e:
                logger.error(e)
            try:
                minions_status_task.delay()
                alert_info = "Minion: " + minion_id_d + " Accept Key Success"
            except Exception as e:
                alert_info = "Minion: " + minion_id_d + " Accept Key Fault"
                logger.error(e)

    keys_all = sapi.list_all_key()

    return render(request, 'minions/minions_keys.html', {'key': keys_all, 'alert_info': alert_info})