[Kimchi-devel] [RFC] Addition attribute required to specify console type for VM(s)/ template(s) for s390x specific architecture only.

Archana Singh archus at linux.vnet.ibm.com
Tue Sep 6 07:13:13 UTC 2016


Hi All,

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

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.

         console (s390x only): Specify the console parameter.
            type: sclp/virtio.
            If not provided, default sclp.


Below are the list of current API and proposed API which need to have 
addition parameter 'console' and its type:

1) GET list of VMs and its attribute and Create VM.

*Current:*

Collection: Virtual Machines

URI: /plugins/kimchi/vms

Methods:

     GET: Retrieve a summarized list of all defined Virtual Machines
     POST: Create a new Virtual Machine
         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.
         persistent: If 'true', vm will persist after a Power Off or 
host reboot. All virtual machines created by Kimchi are persistent.
         template: The URI of a Template to use when building the VM
         storagepool (optional): Assign a specific Storage Pool to the 
new VM
         graphics (optional): Specify the graphics parameter for this vm
             type: The type of graphics. It can be VNC or spice or None.
                 vnc: Graphical display using the Virtual Network 
Computing protocol
                 spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
                 null: Graphics is disabled or type not supported
             listen: The network which the vnc/spice server listens on.
         description: VM description
         title: VM title

*Proposed:*

Collection: Virtual Machines

URI: /plugins/kimchi/vms

Methods:

     GET: Retrieve a summarized list of all defined Virtual Machines
     POST: Create a new Virtual Machine
         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.
         persistent: If 'true', vm will persist after a Power Off or 
host reboot. All virtual machines created by Kimchi are persistent.
         template: The URI of a Template to use when building the VM
         storagepool (optional): Assign a specific Storage Pool to the 
new VM
         graphics (optional): Specify the graphics paramenter for this vm
             type: The type of graphics. It can be VNC or spice or None.
                 vnc: Graphical display using the Virtual Network 
Computing protocol
                 spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
                 null: Graphics is disabled or type not supported
             listen: The network which the vnc/spice server listens on.
*        console (s390x only): Specify the console parameter for this vm.**
**           type: sclp/virtio.**
**           If not provided, default sclp.*
         description: VM description
         title: VM title


2) GET details of a VM.

*Current:*

Resource: Virtual Machine

URI: /plugins/kimchi/vms/:name

Methods:

     GET: Retrieve the full description of a Virtual Machine
         name: The name of the VM. Used to identify the VM in this API
         state: Indicates the current state in the VM lifecycle
             running: The VM is powered on
             paused: The VMs virtual CPUs are paused
             shutoff: The VM is powered off
         stats: Virtual machine statistics:
             cpu_utilization: A number between 0 and 100 which indicates 
the percentage of CPU utilization.
             mem_utilization: A number between 0 and 100 which indicates 
the percentage of memory utilization.
             net_throughput: Expresses total network throughput for 
reads and writes across all virtual interfaces (kb/s).
             net_throughput_peak: The highest recent value of 
'net_throughput'.
             io_throughput: Expresses the total IO throughput for reads 
and writes across all virtual disks (kb/s).
             io_throughput_peak: The highest recent value of 
'io_throughput'.
         uuid: UUID of the VM.
         memory: The memory parameters of the VM in the unit of MiB.
             current: The amount of memory that is assigned to the VM.
             maxmemory: The maximum total of memory that the VM can 
have. Amount over current will be used exclusively for memory hotplug
         cpu_info: CPU-specific information.
             vcpus: The number of CPUs assigned to the VM
             maxvcpus: The maximum number of CPUs that can be assigned 
to the VM
             topology: Processor topology, includes:
                 sockets - The maximum number of sockets to use.
                 cores - The number of cores per socket.
                 threads - The number of threads per core.
         screenshot: A link to a recent capture of the screen in PNG format
         icon: A link to an icon that represents the VM
         graphics: A dict to show detail of VM graphics.
             type: The type of graphics. It can be VNC or spice or None.
                 vnc: Graphical display using the Virtual Network 
Computing protocol
                 spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
                 null: Graphics is disabled or type not supported
             listen: The network which the vnc/spice server listens on.
             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.
             passwd: console password
             passwdValidTo: lifetime for the console password.
         users: A list of system users who have permission to access the 
VM. Default is: empty (i.e. only root-users may access).
         groups: A list of system groups whose users have permission to 
