summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/installer/domain.xml36
-rw-r--r--lib/python/apex/deploy_env.py26
2 files changed, 55 insertions, 7 deletions
diff --git a/lib/installer/domain.xml b/lib/installer/domain.xml
new file mode 100644
index 00000000..c710e561
--- /dev/null
+++ b/lib/installer/domain.xml
@@ -0,0 +1,36 @@
+<domain type='%(engine)s'>
+ <name>%(name)s</name>
+ <memory unit='KiB'>%(memory)s</memory>
+ <vcpu>%(cpus)s</vcpu>
+ <cpu mode='host-passthrough'/>
+ <os>
+ <type arch='%(arch)s'>hvm</type>
+ <boot dev='%(bootdev)s'/>
+ <bootmenu enable='no'/>
+ </os>
+ <features>
+ <acpi/>
+ <apic/>
+ <pae/>
+ </features>
+ <clock offset='utc'/>
+ <on_poweroff>destroy</on_poweroff>
+ <on_reboot>restart</on_reboot>
+ <on_crash>restart</on_crash>
+ <devices>
+ <controller type='scsi' model='virtio-scsi' index='0'/>
+ <disk type='file' device='disk'>
+ <driver name='qemu' type='qcow2' cache='unsafe'/>
+ <source file='%(imagefile)s'/>
+ <target dev='sda' bus='%(diskbus)s'/>
+ </disk>
+ %(network)s
+ %(bm_network)s
+ %(enable_serial_console)s
+ <input type='mouse' bus='ps2'/>
+ <graphics type='vnc' port='-1' autoport='yes'/>
+ <video>
+ <model type='cirrus' vram='9216' heads='1'/>
+ </video>
+ </devices>
+</domain>
diff --git a/lib/python/apex/deploy_env.py b/lib/python/apex/deploy_env.py
index bfb94f50..25e2d0a7 100644
--- a/lib/python/apex/deploy_env.py
+++ b/lib/python/apex/deploy_env.py
@@ -15,6 +15,7 @@ REQ_DEPLOY_SETTINGS = ['sdn_controller',
'sdn_l3',
'tacker',
'congress',
+ 'dataplane',
'sfc',
'vpn']
@@ -22,6 +23,7 @@ OPT_DEPLOY_SETTINGS = ['performance']
VALID_ROLES = ['Controller', 'Compute', 'ObjectStorage']
VALID_PERF_OPTS = ['kernel','nova']
+VALID_DATAPLANES = ['ovs','ovs_dpdk','fdio']
class DeploySettings:
"""
@@ -54,14 +56,24 @@ class DeploySettings:
if not isinstance(deploy_options, dict):
raise DeploySettingsException("deploy_options should be a list")
- for option in deploy_options:
- if option not in REQ_DEPLOY_SETTINGS + OPT_DEPLOY_SETTINGS:
+ for setting, value in deploy_options.items():
+ if setting not in REQ_DEPLOY_SETTINGS + OPT_DEPLOY_SETTINGS:
raise DeploySettingsException("Invalid deploy_option {} "
- "specified".format(option))
-
- for required_setting in REQ_DEPLOY_SETTINGS:
- if required_setting not in deploy_options:
- self.deploy_settings['deploy_options']['required'] = False
+ "specified".format(setting))
+ if setting == 'dataplane':
+ if value not in VALID_DATAPLANES:
+ planes = ' '.join(VALID_DATAPLANES)
+ raise DeploySettingsException("Invalid dataplane {} "
+ "specified. Valid dataplanes:"
+ " {}".format(value,planes))
+
+
+ for req_set in REQ_DEPLOY_SETTINGS:
+ if req_set not in deploy_options:
+ if req_set == 'dataplane':
+ self.deploy_settings['deploy_options'][req_set] = 'ovs'
+ else:
+ self.deploy_settings['deploy_options'][req_set] = False
if 'performance' in deploy_options:
if not isinstance(deploy_options['performance'], dict):