59a201bdf2
QEMU is used whether specifying either qemu or kvm as an argument to hypervisor_type. Therefore, remove kvm as a supported argument. Change-Id: I89f2b907fa868e50c2b65c2bf4a8e414242dd9fc Closes-bug: #1195361
422 lines
27 KiB
XML
422 lines
27 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE chapter [
|
|
<!ENTITY % openstack SYSTEM "../common/entities/openstack.ent">
|
|
%openstack;
|
|
]>
|
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
version="5.0"
|
|
xml:id="chapter_cli-glance-property">
|
|
<!-- This file is manually generated, unlike many of the other chapters. -->
|
|
<title>Image Service property keys</title>
|
|
<para>The following keys, together with the components to which they are specific, can be used
|
|
with the <option>property</option> option for both the <command>glance
|
|
image-update</command> and <command>glance image-create</command> commands. For
|
|
example:</para>
|
|
<screen><prompt>$</prompt> <userinput>glance image-update <replaceable>IMG-UUID</replaceable> --property architecture=x86_64</userinput></screen>
|
|
<note><para>Behavior set using image properties overrides
|
|
behavior set using flavors. For more information, refer to
|
|
<link
|
|
xlink:href="http://docs.openstack.org/admin-guide-cloud/content/">
|
|
<citetitle>OpenStack Cloud Administrator Guide</citetitle></link>
|
|
</para></note>
|
|
<table rules="all">
|
|
<caption>Property keys</caption>
|
|
<col width="12%"/>
|
|
<col width="12%"/>
|
|
<col width="38%"/>
|
|
<col width="38%"/>
|
|
<thead>
|
|
<tr>
|
|
<th>Specific to</th>
|
|
<th>Key</th>
|
|
<th>Description</th>
|
|
<th>Supported values</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr valign="top">
|
|
<td>All</td>
|
|
<td>architecture</td>
|
|
<td>The CPU architecture that must be supported by
|
|
the hypervisor. For example,
|
|
<literal>x86_64</literal>, <literal>arm</literal>, or <literal>ppc64</literal>. Run
|
|
<command>uname -m</command> to get the architecture of a
|
|
machine. We strongly recommend using the architecture data vocabulary
|
|
defined by the <link xlink:href="http://libosinfo.org">libosinfo project</link>
|
|
for this purpose.</td>
|
|
<td>
|
|
<itemizedlist>
|
|
<listitem><para><literal>alpha</literal>—<link xlink:href="http://en.wikipedia.org/wiki/DEC_Alpha"
|
|
>DEC 64-bit RISC</link></para></listitem>
|
|
<listitem><para><literal>armv7l</literal>—<link xlink:href="http://en.wikipedia.org/wiki/ARM_architecture"
|
|
>ARM Cortex-A7 MPCore</link></para></listitem>
|
|
<listitem><para><literal>cris</literal>—<link xlink:href="http://en.wikipedia.org/wiki/ETRAX_CRIS"
|
|
>Ethernet, Token Ring, AXis—Code Reduced Instruction Set</link></para></listitem>
|
|
<listitem><para><literal>i686</literal>—<link xlink:href="http://en.wikipedia.org/wiki/X86"
|
|
>Intel sixth-generation x86</link>
|
|
(P6 micro architecture)</para></listitem>
|
|
<listitem><para><literal>ia64</literal>—<link xlink:href="http://en.wikipedia.org/wiki/Itanium"
|
|
>Itanium</link></para></listitem>
|
|
<listitem><para><literal>lm32</literal>—<link xlink:href="http://en.wikipedia.org/wiki/Milkymist"
|
|
>Lattice Micro32</link></para></listitem>
|
|
<listitem><para><literal>m68k</literal>—<link xlink:href="http://en.wikipedia.org/wiki/Motorola_68000_family"
|
|
>Motorola 68000</link></para></listitem>
|
|
<listitem><para><literal>microblaze</literal>—<link xlink:href="http://en.wikipedia.org/wiki/MicroBlaze"
|
|
>Xilinx 32-bit FPGA (Big Endian)</link></para></listitem>
|
|
<listitem><para><literal>microblazeel</literal>—<link xlink:href="http://en.wikipedia.org/wiki/MicroBlaze"
|
|
>Xilinx 32-bit FPGA (Little Endian)</link></para></listitem>
|
|
<listitem><para><literal>mips</literal>—<link xlink:href="http://en.wikipedia.org/wiki/MIPS_architecture"
|
|
>MIPS 32-bit RISC (Big Endian)</link></para></listitem>
|
|
<listitem><para><literal>mipsel</literal>—<link xlink:href="http://en.wikipedia.org/wiki/MIPS_architecture"
|
|
>MIPS 32-bit RISC (Little Endian)</link></para></listitem>
|
|
<listitem><para><literal>mips64</literal>—<link xlink:href="http://en.wikipedia.org/wiki/MIPS_architecture"
|
|
>MIPS 64-bit RISC (Big Endian)</link></para></listitem>
|
|
<listitem><para><literal>mips64el</literal>—<link xlink:href="http://en.wikipedia.org/wiki/MIPS_architecture"
|
|
>MIPS 64-bit RISC (Little Endian)</link></para></listitem>
|
|
<listitem><para><literal>openrisc</literal>—<link xlink:href="http://en.wikipedia.org/wiki/OpenRISC#QEMU_support"
|
|
>OpenCores RISC</link></para></listitem>
|
|
<listitem><para><literal>parisc</literal>—<link xlink:href="http://en.wikipedia.org/wiki/PA-RISC"
|
|
>HP Precision Architecture RISC</link></para></listitem>
|
|
<listitem><para><literal>parisc64</literal>—<link xlink:href="http://en.wikipedia.org/wiki/PA-RISC"
|
|
>HP Precision Architecture 64-bit RISC</link></para></listitem>
|
|
<listitem><para><literal>ppc</literal>—<link xlink:href="http://en.wikipedia.org/wiki/PowerPC"
|
|
>PowerPC 32-bit</link></para></listitem>
|
|
<listitem><para><literal>ppc64</literal>—<link xlink:href="http://en.wikipedia.org/wiki/PowerPC"
|
|
>PowerPC 64-bit</link></para></listitem>
|
|
<listitem><para><literal>ppcemb</literal>—<link xlink:href="http://en.wikipedia.org/wiki/PowerPC"
|
|
>PowerPC (Embedded 32-bit)</link></para></listitem>
|
|
<listitem><para><literal>s390</literal>—<link xlink:href="http://en.wikipedia.org/wiki/S390"
|
|
>IBM Enterprise Systems Architecture/390</link></para></listitem>
|
|
<listitem><para><literal>s390x</literal>—<link xlink:href="http://en.wikipedia.org/wiki/S390x"
|
|
>S/390 64-bit</link></para></listitem>
|
|
<listitem><para><literal>sh4</literal>—<link xlink:href="http://en.wikipedia.org/wiki/SuperH"
|
|
>SuperH SH-4 (Little Endian)</link></para></listitem>
|
|
<listitem><para><literal>sh4eb</literal>—<link xlink:href="http://en.wikipedia.org/wiki/SuperH"
|
|
>SuperH SH-4 (Big Endian)</link></para></listitem>
|
|
<listitem><para><literal>sparc</literal>—<link xlink:href="http://en.wikipedia.org/wiki/Sparc"
|
|
>Scalable Processor Architecture, 32-bit</link></para></listitem>
|
|
<listitem><para><literal>sparc64</literal>—<link xlink:href="http://en.wikipedia.org/wiki/Sparc"
|
|
>Scalable Processor Architecture, 64-bit</link></para></listitem>
|
|
<listitem><para><literal>unicore32</literal>—<link xlink:href="http://en.wikipedia.org/wiki/Unicore"
|
|
>Microprocessor Research and Development Center
|
|
RISC Unicore32</link></para></listitem>
|
|
<listitem><para><literal>x86_64</literal>—<link xlink:href="http://en.wikipedia.org/wiki/X86"
|
|
>64-bit extension of IA-32</link></para></listitem>
|
|
<listitem><para><literal>xtensa</literal>—<link xlink:href="http://en.wikipedia.org/wiki/Xtensa#Processor_Cores"
|
|
>Tensilica Xtensa configurable microprocessor core</link></para></listitem>
|
|
<listitem><para><literal>xtensaeb</literal>—<link xlink:href="http://en.wikipedia.org/wiki/Xtensa#Processor_Cores"
|
|
>Tensilica Xtensa configurable microprocessor core
|
|
(Big Endian)</link></para></listitem>
|
|
</itemizedlist>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>All</td>
|
|
<td>hypervisor_type</td>
|
|
<td>The hypervisor type. Note that
|
|
<literal>qemu</literal> is used for both QEMU and KVM
|
|
hypervisor types.</td>
|
|
<td><literal>xen</literal>, <literal>qemu</literal>,
|
|
<literal>lxc</literal>, <literal>uml</literal>,
|
|
<literal>vmware</literal>, or
|
|
<literal>hyperv</literal></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>All</td>
|
|
<td>instance_uuid</td>
|
|
<td>For snapshot images, this is the UUID of the server used to create this image.</td>
|
|
<td>Valid server UUID</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>All</td>
|
|
<td>img_config_drive</td>
|
|
<td>Specifies whether the image needs a config drive.</td>
|
|
<td><literal>mandatory</literal> or <literal>optional</literal> (default if property is not used).</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>All</td>
|
|
<td>kernel_id</td>
|
|
<td>The ID of an image stored in the Image Service that should be used as the kernel
|
|
when booting an AMI-style image.</td>
|
|
<td>Valid image ID</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>All</td>
|
|
<td>os_distro</td>
|
|
<td>The common name of the operating system distribution in lowercase (uses the same
|
|
data vocabulary as the <link xlink:href="http://libosinfo.org">libosinfo
|
|
project</link>). Specify only a recognized value for this field. Deprecated
|
|
values are listed to assist you in searching for the recognized value.</td>
|
|
<td>
|
|
<itemizedlist>
|
|
<listitem><para><literal>arch</literal>—Arch Linux. Do not use <literal>archlinux</literal> or
|
|
<literal>org.archlinux</literal></para></listitem>
|
|
<listitem><para><literal>centos</literal>—Community Enterprise Operating System. Do not use
|
|
<literal>org.centos</literal> or
|
|
<literal>CentOS</literal></para></listitem>
|
|
<listitem><para><literal>debian</literal>—Debian. Do not use <literal>Debian</literal> or
|
|
<literal>org.debian</literal></para></listitem>
|
|
<listitem><para><literal>fedora</literal>—Fedora. Do not use <literal>Fedora</literal>,
|
|
<literal>org.fedora</literal>, or
|
|
<literal>org.fedoraproject</literal></para></listitem>
|
|
<listitem><para><literal>freebsd</literal>—FreeBSD. Do not use <literal>org.freebsd</literal>,
|
|
<literal>freeBSD</literal>, or <literal>FreeBSD</literal></para></listitem>
|
|
<listitem><para><literal>gentoo</literal>—Gentoo Linux. Do not use <literal>Gentoo</literal> or
|
|
<literal>org.gentoo</literal></para></listitem>
|
|
<listitem><para><literal>mandrake</literal>—Mandrakelinux (MandrakeSoft) distribution. Do not use
|
|
<literal>mandrakelinux</literal> or
|
|
<literal>MandrakeLinux</literal></para></listitem>
|
|
<listitem><para><literal>mandriva</literal>—Mandriva Linux. Do not use
|
|
<literal>mandrivalinux</literal></para></listitem>
|
|
<listitem><para><literal>mes</literal>—Mandriva Enterprise Server. Do not use
|
|
<literal>mandrivaent</literal> or
|
|
<literal>mandrivaES</literal></para></listitem>
|
|
<listitem><para><literal>msdos</literal>—Microsoft Disc Operating System. Do not use
|
|
<literal>ms-dos</literal></para></listitem>
|
|
<listitem><para><literal>netbsd</literal>—NetBSD. Do not use <literal>NetBSD</literal> or
|
|
<literal>org.netbsd</literal></para></listitem>
|
|
<listitem><para><literal>netware</literal>—Novell NetWare. Do not use <literal>novell</literal> or
|
|
<literal>NetWare</literal></para></listitem>
|
|
<listitem><para><literal>openbsd</literal>—OpenBSD. Do not use <literal>OpenBSD</literal> or
|
|
<literal>org.openbsd</literal></para></listitem>
|
|
<listitem><para><literal>opensolaris</literal>—OpenSolaris. Do not use <literal>OpenSolaris</literal>
|
|
or <literal>org.opensolaris</literal></para></listitem>
|
|
<listitem><para><literal>opensuse</literal>—openSUSE. Do not use <literal>suse</literal>,
|
|
<literal>SuSE</literal>, or
|
|
<literal>org.opensuse</literal></para></listitem>
|
|
<listitem><para><literal>rhel</literal>—Red Hat Enterprise Linux. Do not use
|
|
<literal>redhat</literal>, <literal>RedHat</literal>, or
|
|
<literal>com.redhat</literal></para></listitem>
|
|
<listitem><para><literal>sled</literal>—SUSE Linux Enterprise Desktop. Do not use
|
|
<literal>com.suse</literal></para></listitem>
|
|
<listitem><para><literal>ubuntu</literal>—Ubuntu. Do not use <literal>Ubuntu</literal>,
|
|
<literal>com.ubuntu</literal>, <literal>org.ubuntu</literal>, or
|
|
<literal>canonical</literal></para></listitem>
|
|
<listitem><para><literal>windows</literal>—Microsoft Windows. Do not use
|
|
<literal>com.microsoft.server</literal> or
|
|
<literal>windoze</literal></para></listitem>
|
|
</itemizedlist>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>All</td>
|
|
<td>os_version</td>
|
|
<td>The operating system version as specified by the distributor.</td>
|
|
<td>Version number (for example, "11.10")</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>All</td>
|
|
<td>ramdisk_id</td>
|
|
<td>The ID of image stored in the Image Service that should be used as the ramdisk
|
|
when booting an AMI-style image.</td>
|
|
<td>Valid image ID</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>All</td>
|
|
<td>vm_mode</td>
|
|
<td>The virtual machine mode. This represents the host/guest ABI (application binary
|
|
interface) used for the virtual machine.</td>
|
|
<td>
|
|
<itemizedlist>
|
|
<listitem><para><literal>hvm</literal>—Fully virtualized. This is the mode used by QEMU and
|
|
KVM.</para></listitem>
|
|
<listitem><para><literal>xen</literal>—Xen 3.0 paravirtualized.</para></listitem>
|
|
<listitem><para><literal>uml</literal>—User Mode Linux paravirtualized.</para></listitem>
|
|
<listitem><para><literal>exe</literal>—Executables in containers. This is the mode used by
|
|
LXC.</para></listitem>
|
|
</itemizedlist>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>libvirt API driver</td>
|
|
<td>hw_disk_bus</td>
|
|
<td>Specifies the type of disk controller to attach
|
|
disk devices to.</td>
|
|
<td>
|
|
One of <literal>scsi</literal>,
|
|
<literal>virtio</literal>, <literal>uml</literal>,
|
|
<literal>xen</literal>, <literal>ide</literal>, or
|
|
<literal>usb</literal>.
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td><para>libvirt API driver</para></td>
|
|
<td><para>hw_rng_model</para></td>
|
|
<td><para>Adds a random-number generator device to the image's instances. The cloud
|
|
administrator can enable and control device behavior by configuring the
|
|
instance's flavor. By default:</para>
|
|
<itemizedlist>
|
|
<listitem><para>The generator device is disabled.</para></listitem>
|
|
<listitem><para><systemitem>/dev/random</systemitem> is used as the default entropy source. To specify a
|
|
physical HW RNG device, use the following option in the
|
|
<filename>nova.conf</filename> file:
|
|
<programlisting language="ini">rng_dev_path=/dev/hwrng</programlisting></para></listitem>
|
|
</itemizedlist>
|
|
</td>
|
|
<td><para><literal>virtio</literal>, or other supported device.</para></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>libvirt API driver</td>
|
|
<td>hw_machine_type</td>
|
|
<td>Enables booting an ARM system using the specified machine type. By default, if
|
|
an ARM image is used and its type is not specified, Compute uses
|
|
<literal>vexpress-a15</literal> (for ARMv7) or <literal>virt</literal> (for AArch64) machine types.
|
|
</td>
|
|
<td>Libvirt machine type. Valid types can be viewed by using the
|
|
<command>virsh capabilities</command> command (machine types are
|
|
displayed in the <tag>machine</tag> tag).
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>libvirt API driver</td>
|
|
<td>hw_scsi_model</td>
|
|
<td>Enables the use of VirtIO SCSI (virtio-scsi) to provide block device access for
|
|
compute instances; by default, instances use VirtIO Block (virtio-blk). VirtIO
|
|
SCSI is a para-virtualized SCSI controller device that provides improved
|
|
scalability and performance, and supports advanced SCSI hardware.</td>
|
|
<td><literal>virtio-scsi</literal>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>libvirt API driver</td>
|
|
<td>hw_serial_port_count</td>
|
|
<td>Specifies the count of serial ports that should be provided. If <option>hw:serial_port_count</option>
|
|
is not set in the flavor's <option>extra_specs</option>, then any count is permitted.
|
|
If <option>hw:serial_port_count</option> is set, then this provides the default serial port count.
|
|
It is permitted to override the default serial port count, but only with a lower value.</td>
|
|
<td>Integer</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>libvirt API driver</td>
|
|
<td>hw_video_model</td>
|
|
<td>The video image driver used.</td>
|
|
<td><literal>vga</literal>, <literal>cirrus</literal>, <literal>vmvga</literal>,
|
|
<literal>xen</literal>, or <literal>qxl</literal></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>libvirt API driver</td>
|
|
<td>hw_video_ram</td>
|
|
<td>Maximum RAM for the video image. Used only if a
|
|
<option>hw_video:ram_max_mb</option> value has been set in the flavor's
|
|
<option>extra_specs</option> and that value is higher than the value set in
|
|
<literal>hw_video_ram</literal>.</td>
|
|
<td>Integer in MB (for example, '64')</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>libvirt API driver</td>
|
|
<td>hw_watchdog_action</td>
|
|
<td>Enables a virtual hardware watchdog device that carries out the specified action
|
|
if the server hangs. The watchdog uses the i6300esb device (emulating a PCI
|
|
Intel 6300ESB). If <literal>hw_watchdog_action</literal> is not specified, the
|
|
watchdog is disabled.</td>
|
|
<td><itemizedlist>
|
|
<listitem><para><literal>disabled</literal>—(default) The device is not
|
|
attached. Allows the user to disable the watchdog
|
|
for the image, even if it has been enabled using the image's flavor.
|
|
</para></listitem>
|
|
<listitem><para><literal>reset</literal>—Forcefully reset the guest.</para></listitem>
|
|
<listitem><para><literal>poweroff</literal>—Forcefully power off the guest.</para></listitem>
|
|
<listitem><para><literal>pause</literal>—Pause the guest.</para></listitem>
|
|
<listitem><para><literal>none</literal>—Only enable the watchdog; do nothing if the server
|
|
hangs.</para></listitem>
|
|
</itemizedlist>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>libvirt API driver</td>
|
|
<td>os_command_line</td>
|
|
<td>The kernel command line to be used by the libvirt driver, instead of the
|
|
default. For Linux Containers (LXC), the value is used as arguments for
|
|
initialization. This key is valid only for Amazon kernel, ramdisk,
|
|
or machine images (aki, ari, or ami).</td>
|
|
<td/>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>libvirt API driver and VMware API driver</td>
|
|
<td>hw_vif_model</td>
|
|
<td>Specifies the model of virtual network interface device to use.</td>
|
|
<td>
|
|
<para>
|
|
The valid options depend on the configured
|
|
hypervisor.
|
|
</para>
|
|
<itemizedlist>
|
|
<listitem>
|
|
<para>KVM and QEMU: <literal>e1000</literal>,
|
|
<literal>ne2k_pci</literal>,
|
|
<literal>pcnet</literal>,
|
|
<literal>rtl8139</literal>, and
|
|
<literal>virtio</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>VMware: <literal>e1000</literal>,
|
|
<literal>e1000e</literal>,
|
|
<literal>VirtualE1000</literal>,
|
|
<literal>VirtualE1000e</literal>,
|
|
<literal>VirtualPCNet32</literal>,
|
|
<literal>VirtualSriovEthernetCard</literal>, and
|
|
<literal>VirtualVmxnet</literal>.
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Xen: <literal>e1000</literal>,
|
|
<literal>netfront</literal>,
|
|
<literal>ne2k_pci</literal>,
|
|
<literal>pcnet</literal>, and
|
|
<literal>rtl8139</literal>.
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>VMware API driver</td>
|
|
<td>vmware_adaptertype</td>
|
|
<td>The virtual SCSI or IDE controller used by the hypervisor.</td>
|
|
<td><literal>lsiLogic</literal>, <literal>busLogic</literal>, or
|
|
<literal>ide</literal></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>VMware API driver</td>
|
|
<td>vmware_ostype</td>
|
|
<td>A VMware GuestID which describes the operating system installed in the image.
|
|
This value is passed to the hypervisor when creating a virtual machine. If not
|
|
specified, the key defaults to <literal>otherGuest</literal>.</td>
|
|
<td>See <link xlink:href="http://www.thinkvirt.com/?q=node/181"
|
|
>thinkvirt.com</link>.</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>VMware API driver</td>
|
|
<td>vmware_image_version</td>
|
|
<td>Currently unused.</td>
|
|
<td><literal>1</literal></td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>XenAPI driver</td>
|
|
<td>auto_disk_config</td>
|
|
<td>If true, the root partition on the disk is automatically resized before the
|
|
instance boots. This value is only taken into account by the Compute service
|
|
when using a Xen-based hypervisor with the XenAPI driver. The Compute service
|
|
will only attempt to resize if there is a single partition on the image, and
|
|
only if the partition is in <literal>ext3</literal> or <literal>ext4</literal>
|
|
format.</td>
|
|
<td>true | false</td>
|
|
</tr>
|
|
<tr valign="top">
|
|
<td>XenAPI driver</td>
|
|
<td>os_type</td>
|
|
<td>The operating system installed on the image. The XenAPI driver contains logic
|
|
that takes different actions depending on the value of the
|
|
<literal>os_type</literal> parameter of the image. For example, for
|
|
<literal>os_type=windows</literal> images, it creates a FAT32-based swap
|
|
partition instead of a Linux swap partition, and it limits the injected host
|
|
name to less than 16 characters.</td>
|
|
<td><literal>linux</literal> or <literal>windows</literal></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</chapter>
|