Перейти к содержанию

JSON RPC

Module description

Scheduler - a subsystem that schedule and manage resources such VMs

Operations

Clear Vcluster definition

Context model: VclusterReqQ

Request data

{
    "context": {
        "op": "vcluster_clear"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Vcluster name

Del Vcluster

Context model: VclusterReqQ

Request data

{
    "context": {
        "op": "vcluster_del"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Vcluster name

Add Vcluster

Context model: VclusterReqQ

Request data

{
    "context": {
        "op": "vcluster_add"
    },
    "data": {
        "name": "<name>",
        "uuids": "<uuids>",
        "descr": "<descr>",
        "labels": "<labels>",
        "rf": "<rf>",
        "isolation_strategy": "<isolation_strategy>",
        "drain_strategy": "<drain_strategy>",
        "ulimits": "<ulimits>",
        "cpu": "<cpu>",
        "ram": "<ram>",
        "vcpu_scaling": "<vcpu_scaling>",
        "vram_scaling": "<vram_scaling>",
        "path_to": "<path_to>"
    }
}

Description

name [ required ] - Vcluster name

uuids [ * ] - List of UUID nodes

descr [ ] - Vcluster Description

labels [ * required ] - {{ no such element: dict object['desc'] }}

rf [ int ] - Replication factor

isolation_strategy [ ] - Isolation node strategy (Default - RECREATE) ['STOP', 'NOTHING', 'RECREATE']

drain_strategy [ ] - Drain node strategy (Default - MIGRATE) ['STOP', 'NOTHING', 'MIGRATE']

ulimits [ ] - Enable user limits (Default - yes) ['yes', 'no']

cpu [ float ] - Vcluster CPU limit

ram [ memstr ] - Vcluster RAM limit

vcpu_scaling [ bool ] - should system reserve 2x vcpu per domain for potential scaling in future

vram_scaling [ bool ] - should system reserve 2x vram per domain for potential scaling in future

path_to [ str ] - Placing an object in the directory structure

Show Vcluster

Context model: VclusterReqQ

Request data

{
    "context": {
        "op": "vcluster_show"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Vcluster name

List Vclusters

Context model: VclusterReqQ

Request data

{
    "context": {
        "op": "vcluster_list"
    }
}

Update Vcluster

Context model: VclusterReqQ

Request data

{
    "context": {
        "op": "vcluster_update"
    },
    "data": {
        "name": "<name>",
        "descr": "<descr>",
        "rf": "<rf>",
        "cpu": "<cpu>",
        "ram": "<ram>",
        "isolation_strategy": "<isolation_strategy>",
        "drain_strategy": "<drain_strategy>",
        "ulimits": "<ulimits>"
    }
}

Description

name [ required ] - Vcluster name

descr [ ] - Vcluster Description

rf [ int ] - Replication factor

cpu [ float ] - Vcluster CPU limit

ram [ memstr ] - Vcluster RAM limit

isolation_strategy [ ] - Isolation node strategy (Default - RECREATE) ['STOP', 'NOTHING', 'RECREATE']

drain_strategy [ ] - Drain node strategy (Default - MIGRATE) ['STOP', 'NOTHING', 'MIGRATE']

ulimits [ ] - Enable user limits (Default - yes) ['yes', 'no']

Add Vcluster nodes

Context model: VclusterReqQ

Request data

{
    "context": {
        "op": "vcluster_nodes_add"
    },
    "data": {
        "name": "<name>",
        "uuids": "<uuids>"
    }
}

Description

name [ required ] - Vcluster name

uuids [ * required ] - List of UUID nodes

List Vcluster nodes

Context model: VclusterReqQ

Request data

{
    "context": {
        "op": "vcluster_nodes_list"
    },
    "data": {
        "name": "<name>"
    }
}

Description

name [ required ] - Vcluster name

Del Vcluster nodes

Context model: VclusterReqQ

Request data

{
    "context": {
        "op": "vcluster_nodes_del"
    },
    "data": {
        "name": "<name>",
        "uuids": "<uuids>"
    }
}

Description

name [ required ] - Vcluster name

uuids [ * required ] - List of UUID nodes

Delete User Scheduler params

Context model: UserParams

Request data

{
    "context": {
        "op": "user_param_del"
    },
    "data": {
        "vcluster": "<vcluster>",
        "login": "<login>"
    }
}

Description

vcluster [ required ] - Vcluster name

login [ required ] - User Login

Add User Scheduler params

Context model: UserParams

Request data

{
    "context": {
        "op": "user_param_add"
    },
    "data": {
        "vcluster": "<vcluster>",
        "login": "<login>",
        "rf": "<rf>",
        "isolation_strategy": "<isolation_strategy>",
        "drain_strategy": "<drain_strategy>",
        "cpu": "<cpu>",
        "ram": "<ram>"
    }
}

Description

vcluster [ required ] - Vcluster name

login [ required ] - User Login

rf [ int ] - Replication factor

isolation_strategy [ ] - Isolation node strategy (Default - NOTHING) ['STOP', 'NOTHING', 'RECREATE']

drain_strategy [ ] - Drain node strategy (Default - NOTHING) ['STOP', 'NOTHING', 'MIGRATE']

cpu [ float ] - User CPU limit

ram [ memstr ] - User RAM limit

List User Scheduler params

Context model: UserParams

Request data

{
    "context": {
        "op": "user_param_list"
    },
    "data": {
        "vcluster": "<vcluster>"
    }
}

Description

vcluster [ required ] - Vcluster name

Show User Scheduler params

Context model: UserParams

Request data

{
    "context": {
        "op": "user_param_show"
    },
    "data": {
        "vcluster": "<vcluster>"
    }
}

Description

vcluster [ required ] - Vcluster name

Show User Scheduler params for admin

Context model: UserParams

Request data

{
    "context": {
        "op": "user_param_admin"
    },
    "data": {
        "vcluster": "<vcluster>",
        "login": "<login>"
    }
}

Description

vcluster [ required ] - Vcluster name

login [ str required ] - User Login

Update User Scheduler params

Context model: UserParams

Request data

{
    "context": {
        "op": "user_param_update"
    },
    "data": {
        "vcluster": "<vcluster>",
        "login": "<login>",
        "rf": "<rf>",
        "isolation_strategy": "<isolation_strategy>",
        "drain_strategy": "<drain_strategy>",
        "cpu": "<cpu>",
        "ram": "<ram>"
    }
}

Description

vcluster [ required ] - Vcluster name

login [ required ] - User Login

rf [ int ] - Replication factor

isolation_strategy [ ] - Isolation node strategy (Default - NOTHING) ['STOP', 'NOTHING', 'RECREATE']

drain_strategy [ ] - Drain node strategy (Default - NOTHING) ['STOP', 'NOTHING', 'MIGRATE']

cpu [ float ] - User CPU limit

ram [ memstr ] - User RAM limit

Clear Scheduler request

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_clear"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>"
    }
}

Description

vcluster [ required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ required ] - Resource name

Add Scheduler request

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_add"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>",
        "descr": "<descr>",
        "labels": "<labels>",
        "template": "<template>",
        "data": "<data>"
    }
}

Description

vcluster [ str required ] - vcluster

kind [ str ] - kind

name [ str required ] - name

descr [ str ] - descr

labels [ str ] - labels

template [ str ] - template

data [ str ] - data

Update Scheduler request without re-creation vm

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_update"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>",
        "descr": "<descr>",
        "labels": "<labels>",
        "data": "<data>"
    }
}

