Ejemplo n.º 1
0
def secrets(request, compute_id):
    """
    :param request:
    :return:
    """

    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse('index'))

    if not request.user.is_superuser:
        return HttpResponseRedirect(reverse('index'))

    secrets_all = []
    error_messages = []
    compute = get_object_or_404(Compute, pk=compute_id)

    try:
        conn = wvmSecrets(compute.hostname,
                          compute.login,
                          compute.password,
                          compute.type)
        secrets = conn.get_secrets()
        for uuid in secrets:
            secrt = conn.get_secret(uuid)
            try:
                secret_value = conn.get_secret_value(uuid)
            except libvirtError as lib_err:
                secret_value = None
            secrets_all.append({'usage': secrt.usageID(),
                                'uuid': secrt.UUIDString(),
                                'usageType': secrt.usageType(),
                                'value': secret_value
                                })
        if request.method == 'POST':
            if 'create' in request.POST:
                form = AddSecret(request.POST)
                if form.is_valid():
                    data = form.cleaned_data
                    conn.create_secret(data['ephemeral'], data['private'], data['usage_type'], data['data'])
                    return HttpResponseRedirect(request.get_full_path())
                else:
                    for msg_err in form.errors.values():
                        error_messages.append(msg_err.as_text())
            if 'delete' in request.POST:
                uuid = request.POST.get('uuid', '')
                conn.delete_secret(uuid)
                return HttpResponseRedirect(request.get_full_path())
            if 'set_value' in request.POST:
                uuid = request.POST.get('uuid', '')
                value = request.POST.get('value', '')
                conn.set_secret_value(uuid, value)
                return HttpResponseRedirect(request.get_full_path())
    except libvirtError as err:
        error_messages.append(err)

    return render(request, 'secrets.html', locals())
Ejemplo n.º 2
0
def secrets(request, compute_id):
    """
    :param request:
    :return:
    """

    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse("index"))

    if not request.user.is_superuser:
        return HttpResponseRedirect(reverse("index"))

    secrets_all = []
    error_messages = []
    compute = get_object_or_404(Compute, pk=compute_id)

    try:
        conn = wvmSecrets(compute.hostname, compute.login, compute.password, compute.type)
        secrets = conn.get_secrets()
        for uuid in secrets:
            secrt = conn.get_secret(uuid)
            try:
                secret_value = conn.get_secret_value(uuid)
            except libvirtError as lib_err:
                secret_value = None
            secrets_all.append(
                {
                    "usage": secrt.usageID(),
                    "uuid": secrt.UUIDString(),
                    "usageType": secrt.usageType(),
                    "value": secret_value,
                }
            )
        if request.method == "POST":
            if "create" in request.POST:
                form = AddSecret(request.POST)
                if form.is_valid():
                    data = form.cleaned_data
                    conn.create_secret(data["ephemeral"], data["private"], data["usage_type"], data["data"])
                    return HttpResponseRedirect(request.get_full_path())
                else:
                    for msg_err in form.errors.values():
                        error_messages.append(msg_err.as_text())
            if "delete" in request.POST:
                uuid = request.POST.get("uuid", "")
                conn.delete_secret(uuid)
                return HttpResponseRedirect(request.get_full_path())
            if "set_value" in request.POST:
                uuid = request.POST.get("uuid", "")
                value = request.POST.get("value", "")
                conn.set_secret_value(uuid, value)
                return HttpResponseRedirect(request.get_full_path())
    except libvirtError as err:
        error_messages.append(err)

    return render(request, "secrets.html", locals())
Ejemplo n.º 3
0
def secrets(request, host_id):
    """
    Networks block
    """
    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse('login'))

    if not request.user.is_staff:
        raise PermissionDenied

    errors = []
    secrets_all = []
    compute = Compute.objects.get(id=host_id)

    try:
        conn = wvmSecrets(compute.hostname, compute.login, compute.password,
                          compute.type, compute.hypervisor)
        secrets = conn.get_secrets()
        for uuid in secrets:
            secrt = conn.get_secret(uuid)
            try:
                secret_value = conn.get_secret_value(uuid)
            except:
                secret_value = ''
            secrets_all.append({
                'usage': secrt.usageID(),
                'uuid': secrt.UUIDString(),
                'usageType': secrt.usageType(),
                'value': secret_value
            })
        if request.method == 'POST':
            if 'create' in request.POST:
                form = AddSecret(request.POST)
                if form.is_valid():
                    data = form.cleaned_data
                    conn.create_secret(data['ephemeral'], data['private'],
                                       data['usage_type'], data['data'])
                    return HttpResponseRedirect(request.get_full_path())
            if 'delete' in request.POST:
                uuid = request.POST.get('uuid', '')
                conn.delete_secret(uuid)
                return HttpResponseRedirect(request.get_full_path())
            if 'set_value' in request.POST:
                uuid = request.POST.get('uuid', '')
                value = request.POST.get('value', '')
                conn.set_secret_value(uuid, value)
                return HttpResponseRedirect(request.get_full_path())
    except libvirtError as err:
        errors.append(err)

    return render_to_response('secrets.html',
                              locals(),
                              context_instance=RequestContext(request))
