1. Set link characteristics

Set link characteristics

Home Forums FABRIC General Questions and Discussion Set link characteristics

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #2213
    Arash SARABI
    Participant

    In our experiment, each link may have a different delay, delay variation, and packet loss ratio.
    I was wondering if it was possible to set these variables on the Jupyter notebook (links property) rather than on the nodes.

    Thank you

     

    • This topic was modified 1 month, 1 week ago by Arash SARABI.
    #2215
    Paul Ruth
    Keymaster

    Most of the library functionality that sets internal configuration of the VMs is just a wrapper around SSH (actually paramiko).   We can, and will, add more helper functions like these but there will always be some configuration that we do not anticipate.

    You can, however, make arbitrary config like this:

    myNode.execute("sudo ip link set dev eth1 mtu 9000")

    You can even dynamically create the command to get the device names like this:

    myiface = myNode.get_interface(network_name='myNetwork')
    myNode.execute(f"sudo ip link set dev {myiface..get_os_interface()} mtu 9000")

    There is an example of creating similar commands in this notebook: https://github.com/fabric-testbed/jupyter-examples/blob/master/fabric_examples/fablib_api/create_l2network_basic_tagged.ipynb

    Note that some time soon we will update the config to use NetworkManager inside the VMs.  When this happens you will need to either use NetworkManager to configure the VMs or turn network manager off before issuing ‘ip’ commands.  The benefit of NetworkManager is that changes will live through the VM being rebooted.

     

    #2223
    Arash SARABI
    Participant

    Thank you for all your help,

    How can I use Bash “magic”? when I try to use the following command it returns an error.

    %%bash -s “$FABRIC_SLICE_PRIVATE_KEY_FILE” “$FABRIC_BASTION_USERNAME” “$FABRIC_BASTION_HOST” “$ROMEO_USER” “$ROMEO_IP”
    ssh -q -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/dev/null -i $1 -J $2@$3 $4@$5 << EOF
    ##############################################

    echo ‘Hello from:’; hostname

    ##############################################
    exit
    EOF

     

    Here is the error:

    Warning: Permanently added ‘bastion-1.fabric-testbed.net,152.54.15.12’ (ECDSA) to the list of known hosts.

    —————————————————————————
    CalledProcessError Traceback (most recent call last)
    /tmp/ipykernel_864/42773540.py in <module>
    —-> 1 get_ipython().run_cell_magic(‘bash’, ‘-s “$FABRIC_SLICE_PRIVATE_KEY_FILE” “$FABRIC_BASTION_USERNAME” “$FABRIC_BASTION_HOST” “$ROMEO_USER” “$ROMEO_IP”‘, “ssh -q -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/dev/null -i $1 -J $2@$3 $4@$5 << EOF\n##############################################\n\necho ‘Hello from:’; hostname\n\n##############################################\nexit\nEOF\n”)

    /opt/conda/lib/python3.9/site-packages/IPython/core/interactiveshell.py in run_cell_magic(self, magic_name, line, cell)
    2401 with self.builtin_trap:
    2402 args = (magic_arg_s, cell)
    -> 2403 result = fn(*args, **kwargs)
    2404 return result
    2405

    /opt/conda/lib/python3.9/site-packages/IPython/core/magics/script.py in named_script_magic(line, cell)
    140 else:
    141 line = script
    –> 142 return self.shebang(line, cell)
    143
    144 # write a basic docstring:

    <decorator-gen-103> in shebang(self, line, cell)

    /opt/conda/lib/python3.9/site-packages/IPython/core/magic.py in <lambda>(f, *a, **k)
    185 # but it’s overkill for just that one bit of state.
    186 def magic_deco(arg):
    –> 187 call = lambda f, *a, **k: f(*a, **k)
    188
    189 if callable(arg):

    /opt/conda/lib/python3.9/site-packages/IPython/core/magics/script.py in shebang(self, line, cell)
    243 sys.stderr.flush()
    244 if args.raise_error and p.returncode!=0:
    –> 245 raise CalledProcessError(p.returncode, cell, output=out, stderr=err)
    246
    247 def _run_script(self, p, cell, to_close):

    CalledProcessError: Command ‘b”ssh -q -o StrictHostKeyChecking=accept-new -o UserKnownHostsFile=/dev/null -i $1 -J $2@$3 $4@$5 << EOF\n##############################################\n\necho ‘Hello from:’; hostname\n\n##############################################\nexit\nEOF\n”‘ returned non-zero exit status 255.

    #2224
    Arash SARABI
    Participant

    I fixed the issue. Thank you

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.