diff --git a/src/vmm/LibVirtDriverKVM.cc b/src/vmm/LibVirtDriverKVM.cc
index 6aca971987..c3b10c4e67 100644
--- a/src/vmm/LibVirtDriverKVM.cc
+++ b/src/vmm/LibVirtDriverKVM.cc
@@ -69,7 +69,9 @@ int LibVirtDriver::deployment_description_kvm(
string model = "";
string ip = "";
string filter = "";
+
string default_filter = "";
+ string default_model = "";
const VectorAttribute * graphics;
@@ -86,6 +88,7 @@ int LibVirtDriver::deployment_description_kvm(
string acpi = "";
const VectorAttribute * raw;
+ string default_raw;
string data;
// ------------------------------------------------------------------------
@@ -438,9 +441,11 @@ int LibVirtDriver::deployment_description_kvm(
// Network interfaces
// ------------------------------------------------------------------------
- get_default("NIC","FILTER",default_filter);
+ get_default("NIC", "FILTER", default_filter);
- num = vm->get_template_attribute("NIC",attrs);
+ get_default("NIC", "MODEL", default_model);
+
+ num = vm->get_template_attribute("NIC", attrs);
for(int i=0; i" << endl;
}
- if( !model.empty() )
+ string * the_model = 0;
+
+ if (!model.empty())
{
- file << "\t\t\t" << endl;
+ the_model = &model;
+ }
+ else if (!default_model.empty())
+ {
+ the_model = &default_model;
+ }
+
+ if (the_model != 0)
+ {
+ file << "\t\t\t" << endl;
}
if (!ip.empty() )
@@ -679,6 +695,13 @@ int LibVirtDriver::deployment_description_kvm(
}
}
+ get_default("RAW", default_raw);
+
+ if ( !default_raw.empty() )
+ {
+ file << "\t" << default_raw << endl;
+ }
+
file << "" << endl;
file.close();
diff --git a/src/vmm/LibVirtDriverVMware.cc b/src/vmm/LibVirtDriverVMware.cc
index af020b506c..2319eafe14 100644
--- a/src/vmm/LibVirtDriverVMware.cc
+++ b/src/vmm/LibVirtDriverVMware.cc
@@ -65,6 +65,8 @@ int LibVirtDriver::deployment_description_vmware(
string script = "";
string model = "";
+ string default_model = "";
+
const VectorAttribute * graphics;
string listen = "";
@@ -74,6 +76,7 @@ int LibVirtDriver::deployment_description_vmware(
const VectorAttribute * raw;
string data;
+ string default_raw;
// ------------------------------------------------------------------------
@@ -301,6 +304,8 @@ int LibVirtDriver::deployment_description_vmware(
// Network interfaces
// ------------------------------------------------------------------------
+ get_default("NIC", "MODEL", default_model);
+
num = vm->get_template_attribute("NIC",attrs);
for(int i=0; i" << endl;
}
- if( !model.empty() )
+ string * the_model = 0;
+
+ if (!model.empty())
{
- file << "\t\t\t" << endl;
+ the_model = &model;
+ }
+ else if (!default_model.empty())
+ {
+ the_model = &default_model;
+ }
+
+ if (the_model != 0)
+ {
+ file << "\t\t\t" << endl;
}
file << "\t\t" << endl;
@@ -437,6 +453,13 @@ int LibVirtDriver::deployment_description_vmware(
}
}
+ get_default("RAW", default_raw);
+
+ if ( !default_raw.empty() )
+ {
+ file << "\t" << default_raw << endl;
+ }
+
file << "" << endl;
file.close();
diff --git a/src/vmm/XenDriver.cc b/src/vmm/XenDriver.cc
index 5dcd0110f8..9be40d3453 100644
--- a/src/vmm/XenDriver.cc
+++ b/src/vmm/XenDriver.cc
@@ -61,6 +61,8 @@ int XenDriver::deployment_description(
string bridge = "";
string model = "";
+ string default_model = "";
+
const VectorAttribute * graphics;
string listen = "";
@@ -70,6 +72,7 @@ int XenDriver::deployment_description(
const VectorAttribute * raw;
string data;
+ string default_raw;
// ------------------------------------------------------------------------
@@ -331,6 +334,8 @@ int XenDriver::deployment_description(
num = vm->get_template_attribute("NIC",attrs);
+ get_default("NIC", "MODEL", default_model);
+
file << "vif = [" << endl;
for(int i=0; ivector_value("BRIDGE");
model = nic->vector_value("MODEL");
- if( !model.empty() )
+ string * the_model = 0;
+
+ if (!model.empty())
{
- file << "model=" << model;
+ the_model = &model;
+ }
+ else if (!default_model.empty())
+ {
+ the_model = &default_model;
+ }
+
+ if (the_model != 0)
+ {
+ file << "model=" << *the_model;
pre_char = ',';
}
@@ -470,6 +486,13 @@ int XenDriver::deployment_description(
}
}
+ get_default("RAW", default_raw);
+
+ if ( !default_raw.empty() )
+ {
+ file << default_raw << endl;
+ }
+
file.close();
return 0;
diff --git a/src/vmm_mad/exec/vmm_exec_kvm.conf b/src/vmm_mad/exec/vmm_exec_kvm.conf
index 5f3ef0d752..a1c4e7e2ce 100644
--- a/src/vmm_mad/exec/vmm_exec_kvm.conf
+++ b/src/vmm_mad/exec/vmm_exec_kvm.conf
@@ -15,14 +15,15 @@
#--------------------------------------------------------------------------- #
# Default configuration attributes for the KVM driver
-# (all domains will use these values as defaults). These values can
+# (all domains will use these values as defaults). These values can
# be overridden in each VM template. Valid atributes are:
# - emulator
# - os [kernel,initrd,boot,root,kernel_cmd,arch]
# - vcpu
# - features [acpi, pae]
# - disk [driver, cache]
-# - nic [filter]
+# - nic [filter, model]
+# - raw
#EMULATOR = /usr/libexec/qemu-kvm
@@ -33,4 +34,5 @@ FEATURES = [ PAE = "no", ACPI = "yes" ]
DISK = [ driver = "raw" , cache = "default"]
-#NIC = [ filter = "clean-traffic" ]
+#NIC = [ filter = "clean-traffic", model="virtio" ]
+#RAW = ""
diff --git a/src/vmm_mad/exec/vmm_exec_vmware.conf b/src/vmm_mad/exec/vmm_exec_vmware.conf
index a3b5e2a5b4..4a3d7151c0 100644
--- a/src/vmm_mad/exec/vmm_exec_vmware.conf
+++ b/src/vmm_mad/exec/vmm_exec_vmware.conf
@@ -20,7 +20,8 @@
# - vcpu
# - os[arch]
# - disk[dirver]
-# - datastore
+# - nic[model]
+# - raw
#VCPU = 1
diff --git a/src/vmm_mad/exec/vmm_exec_xen.conf b/src/vmm_mad/exec/vmm_exec_xen.conf
index 3d4ac94fba..ccef6d75da 100644
--- a/src/vmm_mad/exec/vmm_exec_xen.conf
+++ b/src/vmm_mad/exec/vmm_exec_xen.conf
@@ -15,15 +15,19 @@
#--------------------------------------------------------------------------- #
# Default configuration attributes for the Xen driver
-# (all domains will use these values as defaults). These values can
+# (all domains will use these values as defaults). These values can
# be overridden in each VM template. Valid atributes are:
# - credit
# - os [kernel,initrd,root,kernel_cmd]
# - vcpu
# - disk[driver]
+# - nic[model]
+# - raw
#VCPU = 1
#OS = [ kernel="/vmlinuz", initrd="/initrd.img", root="sda1", kernel_cmd="ro" ]
CREDIT = 256
DISK = [ driver = "tap:aio:" ]
+
+#RAW = "data=\"on_crash=destroy\""