Ejemplo n.º 4
0
def secrets(request, compute_id):
    """
    :param request:
    :return:
    """

    if not request.user.is_superuser:
        return HttpResponseRedirect(reverse('index'))

    secrets_all = []
    error_messages = []
    compute = get_object_or_404(Compute, pk=compute_id)

    try:
        conn = wvmSecrets(compute.hostname,
                          compute.login,
                          compute.password,
                          compute.type)
        secrets = conn.get_secrets()
        for uuid in secrets:
            secrt = conn.get_secret(uuid)
            try:
                secret_value = conn.get_secret_value(uuid)
            except libvirtError as lib_err:
                secret_value = None
            secrets_all.append({'usage': secrt.usageID(),
                                'uuid': secrt.UUIDString(),
                                'usageType': secrt.usageType(),
                                'value': secret_value
                                })
        if request.method == 'POST':
            if 'create' in request.POST:
                form = AddSecret(request.POST)
                if form.is_valid():
                    data = form.cleaned_data
                    conn.create_secret(data['ephemeral'], data['private'], data['usage_type'], data['data'])
                    return HttpResponseRedirect(request.get_full_path())
                else:
                    for msg_err in form.errors.values():
                        error_messages.append(msg_err.as_text())
            if 'delete' in request.POST:
                uuid = request.POST.get('uuid', '')
                conn.delete_secret(uuid)
                return HttpResponseRedirect(request.get_full_path())
            if 'set_value' in request.POST:
                uuid = request.POST.get('uuid', '')
                value = request.POST.get('value', '')
                conn.set_secret_value(uuid, value)
                return HttpResponseRedirect(request.get_full_path())
    except libvirtError as err:
        error_messages.append(err)

    return render(request, 'secrets.html', locals())
Ejemplo n.º 5
0
def secrets(request, host_id):
    """
    Networks block
    """
    if not request.user.is_authenticated():
        return HttpResponseRedirect(reverse('login'))

    if not request.user.is_staff:
        raise PermissionDenied

    errors = []
    secrets_all = []
    compute = Compute.objects.get(id=host_id)

    try:
        conn = wvmSecrets(compute.hostname,
                          compute.login,
                          compute.password,
                          compute.type,
                          compute.hypervisor)
        secrets = conn.get_secrets()
        for uuid in secrets:
            secrt = conn.get_secret(uuid)
            try:
                secret_value = conn.get_secret_value(uuid)
            except:
                secret_value = ''
            secrets_all.append({'usage': secrt.usageID(),
                                'uuid': secrt.UUIDString(),
                                'usageType': secrt.usageType(),
                                'value': secret_value
                                })
        if request.method == 'POST':
            if 'create' in request.POST:
                form = AddSecret(request.POST)
                if form.is_valid():
                    data = form.cleaned_data
                    conn.create_secret(data['ephemeral'], data['private'], data['usage_type'], data['data'])
                    return HttpResponseRedirect(request.get_full_path())
            if 'delete' in request.POST:
                uuid = request.POST.get('uuid', '')
                conn.delete_secret(uuid)
                return HttpResponseRedirect(request.get_full_path())
            if 'set_value' in request.POST:
                uuid = request.POST.get('uuid', '')
                value = request.POST.get('value', '')
                conn.set_secret_value(uuid, value)
                return HttpResponseRedirect(request.get_full_path())
    except libvirtError as err:
        errors.append(err)

    return render_to_response('secrets.html', locals(), context_instance=RequestContext(request))
Ejemplo n.º 6
0
def secrets(request, compute_id):
    """
    :param request:
    :param compute_id:
    :return:
    """

    secrets_all = []
    compute = get_object_or_404(Compute, pk=compute_id)
    secret_usage_types = {
        VIR_SECRET_USAGE_TYPE_NONE: "none",
        VIR_SECRET_USAGE_TYPE_VOLUME: "volume",
        VIR_SECRET_USAGE_TYPE_CEPH: "ceph",
        VIR_SECRET_USAGE_TYPE_ISCSI: "iscsi",
        VIR_SECRET_USAGE_TYPE_TLS: "tls",
    }

    try:
        conn = wvmSecrets(compute.hostname, compute.login, compute.password, compute.type)
        secrets = conn.get_secrets()

        for uuid in secrets:
            secrt = conn.get_secret(uuid)
            try:
                secrt_value = conn.get_secret_value(uuid)
            except libvirtError as lib_err:
                secrt_value = None
            secrets_all.append({
                'usage': secrt.usageID(),
                'uuid': secrt.UUIDString(),
                'usageType': secret_usage_types[secrt.usageType()],
                'value': secrt_value
            })
        if request.method == 'POST':
            if 'create' in request.POST:
                form = AddSecret(request.POST)
                if form.is_valid():
                    data = form.cleaned_data
                    conn.create_secret(
                        data['ephemeral'],
                        data['private'],
                        data['usage_type'],
                        data['data'],
                    )
                    return HttpResponseRedirect(request.get_full_path())
                else:
                    for msg_err in form.errors.values():
                        messages.error(request, msg_err.as_text())
            if 'delete' in request.POST:
                uuid = request.POST.get('uuid', '')
                conn.delete_secret(uuid)
                return HttpResponseRedirect(request.get_full_path())
            if 'set_value' in request.POST:
                uuid = request.POST.get('uuid', '')
                value = request.POST.get('value', '')
                try:
                    conn.set_secret_value(uuid, value)
                except Exception as err:
                    messages.error(request, err)
                return HttpResponseRedirect(request.get_full_path())
    except libvirtError as err:
        messages.error(request, err)

    return render(request, 'secrets.html', locals())