Description

vcluster [ required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ required ] - Resource name

descr [ ] - Vcluster Description

labels [ ] - {{ no such element: dict object['desc'] }}

data [ jsonstr required ] - Specs definition

Show Scheduler request

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_show"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>",
        "show_uuid": "<show_uuid>",
        "metrics": "<metrics>"
    }
}

Description

vcluster [ required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ required ] - Resource name

show_uuid [ ] - show object uuid

metrics [ ] - Get metrics VM ['yes', 'no']

List Scheduler requests

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_list"
    },
    "data": {
        "vcluster": "<vcluster>"
    }
}

Description

vcluster [ required ] - Vcluster name

Change Scheduler request state

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_state"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>",
        "vms": "<vms>",
        "state": "<state>"
    }
}

Description

vcluster [ required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ required ] - Resource name

vms [ * ] - List of VMs

state [ required ] - Scheduler request state ['START', 'STOP', 'REBOOT', 'SUSPEND', 'RESUME']

Migrate Scheduler request

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_migrate"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>",
        "node": "<node>",
        "mode": "<mode>"
    }
}

Description

vcluster [ required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ required ] - Resource name

node [ required ] - Destination host

mode [ required ] - Migration mode ['live', 'offline']

Del Scheduler request

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_del"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>",
        "backup": "<backup>"
    }
}

