1. Xusheng Ai

Xusheng Ai

Forum Replies Created

Viewing 15 posts - 1 through 15 (of 54 total)
  • Author
    Posts
  • in reply to: Request: long-lived API Tokens #6474
    Xusheng Ai
    Participant

      Thanks for the reply. I will keep a look at the new Fablib interface.

      Xusheng Ai
      Participant

        Fixed the problem by re-configure the environment.

        in reply to: A public IP for the Fabric node #4678
        Xusheng Ai
        Participant

          The problem is solved by updating the fabrictestbed-extensions to 1.5.0.

          in reply to: A public IP for the Fabric node #4677
          Xusheng Ai
          Participant

            Hello yoursunny and Komal,

            Thanks for the replies. We just got the Net.FABNetv4Ext tag added to the project.
            I did try both of the methods mentioned above. However, it showed the same error when I submit the slice request. Please see the error detail below:

            Cell In[18], line 7
                  5 iface1 = node.add_component(model='NIC_Basic', name = node_nic_name).get_interfaces()[0]
                  6 # Network
            ----> 7 net1 = slice.add_l3network(name=network_name, interfaces=[iface1], type= 'IPv4Ext')
                  8 slice.submit()
            
            File ~/work/Long_liveslice/plugins.py:71, in Plugins.add_l3network(self, name, interfaces, type, technology)
                 68 def add_l3network(
                 69     self, name: str = None, interfaces: List[Interface] = [], type: str = "IPv4",
                 70     technology: str = None) -> NetworkService:
            ---> 71     return NetworkService.new_l3network(
                 72         slice=self, name=name, interfaces=interfaces, type=type, technology=technology
                 73     )
            
            File ~/work/Long_liveslice/plugins.py:104, in Plugins.new_l3network(slice, name, interfaces, type, technology)
                 96     raise Exception(
                 97         "Invalid L3 Network Type: Allowed values [IPv4, IPv4Ext, IPv6, IPv6Ext, L3VPN]"
                 98     )
                100 # TODO: need a fabnet version of this
                101 # validate nstype and interface List
                102 # NetworkService.validate_nstype(nstype, interfaces)
            --> 104 return NetworkService.new_network_service(
                105     slice=slice, name=name, nstype=nstype, interfaces=interfaces, technology=technology
                106 )
            
            File ~/work/Long_liveslice/plugins.py:146, in Plugins.new_network_service(slice, name, nstype, interfaces, user_data, technology)
                139 fim_network_service = slice.topology.add_network_service(
                140     name=name, nstype=nstype, interfaces=fim_interfaces, technology=technology
                141 )
                143 network_service = NetworkService(
                144     slice=slice, fim_network_service=fim_network_service
                145 )
            --> 146 network_service.set_user_data(user_data)
                147 network_service.init_fablib_data()
                149 return network_service
            
            AttributeError: 'NetworkService' object has no attribute 'set_user_data'
            in reply to: Disk-to-Disk network transfer files between Fabric nodes #4148
            Xusheng Ai
            Participant

              On step 4, do we need to generate the ssh keys on the node itself or use the keys associated with the slice?

              Never mind, thank you very much.

              in reply to: Disk-to-Disk network transfer files between Fabric nodes #4147
              Xusheng Ai
              Participant

                On step 4, do we need to generate the ssh keys on the node itself or use the keys associated with the slice?

                in reply to: go does not work with node.execute API #4008
                Xusheng Ai
                Participant

                  This is the updated code but it still does not work with the same error:

                  try:
                      for node in slice.get_nodes():
                          stdout, stderr = node.execute('curl -O -L "https://golang.org/dl/go1.19.5.linux-amd64.tar.gz"')
                          stdout, stderr = node.execute('tar -xf "go1.19.5.linux-amd64.tar.gz"')              
                          stdout, stderr = node.execute('sudo mv -v go /usr/local')
                          stdout, stderr = node.execute('echo "export GOPATH=$HOME/go" >> ~/.bashrc')
                          stdout, stderr = node.execute('echo "export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin" >> ~/.bashrc')
                          stdout, stderr = node.execute('echo "export PATH=$PATH:/usr/local/go/bin" >> ~/.bashrc')
                          stdout, stderr = node.execute('source ~/.bashrc')
                          stdout, stderr = node.execute('go install github.com/named-data/YaNFD/cmd/yanfd@latest')  
                          
                  except Exception as e:
                      print(f"Exception: {e}")
                  • This reply was modified 1 year ago by Xusheng Ai.
                  in reply to: File save error and Load file error #3727
                  Xusheng Ai
                  Participant

                    We are trying to upload one 1G bio-related file to the slice nodes through JupyterHub. Since there is no way to upload files from local to Fabric nodes directly. I checked the disk space that we have 1G available disk space in total. If it was possible to create a persistent storage volume in the testbed, it will be much appreciated.

                    in reply to: File save error and Load file error #3725
                    Xusheng Ai
                    Participant

                      Is there any chance that we could have a larger disk on JupyterHub?

                      in reply to: File save error and Load file error #3724
                      Xusheng Ai
                      Participant

                        I delete some old files, and it works well right now. Thank you so much for the hints.

                        Xusheng Ai
                        Participant

                          Thank you so much for the information.

                          Xusheng Ai
                          Participant

                            Yes, The information can be printed.
                            When we create layer 3 network connection, we ran the command:

                            slice.get_nodes()[2].execute('nfdc face create udp6://[%s]' %slice.get_nodes()[1].get_management_ip())
                            

                            So we didn’t have to copy and past the network information.

                            We was wondering if we could do the same for Layer 2 network connection like:

                            slice.get_nodes()[1].execute('nfdc face create remote ether://[%s] local dev://[%s]' [MAC address],[interface.get_os_interface()])
                            

                            But we are not sure how to acquire MAC address through FABlib API

                            • This reply was modified 1 year, 3 months ago by Xusheng Ai.
                            • This reply was modified 1 year, 3 months ago by Xusheng Ai.
                            • This reply was modified 1 year, 3 months ago by Xusheng Ai.
                            Xusheng Ai
                            Participant

                              Is it possible that we can get the MAC address with corresponding NIC?
                              For example, below is the information of node 1:

                              Name	        Node   Network Bandwidth VLAN	MAC	                Device	Device
                              Node1-nic1_4-p1	Node1	net4	100	None	06:AC:16:7B:38:FF	ens7	ens7
                              Node1-nic1_2-p1	Node1	net2	100	None	06:BA:BC:72:F8:34	ens8	ens8
                              Node1-nic1_3-p1	Node1	net3	100	None	0A:ED:E0:7F:C2:B5	ens10	ens10
                              Node1-nic1_1-p1	Node1	net1	100	None	0A:70:23:DD:1F:B7	ens9	ens9

                              If there is a way that we can get the MAC address of these four NICs?

                              • This reply was modified 1 year, 3 months ago by Xusheng Ai.
                              Xusheng Ai
                              Participant

                                For some reason, now we have to manually turn up the interface.
                                You can first install
                                sudo apt install -y net-tools

                                and

                                sudo ifconfig ens7 up && sudo ifconfig ens8 up && sudo ifconfig ens9 up && sudo ifconfig ens10 up

                                Alternatively you can use the code below, to turn on all interfaces
                                try:
                                for node in slice.get_nodes():
                                print(“—-“)
                                print(“Node:”)
                                print(f” Name : {node.get_name()}”)
                                for component in node.get_components():
                                print(f” Name : {component.get_name()}”)
                                for interface in node.get_interfaces():
                                print(f” Name : {interface.get_name()}”)
                                stdout, stderr = node.execute(f’sudo apt install -y net-tools && sudo ifconfig {interface.get_os_interface()} up ‘)
                                except Exception as e:
                                print(f”Fail: {e}”)
                                traceback.print_exc()

                                Thanks for the information!
                                Both methods work well — manually turn up the interface and the code turns on all interfaces.

                                in reply to: Exception: [Errno 99] Cannot assign requested address #3590
                                Xusheng Ai
                                Participant

                                  I have the same issue. I ran the hello_fabric.ipynb. The slice was created successfully. The error:Cannot assign requested address. It came up when I ran the Hello Fabric experiment. The site is Clemson. The fabrictestbed-extensions is 1.3.3.

                                Viewing 15 posts - 1 through 15 (of 54 total)