1. Xusheng Ai

Xusheng Ai

Forum Replies Created

Viewing 15 posts - 31 through 45 (of 55 total)
  • Author
    Posts
  • in reply to: Unable to Pull repository from Github #1759
    Xusheng Ai
    Participant

      Thanks so much for your help. I am able to pull the file with nodes on MAX site.

      in reply to: What is the node storage class –NVME/SSD? #1758
      Xusheng Ai
      Participant

        Thank you so much! That definitely helps a lot.

        in reply to: Upload local files to fabric nodes #1638
        Xusheng Ai
        Participant

          It works, thank you so much for the help!

          in reply to: Upload local files to fabric nodes #1636
          Xusheng Ai
          Participant

            When I tried to upload a test.txt file from JupyterHub environment to node1, I got an error : Exception: cannot unpack non-iterable SFTPAttributes object

            Here is the script I run:

            try:
                node1 = slice.get_node(name = node1_name)
                stdout, stderr = node1.upload_file('/home/fabric/work/test.txt', 'test.txt')
            
            except Exception as e:
                print(f"Exception: {e}")
            in reply to: Upload local files to fabric nodes #1634
            Xusheng Ai
            Participant

              If I want to upload file from JupyterHub environment, what the local path should I use?

              in reply to: Upload local files to fabric nodes #1633
              Xusheng Ai
              Participant

                Thank you so much for the information!

                in reply to: Expected transfer speed between nodes #1600
                Xusheng Ai
                Participant

                  We run iperf command to test the transfer speed between Fabric nodes with L2 network connection.
                  Here are test results:

                  • To transfer 19.8 GBytes file, the speed between nodes is 17.0 Gbits/sec at the same UTAH site.
                  • To transfer 870 MBytes file, the speed between nodes is 729 Mbits/sec at two different sites, UTAH and STAR respectively.

                  We found that the second test run is much lower than the first test. Is it because the size of the file or other factors.

                   

                  in reply to: Create Layer 2 interface amount 5 nodes #1578
                  Xusheng Ai
                  Participant

                    This is the IP information of node 1:

                    Management IP : 129.114.110.73

                    ubuntu@8a2a14e6-6f5d-4c4e-ade1-2be3bfcb39d1-node1:~$ ip add list
                    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
                        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
                        inet 127.0.0.1/8 scope host lo
                           valid_lft forever preferred_lft forever
                        inet6 ::1/128 scope host 
                           valid_lft forever preferred_lft forever
                    2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP group default qlen 1000
                        link/ether fa:16:3e:e0:93:d9 brd ff:ff:ff:ff:ff:ff
                        inet 10.20.5.243/23 brd 10.20.5.255 scope global dynamic ens3
                           valid_lft 83194sec preferred_lft 83194sec
                        inet6 fe80::f816:3eff:fee0:93d9/64 scope link 
                           valid_lft forever preferred_lft forever
                    3: ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
                        link/ether 0e:39:e8:53:0d:f9 brd ff:ff:ff:ff:ff:ff
                    4: ens8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
                        link/ether 0e:bd:97:98:24:91 brd ff:ff:ff:ff:ff:ff

                    This is the IP information of node 2:

                    Management IP : 2001:400:a100:3030:f816:3eff:fe7b:f006

                    ubuntu@64a59517-0fd2-4800-8973-d74edfeb2932-node2:~$ ip add list
                    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
                        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
                        inet 127.0.0.1/8 scope host lo
                           valid_lft forever preferred_lft forever
                        inet6 ::1/128 scope host 
                           valid_lft forever preferred_lft forever
                    2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP group default qlen 1000
                        link/ether fa:16:3e:7b:f0:06 brd ff:ff:ff:ff:ff:ff
                        inet 10.20.4.203/23 brd 10.20.5.255 scope global dynamic ens3
                           valid_lft 83292sec preferred_lft 83292sec
                        inet6 2001:400:a100:3030:f816:3eff:fe7b:f006/64 scope global dynamic mngtmpaddr noprefixroute 
                           valid_lft 86331sec preferred_lft 14331sec
                        inet6 fe80::f816:3eff:fe7b:f006/64 scope link 
                           valid_lft forever preferred_lft forever
                    3: ens7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
                        link/ether 12:5f:51:23:af:fa brd ff:ff:ff:ff:ff:ff
                    4: ens8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
                        link/ether 12:7d:49:e2:f1:bb brd ff:ff:ff:ff:ff:ff
                    in reply to: Create Layer 2 interface amount 5 nodes #1573
                    Xusheng Ai
                    Participant

                      Hello Paul,

                      Much appreciate the example you provided above, I have created a slice based on that. The slice can be created successfully. However, when I ssh to the node terminal, I created ndn face and route based on Mac address between node 1 and node 2 (these two nodes are at different sites, node 1 is at ‘TACC’ and node 2 is at ‘STAR’. Then I tested with ndnserverping and ndnping, I got a timeout error. Then, I run ping -c 4 <node1 IP address>, still the data cannot pass with error information Destination Host Unreachable.
                      The nodes at the same site are able to receive interests on layer 2 level by ndnping. Therefore, I was wondering if there was any configuration that I missed when nodes were created across the sites.

                      Here is how we set up face and route, and the error information:

                      ubuntu@251f45cd-65fc-4232-970a-751e22f774be-node2:~$ nfdc face create remote ether://[fa:16:3e:71:6d:89] local dev://ens3
                      face-created id=265 local=dev://ens3 remote=ether://[fa:16:3e:71:6d:89] persistency=persistent reliability=off congestion-marking=off congestion-marking-interval=100ms default-congestion-threshold=65536B mtu=8800
                      ubuntu@251f45cd-65fc-4232-970a-751e22f774be-node2:~$ nfdc route add /A ether://[fa:16:3e:71:6d:89]
                      route-add-accepted prefix=/A nexthop=265 origin=static cost=0 flags=child-inherit expires=never
                      ubuntu@251f45cd-65fc-4232-970a-751e22f774be-node2:~$ ndnping -c 4 /A
                      PING /A
                      timeout from /A: seq=15948254377564552323
                      timeout from /A: seq=15948254377564552324
                      timeout from /A: seq=15948254377564552325
                      timeout from /A: seq=15948254377564552326
                      
                      --- /A ping statistics ---
                      4 packets transmitted, 0 received, 0 nacked, 100% lost, 0% nacked, time 0 ms

                      Thanks,
                      Xusheng

                      • This reply was modified 2 years, 8 months ago by Xusheng Ai.
                      • This reply was modified 2 years, 8 months ago by Xusheng Ai.
                      in reply to: Create Layer 2 interface amount 5 nodes #1569
                      Xusheng Ai
                      Participant

                        Hello Brandon,

                        Thanks for the information. However, my script didn’t work out with net1 = slice.add_l2network(name=network_name, interfaces=[iface1, iface2, iface3, iface4, iface5]). I was wondering if you could look the error information I have : Slice Fail: Invalid Network Service: Networks are limited to 2 unique sites. Site requested: {'STAR', 'UTAH'}

                        Here is how I set the parameters:

                        slice_name = 'Hydra_L2'
                        site1 = 'UTAH'
                        site2 = 'STAR'
                        node1_name = 'Node1'
                        node2_name = 'Node2'
                        node3_name = 'Node3'
                        node4_name = 'Node4'
                        node5_name = 'Node5'
                        network_name= 'net1'
                        node1_nic_name = 'nic1'
                        node2_nic_name = 'nic2'
                        node3_nic_name = 'nic3'
                        node4_nic_name = 'nic4'
                        node5_nic_name = 'nic5'
                        image = 'default_ubuntu_20'
                        cores = 2
                        ram = 8
                        disk = 20
                        try:
                            #Create Slice
                            slice = fablib.new_slice(name=slice_name)
                        
                            # Node1
                            node1 = slice.add_node(name=node1_name, site=site1)
                            node1.set_capacities(cores=cores, ram=ram, disk=disk)
                            node1.set_image(image)
                            iface1 = node1.add_component(model='NIC_Basic', name=node1_nic_name).get_interfaces()[0]
                            
                            
                            # Node2
                            node2 = slice.add_node(name=node2_name, site=site1)
                            node2.set_capacities(cores=cores, ram=ram, disk=disk)
                            node2.set_image(image)
                            iface2 = node2.add_component(model='NIC_Basic', name=node2_nic_name).get_interfaces()[0]
                            
                         
                        
                            # Node3
                            node3 = slice.add_node(name=node3_name, site=site1)
                            node3.set_capacities(cores=cores, ram=ram, disk=disk)
                            node3.set_image(image)
                            iface3 = node3.add_component(model='NIC_Basic', name=node3_nic_name).get_interfaces()[0]
                            
                            
                            # Node4
                            node4 = slice.add_node(name=node4_name, site=site2)
                            node4.set_capacities(cores=cores, ram=ram, disk=disk)
                            node4.set_image(image)
                            iface4 = node4.add_component(model='NIC_Basic', name=node4_nic_name).get_interfaces()[0]
                           
                            
                            # Node5
                            node5 = slice.add_node(name=node5_name, site=site2)
                            node5.set_capacities(cores=cores, ram=ram, disk=disk)
                            node5.set_image(image)
                            iface5 = node5.add_component(model='NIC_Basic', name=node5_nic_name).get_interfaces()[0]
                            
                        
                            # Network
                            net1 = slice.add_l2network(name=network_name, interfaces=[iface1, iface2, iface3, iface4, iface5])
                        
                            #Submit Slice Request
                            slice.submit(progress=True)
                        except Exception as e:
                            print(f"Slice Fail: {e}")

                        Thanks for the help

                        in reply to: Create a slice with the custom docker image #1534
                        Xusheng Ai
                        Participant

                          Thanks so much for the clarification.

                          in reply to: Create a slice with the custom docker image #1530
                          Xusheng Ai
                          Participant

                            Hello Paul,

                            Thanks for the information. I’m able to run command docker pull registry.ipv6.docker.com/<image name> on the node I created. So one possible way is that I could run docker run <my image> to get the VM on that node?

                            In addition, I was wondering if we could set node_name = 'Node1' image = '<my image>' when we configure Experiment Parameters of a slice.

                            Thanks,
                            Xusheng

                            • This reply was modified 2 years, 8 months ago by Xusheng Ai.
                            in reply to: Create Nodes with IPv6 address #1518
                            Xusheng Ai
                            Participant

                              Sorry that I didn’t make it clear.
                              Boot nodes and then find the IPv6 management IP works for us.  I was wondering how could we request an automatic IPv6 for the nodes. Because when I created the slice on some sites like UATH, the nodes’ management IP  type is IPv6, but on TACC the nodes’ management IP type is IPv4. Does it mean that TACC site is not support IPv6?

                              Thanks for the information,

                              Xusheng

                              in reply to: Slice expiration extension #1465
                              Xusheng Ai
                              Participant

                                I found the jupyter example on the Github about how to renew the slice. However, when I run the command, the Lease End didn’t change.

                                 

                                # renew
                                import datetime
                                
                                #Set end host to now plus 1 day
                                end_date = (datetime.datetime.now() + datetime.timedelta(days=6)).strftime("%Y-%m-%d %H:%M:%S")
                                print(end_date)
                                try:
                                    slice = fablib.get_slice(name=slice_name)
                                    slice.renew(end_date)
                                except Exception as e:
                                    print(f"Get Slices Fail: {e}")
                                    traceback.print_exc()

                                Here is the end_date : 2022-03-16 00:12:32

                                #check new days
                                try:
                                    slice = fablib.get_slice(name=slice_name)
                                    print(f"Lease End         : {slice.get_lease_end()}")
                                       
                                except Exception as e:
                                    print(f"Fail: {e}")
                                    traceback.print_exc()

                                The Lease End is still two days after : 2022-03-11 00:09:50

                                • This reply was modified 2 years, 8 months ago by Xusheng Ai.
                                in reply to: Slice expiration extension #1453
                                Xusheng Ai
                                Participant

                                  sorry to post the topic twice due to unstable networking, please feel free to delete one of these.

                                Viewing 15 posts - 31 through 45 (of 55 total)