<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>Hi All,<br>
</p>
<p>Currently on x86 or ppc, console type does not need to be passed
from API and hence we do not have API to specify type of console
in VM(s)/ template(s).</p>
<p>On s390x architecture, two type of console sclp or virtio are
supported. And hence we need to update VM(s)/template(s) API to
have attribute to get and modify type of console.</p>
<p> console (s390x only): Specify the console parameter.<br>
type: sclp/virtio.<br>
If not provided, default sclp.</p>
<p><br>
</p>
<p>Below are the list of current API and proposed API which need to
have addition parameter 'console' and its type:<br>
</p>
<p>1) GET list of VMs and its attribute and Create VM.<br>
<br>
<b>Current:</b><br>
<br>
Collection: Virtual Machines<br>
<br>
URI: /plugins/kimchi/vms<br>
<br>
Methods:<br>
<br>
GET: Retrieve a summarized list of all defined Virtual
Machines<br>
POST: Create a new Virtual Machine<br>
name (optional): The name of the VM. Used to identify the
VM in this API. If omitted, a name will be chosen based on the
template used.<br>
persistent: If 'true', vm will persist after a Power Off
or host reboot. All virtual machines created by Kimchi are
persistent.<br>
template: The URI of a Template to use when building the
VM<br>
storagepool (optional): Assign a specific Storage Pool to
the new VM<br>
graphics (optional): Specify the graphics parameter for
this vm<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol
for Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens
on.<br>
description: VM description<br>
title: VM title<br>
<br>
<b>Proposed:</b><br>
<br>
Collection: Virtual Machines<br>
<br>
URI: /plugins/kimchi/vms<br>
<br>
Methods:<br>
<br>
GET: Retrieve a summarized list of all defined Virtual
Machines<br>
POST: Create a new Virtual Machine<br>
name (optional): The name of the VM. Used to identify the
VM in this API. If omitted, a name will be chosen based on the
template used.<br>
persistent: If 'true', vm will persist after a Power Off
or host reboot. All virtual machines created by Kimchi are
persistent.<br>
template: The URI of a Template to use when building the
VM<br>
storagepool (optional): Assign a specific Storage Pool to
the new VM<br>
graphics (optional): Specify the graphics paramenter for
this vm<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol
for Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens
on.<br>
<b> console (s390x only): Specify the console parameter for
this vm.</b><b><br>
</b><b> type: sclp/virtio.</b><b><br>
</b><b> If not provided, default sclp.</b><br>
description: VM description<br>
title: VM title<br>
</p>
<p><br>
2) GET details of a VM.</p>
<p><b>Current:</b><br>
<br>
Resource: Virtual Machine<br>
<br>
URI: /plugins/kimchi/vms/:name<br>
<br>
Methods:<br>
<br>
GET: Retrieve the full description of a Virtual Machine<br>
name: The name of the VM. Used to identify the VM in this
API<br>
state: Indicates the current state in the VM lifecycle<br>
running: The VM is powered on<br>
paused: The VMs virtual CPUs are paused<br>
shutoff: The VM is powered off<br>
stats: Virtual machine statistics:<br>
cpu_utilization: A number between 0 and 100 which
indicates the percentage of CPU utilization.<br>
mem_utilization: A number between 0 and 100 which
indicates the percentage of memory utilization.<br>
net_throughput: Expresses total network throughput for
reads and writes across all virtual interfaces (kb/s).<br>
net_throughput_peak: The highest recent value of
'net_throughput'.<br>
io_throughput: Expresses the total IO throughput for
reads and writes across all virtual disks (kb/s).<br>
io_throughput_peak: The highest recent value of
'io_throughput'.<br>
uuid: UUID of the VM.<br>
memory: The memory parameters of the VM in the unit of
MiB.<br>
current: The amount of memory that is assigned to the
VM.<br>
maxmemory: The maximum total of memory that the VM can
have. Amount over current will be used exclusively for memory
hotplug<br>
cpu_info: CPU-specific information.<br>
vcpus: The number of CPUs assigned to the VM<br>
maxvcpus: The maximum number of CPUs that can be
assigned to the VM<br>
topology: Processor topology, includes:<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
screenshot: A link to a recent capture of the screen in
PNG format<br>
icon: A link to an icon that represents the VM<br>
graphics: A dict to show detail of VM graphics.<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol
for Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens
on.<br>
port: The real port number of the graphics, vnc or
spice. Users can use this port to connect to the vm with general
vnc/spice clients.<br>
passwd: console password<br>
passwdValidTo: lifetime for the console password.<br>
users: A list of system users who have permission to
access the VM. Default is: empty (i.e. only root-users may
access).<br>
groups: A list of system groups whose users have
permission to access the VM. Default is: empty (i.e. no groups
given access).<br>
bootorder: list of devices in boot order<br>
description: VM description<br>
title: VM title<br>
<br>
<b>Proposed:</b><br>
<br>
Resource: Virtual Machine<br>
<br>
URI: /plugins/kimchi/vms/:name<br>
<br>
Methods:<br>
<br>
GET: Retrieve the full description of a Virtual Machine<br>
name: The name of the VM. Used to identify the VM in this
API<br>
state: Indicates the current state in the VM lifecycle<br>
running: The VM is powered on<br>
paused: The VMs virtual CPUs are paused<br>
shutoff: The VM is powered off<br>
stats: Virtual machine statistics:<br>
cpu_utilization: A number between 0 and 100 which
indicates the percentage of CPU utilization.<br>
mem_utilization: A number between 0 and 100 which
indicates the percentage of memory utilization.<br>
net_throughput: Expresses total network throughput for
reads and writes across all virtual interfaces (kb/s).<br>
net_throughput_peak: The highest recent value of
'net_throughput'.<br>
io_throughput: Expresses the total IO throughput for
reads and writes across all virtual disks (kb/s).<br>
io_throughput_peak: The highest recent value of
'io_throughput'.<br>
uuid: UUID of the VM.<br>
memory: The memory parameters of the VM in the unit of
MiB.<br>
current: The amount of memory that is assigned to the
VM.<br>
maxmemory: The maximum total of memory that the VM can
have. Amount over current will be used exclusively for memory
hotplug<br>
cpu_info: CPU-specific information.<br>
vcpus: The number of CPUs assigned to the VM<br>
maxvcpus: The maximum number of CPUs that can be
assigned to the VM<br>
topology: Processor topology, includes:<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
screenshot: A link to a recent capture of the screen in
PNG format<br>
icon: A link to an icon that represents the VM<br>
graphics: A dict to show detail of VM graphics.<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol
for Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens
on.<br>
port: The real port number of the graphics, vnc or
spice. Users can use this port to connect to the vm with general
vnc/spice clients.<br>
passwd: console password<br>
passwdValidTo: lifetime for the console password.<br>
<b> console (s390x only, optional): Specify the console
parameter for this vm.</b><b><br>
</b><b> type: sclp/virtio.</b><b><br>
</b><b> If not provided, default sclp.</b><br>
users: A list of system users who have permission to
access the VM. Default is: empty (i.e. only root-users may
access).<br>
groups: A list of system groups whose users have
permission to access the VM. Default is: empty (i.e. no groups
given access).<br>
bootorder: list of devices in boot order<br>
description: VM description<br>
title: VM title<br>
</p>
<p>3) Update a VM details<br>
<br>
<b>Current:</b></p>
<p>Resource: Virtual Machine<br>
<br>
URI: /plugins/kimchi/vms/:name</p>
<p>Method: <br>
</p>
<p> PUT: update the parameters of existing VM<br>
<br>
name: New name for this VM (only applied for shutoff VM)<br>
users: New list of system users.<br>
groups: New list of system groups.<br>
memory: New memory parameters of the VM in the unit of MiB.
Provide one or both.<br>
current: New amount of memory that will be assigned to the
VM.<br>
maxmemory: New maximum total of memory that the VM can
have.<br>
graphics: A dict to show detail of VM graphics.<br>
passwd (optional): console password. When omitted a random
password willbe generated.<br>
passwdValidTo (optional): lifetime for the console
password. When omitted the password will be valid just for 30
seconds.<br>
type (optional): graphics type. VNC or Spice.<br>
cpu_info (optional): CPU-specific information.<br>
maxvcpus (optional): The maximum number of vCPUs that can
be assigned to the VM. If topology is specified, maxvcpus must be
a product of sockets, cores and threads.<br>
vcpus (optional): The number of vCPUs assigned to the VM.
Default is 1, unless a CPU topology is specified. In that case,
vcpus must be a multiple of a product of cores and threads, and
will default to maxvcpus value.<br>
topology (optional): Specify sockets, threads, and cores
to run the virtual CPU threads on. All three are required.<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
bootorder: guest bootorder, types accepted: hd, cdrom, network
or fd<br>
bootmenu: prompts guest bootmenu. Bool type.<br>
description: VM description<br>
title: VM title<br>
<br>
<b>Proposed:</b><br>
</p>
<p>Resource: Virtual Machine<br>
<br>
URI: /plugins/kimchi/vms/:name</p>
<p>Method:</p>
<p> PUT: update the parameters of existing VM<br>
<br>
name: New name for this VM (only applied for shutoff VM)<br>
users: New list of system users.<br>
groups: New list of system groups.<br>
memory: New memory parameters of the VM in the unit of MiB.
Provide one or both.<br>
current: New amount of memory that will be assigned to the
VM.<br>
maxmemory: New maximum total of memory that the VM can
have.<br>
graphics: A dict to show detail of VM graphics.<br>
passwd (optional): console password. When omitted a random
password willbe generated.<br>
passwdValidTo (optional): lifetime for the console
password. When omitted the password will be valid just for 30
seconds.<br>
type (optional): graphics type. VNC or Spice.<br>
<b> console (s390x only, optional): Specify the console
parameter for this vm.</b><b><br>
</b><b> type: sclp/virtio.</b><b><br>
</b><b> If not provided, default sclp.</b><br>
cpu_info (optional): CPU-specific information.<br>
maxvcpus (optional): The maximum number of vCPUs that can
be assigned to the VM. If topology is specified, maxvcpus must be
a product of sockets, cores and threads.<br>
vcpus (optional): The number of vCPUs assigned to the VM.
Default is 1, unless a CPU topology is specified. In that case,
vcpus must be a multiple of a product of cores and threads, and
will default to maxvcpus value.<br>
topology (optional): Specify sockets, threads, and cores
to run the virtual CPU threads on. All three are required.<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
bootorder: guest bootorder, types accepted: hd, cdrom, network
or fd<br>
bootmenu: prompts guest bootmenu. Bool type.<br>
description: VM description<br>
title: VM title<br>
<br>
</p>
<p>4) Get templates and create a template.<br>
<b><br>
</b><b>Current:</b><br>
<br>
Collection: Templates<br>
<br>
URI: /plugins/kimchi/templates<br>
<br>
Methods:<br>
<br>
GET: Retrieve a summarized list of all defined Templates<br>
POST: Create a new Template<br>
name: The name of the Template. Used to identify the
Template in this API<br>
source_media: dictionary. The type of media to be used in
the installation.<br>
type: the type of the media. Values: 'netboot' and
'disk'.<br>
path: applicable for type = 'disk' only. Indicates the
path of the source media.<br>
os_distro (optional): The operating system distribution<br>
os_version (optional): The version of the operating system
distribution<br>
memory (optional): The memory parameters of the template,
specify one or both. Default values are 1024MiB:<br>
current: The amount of memory that will be assigned to
the VM.<br>
maxmemory: The maximum total of memory that the VM can
have. Amount over current will be used exclusively for memory
hotplug<br>
networks (optional): list of networks will be assigned to
the new VM. Default is '[default]'<br>
disks (optional): An array of requested disks with the
following optional fields (either size or volume must be
specified):<br>
index: The device index<br>
size: The device size in GB<br>
format: Format of the image. Valid formats: qcow,
qcow2, qed, raw, vmdk, vpc<br>
pool: Storage pool information<br>
name: URI of the storagepool where disk will be
created<br>
graphics (optional): The graphics paramenters of this
template<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol
for Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens
on.<br>
cpu_info (optional): CPU-specific information.<br>
maxvcpus (optional): The maximum number of vCPUs that
can be assigned to the VM. If topology is specified, maxvcpus must
be a product of sockets, cores and threads.<br>
vcpus (optional): The number of vCPUs assigned to the
VM. Default is 1, unless a CPU topology is specified. In that
case, vcpus must be a multiple of a product of cores and threads,
and will default to maxvcpus value.<br>
topology (optional): Specify sockets, threads, and
cores to run the virtual CPU threads on. All three are required.<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
<br>
<b>Proposed:</b><br>
<br>
Collection: Templates<br>
<br>
URI: /plugins/kimchi/templates<br>
<br>
Methods:<br>
<br>
GET: Retrieve a summarized list of all defined Templates<br>
POST: Create a new Template<br>
name: The name of the Template. Used to identify the
Template in this API<br>
source_media: dictionary. The type of media to be used in
the installation.<br>
type: the type of the media. Values: 'netboot' and
'disk'.<br>
path: applicable for type = 'disk' only. Indicates the
path of the source media.<br>
os_distro (optional): The operating system distribution<br>
os_version (optional): The version of the operating system
distribution<br>
memory (optional): The memory parameters of the template,
specify one or both. Default values are 1024MiB:<br>
current: The amount of memory that will be assigned to
the VM.<br>
maxmemory: The maximum total of memory that the VM can
have. Amount over current will be used exclusively for memory
hotplug<br>
networks (optional): list of networks will be assigned to
the new VM. Default is '[default]'<br>
disks (optional): An array of requested disks with the
following optional fields (either size or volume must be
specified):<br>
index: The device index<br>
size: The device size in GB<br>
format: Format of the image. Valid formats: qcow,
qcow2, qed, raw, vmdk, vpc<br>
pool: Storage pool information<br>
name: URI of the storagepool where disk will be
created<br>
graphics (optional): The graphics paramenters of this
template<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol
for Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens
on.<br>
<b> console (s390x only, optional): Specify the console
parameter for this template.</b><b><br>
</b><b> type:sclp/virtio.</b><b><br>
</b><b> If not provided, default sclp.</b><br>
cpu_info (optional): CPU-specific information.<br>
maxvcpus (optional): The maximum number of vCPUs that
can be assigned to the VM. If topology is specified, maxvcpus must
be a product of sockets, cores and threads.<br>
vcpus (optional): The number of vCPUs assigned to the
VM. Default is 1, unless a CPU topology is specified. In that
case, vcpus must be a multiple of a product of cores and threads,
and will default to maxvcpus value.<br>
topology (optional): Specify sockets, threads, and
cores to run the virtual CPU threads on. All three are required.<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
<br>
5) Get a template details.<br>
<br>
<b>Current:-</b><br>
<br>
Resource: Template<br>
<br>
URI: /plugins/kimchi/templates/:name<br>
<br>
Methods:<br>
<br>
GET: Retrieve the full description of a Template<br>
name: A name for this template<br>
folder: A virtual path which can be used to organize
Templates in a user interface. The format is an array of path
components.<br>
icon: A URI to a PNG image representing this template<br>
os_distro: The operating system distribution<br>
os_version: The version of the operating system
distribution<br>
memory: The memory parameters of the template, that will
be assigned to the VM in the unit of MiB.<br>
current: The amount of memory that will be assigned to
the VM.<br>
maxmemory: The maximum total of memory that the VM can
have. Amount over current will be used exclusively for memory
hotplug<br>
cdrom: A volume name or URI to an ISO image<br>
storagepool: URI of the storagepool where template
allocates vm storage.<br>
networks (optional): list of networks will be assigned to
the new VM.<br>
interfaces (optional): list of host network interfaces
will be assigned to the new VM. Only applicable for s390x or s390
architecture.<br>
type: Type of host network interface. Type should be
'macvtap' for host network interface (Ethernet, Bond, VLAN) to be
connected as direct MacVTap; or 'ovs' for openvswitch host network
interface to be connected as virtual switch to a VM.<br>
name: The host network interface. It should be the
host network interface (Ethernet, Bond, VLAN) for type 'macvtap'
or host openvswitch bridge interface for type 'ovs'.<br>
mode (optional): Only applicable for interface type
macvtap, to indicates whether packets will be delivered directly
to target device(bridge) or to the external bridge(vepa-capable
bridge).<br>
bridge: If packets have a destination on the host
from which they originated, they are delivered directly to the
target. For direct delivery, both origin and destination devices
need to be in bridge mode. If either the origin or destination is
in vepa mode, VEPA-capable bridge is required.<br>
vepa: All packets are sent to the external bridge.
If packets have a destination on the host from which they
originated, the VEPA-capable bridge will return the packets to the
host.<br>
disks: An array of requested disks with the following
optional fields (either size or volume must be specified):<br>
index: The device index<br>
size: The device size in GB<br>
volume: A volume name that contains the initial disk
contents<br>
format: Format of the image. Valid formats: qcow,
qcow2, qed, raw, vmdk, vpc.<br>
pool: Information about the pool where disk or volume
will be created<br>
name: URI of the storagepool<br>
type: Type of the storagepool (dir, nfs, scsci,
iscsi, etc)<br>
graphics: A dict of graphics paramenters of this template<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol
for Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens
on.<br>
invalid: A dict indicates which paramenters of this
template are invalid.<br>
networks (optional): An array of invalid network
names.<br>
cdrom (optional): An array of invalid cdrom names.<br>
disks (optional): An array of invalid volume names.<br>
storagepools (optional): An array of invalid
storagepool names.<br>
cpu_info: CPU-specific information.<br>
vcpus: The number of CPUs assigned to the VM<br>
maxvcpus: The maximum number of CPUs that can be
assigned to the VM<br>
topology: Processor topology, includes:<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
<br>
<b>Proposed:-</b><br>
<br>
<br>
Resource: Template<br>
<br>
URI: /plugins/kimchi/templates/:name<br>
<br>
Methods:<br>
<br>
GET: Retrieve the full description of a Template<br>
name: A name for this template<br>
folder: A virtual path which can be used to organize
Templates in a user interface. The format is an array of path
components.<br>
icon: A URI to a PNG image representing this template<br>
os_distro: The operating system distribution<br>
os_version: The version of the operating system
distribution<br>
memory: The memory parameters of the template, that will
be assigned to the VM in the unit of MiB.<br>
current: The amount of memory that will be assigned to
the VM.<br>
maxmemory: The maximum total of memory that the VM can
have. Amount over current will be used exclusively for memory
hotplug<br>
cdrom: A volume name or URI to an ISO image<br>
storagepool: URI of the storagepool where template
allocates vm storage.<br>
networks (optional): list of networks will be assigned to
the new VM.<br>
interfaces (optional): list of host network interfaces
will be assigned to the new VM. Only applicable for s390x or s390
architecture.<br>
type: Type of host network interface. Type should be
'macvtap' for host network interface (Ethernet, Bond, VLAN) to be
connected as direct MacVTap; or 'ovs' for openvswitch host network
interface to be connected as virtual switch to a VM.<br>
name: The host network interface. It should be the
host network interface (Ethernet, Bond, VLAN) for type 'macvtap'
or host openvswitch bridge interface for type 'ovs'.<br>
mode (optional): Only applicable for interface type
macvtap, to indicates whether packets will be delivered directly
to target device(bridge) or to the external bridge(vepa-capable
bridge).<br>
bridge: If packets have a destination on the host
from which they originated, they are delivered directly to the
target. For direct delivery, both origin and destination devices
need to be in bridge mode. If either the origin or destination is
in vepa mode, VEPA-capable bridge is required.<br>
vepa: All packets are sent to the external bridge.
If packets have a destination on the host from which they
originated, the VEPA-capable bridge will return the packets to the
host.<br>
disks: An array of requested disks with the following
optional fields (either size or volume must be specified):<br>
index: The device index<br>
size: The device size in GB<br>
volume: A volume name that contains the initial disk
contents<br>
format: Format of the image. Valid formats: qcow,
qcow2, qed, raw, vmdk, vpc.<br>
pool: Information about the pool where disk or volume
will be created<br>
name: URI of the storagepool<br>
type: Type of the storagepool (dir, nfs, scsci,
iscsi, etc)<br>
graphics: A dict of graphics paramenters of this template<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol
for Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens
on.<br>
<b> console (s390x only, optional): Specify the console
parameter for this template.</b><b><br>
</b><b> type:sclp/virtio.</b><b><br>
</b><b> If not provided, default sclp.</b><br>
invalid: A dict indicates which paramenters of this
template are invalid.<br>
networks (optional): An array of invalid network
names.<br>
cdrom (optional): An array of invalid cdrom names.<br>
disks (optional): An array of invalid volume names.<br>
storagepools (optional): An array of invalid
storagepool names.<br>
cpu_info: CPU-specific information.<br>
vcpus: The number of CPUs assigned to the VM<br>
maxvcpus: The maximum number of CPUs that can be
assigned to the VM<br>
topology: Processor topology, includes:<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
<br>
<br>
6) Update existing template.<br>
<br>
<b>Current:</b><br>
</p>
<p><br>
Resource: Template<br>
<br>
URI: /plugins/kimchi/templates/:name</p>
<p>Method:</p>
<p>PUT: update the parameters of existed template<br>
<br>
name: A name for this template<br>
folder: A virtual path which can be used to organize Templates
in the user interface. The format is an array of path components.<br>
icon: A URI to a PNG image representing this template<br>
os_distro: The operating system distribution<br>
os_version: The version of the operating system distribution<br>
memory: The memory parameters of the template, specify one or
both of:<br>
current: The amount of memory that will be assigned to the
VM.<br>
maxmemory: The maximum total of memory that the VM can
have. Amount over current will be used exclusively for memory
hotplug<br>
cdrom: A volume name or URI to an ISO image<br>
networks (optional): list of networks will be assigned to the
new VM.<br>
interfaces (optional): list of host network interfaces will be
assigned to the new VM. Only applicable for s390x or s390
architecture.<br>
type: Type of host network interface. Type should be
'macvtap' for host network interface (Ethernet, Bond, VLAN) to be
connected as direct MacVTap; or 'ovs' for openvswitch host network
interface to be connected as virtual switch to a VM.<br>
name: The host network interface. It should be the host
network interface (Ethernet, Bond, VLAN) for type 'macvtap' or
host openvswitch bridge interface for type 'ovs'.<br>
mode (optional): Only applicable for interface type
macvtap, to indicates whether packets will be delivered directly
to target device(bridge) or to the external bridge(vepa-capable
bridge).<br>
bridge: If packets have a destination on the host from
which they originated, they are delivered directly to the target.
For direct delivery, both origin and destination devices need to
be in bridge mode. If either the origin or destination is in vepa
mode, VEPA-capable bridge is required.<br>
vepa: All packets are sent to the external bridge. If
packets have a destination on the host from which they originated,
the VEPA-capable bridge will return the packets to the host.<br>
disks: An array of requested disks with the following optional
fields (either size or volume must be specified):<br>
index: The device index<br>
size: The device size in GB<br>
volume: A volume name that contains the initial disk
contents<br>
format: Format of the image. Valid formats: qcow, qcow2,
qed, raw, vmdk, vpc.<br>
pool: Storage pool information<br>
name: URI of the storagepool where template allocates
vm disk.<br>
graphics (optional): A dict of graphics paramenters of this
template<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol for
Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens on.<br>
cpu_info (optional): CPU-specific information.<br>
maxvcpus (optional): The maximum number of vCPUs that can
be assigned to the VM. If topology is specified, maxvcpus must be
a product of sockets, cores and threads.<br>
vcpus (optional): The number of vCPUs assigned to the VM.
Default is 1, unless a CPU topology is specified. In that case,
vcpus must be a multiple of a product of cores and threads, and
will default to maxvcpus value.<br>
topology (optional): Specify sockets, threads, and cores
to run the virtual CPU threads on. All three are required.<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
<br>
<b>Proposed:-</b><br>
</p>
<p><br>
Resource: Template<br>
<br>
URI: /plugins/kimchi/templates/:name</p>
<p>Method:</p>
<p>PUT: update the parameters of existed template<br>
<br>
name: A name for this template<br>
folder: A virtual path which can be used to organize Templates
in the user interface. The format is an array of path components.<br>
icon: A URI to a PNG image representing this template<br>
os_distro: The operating system distribution<br>
os_version: The version of the operating system distribution<br>
memory: The memory parameters of the template, specify one or
both of:<br>
current: The amount of memory that will be assigned to the
VM.<br>
maxmemory: The maximum total of memory that the VM can
have. Amount over current will be used exclusively for memory
hotplug<br>
cdrom: A volume name or URI to an ISO image<br>
networks (optional): list of networks will be assigned to the
new VM.<br>
interfaces (optional): list of host network interfaces will be
assigned to the new VM. Only applicable for s390x or s390
architecture.<br>
type: Type of host network interface. Type should be
'macvtap' for host network interface (Ethernet, Bond, VLAN) to be
connected as direct MacVTap; or 'ovs' for openvswitch host network
interface to be connected as virtual switch to a VM.<br>
name: The host network interface. It should be the host
network interface (Ethernet, Bond, VLAN) for type 'macvtap' or
host openvswitch bridge interface for type 'ovs'.<br>
mode (optional): Only applicable for interface type
macvtap, to indicates whether packets will be delivered directly
to target device(bridge) or to the external bridge(vepa-capable
bridge).<br>
bridge: If packets have a destination on the host from
which they originated, they are delivered directly to the target.
For direct delivery, both origin and destination devices need to
be in bridge mode. If either the origin or destination is in vepa
mode, VEPA-capable bridge is required.<br>
vepa: All packets are sent to the external bridge. If
packets have a destination on the host from which they originated,
the VEPA-capable bridge will return the packets to the host.<br>
disks: An array of requested disks with the following optional
fields (either size or volume must be specified):<br>
index: The device index<br>
size: The device size in GB<br>
volume: A volume name that contains the initial disk
contents<br>
format: Format of the image. Valid formats: qcow, qcow2,
qed, raw, vmdk, vpc.<br>
pool: Storage pool information<br>
name: URI of the storagepool where template allocates
vm disk.<br>
graphics (optional): A dict of graphics paramenters of this
template<br>
type: The type of graphics. It can be VNC or spice or
None.<br>
vnc: Graphical display using the Virtual Network
Computing protocol<br>
spice: Graphical display using the Simple Protocol for
Independent Computing Environments<br>
null: Graphics is disabled or type not supported<br>
listen: The network which the vnc/spice server listens on.<br>
<b> console (s390x only, optional): Specify the console
parameter for this template.</b><b><br>
</b><b> type:sclp/virtio.</b><b><br>
</b><b> If not provided, default sclp.</b><br>
cpu_info (optional): CPU-specific information.<br>
maxvcpus (optional): The maximum number of vCPUs that can
be assigned to the VM. If topology is specified, maxvcpus must be
a product of sockets, cores and threads.<br>
vcpus (optional): The number of vCPUs assigned to the VM.
Default is 1, unless a CPU topology is specified. In that case,
vcpus must be a multiple of a product of cores and threads, and
will default to maxvcpus value.<br>
topology (optional): Specify sockets, threads, and cores
to run the virtual CPU threads on. All three are required.<br>
sockets - The maximum number of sockets to use.<br>
cores - The number of cores per socket.<br>
threads - The number of threads per core.<br>
<br>
Thanks,</p>
<p>Archana Singh<br>
</p>
</body>
</html>