Description

vcluster [ required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ required ] - Resource name

backup [ ] - Create snapshot(delete_after=1d) VMs before delete (if enough space). Default - yes ['yes', 'no']

Scheduler request status

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_status"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>"
    }
}

Description

vcluster [ required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ str ] - Request name

Requests VNC connection credentials to specified VM

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_vnc"
    },
    "data": {
        "vcluster": "<vcluster>",
        "name": "<name>",
        "vm_name": "<vm_name>",
        "timeout": "<timeout>",
        "idle_timeout": "<idle_timeout>",
        "hb": "<hb>"
    }
}

Description

vcluster [ required ] - Vcluster name

name [ required ] - Resource name

vm_name [ required ] - VM name

timeout [ int ] - wait sec to kill VNC proxy before connect

idle_timeout [ int ] - wait sec before killing VNC proxy after disconnect

hb [ int ] - VNC proxy heartbeat sec

Add CIPF label to VM

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_cips_label_add"
    },
    "data": {
        "vcluster": "<vcluster>",
        "name": "<name>"
    }
}

Description

vcluster [ required ] - Vcluster name

name [ required ] - Resource name

Remove CIPF label from VM

Context model: RequestsQ

Request data

{
    "context": {
        "op": "request_cips_label_del"
    },
    "data": {
        "vcluster": "<vcluster>",
        "name": "<name>"
    }
}

Description

vcluster [ required ] - Vcluster name

name [ required ] - Resource name

View available RAM and CPU resources for Namespace

Request data

{
    "context": {
        "op": "vcluster_resource_show"
    }
}

Add snapshot request

Context model: SnapshotsQ

Request data

{
    "context": {
        "op": "request_snapshot_add"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>",
        "snapshot_name": "<snapshot_name>",
        "vms": "<vms>",
        "descr": "<descr>"
    }
}

Description

vcluster [ str required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ str required ] - Resource name

snapshot_name [ str required ] - Snapshot name

vms [ * ] - List of VMs

descr [ str ] - Snapshot description

Snapshot del

Context model: SnapshotsQ

Request data

{
    "context": {
        "op": "request_snapshot_del"
    },
    "data": {
        "name": "<name>",
        "kind": "<kind>",
        "vcluster": "<vcluster>",
        "uuid": "<uuid>"
    }
}

Description

name [ str required ] - Resource name

kind [ ] - Requets type (Default - vm) ['vm']

vcluster [ str required ] - Vcluster name

uuid [ required ] - Snapshot UUID

Snapshot clear

Context model: SnapshotsQ

Request data

{
    "context": {
        "op": "request_snapshot_clear"
    },
    "data": {
        "name": "<name>",
        "kind": "<kind>",
        "vcluster": "<vcluster>",
        "uuid": "<uuid>"
    }
}

Description

name [ str required ] - Resource name

kind [ ] - Requets type (Default - vm) ['vm']

vcluster [ str required ] - Vcluster name

uuid [ required ] - Snapshot UUID

Snapshots list

Context model: SnapshotsQ

Request data

{
    "context": {
        "op": "request_snapshot_list"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>"
    }
}

Description

vcluster [ str required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ str required ] - Request name

Snapshot show

Context model: SnapshotsQ

Request data

