Unverified Commit ebca47be authored by Jakob Görgen's avatar Jakob Görgen
Browse files

helpers example type error fixes + new helper sugggestion

parent 6584973e
......@@ -16,17 +16,18 @@ def boilerplate():
# create client host
host0 = sys_host_base.CorundumLinuxHost()
host0_app = sys_app_base.PingClient(host0)
host0_app.server_ip = '10.0.0.2'
host0.add_app(host0_app)
# create client nic
nic0 = sys_nic.CorundumNIC()
nic0.set_ipv4("10.0.0.1")
nic0.add_ipv4("10.0.0.1")
# connect client host and nic
host_pci0 = sys_pcie.PCIeHostInterface(host0)
host0.add_if(host_pci0)
nic_pci0 = sys_pcie.PCIeDeviceInterface(nic0)
nic0.set_pcie_if(nic_pci0)
nic0.add_if(nic_pci0)
host0_nic0_chan = sys_pcie.PCIeChannel(host_pci0, nic_pci0)
# create host server
......@@ -36,13 +37,13 @@ def boilerplate():
# create host nic
nic1 = sys_nic.IntelI40eNIC()
nic1.set_ipv4("10.0.0.2")
nic1.add_ipv4("10.0.0.2")
# connect host server to host client
host_pci1 = sys_pcie.PCIeHostInterface(host0)
host1.add_if(host_pci1)
nic_pci1 = sys_pcie.PCIeDeviceInterface(nic1)
nic1.set_pcie_if(nic_pci1)
nic1.add_if(nic_pci1)
host1_nic1_chan = sys_pcie.PCIeChannel(host_pci1, nic_pci1)
# create first switch
......@@ -85,7 +86,7 @@ def syntactic_sugar():
# create client host
host0 = sys_host_base.CorundumLinuxHost()
install_application(host0, sys_app_base.PingClient(host0))
helpers_sys.install_app(host=host0, app_ty=sys_app_base.PingClient, server_ip='10.0.0.2')
# create client nic
nic0 = sys_nic.CorundumNIC()
......@@ -96,11 +97,11 @@ def syntactic_sugar():
# create host server
host1 = sys_host_base.I40ELinuxHost()
install_application(host1, system.Sleep(host1))
helpers_sys.install_app(host=host1, app_ty=sys_app_base.Sleep, delay=10)
# create host nic
nic1 = sys_nic.IntelI40eNIC()
nic1.set_ipv4("10.0.0.2")
nic1.add_ipv4("10.0.0.2")
# connect host server to host client
helpers_sys.connect_host_and_device(host=host1, device=nic1)
......
......@@ -24,11 +24,12 @@
from simbricks.orchestration import system
from simbricks.orchestration.utils import base as utils_base
def connect_host_and_device(
host: system.host.base.Host, device: system.base.Component
host: system.Host, device: system.Component
) -> system.pcie.PCIeChannel:
utils_base.has_expected_type(obj=host, expected_type=system.host.base.Host)
utils_base.has_expected_type(obj=device, expected_type=system.base.Component)
utils_base.has_expected_type(obj=host, expected_type=system.Host)
utils_base.has_expected_type(obj=device, expected_type=system.Component)
host_interface = system.pcie.PCIeHostInterface(c=host)
host.add_if(interface=host_interface)
......@@ -40,9 +41,11 @@ def connect_host_and_device(
return pcie_channel
def connect_eth_devices(device_a: system.base.Component, device_b: system.base.Component) -> system.eth.EthChannel:
utils_base.has_expected_type(obj=device_a, expected_type=system.base.Component)
utils_base.has_expected_type(obj=device_b, expected_type=system.base.Component)
def connect_eth_devices(
device_a: system.Component, device_b: system.Component
) -> system.EthChannel:
utils_base.has_expected_type(obj=device_a, expected_type=system.Component)
utils_base.has_expected_type(obj=device_b, expected_type=system.Component)
eth_inter_a = system.eth.EthInterface(c=device_a)
device_a.add_if(interface=eth_inter_a)
......@@ -52,3 +55,15 @@ def connect_eth_devices(device_a: system.base.Component, device_b: system.base.C
eth_channel = system.eth.EthChannel(a=eth_inter_a, b=eth_inter_b)
return eth_channel
def install_app(
host: system.Host, app_ty: system.Application, **kwargs
) -> system.Application:
utils_base.has_expected_type(obj=host, expected_type=system.Host)
utils_base.has_expected_type(obj=app_ty, expected_type=system.Application)
application = app_ty(h=host, **kwargs)
host.add_app(a=application)
return application
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment