Forum Replies Created
-
AuthorPosts
-
Hi Sunjay,
Currently, that’s not possible. Even if you could query the allocated public IPs, you would still need to invoke the
make_ip_publicly_routable
followed bymodify
orsubmit
. Since FabNetv4Ext has a limited number of IPs available, we only enable it when explicitly requested via themodify
orsubmit
operation.Without this step, the service exists but won’t pass traffic. I hope this clarifies things! I’ll note this as a potential enhancement to allow querying the allocated IPs.
Please note this should be done only at the slice setup time.
Thanks,
Komal
-
This reply was modified 1 year, 1 month ago by
Komal Thareja.
Hi Sunjay,
I apologize for not clarifying this earlier. Please note that when using
FabNetv4Ext
, IP allocation is managed by the Control Framework, not the user. While users can request a public IP starting with the first IP from the allocated subnet, the Control Framework assigns an available FabNetv4Ext IP based on the available options. This assigned IP is what gets returned to the user and can be accessed throughnet.get_public_ips()
. Since the Control Framework updates this information, it’s recommended to retrieve the latest slice topology after the slice reaches a stable state.So for
FabNetv4Ext
, please useget_public_ips()
as opposed toget_allocated_ips()
.NOTE: The example notebook uses
get_public_ips()
after requesting Publicly Routable IP.Thanks,
Komal
Hi Sunjay,
That Modify error was a bug and a patch has been deployed for that. There is also an issue in the notebook. For FabNetv4Ext service, IP allocations can be updated by the Control Framework as the FabNetv4Ext subnet is shared across the slices on a site. Collisions are handled for FabNetv4Ext by ControlFramework instead of the Fablib.
Getting the latest slice topology and retrieving the networks would ensure you have the actual IPs allocated. This should ensure correct IPs are configured on the VMs. The following steps are missing on the example notebook. Will work to update that.
slice = fablib.get_slice(slice_name)
network1 = slice.get_network(network1_name)
network2 = slice.get_network(network2_name)
print(network1.get_public_ips())
print(network2.get_public_ips())
Please try your slice again with above suggestions and let me know if you still see the same issue.
Thanks,
Komal
Hi Sunjay,
Thank you for reporting this. The collision shouldn’t occur, I will look at this and will share updates on this soon.
Thanks,
Komal
August 6, 2024 at 10:24 am in reply to: Maintenance Jupyter Hub – 08/06/2024 – 10:00 am – 11:00 am #7374Maintenance is complete and Jupyer Hub has been updated.
Hi Prateek,
We currently do not support guaranteed Quality of Service (QoS), but we do offer best-effort QoS. You can request bandwidth by setting it on your interfaces using a command like
iface.set_bandwidth(10)
.Please note that Basic NICs are essentially Virtual Functions, and the underlying dedicated NIC is shared, so guaranteed bandwidth may not be achievable. However, you should see better performance with
ConnectX_6
orConnectX_5
NICs.Here’s an example slice request for your reference:
#Create Slice
slice = fablib.new_slice(name=slice_name)
# Network
net1 = slice.add_l2network(name=network_name, subnet=IPv4Network("192.168.1.0/24"))
# Node1
node1 = slice.add_node(name=node1_name, site=site)
iface1 = node1.add_component(model='NIC_Basic', name='nic1').get_interfaces()[0]
iface1.set_mode('auto')
iface1.set_bandwidth(10)
net1.add_interface(iface1)
# Node2
node2 = slice.add_node(name=node2_name, site=site)
iface2 = node2.add_component(model='NIC_Basic', name='nic1').get_interfaces()[0]
iface2.set_mode('auto')
iface2.set_bandwidth(10)
net1.add_interface(iface2)
#Submit Slice Request
slice.submit();
Thanks,
KomalThank you, Prateek, for sharing your slice ID and observations! If you encounter this issue again, please let us know and refrain from deleting the slice. This will greatly assist us in debugging and identifying the problem.
Unfortunately, we can’t do much with a deleted slice. We appreciate your cooperation with this!
Thanks,
KomalHi Sunjay,
Are you still facing this issue? I tried a slice on TOKY and didn’t run into any access issues.
Please let us know.
Thanks,
KomalJuly 31, 2024 at 9:23 am in reply to: Unable to (consistently) reach FABNetv4Ext addresses from outside FABRIC #7335Hi Sunjay,
I just checked all the VMs on your slice. I can ping all FabNetv4Ext IPs from my laptop. I’ll check with Network Team and share more details if we see any issues.
Thanks,
KomalHi Nirmala,
This looks like a bug in
fablib
which doesn’t have the update regarding the username for default_kali. Could you please try using userkali
to access the VM?I will work to provide a fix for this soon. Apologies for the inconvenience!
Thanks,
KomalSorry for the confusion, Users can still validate their keys against the bastion host using the command above as indicated on the learn article.
Thanks,
KomalHi,
Could you please try running this notebook?
jupyter-examples-rel1.6.1/configure_and_validate.ipynb
This will validate your configuration and update it if needed.
Please try running the
Hello Fabirc Notebook
after that. This notebook creates a VM and also displays the SSH command to use to login into the VM. Please check if the SSH command works and let us know if the issue still persists.NOTE: Bastion host is only used as a jump box, we do not allow login to Bastion Nodes.
Thanks,
Komal
-
This reply was modified 1 year, 1 month ago by
Komal Thareja.
Hi Nishanth,
The fix for this issue is now available with
fabrictestbed-extensions==1.7.2
Thanks,
Komal
Hi Nishanth,
We just added support for users to query host level information as well. Examples for this would be available in a couple of days. I am sharing a snippet below on how this can be done:
fablib.list_hosts()
resources = fablib.get_resources()
site = resources.get_site("MAX")
all_hosts = site.get_hosts()
host = site.get_host(name="max-w1.fabric-testbed.net")
print(host)Please checkout our documentation here to find more details. Please let us know if you have more questions/concerns.
https://fabric-fablib.readthedocs.io/en/latest/resources.html
https://fabric-fablib.readthedocs.io/en/latest/site.html
Thanks,
Komal
July 23, 2024 at 10:03 am in reply to: MFLib question – querying the entire fabric environment #7278Hi Bjoern,
We just added support for users to query host level information as well. Examples for this would be available in a couple of days. I am sharing a snippet below on how this can be done:
fablib.list_hosts()
resources = fablib.get_resources()
site = resources.get_site("MAX")
all_hosts = site.get_hosts()
host = site.get_host(name="max-w1.fabric-testbed.net")
print(host)Please checkout our documentation here to find more details. Please let us know if you have more questions/concerns.
https://fabric-fablib.readthedocs.io/en/latest/resources.html
https://fabric-fablib.readthedocs.io/en/latest/site.html
Thanks,
Komal
-
This reply was modified 1 year, 1 month ago by
-
AuthorPosts