canonical / testflinger

https://testflinger.readthedocs.io/en/latest/
GNU General Public License v3.0
12 stars 20 forks source link

[device-connectors] oem scripts to download ISO directly into DUT without storing on agent #330

Closed Artur-at-work closed 2 months ago

Artur-at-work commented 3 months ago

"could we get a modification to this (and hopefully the previous oemscript also), to allow downloading the iso directly to the DUT and extracting it there? That would help quite a bit. Right now, especially with the previous oemscript method, we have hundreds of these agents which sometimes get triggered all at once. Having all of these 4GB images downloading to the same agent host consumes a LOT of space very quickly. It has sometimes caused some of them to fail because of this. If we could have it pass the url to the script and the script downloads it on the DUT instead of having a local file that gets SCPed that would be really helpful." (@plars )

syncronize-issues-to-jira[bot] commented 3 months ago

Thank you for reporting us your feedback!

The internal ticket has been created: https://warthogs.atlassian.net/browse/CERTTF-383.

This message was autogenerated

plars commented 3 months ago

Re-opened, the changes in #334 fixed this for the new 24.04 based oem-autoinstall, but we still need to fix the previous oemscript based device connector so that it downloads the iso directly to the DUT.

Artur-at-work commented 3 months ago

Was testing the changes for oemscripts, and turns out DUT's network cannot access image storage: http://10.102.196.9/stella/stella-jiayi/stella-jiayi-2022-07-22/


ubuntu@ubuntu:~$ ip a
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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether d0:ad:08:bc:99:b4 brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    inet 10.102.183.145/22 brd 10.102.183.255 scope global dynamic noprefixroute eno1
       valid_lft 1229956sec preferred_lft 1229956sec
    inet6 fe80::d0ec:6c16:cb47:f98b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlp0s20f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 48:ad:9a:2d:85:7a brd ff:ff:ff:ff:ff:ff
ubuntu@ubuntu:~$ ping 10.102.196.9
PING 10.102.196.9 (10.102.196.9) 56(84) bytes of data.
^C
--- 10.102.196.9 ping statistics ---
9 packets transmitted, 0 received, 100% packet loss, time 8200ms

ubuntu@ubuntu:~$ tracepath 10.102.196.9
 1?: [LOCALHOST]                      pmtu 1500
 1:  10.102.180.6                                          0.216ms 
 1:  10.102.180.6                                          0.190ms 
 2:  no reply
^C
ubuntu@ubuntu:~$ tracepath 8.8.8.8
 1?: [LOCALHOST]                      pmtu 1500
 1:  10.102.180.6                                          0.141ms 
 1:  10.102.180.6                                          0.208ms 
 2:  211-75-139-254.hinet-ip.hinet.net                    12.529ms 
 3:  168-95-80-206.tpdb-3315.hinet.net                     3.120ms 
 4:  220-128-1-226.tpdb-3031.hinet.net                     4.182ms asymm  8 
 5:  220-128-8-109.tyfo-3031.hinet.net                     4.075ms asymm  7 
 6:  220-128-8-25.tylc-3336.hinet.net                      4.140ms 
 7:  72.14.221.184                                         5.260ms asymm  8 
^C
jocave commented 2 months ago

Was testing the changes for oemscripts, and turns out DUT's network cannot access image storage: http://10.102.196.9/stella/stella-jiayi/stella-jiayi-2022-07-22/


ubuntu@ubuntu:~$ ip a
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: eno1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether d0:ad:08:bc:99:b4 brd ff:ff:ff:ff:ff:ff
    altname enp0s31f6
    inet 10.102.183.145/22 brd 10.102.183.255 scope global dynamic noprefixroute eno1
       valid_lft 1229956sec preferred_lft 1229956sec
    inet6 fe80::d0ec:6c16:cb47:f98b/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: wlp0s20f3: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default qlen 1000
    link/ether 48:ad:9a:2d:85:7a brd ff:ff:ff:ff:ff:ff
ubuntu@ubuntu:~$ ping 10.102.196.9
PING 10.102.196.9 (10.102.196.9) 56(84) bytes of data.
^C
--- 10.102.196.9 ping statistics ---
9 packets transmitted, 0 received, 100% packet loss, time 8200ms

ubuntu@ubuntu:~$ tracepath 10.102.196.9
 1?: [LOCALHOST]                      pmtu 1500
 1:  10.102.180.6                                          0.216ms 
 1:  10.102.180.6                                          0.190ms 
 2:  no reply
^C
ubuntu@ubuntu:~$ tracepath 8.8.8.8
 1?: [LOCALHOST]                      pmtu 1500
 1:  10.102.180.6                                          0.141ms 
 1:  10.102.180.6                                          0.208ms 
 2:  211-75-139-254.hinet-ip.hinet.net                    12.529ms 
 3:  168-95-80-206.tpdb-3315.hinet.net                     3.120ms 
 4:  220-128-1-226.tpdb-3031.hinet.net                     4.182ms asymm  8 
 5:  220-128-8-109.tyfo-3031.hinet.net                     4.075ms asymm  7 
 6:  220-128-8-25.tylc-3336.hinet.net                      4.140ms 
 7:  72.14.221.184                                         5.260ms asymm  8 
^C

@Artur-at-work if you're trying this for Certification machines, they only retrieve files from oem-share/cdimage/etc.. soon all to be via a caching proxy on the Edge Cloud

Artur-at-work commented 2 months ago

@jocave thanks, I've got another url from Nancy and provisioning worked