{
    "context": {
        "op": "request_snapshot_show"
    },
    "data": {
        "name": "<name>",
        "kind": "<kind>",
        "vcluster": "<vcluster>",
        "uuid": "<uuid>"
    }
}

Description

name [ str required ] - Resource name

kind [ ] - Requets type (Default - vm) ['vm']

vcluster [ str required ] - Vcluster name

uuid [ required ] - Snapshot UUID

Scheduler request revert to snapshot

Context model: SnapshotsQ

Request data

{
    "context": {
        "op": "request_snapshot_revert"
    },
    "data": {
        "vcluster": "<vcluster>",
        "kind": "<kind>",
        "name": "<name>",
        "uuid": "<uuid>",
        "vms": "<vms>"
    }
}

Description

vcluster [ str required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ str required ] - Resource name

uuid [ required ] - Snapshot UUID

vms [ * ] - List of VMs

Create new labels in cluster

Request data

{
    "context": {
        "op": "labels_add"
    },
    "data": {
        "labels": "<labels>",
        "nodes": "<nodes>",
        "taints": "<taints>",
        "descr": "<descr>"
    }
}

Description

labels [ str * required ] - list of labels to add

nodes [ str * required ] - list of nodes (or *) to assign labels to

taints [ str ] - taint labels as NoSchedule (y/n)

descr [ str ] - label description

Assign labels to cluster nodes

Request data

{
    "context": {
        "op": "labels_assign"
    },
    "data": {
        "labels": "<labels>",
        "nodes": "<nodes>"
    }
}

Description

labels [ str * required ] - list of labels to assign

nodes [ str * required ] - list of nodes (or *) to assign labels to

Delete cluster labels

Request data

{
    "context": {
        "op": "labels_del"
    },
    "data": {
        "labels": "<labels>"
    }
}

Description

labels [ str * required ] - list of labels to delete

Delegate cluster labels to namespaces

Request data

{
    "context": {
        "op": "labels_delegate_ns"
    },
    "data": {
        "ns": "<ns>",
        "labels": "<labels>"
    }
}

Description

ns [ str * required ] - list of namespaces (or *)

labels [ str * required ] - list of labels to delegate

Add namespace labels to vclusters

Request data

{
    "context": {
        "op": "labels_vcluster_add"
    },
    "data": {
        "vcluster": "<vcluster>",
        "labels": "<labels>"
    }
}

Description

vcluster [ str * required ] - list of vclusters (or *)

labels [ str * required ] - list of labels to add

Delete labels from vcluster

Request data

{
    "context": {
        "op": "labels_vcluster_del"
    },
    "data": {
        "vcluster": "<vcluster>",
        "labels": "<labels>"
    }
}

Description

vcluster [ str * required ] - list of vclusters (or *)

labels [ str * required ] - list of labels to del

Show labels by groups where they can be used together

Request data

{
    "context": {
        "op": "labels_vcluster_sharing"
    },
    "data": {
        "vcluster": "<vcluster>"
    }
}

Description

vcluster [ str required ] - vcluster

Mark labels as ignored, either globally or in certain namespaces

Request data

{
    "context": {
        "op": "labels_ignore"
    },
    "data": {
        "labels": "<labels>",
        "ns": "<ns>"
    }
}

Description

labels [ str * required ] - list of labels to ignore

ns [ str * ] - list of namespaces (or *) to ignore labels in (will ignore provided labels only in these namespaces)

Mark labels as unignored

Request data

{
    "context": {
        "op": "labels_unignore"
    },
    "data": {
        "labels": "<labels>",
        "ns": "<ns>"
    }
}

Description

labels [ str * required ] - list of labels to unignore

ns [ str * ] - list of namespaces (or *) to unignore labels in

List all cluster labels

Request data

{
    "context": {
        "op": "labels_list"
    },
    "data": {
        "nodes": "<nodes>",
        "filter": "<filter>"
    }
}

Description

nodes [ str * ] - nodes to list (or *)

filter [ str ] - labels filter: a - all, i - ignored, u - unignored

Lists nodes by labels

Request data

