Cleaner and generic way to set Qemu & IOU VM settings.

This commit is contained in:
grossmj committed 2015-04-12 15:09:37 -06:00
1 parent 7e8b0a48ab
commit de5e8f852d
5 files changed
+54 -78

No files matched your search

+8 -29
View File
@@ -61,25 +61,9 @@ class IOUVM(BaseVM):
:param project: Project instance
:param manager: Manager instance
:param console: TCP console port
:params ethernet_adapters: number of ethernet adapters
:params serial_adapters: number of serial adapters
:params ram: amount of RAM in MB
:params nvram: amount of NVRAM in KB
:params l1_keepalives: always keep the Ethernet interfaces up
:params initial_config: content of the initial configuration file
:params iourc_content: content of the iourc file if no licence is installed on the machine
"""
def __init__(self, name, vm_id, project, manager,
console=None,
ram=None,
nvram=None,
use_default_iou_values=None,
ethernet_adapters=None,
serial_adapters=None,
l1_keepalives=None,
initial_config=None,
iourc_content=None):
def __init__(self, name, vm_id, project, manager, console=None):
super().__init__(name, vm_id, project, manager, console=console)
@@ -94,17 +78,13 @@ class IOUVM(BaseVM):
# IOU settings
self._ethernet_adapters = []
self._serial_adapters = []
self.ethernet_adapters = 2 if ethernet_adapters is None else ethernet_adapters # one adapter = 4 interfaces
self.serial_adapters = 2 if serial_adapters is None else serial_adapters # one adapter = 4 interfaces
self._use_default_iou_values = True if use_default_iou_values is None else use_default_iou_values # for RAM & NVRAM values
self._nvram = 128 if nvram is None else nvram # Kilobytes
self.ethernet_adapters = 2 # one adapter = 4 interfaces
self.serial_adapters = 2 # one adapter = 4 interfaces
self._use_default_iou_values = True # for RAM & NVRAM values
self._nvram = 128 # Kilobytes
self._initial_config = ""
self._ram = 256 if ram is None else ram # Megabytes
self._l1_keepalives = False if l1_keepalives is None else l1_keepalives # used to overcome the always-up Ethernet interfaces (not supported by all IOSes).
self.iourc_content = iourc_content
if initial_config is not None:
self.initial_config = initial_config
self._ram = 256 # Megabytes
self._l1_keepalives = False # used to overcome the always-up Ethernet interfaces (not supported by all IOSes).
@asyncio.coroutine
def close(self):
@@ -236,8 +216,7 @@ class IOUVM(BaseVM):
"nvram": self._nvram,
"l1_keepalives": self._l1_keepalives,
"initial_config": self.relative_initial_config_file,
"use_default_iou_values": self._use_default_iou_values,
"iourc_path": self.iourc_path}
"use_default_iou_values": self._use_default_iou_values}
# return the relative path if the IOU image is in the images_path directory
server_config = self.manager.config.get_section_config("Server")