access the VM. Default is: empty (i.e. no groups given access).
         bootorder: list of devices in boot order
         description: VM description
         title: VM title

*Proposed:*

Resource: Virtual Machine

URI: /plugins/kimchi/vms/:name

Methods:

     GET: Retrieve the full description of a Virtual Machine
         name: The name of the VM. Used to identify the VM in this API
         state: Indicates the current state in the VM lifecycle
             running: The VM is powered on
             paused: The VMs virtual CPUs are paused
             shutoff: The VM is powered off
         stats: Virtual machine statistics:
             cpu_utilization: A number between 0 and 100 which indicates 
the percentage of CPU utilization.
             mem_utilization: A number between 0 and 100 which indicates 
the percentage of memory utilization.
             net_throughput: Expresses total network throughput for 
reads and writes across all virtual interfaces (kb/s).
             net_throughput_peak: The highest recent value of 
'net_throughput'.
             io_throughput: Expresses the total IO throughput for reads 
and writes across all virtual disks (kb/s).
             io_throughput_peak: The highest recent value of 
'io_throughput'.
         uuid: UUID of the VM.
         memory: The memory parameters of the VM in the unit of MiB.
             current: The amount of memory that is assigned to the VM.
             maxmemory: The maximum total of memory that the VM can 
have. Amount over current will be used exclusively for memory hotplug
         cpu_info: CPU-specific information.
             vcpus: The number of CPUs assigned to the VM
             maxvcpus: The maximum number of CPUs that can be assigned 
to the VM
             topology: Processor topology, includes:
                 sockets - The maximum number of sockets to use.
                 cores - The number of cores per socket.
                 threads - The number of threads per core.
         screenshot: A link to a recent capture of the screen in PNG format
         icon: A link to an icon that represents the VM
         graphics: A dict to show detail of VM graphics.
             type: The type of graphics. It can be VNC or spice or None.
                 vnc: Graphical display using the Virtual Network 
Computing protocol
                 spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
                 null: Graphics is disabled or type not supported
             listen: The network which the vnc/spice server listens on.
             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.
             passwd: console password
             passwdValidTo: lifetime for the console password.
*        console (s390x only, optional): Specify the console parameter 
for this vm.**
**           type: sclp/virtio.**
**           If not provided, default sclp.*
         users: A list of system users who have permission to access the 
VM. Default is: empty (i.e. only root-users may access).
         groups: A list of system groups whose users have permission to 
access the VM. Default is: empty (i.e. no groups given access).
         bootorder: list of devices in boot order
         description: VM description
         title: VM title

3) Update a VM details

*Current:*

Resource: Virtual Machine

URI: /plugins/kimchi/vms/:name

Method:

   PUT: update the parameters of existing VM

     name: New name for this VM (only applied for shutoff VM)
     users: New list of system users.
     groups: New list of system groups.
     memory: New memory parameters of the VM in the unit of MiB. Provide 
one or both.
         current: New amount of memory that will be assigned to the VM.
         maxmemory: New maximum total of memory that the VM can have.
     graphics: A dict to show detail of VM graphics.
         passwd (optional): console password. When omitted a random 
password willbe generated.
         passwdValidTo (optional): lifetime for the console password. 
When omitted the password will be valid just for 30 seconds.
         type (optional): graphics type. VNC or Spice.
     cpu_info (optional): CPU-specific information.
         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.
         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.
         topology (optional): Specify sockets, threads, and cores to run 
the virtual CPU threads on. All three are required.
             sockets - The maximum number of sockets to use.
             cores - The number of cores per socket.
             threads - The number of threads per core.
     bootorder: guest bootorder, types accepted: hd, cdrom, network or fd
     bootmenu: prompts guest bootmenu. Bool type.
     description: VM description
     title: VM title

*Proposed:*

Resource: Virtual Machine

URI: /plugins/kimchi/vms/:name

Method:

   PUT: update the parameters of existing VM

     name: New name for this VM (only applied for shutoff VM)
     users: New list of system users.
     groups: New list of system groups.
     memory: New memory parameters of the VM in the unit of MiB. Provide 
one or both.
         current: New amount of memory that will be assigned to the VM.
         maxmemory: New maximum total of memory that the VM can have.
     graphics: A dict to show detail of VM graphics.
         passwd (optional): console password. When omitted a random 
password willbe generated.
         passwdValidTo (optional): lifetime for the console password. 