{
    "context": {
        "op": "labels_nodes_list"
    },
    "data": {
        "labels": "<labels>",
        "strict": "<strict>",
        "silent": "<silent>"
    }
}

Description

labels [ str * required ] - List of labels to search nodes by

strict [ str ] - list nodes that have full set of given labels y/n

silent [ str ] - silence non-existent labels errors y/n

Show namespaces with their labels

Request data

{
    "context": {
        "op": "labels_ns_show"
    },
    "data": {
        "ns": "<ns>",
        "filter": "<filter>"
    }
}

Description

ns [ str * ] - List of namespaces (or *)

filter [ str ] - labels filter: a - all, i - ignored, u - unignored

Show current namespace vclusters with their labels

Request data

{
    "context": {
        "op": "labels_vcluster_show"
    },
    "data": {
        "vcluster": "<vcluster>",
        "filter": "<filter>"
    }
}

Description

vcluster [ str * required ] - List of vclusters (or *)

filter [ str ] - labels filter: a - all, i - ignored, u - unignored

List labels with namespaces they're delegated to

Request data

{
    "context": {
        "op": "labels_ns_list"
    },
    "data": {
        "ns": "<ns>",
        "filter": "<filter>"
    }
}

Description

ns [ str * ] - list of namespaces (or *)

filter [ str ] - labels filter: a - all, i - ignored, u - unignored

List labels with current namespace vclusters

Request data

{
    "context": {
        "op": "labels_vcluster_list"
    },
    "data": {
        "vcluster": "<vcluster>",
        "filter": "<filter>"
    }
}

Description

vcluster [ str * ] - list of vclusters (or *)

filter [ str ] - labels filter: a - all, i - ignored, u - unignored

Mark cluster nodes as drain

Request data

{
    "context": {
        "op": "drain_add"
    },
    "data": {
        "nodes": "<nodes>"
    }
}

Description

nodes [ str * required ] - list of nodes (or *)

Remove drain from nodes

Request data

{
    "context": {
        "op": "drain_del"
    },
    "data": {
        "nodes": "<nodes>"
    }
}

Description

nodes [ str * required ] - list of nodes (or *)

Taint labels

Request data

{
    "context": {
        "op": "labels_taints_add"
    },
    "data": {
        "labels": "<labels>"
    }
}

Description

labels [ str * required ] - list of labels to taint

Remove taint from labels

Request data

{
    "context": {
        "op": "labels_taints_del"
    },
    "data": {
        "labels": "<labels>"
    }
}

Description

labels [ str * required ] - list of labels to remove taint from

vm_template_add

Request data

{
    "context": {
        "op": "vm_template_add"
    },
    "data": {
        "name": "<name>",
        "descr": "<descr>",
        "vcpu": "<vcpu>",
        "vram": "<vram>",
        "storage": "<storage>",
        "labels": "<labels>",
        "ip_addresses": "<ip_addresses>",
        "cpu_overcommit_ratio": "<cpu_overcommit_ratio>",
        "overcommit_tolerance": "<overcommit_tolerance>",
        "networks": "<networks>",
        "inbounds": "<inbounds>",
        "outbounds": "<outbounds>",
        "nodeSelector": "<nodeSelector>",
        "affinity": "<affinity>"
    }
}

Description

name [ str required ] - name

descr [ str ] - descr

vcpu [ int required ] - vcpu

vram [ str required ] - vram

storage [ jsonstr required ] - storage

labels [ str ] - labels

ip_addresses [ jsonstr ] - ip_addresses

cpu_overcommit_ratio [ int ] - cpu_overcommit_ratio

overcommit_tolerance [ int ] - overcommit_tolerance

networks [ jsonstr ] - networks

inbounds [ jsonstr ] - inbounds

outbounds [ jsonstr ] - outbounds

nodeSelector [ jsonstr required ] - nodeSelector

affinity [ jsonstr ] - affinity

vm_template_update

Request data

