Signed-off-by: Ramon Medeiros <ramonn(a)linux.vnet.ibm.com>
---
API.json | 2 +-
i18n.py | 2 +-
vmtemplate.py | 12 +++++++++++-
3 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/API.json b/API.json
index 05caa49..ce25fe1 100644
--- a/API.json
+++ b/API.json
@@ -468,7 +468,7 @@
"error": "KCHTMPL0011E"
},
"memory": { "$ref": "#/kimchitype/memory"
},
- "installation_media": {
+ "source_media": {
"description": "Path for installation media (ISO,
disk, remote ISO)",
"type" : "string",
"pattern" : "^[^ ]+( +[^ ]+)*$"
diff --git a/i18n.py b/i18n.py
index beefeb5..ada04c2 100644
--- a/i18n.py
+++ b/i18n.py
@@ -168,7 +168,7 @@ messages = {
"KCHTMPL0013E": _("Amount of memory and maximum memory (MB) must be an
integer greater than 512"),
"KCHTMPL0014E": _("Template CDROM must be a local or remote ISO
file"),
"KCHTMPL0015E": _("Invalid storage pool URI %(value)s specified for
template"),
- "KCHTMPL0016E": _("Specify an ISO image as CDROM or a base image to
create a template"),
+ "KCHTMPL0016E": _("Specify an argument to 'source_media' to
create a template"),
"KCHTMPL0017E": _("All networks for the template must be specified in
a list."),
"KCHTMPL0018E": _("Specify a volume to a template when storage pool is
iSCSI or SCSI"),
"KCHTMPL0019E": _("The volume %(volume)s is not in storage pool
%(pool)s"),
diff --git a/vmtemplate.py b/vmtemplate.py
index 8572dfe..bc54148 100644
--- a/vmtemplate.py
+++ b/vmtemplate.py
@@ -47,6 +47,12 @@ from wok.plugins.kimchi.xmlutils.serial import get_serial_xml
DISK_TYPE = {"QEMU QCOW Image": "qcow2",
"data": "raw"}
ISO_TYPE = "ISO 9660 CD-ROM"
+SOURCE_MEDIA = "source_media"
+# In PowerPC, memories must be aligned to 256 MiB
+PPC_MEM_ALIGN = 256
+# Max memory 1TB, in KiB
+MAX_MEM_LIM = 1073741824
+
class VMTemplate(object):
def __init__(self, args, scan=False):
@@ -98,6 +104,10 @@ class VMTemplate(object):
"""
Creates a new template
"""
+ # no source_media argument: raise error
+ if args.get(SOURCE_MEDIA) == None:
+ raise OperationFailed('KCHTMPL0016E')
+
# identify installation media
self._identify_installation_media(args)
@@ -150,7 +160,7 @@ class VMTemplate(object):
self.info['disks'][index] = disk_info
def _identify_installation_media(self, args):
- path = args.get("installation_media")
+ path = args.get(SOURCE_MEDIA)
# user did not passed installation media: return
if path is None:
--
2.5.0