When omitted the password will be valid just for 30 seconds.
         type (optional): graphics type. VNC or Spice.
*    console (s390x only, optional): Specify the console parameter for 
this vm.**
**           type: sclp/virtio.**
**           If not provided, default sclp.*
     cpu_info (optional): CPU-specific information.
         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.
         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.
         topology (optional): Specify sockets, threads, and cores to run 
the virtual CPU threads on. All three are required.
             sockets - The maximum number of sockets to use.
             cores - The number of cores per socket.
             threads - The number of threads per core.
     bootorder: guest bootorder, types accepted: hd, cdrom, network or fd
     bootmenu: prompts guest bootmenu. Bool type.
     description: VM description
     title: VM title

4) Get templates and create a template.
*
**Current:*

Collection: Templates

URI: /plugins/kimchi/templates

Methods:

     GET: Retrieve a summarized list of all defined Templates
     POST: Create a new Template
         name: The name of the Template. Used to identify the Template 
in this API
         source_media: dictionary. The type of media to be used in the 
installation.
             type: the type of the media. Values: 'netboot' and 'disk'.
             path: applicable for type = 'disk' only. Indicates the path 
of the source media.
         os_distro (optional): The operating system distribution
         os_version (optional): The version of the operating system 
distribution
         memory (optional): The memory parameters of the template, 
specify one or both. Default values are 1024MiB:
             current: The amount of memory that will be assigned to the VM.
             maxmemory: The maximum total of memory that the VM can 
have. Amount over current will be used exclusively for memory hotplug
         networks (optional): list of networks will be assigned to the 
new VM. Default is '[default]'
         disks (optional): An array of requested disks with the 
following optional fields (either size or volume must be specified):
             index: The device index
             size: The device size in GB
             format: Format of the image. Valid formats: qcow, qcow2, 
qed, raw, vmdk, vpc
             pool: Storage pool information
                 name: URI of the storagepool where disk will be created
         graphics (optional): The graphics paramenters of this template
             type: The type of graphics. It can be VNC or spice or None.
                 vnc: Graphical display using the Virtual Network 
Computing protocol
                 spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
                 null: Graphics is disabled or type not supported
             listen: The network which the vnc/spice server listens on.
         cpu_info (optional): CPU-specific information.
             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.
             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.
             topology (optional): Specify sockets, threads, and cores to 
run the virtual CPU threads on. All three are required.
                 sockets - The maximum number of sockets to use.
                 cores - The number of cores per socket.
                 threads - The number of threads per core.

*Proposed:*

Collection: Templates

URI: /plugins/kimchi/templates

Methods:

     GET: Retrieve a summarized list of all defined Templates
     POST: Create a new Template
         name: The name of the Template. Used to identify the Template 
in this API
         source_media: dictionary. The type of media to be used in the 
installation.
             type: the type of the media. Values: 'netboot' and 'disk'.
             path: applicable for type = 'disk' only. Indicates the path 
of the source media.
         os_distro (optional): The operating system distribution
         os_version (optional): The version of the operating system 
distribution
         memory (optional): The memory parameters of the template, 
specify one or both. Default values are 1024MiB:
             current: The amount of memory that will be assigned to the VM.
             maxmemory: The maximum total of memory that the VM can 
have. Amount over current will be used exclusively for memory hotplug
         networks (optional): list of networks will be assigned to the 
new VM. Default is '[default]'
         disks (optional): An array of requested disks with the 
following optional fields (either size or volume must be specified):
             index: The device index
             size: The device size in GB
             format: Format of the image. Valid formats: qcow, qcow2, 
qed, raw, vmdk, vpc
             pool: Storage pool information
                 name: URI of the storagepool where disk will be created
         graphics (optional): The graphics paramenters of this template
             type: The type of graphics. It can be VNC or spice or None.
                 vnc: Graphical display using the Virtual Network 
Computing protocol
                 spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
                 null: Graphics is disabled or type not supported
             listen: The network which the vnc/spice server listens on.
*       console (s390x only, optional): Specify the console parameter 
for this template.**
**           type:sclp/virtio.**
**           If not provided, default sclp.*
         cpu_info (optional): CPU-specific information.
             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.
             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.
             topology (optional): Specify sockets, threads, and cores to 
run the virtual CPU threads on. All three are required.
                 sockets - The maximum number of sockets to use.
                 cores - The number of cores per socket.
                 threads - The number of threads per core.

5) Get a template details.

