Home › Forums › FABRIC General Questions and Discussion › L2 network created successfully, but interfaces are not getting IPs
- This topic has 7 replies, 3 voices, and was last updated 2 weeks, 2 days ago by
Komal Thareja.
-
AuthorPosts
-
April 4, 2026 at 12:00 am #9644
Hi all,
I’m having trouble with a FABRIC slice where I created two nodes at MASS and NEWY and connected them with an L2 network, but the interfaces are not getting IP addresses.
Slice ID:
0c80b4be-6b12-4d87-8e85-e76bc8c44ddb
Slice name:iPerf3-tuned-nic-x6-64gb-512GBWhat happened
Initially, I had two nodes:
Node-MASSNode-NEWY
I created an L2 network between them. The network showed up in the topology, but the interfaces did not seem to get usable IPs.
To reconfigure, I fetched the latest slice topology, deleted the old network, and ran the modification script again. The new network (
net4) now appears as Active, and the interfaces are attached, but the IP addresses are stillNone.Modification code used
## NOTE: Always get the latest slice topology before requesting any updates slice = fablib.get_slice(slice_name) # Removing NIC1 from Node1 node1 = slice.get_node(name="Node-MASS") node2 = slice.get_node(name="Node-NEWY") net1 = slice.get_network(name="net1") net1.delete() net2 = slice.add_l2network(name="net4", subnet=IPv4Network("192.168.2.0/24")) iface1 = node1.get_interfaces()[0] iface1.set_mode('auto') net2.add_interface(iface1) iface2 = node2.get_interfaces()[0] iface2.set_mode('auto') net2.add_interface(iface2) slice.submit()Current state
After running the script:
net4is created and shows as Active- both nodes are still Active
- the interfaces are attached to
net4 - but the IP address fields remain
None
What I checked
When I try to retrieve the IP from the interface, I get
None:node2_addr = node2.get_interface(network_name="net4").get_ip_addr() print(node2_addr) stdout, stderr = node1.execute(f'ping -c 5 {node2_addr}')This prints:
NoneQuestion
What can I do to fix this? I want a network with great speed.
Any guidance would be appreciated.
April 4, 2026 at 10:08 am #9645Hello, The FABRIC MASS dataplane link was having some problems, however that should be working now. Please try your service again and let us know if all is working. Thanks, Tom
April 4, 2026 at 4:24 pm #9646Hello, The FABRIC MASS dataplane link was having some problems, however that should be working now. Please try your service again and let us know if all is working. Thanks, Tom
Hello,
Thanks for the update.
I removed the old slice and created a new one to retry from scratch, but I am still seeing the same issue. The new slice is:
- Slice ID:
f00b699f-7332-4cd5-b4fd-f64b0da3afe3 - Slice name:
iPerf3-tuned-nic-x6-64gb
In this new slice, the L2 network was created successfully and shows Active, and both nodes are also Active. The interfaces are attached to
net1, but the IP Address field still remainsNonefor both sides.Current setup:
- Node-FIU at FIU
- Node-KANS at KANS
- Network:
net1 - Subnet:
192.168.1.0/24
From the topology view:
Node-FIU-nic1-p1is attached tonet1, modeauto, IP AddressNoneNode-KANS-nic1-p1is attached tonet1, modeauto, IP AddressNone
So the issue still seems to be that the network is created, but IPs are not being assigned to the interfaces.
Please let me know whether there is an additional step needed for IP assignment on L2 networks, or if this indicates another dataplane/control-plane issue.
Thank you.
Code:
#Create Slice
slice = fablib.new_slice(name=slice_name)net1 = slice.add_l2network(name=network_name, subnet=subnet)
for s in sites:
# Node1
node1 = slice.add_node(name=f”Node-{s}”, cores=cores, ram=ram, disk=disk, site=s, image=image)iface1 = node1.add_component(model=model_name, name=nic_name).get_interfaces()[0]
node1.add_component(model=’NVME_P4510′, name=’nvme1′)
iface1.set_mode(‘auto’)
net1.add_interface(iface1)
net1.set_bandwidth(60)node1.add_post_boot_upload_directory(‘node_tools’,’.’)
node1.add_post_boot_execute(‘sudo node_tools/host_tune.sh’)
# node1.add_post_boot_execute(‘node_tools/enable_docker.sh {{ _self_.image }} ‘)
# node1.add_post_boot_execute(‘docker pull fabrictestbed/slice-vm-ubuntu20-network-tools:0.0.1 ‘)#Submit Slice Request
slice.submit();April 4, 2026 at 6:01 pm #9647Hi Rasman,
Which JH container are you using?
Best,
Komal
April 4, 2026 at 8:03 pm #9650Hi Rasman,
Which JH container are you using?
Best,
Komal
Hi Komal,
I am using the default FABRIC JupyterHub container (
(default) FABRIC Examples v1.9.0, FABlib v1.9.3: released: 07/28/2025, stable: Summer 2025
) from the FABRIC portal, not a custom local environment.
If you need additional details, I can also share those.
Best,
RasmanApril 4, 2026 at 8:39 pm #9651Hi Rasman,
I tried both your shared NICs example and the iperf3 (CX5) notebook, and I do see IPs being configured on the VMs.
Could you please run the following notebook:
jupyter-examples-*/configure_and_validate/configure_and_validate.ipynb?It’s possible that your bastion keys have expired, which may be preventing fablib from properly configuring the nodes.
I’ve attached a snapshot of the output from my runs below for reference.
Best,
KomalApril 4, 2026 at 8:55 pm #9654Yes. That was the case. My bad. Do I need to delete the slice and then reserve again, or there is any way to continue with the existing slice?
Thank you for your assistance.
April 4, 2026 at 9:03 pm #9655You should be able to re-use the existing slice.
Just run the following in a cell.
slice=fablib.get_slice(slice_name)
slice.post_boot_config()
slice.list_nodes();
slice.list_interfaces();
Thanks,
Komal
-
AuthorPosts
- You must be logged in to reply to this topic.