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