4.3.1. System Configuration#
4.3.1.1. Base#
- class simbricks.orchestration.system.base.System(name: str = 'da8524ca-8b4e-4800-9e4a-825a6368dc3c')#
Defines System configuration of the whole simulation
- toJSON() dict#
- classmethod fromJSON(json_obj: dict, enforce_dummies: bool = False) Self#
- id() int#
- class simbricks.orchestration.system.base.Component(s: System)#
Defines a component that is a part of the System Configuration.
Components could e.g. be hosts, NICs, switches.
- async prepare(inst: inst_base.Instantiation) None#
- toJSON() dict#
- id() int#
- class simbricks.orchestration.system.base.DummyComponent(s: System)#
-
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- toJSON() dict#
- class simbricks.orchestration.system.base.Interface(c: Component)#
Specifies a single Interface of a Component.
A host component could e.g. have multiple PCI Interfaces.
- is_connected() bool#
- disconnect() None#
- T = ~T#
- toJSON() dict#
- classmethod fromJSON(system: System, json_obj: dict) Self#
Deserializes an Interface from its JSON representation.
Note: This function will not set the component which is done by the component base classes ‘fromJSON’ method.
- id() int#
- class simbricks.orchestration.system.base.DummyInterface(c: Component)#
- classmethod fromJSON(system: System, json_obj: dict) Self#
Deserializes an Interface from its JSON representation.
Note: This function will not set the component which is done by the component base classes ‘fromJSON’ method.
- T = ~T#
- disconnect() None#
- id() int#
- is_connected() bool#
- toJSON() dict#
4.3.1.2. Eth#
- class simbricks.orchestration.system.eth.EthInterface(c: Component)#
-
- T = ~T#
- disconnect() None#
- classmethod fromJSON(system: System, json_obj: dict) Self#
Deserializes an Interface from its JSON representation.
Note: This function will not set the component which is done by the component base classes ‘fromJSON’ method.
- id() int#
- is_connected() bool#
- toJSON() dict#
- class simbricks.orchestration.system.eth.EthChannel(a: EthInterface, b: EthInterface)#
- disconnect()#
- id() int#
- toJSON() dict#
- class simbricks.orchestration.system.eth.EthSimpleNIC(s: System)#
- add_ipv4(ip: str) None#
- add_if(interface: EthInterface) None#
- connect_eth_peer_if(peer_i: EthInterface) EthChannel#
- toJSON() dict#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- class simbricks.orchestration.system.eth.BaseEthNetComponent(s: System)#
- add_if(i: EthInterface) None#
- toJSON() dict#
- connect_eth_peer_if(peer_i: EthInterface) EthChannel#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- class simbricks.orchestration.system.eth.EthWire(s: System)#
- add_if(i: EthInterface) None#
- connect_eth_peer_if(peer_i: EthInterface) EthChannel#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- toJSON() dict#
- class simbricks.orchestration.system.eth.EthSwitch(s: System)#
- add_if(i: EthInterface) None#
- connect_eth_peer_if(peer_i: EthInterface) EthChannel#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- toJSON() dict#
4.3.1.3. PCIe#
- class simbricks.orchestration.system.pcie.PCIeHostInterface(c: Component)#
- T = ~T#
- disconnect() None#
- classmethod fromJSON(system: System, json_obj: dict) Self#
Deserializes an Interface from its JSON representation.
Note: This function will not set the component which is done by the component base classes ‘fromJSON’ method.
- id() int#
- is_connected() bool#
- toJSON() dict#
- class simbricks.orchestration.system.pcie.PCIeDeviceInterface(c: Component)#
-
- T = ~T#
- disconnect() None#
- classmethod fromJSON(system: System, json_obj: dict) Self#
Deserializes an Interface from its JSON representation.
Note: This function will not set the component which is done by the component base classes ‘fromJSON’ method.
- id() int#
- is_connected() bool#
- toJSON() dict#
- class simbricks.orchestration.system.pcie.PCIeChannel(host: PCIeHostInterface, dev: PCIeDeviceInterface)#
- host_if() PCIeHostInterface#
- dev_if() PCIeDeviceInterface#
- disconnect()#
- id() int#
- toJSON() dict#
4.3.1.4. Mem#
- class simbricks.orchestration.system.mem.MemHostInterface(c: Component)#
- T = ~T#
- disconnect() None#
- classmethod fromJSON(system: System, json_obj: dict) Self#
Deserializes an Interface from its JSON representation.
Note: This function will not set the component which is done by the component base classes ‘fromJSON’ method.
- id() int#
- is_connected() bool#
- toJSON() dict#
- class simbricks.orchestration.system.mem.MemDeviceInterface(c: Component)#
-
- T = ~T#
- disconnect() None#
- classmethod fromJSON(system: System, json_obj: dict) Self#
Deserializes an Interface from its JSON representation.
Note: This function will not set the component which is done by the component base classes ‘fromJSON’ method.
- id() int#
- is_connected() bool#
- toJSON() dict#
- class simbricks.orchestration.system.mem.MemChannel(host: MemHostInterface, dev: MemDeviceInterface)#
- host_if() MemHostInterface#
- dev_if() MemDeviceInterface#
- disconnect()#
- id() int#
- toJSON() dict#
- class simbricks.orchestration.system.mem.MemSimpleDevice(s: System)#
- add_if(interface: MemDeviceInterface) None#
- toJSON() dict#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- class simbricks.orchestration.system.mem.MemInterconnect(s: System)#
- add_if(interface: MemDeviceInterface | MemHostInterface) None#
- connect_host(peer_if: MemHostInterface) MemChannel#
- connect_device(peer_if: MemDeviceInterface) MemChannel#
- add_route(dev: MemHostInterface, vaddr: int, len: int, paddr: int = 0)#
- toJSON() dict#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
4.3.1.5. NIC#
- class simbricks.orchestration.system.nic.SimplePCIeNIC(s: System)#
- add_if(interface: EthInterface | PCIeDeviceInterface) None#
- add_ipv4(ip: str) None#
- connect_eth_peer_if(peer_i: EthInterface) EthChannel#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- toJSON() dict#
- class simbricks.orchestration.system.nic.VirtIONic(s: System)#
- add_if(interface: EthInterface | PCIeDeviceInterface) None#
- add_ipv4(ip: str) None#
- connect_eth_peer_if(peer_i: EthInterface) EthChannel#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- toJSON() dict#
4.3.1.6. Host#
- class simbricks.orchestration.system.host.base.Host(s: System)#
- add_app(a: Application) None#
- toJSON() dict#
- connect_pcie_dev(dev: PCIeSimpleDevice) PCIeChannel#
- id() int#
- async prepare(inst: inst_base.Instantiation) None#
- class simbricks.orchestration.system.host.base.FullSystemHost(s: System)#
-
- async prepare(inst: instantiation.Instantiation) None#
- toJSON() dict#
- add_app(a: Application) None#
- connect_pcie_dev(dev: PCIeSimpleDevice) PCIeChannel#
- id() int#
- class simbricks.orchestration.system.host.base.BaseLinuxHost(s: System)#
- add_app(a: BaseLinuxApplication) None#
- run_cmds(inst: instantiation.Instantiation) list[str]#
Commands to run on node.
- cleanup_cmds(inst: instantiation.Instantiation) list[str]#
Commands to run to cleanup node.
- add_config_file(config_file: ConfigFile)#
- config_files(inst: instantiation.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- prepare_pre_cp(inst: instantiation.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- prepare_post_cp(inst: instantiation.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- config_str(inst: instantiation.Instantiation) str#
- toJSON() dict#
- connect_pcie_dev(dev: PCIeSimpleDevice) PCIeChannel#
- id() int#
- async prepare(inst: instantiation.Instantiation) None#
- class simbricks.orchestration.system.host.base.LinuxHost(sys)#
- cleanup_cmds(inst: instantiation.Instantiation) list[str]#
Commands to run to cleanup node.
- prepare_pre_cp(inst: instantiation.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- prepare_post_cp(inst) list[str]#
Commands to run to prepare node after checkpoint restore.
- toJSON() dict#
- add_app(a: BaseLinuxApplication) None#
- add_config_file(config_file: ConfigFile)#
- config_files(inst: instantiation.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- config_str(inst: instantiation.Instantiation) str#
- connect_pcie_dev(dev: PCIeSimpleDevice) PCIeChannel#
- id() int#
- async prepare(inst: instantiation.Instantiation) None#
- run_cmds(inst: instantiation.Instantiation) list[str]#
Commands to run on node.
- class simbricks.orchestration.system.host.base.NVMeLinuxHost(sys: System)#
- add_app(a: BaseLinuxApplication) None#
- add_config_file(config_file: ConfigFile)#
- cleanup_cmds(inst: instantiation.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: instantiation.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- config_str(inst: instantiation.Instantiation) str#
- connect_pcie_dev(dev: PCIeSimpleDevice) PCIeChannel#
- id() int#
- async prepare(inst: instantiation.Instantiation) None#
- prepare_post_cp(inst) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: instantiation.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- run_cmds(inst: instantiation.Instantiation) list[str]#
Commands to run on node.
- toJSON() dict#
4.3.1.7. Applications#
- class simbricks.orchestration.system.host.app.Application(h: sys_host.Host)#
- toJSON() dict#
- id() int#
- class simbricks.orchestration.system.host.app.BaseLinuxApplication(h: sys_host.LinuxHost)#
- abstractmethod run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- add_config_file(config_file: disk_images.ConfigFile)#
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- toJSON() dict#
- id() int#
- class simbricks.orchestration.system.host.app.GenericRawCommandApplication(h: sys_host.LinuxHost, commands: list[str] = [])#
- run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- toJSON() dict#
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- class simbricks.orchestration.system.host.app.NVMEFsTest(h: sys_host.LinuxHost)#
-
- run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- toJSON() dict#
- class simbricks.orchestration.system.host.app.PingClient(h: sys_host.LinuxHost, server_ip: str = '192.168.64.1')#
- run_cmds(inst: inst_base.Instantiation) tp.List[str]#
Commands to run on node.
- toJSON() dict#
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- class simbricks.orchestration.system.host.app.Sleep(h: sys_host.LinuxHost, delay: float = 10, infinite: bool = False)#
- run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- toJSON() dict#
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- class simbricks.orchestration.system.host.app.NetperfServer(h: sys_host.LinuxHost)#
- run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- toJSON() dict#
- class simbricks.orchestration.system.host.app.NetperfClient(h: sys_host.LinuxHost, server_ip: str = '192.168.64.1')#
- run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- toJSON() dict#
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- class simbricks.orchestration.system.host.app.IperfTCPServer(h: sys_host.LinuxHost)#
- run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- toJSON() dict#
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- class simbricks.orchestration.system.host.app.IperfUDPServer(h: sys_host.LinuxHost)#
- run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- toJSON() dict#
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- class simbricks.orchestration.system.host.app.IperfTCPClient(h: sys_host.LinuxHost, server_ip: str = '10.0.0.1', procs: int = 1)#
- run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- toJSON() dict#
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
- class simbricks.orchestration.system.host.app.IperfUDPClient(h: sys_host.LinuxHost, server_ip: str = '10.0.0.1', rate: str = '150m')#
- run_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run on node.
- toJSON() dict#
- add_config_file(config_file: disk_images.ConfigFile)#
- cleanup_cmds(inst: inst_base.Instantiation) list[str]#
Commands to run to cleanup node.
- config_files(inst: inst_base.Instantiation) list[disk_images.ConfigFile]#
Additional files to put inside the node, which are mounted under /tmp/guest/.
- id() int#
- prepare_post_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node after checkpoint restore.
- prepare_pre_cp(inst: inst_base.Instantiation) list[str]#
Commands to run to prepare node before checkpointing.
4.3.1.8. Disk Images#
- class simbricks.orchestration.system.disk_images.DiskImage(system: sys_base.System)#
- abstractmethod available_formats() list[str]#
- abstractmethod path(inst: inst_base.Instantiation, format: str) str#
- static assert_is_file(path: str) None#
- find_format(host: sim_host.HostSim) str#
- async prepare(inst: inst_base.Instantiation, host: sys_host.Host) None#
- toJSON() dict#
- classmethod fromJSON(system: sys_base.System, json_obj: dict) tpe.Self#
- add_host(host: sys_host.Host) None#
- id() int#
- class simbricks.orchestration.system.disk_images.DummyDiskImage(system: sys_base.System)#
- available_formats() list[str]#
- path(inst: inst_base.Instantiation, format: str) str#
- classmethod fromJSON(system: sys_base.System, json_obj: dict) tpe.Self#
- add_host(host: sys_host.Host) None#
- static assert_is_file(path: str) None#
- find_format(host: sim_host.HostSim) str#
- id() int#
- async prepare(inst: inst_base.Instantiation, host: sys_host.Host) None#
- toJSON() dict#
- class simbricks.orchestration.system.disk_images.ExternalDiskImage(system: sys_base.System, path: str)#
- available_formats() list[str]#
- path(inst: inst_base.Instantiation, format: str) str#
- toJSON() dict#
- classmethod fromJSON(system: sys_base.System, json_obj: dict) tpe.Self#
- add_host(host: sys_host.Host) None#
- static assert_is_file(path: str) None#
- find_format(host: sim_host.HostSim) str#
- id() int#
- async prepare(inst: inst_base.Instantiation, host: sys_host.Host) None#
- class simbricks.orchestration.system.disk_images.DistroDiskImage(system: sys_base.System, name: str)#
- available_formats() list[str]#
- path(inst: inst_base.Instantiation, format: str) str#
- toJSON() dict#
- classmethod fromJSON(system: sys_base.System, json_obj: dict) tpe.Self#
- add_host(host: sys_host.Host) None#
- static assert_is_file(path: str) None#
- find_format(host: sim_host.HostSim) str#
- id() int#
- async prepare(inst: inst_base.Instantiation, host: sys_host.Host) None#
- class simbricks.orchestration.system.disk_images.DynamicDiskImage(system: sys_base.System)#
- path(inst: inst_base.Instantiation, format: str) str#
- classmethod fromJSON(system: sys_base.System, json_obj: dict) tpe.Self#
- add_host(host: sys_host.Host) None#
- static assert_is_file(path: str) None#
- abstractmethod available_formats() list[str]#
- find_format(host: sim_host.HostSim) str#
- id() int#
- async prepare(inst: inst_base.Instantiation, host: sys_host.Host) None#
- toJSON() dict#
- class simbricks.orchestration.system.disk_images.LinuxConfigDiskImage(system: sys_base.System, host: sys_host.BaseLinuxHost)#
- available_formats() list[str]#
- toJSON()#
- classmethod fromJSON(system: sys_base.System, json_obj: dict) tpe.Self#
- add_host(host: sys_host.BaseLinuxHost) None#
- static assert_is_file(path: str) None#
- find_format(host: sim_host.HostSim) str#
- id() int#
- path(inst: inst_base.Instantiation, format: str) str#
- async prepare(inst: inst_base.Instantiation, host: sys_host.Host) None#
- class simbricks.orchestration.system.disk_images.PackerDiskImage(system: sys_base.System, packer_config_path: str)#
- available_formats() list[str]#
- toJSON() dict#
- classmethod fromJSON(system: sys_base.System, json_obj: dict) tpe.Self#
- add_host(host: sys_host.Host) None#
- static assert_is_file(path: str) None#
- find_format(host: sim_host.HostSim) str#
- id() int#
- path(inst: inst_base.Instantiation, format: str) str#
- async prepare(inst: inst_base.Instantiation, host: sys_host.Host) None#
- class simbricks.orchestration.system.disk_images.ConfigFile(file_name: str)#
- abstractmethod IOHandle(inst: inst_base.Instantiation) tp.IO#
- toJSON() dict#
- classmethod fromJSON(json_obj) Self#
- id() int#