示例#1
0
def env_setting(request):
    context = {'active_menu': 'env_setting'}
    context.update(generate_user_context(request))

    vex_operation_list = VEXOperation.objects.all()
    if use_global_deploy_version() is True:
        version_objs = VEXVersion.objects.filter(is_default=True)
        if version_objs.count() > 0:
            for vex_operation in vex_operation_list:
                vex_operation.deploy_version = version_objs[0]

    operation_list = []
    groups = OperationGroup.objects.all()
    if groups.count() > 0:
        for group in groups:
            ops = Operation.objects.filter(group=group)
            if ops.count() > 0:
                operation_list.append(ops)

    no_group_ops = Operation.objects.filter(group=None)
    if no_group_ops.count() > 0:
        operation_list.append(no_group_ops)

    context.update({
        'operation_list': operation_list,
        'vex_operation_list': vex_operation_list
    })

    logger.debug('Env operation context: %s' % (context))
    return render_to_response('dashboard/env_opertion.html', context)
def kubernetes_settings(request):
    context = generate_user_context(request)
    if request.method == 'POST':
        form = KubernetesSettingsFrom(request.POST, request.FILES)
        if form.is_valid():
            KubernetesSettings.objects.all().delete()
            
            #需要删除原来的key文件, 否则会产生一个加随机数的文件
            from vbd.settings import MEDIA_ROOT
            kube_server_ssh_key_file = MEDIA_ROOT + os.sep + kube_file_folder + os.sep + form.cleaned_data.get('kubectl_ssh_key_file').name
            if os.path.exists(kube_server_ssh_key_file): 
                os.remove(kube_server_ssh_key_file)
            
            form.save()
        context['form'] = form
        return render(request, 'dashboard/kubernetes_settings.html', context)
    else:
        
        settings = KubernetesSettings.objects.all()
        if len(settings) > 0:
            # 给form初始值, 两种方式
            form = KubernetesSettingsFrom(instance = settings[0])
        else:
            form = KubernetesSettingsFrom(initial={'kubectl_ssh_user':'******', 'kubectl_ssh_port':22})    
        
        context['form'] = form
        return render(request, 'dashboard/kubernetes_settings.html', context)
def global_settings(request):
    context = generate_user_context(request)
    if request.method == 'POST':
        form = VEXGolbalSettingsFrom(request.POST)
        if form.is_valid():
            VEXGolbalSettings.objects.all().delete()
            form.save()
        
        context['form'] = form
        return render(request, 'dashboard/global_settings.html', context)
    else:
        
        settings = VEXGolbalSettings.objects.all()
        if len(settings) > 0:
            # 给form初始值, 两种方式
            '''
            form = VEXGolbalSettingsFrom(initial={'grafana_http_address': settings[0].grafana_http_address,
                                                  'kubectl_ip_address': settings[0].kubectl_ip_address
                                                  })
            '''
            form = VEXGolbalSettingsFrom(instance = settings[0])
        else:
            form = VEXGolbalSettingsFrom()    
        
        context['form'] = form
        return render(request, 'dashboard/global_settings.html', context)
示例#4
0
def benchmark_operation(request):
    context = {'active_menu': 'benchmark_operation'}
    context.update(generate_user_context(request))

    vex_operation_list = VEXPerfTestOperation.objects.filter(
        perf_config__isnull=False)
    context.update({
        'vex_operation_list': vex_operation_list,
    })
    context.update({'grafana_http_address': get_grafana_server})
    logger.debug('perf_op_index context: %s' % (context))

    return render_to_response('dashboard/perf_operation.html', context)
def about(request):
    context = generate_user_context(request)
    return render(request, 'about.html', context)
def homepage(request):
    context = generate_user_context(request)
    return render(request, 'dashboard/homepage.html', context)