mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-05-08 11:47:53 +00:00

encapuslation wise it makes sense to have a helper which assembles a os specific setting object in the OSDefaults class, where those settings are defined. Else we always need to check if the current OSType on the user side of this class, which is against encapsulation. Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
86 lines
2.0 KiB
JavaScript
86 lines
2.0 KiB
JavaScript
/*
|
|
* This class holds performance *recommended* settings for the PVE Qemu wizards
|
|
* the *mandatory* settings are set in the PVE::QemuServer
|
|
* config_to_command sub
|
|
* We store this here until we get the data from the API server
|
|
*/
|
|
|
|
// this is how you would add an hypothetic FreeBSD > 10 entry
|
|
//
|
|
//virtio-blk is stable but virtIO net still
|
|
// problematic as of 10.3
|
|
// see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=165059
|
|
// addOS({
|
|
// parent: 'generic', // inherits defaults
|
|
// pveOS: 'freebsd10', // must match a radiofield in OSTypeEdit.js
|
|
// busType: 'virtio' // must match a pveBusController value
|
|
// // networkCard muss match a pveNetworkCardSelector
|
|
|
|
|
|
Ext.define('PVE.qemu.OSDefaults', {
|
|
singleton: true, // will also force creation when loaded
|
|
|
|
constructor: function() {
|
|
var me = this;
|
|
|
|
var addOS = function(settings) {
|
|
if (me.hasOwnProperty(settings.parent)) {
|
|
var child = Ext.clone(me[settings.parent]);
|
|
me[settings.pveOS] = Ext.apply(child, settings);
|
|
|
|
} else {
|
|
throw("Could not find your genitor");
|
|
}
|
|
};
|
|
|
|
// default values
|
|
me.generic = {
|
|
busType: 'ide',
|
|
networkCard: 'e1000',
|
|
busPriority: {
|
|
ide: 4,
|
|
sata: 3,
|
|
scsi: 2,
|
|
virtio: 1
|
|
},
|
|
scsihw: 'virtio-scsi-pci'
|
|
};
|
|
|
|
// virtio-net is in kernel since 2.6.25
|
|
// virtio-scsi since 3.2 but backported in RHEL with 2.6 kernel
|
|
addOS({
|
|
pveOS: 'l26',
|
|
parent : 'generic',
|
|
busType: 'scsi',
|
|
busPriority: {
|
|
scsi: 4,
|
|
virtio: 3,
|
|
sata: 2,
|
|
ide: 1
|
|
},
|
|
networkCard: 'virtio'
|
|
});
|
|
|
|
// recommandation from http://wiki.qemu.org/Windows2000
|
|
addOS({
|
|
pveOS: 'w2k',
|
|
parent : 'generic',
|
|
networkCard: 'rtl8139',
|
|
scsihw: 'lsi'
|
|
});
|
|
// https://pve.proxmox.com/wiki/Windows_XP_Guest_Notes
|
|
addOS({
|
|
pveOS: 'wxp',
|
|
parent : 'w2k'
|
|
});
|
|
|
|
me.getDefaults = function(ostype) {
|
|
if (PVE.qemu.OSDefaults[ostype]) {
|
|
return PVE.qemu.OSDefaults[ostype];
|
|
} else {
|
|
return PVE.qemu.OSDefaults.generic;
|
|
}
|
|
};
|
|
}
|
|
});
|