*Current:-*

Resource: Template

URI: /plugins/kimchi/templates/:name

Methods:

     GET: Retrieve the full description of a Template
         name: A name for this template
         folder: A virtual path which can be used to organize Templates 
in a user interface. The format is an array of path components.
         icon: A URI to a PNG image representing this template
         os_distro: The operating system distribution
         os_version: The version of the operating system distribution
         memory: The memory parameters of the template, that will be 
assigned to the VM in the unit of MiB.
             current: The amount of memory that will be assigned to the VM.
             maxmemory: The maximum total of memory that the VM can 
have. Amount over current will be used exclusively for memory hotplug
         cdrom: A volume name or URI to an ISO image
         storagepool: URI of the storagepool where template allocates vm 
storage.
         networks (optional): list of networks will be assigned to the 
new VM.
         interfaces (optional): list of host network interfaces will be 
assigned to the new VM. Only applicable for s390x or s390 architecture.
             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.
             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'.
             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).
                 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.
                 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.
         disks: An array of requested disks with the following optional 
fields (either size or volume must be specified):
             index: The device index
             size: The device size in GB
             volume: A volume name that contains the initial disk contents
             format: Format of the image. Valid formats: qcow, qcow2, 
qed, raw, vmdk, vpc.
             pool: Information about the pool where disk or volume will 
be created
                 name: URI of the storagepool
                 type: Type of the storagepool (dir, nfs, scsci, iscsi, etc)
         graphics: A dict of graphics paramenters of this template
             type: The type of graphics. It can be VNC or spice or None.
                 vnc: Graphical display using the Virtual Network 
Computing protocol
                 spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
                 null: Graphics is disabled or type not supported
             listen: The network which the vnc/spice server listens on.
         invalid: A dict indicates which paramenters of this template 
are invalid.
             networks (optional): An array of invalid network names.
             cdrom (optional): An array of invalid cdrom names.
             disks (optional): An array of invalid volume names.
             storagepools (optional): An array of invalid storagepool names.
         cpu_info: CPU-specific information.
             vcpus: The number of CPUs assigned to the VM
             maxvcpus: The maximum number of CPUs that can be assigned 
to the VM
             topology: Processor topology, includes:
                 sockets - The maximum number of sockets to use.
                 cores - The number of cores per socket.
                 threads - The number of threads per core.

*Proposed:-*


Resource: Template

URI: /plugins/kimchi/templates/:name

Methods:

     GET: Retrieve the full description of a Template
         name: A name for this template
         folder: A virtual path which can be used to organize Templates 
in a user interface. The format is an array of path components.
         icon: A URI to a PNG image representing this template
         os_distro: The operating system distribution
         os_version: The version of the operating system distribution
         memory: The memory parameters of the template, that will be 
assigned to the VM in the unit of MiB.
             current: The amount of memory that will be assigned to the VM.
             maxmemory: The maximum total of memory that the VM can 
have. Amount over current will be used exclusively for memory hotplug
         cdrom: A volume name or URI to an ISO image
         storagepool: URI of the storagepool where template allocates vm 
storage.
         networks (optional): list of networks will be assigned to the 
new VM.
         interfaces (optional): list of host network interfaces will be 
assigned to the new VM. Only applicable for s390x or s390 architecture.
             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.
             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'.
             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).
                 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.
                 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.
         disks: An array of requested disks with the following optional 
fields (either size or volume must be specified):
             index: The device index
             size: The device size in GB
             volume: A volume name that contains the initial disk contents
             format: Format of the image. Valid formats: qcow, qcow2, 
qed, raw, vmdk, vpc.
             pool: Information about the pool where disk or volume will 
be created
                 name: URI of the storagepool
                 type: Type of the storagepool (dir, nfs, scsci, iscsi, etc)
         graphics: A dict of graphics paramenters of this template
             type: The type of graphics. It can be VNC or spice or None.
                 vnc: Graphical display using the Virtual Network 
Computing protocol
                 spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
                 null: Graphics is disabled or type not supported
             listen: The network which the vnc/spice server listens on.
*       console (s390x only, optional): Specify the console parameter 
for this template.**
**           type:sclp/virtio.**
**           If not provided, default sclp.*
         invalid: A dict indicates which paramenters of this template 
