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, })
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, })
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})