{
    "context": {
        "op": "vm_template_update"
    },
    "data": {
        "name": "<name>",
        "descr": "<descr>",
        "vcpu": "<vcpu>",
        "vram": "<vram>",
        "storage": "<storage>",
        "labels": "<labels>",
        "ip_addresses": "<ip_addresses>",
        "cpu_overcommit_ratio": "<cpu_overcommit_ratio>",
        "overcommit_tolerance": "<overcommit_tolerance>",
        "networks": "<networks>",
        "inbounds": "<inbounds>",
        "outbounds": "<outbounds>",
        "nodeSelector": "<nodeSelector>",
        "affinity": "<affinity>",
        "uuid": "<uuid>"
    }
}

Description

name [ str ] - name

descr [ str ] - descr

vcpu [ int ] - vcpu

vram [ str ] - vram

storage [ jsonstr ] - storage

labels [ str ] - labels

ip_addresses [ jsonstr ] - ip_addresses

cpu_overcommit_ratio [ int ] - cpu_overcommit_ratio

overcommit_tolerance [ int ] - overcommit_tolerance

networks [ jsonstr ] - networks

inbounds [ jsonstr ] - inbounds

outbounds [ jsonstr ] - outbounds

nodeSelector [ jsonstr ] - nodeSelector

affinity [ jsonstr ] - affinity

uuid [ str required ] - uuid

vm_template_del

Request data

{
    "context": {
        "op": "vm_template_del"
    },
    "data": {
        "uuid": "<uuid>"
    }
}

Description

uuid [ str required ] - uuid

vm_template_show

Request data

{
    "context": {
        "op": "vm_template_show"
    },
    "data": {
        "uuid": "<uuid>"
    }
}

Description

uuid [ str required ] - uuid

vm_template_list

Request data

{
    "context": {
        "op": "vm_template_list"
    }
}

vm_template_from

Request data

{
    "context": {
        "op": "vm_template_from"
    },
    "data": {
        "vm_uuid": "<vm_uuid>"
    }
}

Description

vm_uuid [ str required ] - vm_uuid

Return info about ifaces in selected vcluster or request

Request data

{
    "context": {
        "op": "report_iface"
    },
    "data": {
        "request": "<request>",
        "vcluster": "<vcluster>"
    }
}

Description

request [ str ] - request

vcluster [ str ] - vcluster

Report on cluster nodes memory usage

Request data

{
    "context": {
        "op": "report_mem"
    }
}

Models

VclusterReqQ

name [ required ] - Vcluster name

uuids [ * required ] - List of UUID nodes

descr [ ] - Vcluster Description

taints [ ] - {{ no such element: dict object['desc'] }}

labels [ * required ] - {{ no such element: dict object['desc'] }}

rf [ int ] - Replication factor

isolation_strategy [ ] - Isolation node strategy (Default - RECREATE) ['STOP', 'NOTHING', 'RECREATE']

drain_strategy [ ] - Drain node strategy (Default - MIGRATE) ['STOP', 'NOTHING', 'MIGRATE']

ulimits [ ] - Enable user limits (Default - yes) ['yes', 'no']

cpu [ float ] - Vcluster CPU limit

ram [ memstr ] - Vcluster RAM limit

UserParams

vcluster [ required ] - Vcluster name

login [ required ] - User Login

rf [ int ] - Replication factor

isolation_strategy [ ] - Isolation node strategy (Default - NOTHING) ['STOP', 'NOTHING', 'RECREATE']

drain_strategy [ ] - Drain node strategy (Default - NOTHING) ['STOP', 'NOTHING', 'MIGRATE']

cpu [ float ] - User CPU limit

ram [ memstr ] - User RAM limit

RequestsQ

vcluster [ required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ required ] - Resource name

descr [ ] - Vcluster Description

labels [ ] - {{ no such element: dict object['desc'] }}

data [ jsonstr required ] - Specs definition

SnapshotsQ

uuid [ required ] - Snapshot UUID

vcluster [ str required ] - Vcluster name

kind [ ] - Requets type (Default - vm) ['vm']

name [ str required ] - Resource name

snapshot_name [ str required ] - Snapshot name

vms [ * ] - List of VMs

descr [ str ] - Snapshot description