are invalid.
             networks (optional): An array of invalid network names.
             cdrom (optional): An array of invalid cdrom names.
             disks (optional): An array of invalid volume names.
             storagepools (optional): An array of invalid storagepool names.
         cpu_info: CPU-specific information.
             vcpus: The number of CPUs assigned to the VM
             maxvcpus: The maximum number of CPUs that can be assigned 
to the VM
             topology: Processor topology, includes:
                 sockets - The maximum number of sockets to use.
                 cores - The number of cores per socket.
                 threads - The number of threads per core.


6) Update existing template.

*Current:*


Resource: Template

URI: /plugins/kimchi/templates/:name

Method:

PUT: update the parameters of existed template

     name: A name for this template
     folder: A virtual path which can be used to organize Templates in 
the user interface. The format is an array of path components.
     icon: A URI to a PNG image representing this template
     os_distro: The operating system distribution
     os_version: The version of the operating system distribution
     memory: The memory parameters of the template, specify one or both of:
         current: The amount of memory that will be assigned to the VM.
         maxmemory: The maximum total of memory that the VM can have. 
Amount over current will be used exclusively for memory hotplug
     cdrom: A volume name or URI to an ISO image
     networks (optional): list of networks will be assigned to the new VM.
     interfaces (optional): list of host network interfaces will be 
assigned to the new VM. Only applicable for s390x or s390 architecture.
         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.
         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'.
         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).
             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.
             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.
     disks: An array of requested disks with the following optional 
fields (either size or volume must be specified):
         index: The device index
         size: The device size in GB
         volume: A volume name that contains the initial disk contents
         format: Format of the image. Valid formats: qcow, qcow2, qed, 
raw, vmdk, vpc.
         pool: Storage pool information
             name: URI of the storagepool where template allocates vm disk.
     graphics (optional): A dict of graphics paramenters of this template
         type: The type of graphics. It can be VNC or spice or None.
             vnc: Graphical display using the Virtual Network Computing 
protocol
             spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
             null: Graphics is disabled or type not supported
         listen: The network which the vnc/spice server listens on.
     cpu_info (optional): CPU-specific information.
         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.
         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.
         topology (optional): Specify sockets, threads, and cores to run 
the virtual CPU threads on. All three are required.
             sockets - The maximum number of sockets to use.
             cores - The number of cores per socket.
             threads - The number of threads per core.

*Proposed:-*


Resource: Template

URI: /plugins/kimchi/templates/:name

Method:

PUT: update the parameters of existed template

     name: A name for this template
     folder: A virtual path which can be used to organize Templates in 
the user interface. The format is an array of path components.
     icon: A URI to a PNG image representing this template
     os_distro: The operating system distribution
     os_version: The version of the operating system distribution
     memory: The memory parameters of the template, specify one or both of:
         current: The amount of memory that will be assigned to the VM.
         maxmemory: The maximum total of memory that the VM can have. 
Amount over current will be used exclusively for memory hotplug
     cdrom: A volume name or URI to an ISO image
     networks (optional): list of networks will be assigned to the new VM.
     interfaces (optional): list of host network interfaces will be 
assigned to the new VM. Only applicable for s390x or s390 architecture.
         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.
         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'.
         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).
             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.
             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.
     disks: An array of requested disks with the following optional 
fields (either size or volume must be specified):
         index: The device index
         size: The device size in GB
         volume: A volume name that contains the initial disk contents
         format: Format of the image. Valid formats: qcow, qcow2, qed, 
raw, vmdk, vpc.
         pool: Storage pool information
             name: URI of the storagepool where template allocates vm disk.
     graphics (optional): A dict of graphics paramenters of this template
         type: The type of graphics. It can be VNC or spice or None.
             vnc: Graphical display using the Virtual Network Computing 
protocol
             spice: Graphical display using the Simple Protocol for 
Independent Computing Environments
             null: Graphics is disabled or type not supported
         listen: The network which the vnc/spice server listens on.
*    console (s390x only, optional): Specify the console parameter for 
this template.**
**           type:sclp/virtio.**
**           If not provided, default sclp.*
     cpu_info (optional): CPU-specific information.
         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.
         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.
         topology (optional): Specify sockets, threads, and cores to run 
the virtual CPU threads on. All three are required.
             sockets - The maximum number of sockets to use.
             cores - The number of cores per socket.
             threads - The number of threads per core.

Thanks,

Archana Singh

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ovirt.org/pipermail/kimchi-devel/attachments/20160906/9ddd8c0d/attachment.html>


More information about the Kimchi-devel mailing list