diff mbox series

[v3,2/5] tests/acceptance/boot_linux_console: remove Armbian 19.11.3 bionic test for orangepi-pc machine

Message ID 20210304203540.41614-3-nieklinnenbank@gmail.com (mailing list archive)
State New, archived
Headers show
Series Allwinner H3 fixes for EMAC and acceptance tests | expand

Commit Message

Niek Linnenbank March 4, 2021, 8:35 p.m. UTC
The image for Armbian 19.11.3 bionic has been removed from the armbian server.
Without the image as input the test arm_orangepi_bionic_19_11 cannot run.

This commit removes the test completely and merges the code of the generic function
do_test_arm_orangepi_uboot_armbian back with the 20.08 test.

Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
---
 tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
 1 file changed, 23 insertions(+), 49 deletions(-)

Comments

Willian Rampazzo March 5, 2021, 3:16 p.m. UTC | #1
On Thu, Mar 4, 2021 at 5:44 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
>
> The image for Armbian 19.11.3 bionic has been removed from the armbian server.
> Without the image as input the test arm_orangepi_bionic_19_11 cannot run.
>
> This commit removes the test completely and merges the code of the generic function
> do_test_arm_orangepi_uboot_armbian back with the 20.08 test.
>
> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
> ---
>  tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
>  1 file changed, 23 insertions(+), 49 deletions(-)
>
> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> index eb01286799..9fadea9958 100644
> --- a/tests/acceptance/boot_linux_console.py
> +++ b/tests/acceptance/boot_linux_console.py
> @@ -802,7 +802,29 @@ def test_arm_orangepi_sd(self):
>          # Wait for VM to shut down gracefully
>          self.vm.wait()
>
> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
> +                'Test artifacts fetched from unreliable apt.armbian.com')
> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
> +    def test_arm_orangepi_bionic_20_08(self):
> +        """
> +        :avocado: tags=arch:arm
> +        :avocado: tags=machine:orangepi-pc
> +        :avocado: tags=device:sd
> +        """
> +
> +        # This test download a 275 MiB compressed image and expand it
> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
> +        # As we expand it to 2 GiB we are safe.
> +
> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')

The Armbian 20 is not available on this link anymore. I can browse just 21.

What if we change this test to use local assets, for people that have
them and for CI that has the files cached. See
https://lists.gnu.org/archive/html/qemu-devel/2021-03/msg00614.html
for details.
Philippe Mathieu-Daudé March 8, 2021, 7:52 a.m. UTC | #2
On 3/5/21 4:16 PM, Willian Rampazzo wrote:
> On Thu, Mar 4, 2021 at 5:44 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
>>
>> The image for Armbian 19.11.3 bionic has been removed from the armbian server.
>> Without the image as input the test arm_orangepi_bionic_19_11 cannot run.
>>
>> This commit removes the test completely and merges the code of the generic function
>> do_test_arm_orangepi_uboot_armbian back with the 20.08 test.
>>
>> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
>> ---
>>  tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
>>  1 file changed, 23 insertions(+), 49 deletions(-)
>>
>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
>> index eb01286799..9fadea9958 100644
>> --- a/tests/acceptance/boot_linux_console.py
>> +++ b/tests/acceptance/boot_linux_console.py
>> @@ -802,7 +802,29 @@ def test_arm_orangepi_sd(self):
>>          # Wait for VM to shut down gracefully
>>          self.vm.wait()
>>
>> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
>> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
>> +                'Test artifacts fetched from unreliable apt.armbian.com')
>> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
>> +    def test_arm_orangepi_bionic_20_08(self):
>> +        """
>> +        :avocado: tags=arch:arm
>> +        :avocado: tags=machine:orangepi-pc
>> +        :avocado: tags=device:sd
>> +        """
>> +
>> +        # This test download a 275 MiB compressed image and expand it
>> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
>> +        # As we expand it to 2 GiB we are safe.
>> +
>> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
>> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
> 
> The Armbian 20 is not available on this link anymore. I can browse just 21.

Cat-and-mouse game *sigh*.
Niek Linnenbank March 8, 2021, 8:32 p.m. UTC | #3
Hi Philippe, Willian,

On Mon, Mar 8, 2021 at 8:52 AM Philippe Mathieu-Daudé <philmd@redhat.com>
wrote:

> On 3/5/21 4:16 PM, Willian Rampazzo wrote:
> > On Thu, Mar 4, 2021 at 5:44 PM Niek Linnenbank <nieklinnenbank@gmail.com>
> wrote:
> >>
> >> The image for Armbian 19.11.3 bionic has been removed from the armbian
> server.
> >> Without the image as input the test arm_orangepi_bionic_19_11 cannot
> run.
> >>
> >> This commit removes the test completely and merges the code of the
> generic function
> >> do_test_arm_orangepi_uboot_armbian back with the 20.08 test.
> >>
> >> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
> >> ---
> >>  tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
> >>  1 file changed, 23 insertions(+), 49 deletions(-)
> >>
> >> diff --git a/tests/acceptance/boot_linux_console.py
> b/tests/acceptance/boot_linux_console.py
> >> index eb01286799..9fadea9958 100644
> >> --- a/tests/acceptance/boot_linux_console.py
> >> +++ b/tests/acceptance/boot_linux_console.py
> >> @@ -802,7 +802,29 @@ def test_arm_orangepi_sd(self):
> >>          # Wait for VM to shut down gracefully
> >>          self.vm.wait()
> >>
> >> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
> >> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
> >> +                'Test artifacts fetched from unreliable
> apt.armbian.com')
> >> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage
> limited')
> >> +    def test_arm_orangepi_bionic_20_08(self):
> >> +        """
> >> +        :avocado: tags=arch:arm
> >> +        :avocado: tags=machine:orangepi-pc
> >> +        :avocado: tags=device:sd
> >> +        """
> >> +
> >> +        # This test download a 275 MiB compressed image and expand it
> >> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
> >> +        # As we expand it to 2 GiB we are safe.
> >> +
> >> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
> >> +
>  'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
> >
> > The Armbian 20 is not available on this link anymore. I can browse just
> 21.
>
> Cat-and-mouse game *sigh*.
>
>
Just to clarify here: in this patch I wanted to only make the change to
remove the test for the 19.11.3 image.
And in the 3rd patch (tests/acceptance/boot_linux_console: change URL for
test_arm_orangepi_bionic_20_08)
do the update for to correct the 20.08 link. So each patch fixes one
problem at a time.

Does that make sense, or do you prefer that I combine them in a single
patch instead?

Regards,
Niek
Willian Rampazzo March 8, 2021, 8:41 p.m. UTC | #4
On Mon, Mar 8, 2021 at 5:32 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
>
> Hi Philippe, Willian,
>
> On Mon, Mar 8, 2021 at 8:52 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>
>> On 3/5/21 4:16 PM, Willian Rampazzo wrote:
>> > On Thu, Mar 4, 2021 at 5:44 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
>> >>
>> >> The image for Armbian 19.11.3 bionic has been removed from the armbian server.
>> >> Without the image as input the test arm_orangepi_bionic_19_11 cannot run.
>> >>
>> >> This commit removes the test completely and merges the code of the generic function
>> >> do_test_arm_orangepi_uboot_armbian back with the 20.08 test.
>> >>
>> >> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
>> >> ---
>> >>  tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
>> >>  1 file changed, 23 insertions(+), 49 deletions(-)
>> >>
>> >> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
>> >> index eb01286799..9fadea9958 100644
>> >> --- a/tests/acceptance/boot_linux_console.py
>> >> +++ b/tests/acceptance/boot_linux_console.py
>> >> @@ -802,7 +802,29 @@ def test_arm_orangepi_sd(self):
>> >>          # Wait for VM to shut down gracefully
>> >>          self.vm.wait()
>> >>
>> >> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
>> >> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
>> >> +                'Test artifacts fetched from unreliable apt.armbian.com')
>> >> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
>> >> +    def test_arm_orangepi_bionic_20_08(self):
>> >> +        """
>> >> +        :avocado: tags=arch:arm
>> >> +        :avocado: tags=machine:orangepi-pc
>> >> +        :avocado: tags=device:sd
>> >> +        """
>> >> +
>> >> +        # This test download a 275 MiB compressed image and expand it
>> >> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
>> >> +        # As we expand it to 2 GiB we are safe.
>> >> +
>> >> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
>> >> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
>> >
>> > The Armbian 20 is not available on this link anymore. I can browse just 21.
>>
>> Cat-and-mouse game *sigh*.
>>
>
> Just to clarify here: in this patch I wanted to only make the change to remove the test for the 19.11.3 image.
> And in the 3rd patch (tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08)
> do the update for to correct the 20.08 link. So each patch fixes one problem at a time.
>
> Does that make sense, or do you prefer that I combine them in a single patch instead?

Ops, I forgot about the 3rd patch in this series. That makes sense to
me, sorry for the mess.

>
> Regards,
> Niek
>
> --
> Niek Linnenbank
>
Willian Rampazzo March 8, 2021, 8:44 p.m. UTC | #5
On Mon, Mar 8, 2021 at 5:41 PM Willian Rampazzo <wrampazz@redhat.com> wrote:
>
> On Mon, Mar 8, 2021 at 5:32 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
> >
> > Hi Philippe, Willian,
> >
> > On Mon, Mar 8, 2021 at 8:52 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> >>
> >> On 3/5/21 4:16 PM, Willian Rampazzo wrote:
> >> > On Thu, Mar 4, 2021 at 5:44 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
> >> >>
> >> >> The image for Armbian 19.11.3 bionic has been removed from the armbian server.
> >> >> Without the image as input the test arm_orangepi_bionic_19_11 cannot run.
> >> >>
> >> >> This commit removes the test completely and merges the code of the generic function
> >> >> do_test_arm_orangepi_uboot_armbian back with the 20.08 test.
> >> >>
> >> >> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
> >> >> ---
> >> >>  tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
> >> >>  1 file changed, 23 insertions(+), 49 deletions(-)
> >> >>
> >> >> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> >> >> index eb01286799..9fadea9958 100644
> >> >> --- a/tests/acceptance/boot_linux_console.py
> >> >> +++ b/tests/acceptance/boot_linux_console.py
> >> >> @@ -802,7 +802,29 @@ def test_arm_orangepi_sd(self):
> >> >>          # Wait for VM to shut down gracefully
> >> >>          self.vm.wait()
> >> >>
> >> >> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
> >> >> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
> >> >> +                'Test artifacts fetched from unreliable apt.armbian.com')
> >> >> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
> >> >> +    def test_arm_orangepi_bionic_20_08(self):
> >> >> +        """
> >> >> +        :avocado: tags=arch:arm
> >> >> +        :avocado: tags=machine:orangepi-pc
> >> >> +        :avocado: tags=device:sd
> >> >> +        """
> >> >> +
> >> >> +        # This test download a 275 MiB compressed image and expand it
> >> >> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
> >> >> +        # As we expand it to 2 GiB we are safe.
> >> >> +
> >> >> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
> >> >> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
> >> >
> >> > The Armbian 20 is not available on this link anymore. I can browse just 21.
> >>
> >> Cat-and-mouse game *sigh*.
> >>
> >
> > Just to clarify here: in this patch I wanted to only make the change to remove the test for the 19.11.3 image.
> > And in the 3rd patch (tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08)
> > do the update for to correct the 20.08 link. So each patch fixes one problem at a time.
> >
> > Does that make sense, or do you prefer that I combine them in a single patch instead?
>
> Ops, I forgot about the 3rd patch in this series. That makes sense to
> me, sorry for the mess.
>

And, in this case,

Reviewed-by: Willian Rampazzo <willianr@redhat.com>

> >
> > Regards,
> > Niek
> >
> > --
> > Niek Linnenbank
> >
Philippe Mathieu-Daudé March 22, 2021, 4:53 p.m. UTC | #6
Hi Willian,

On 3/8/21 9:44 PM, Willian Rampazzo wrote:
> On Mon, Mar 8, 2021 at 5:41 PM Willian Rampazzo <wrampazz@redhat.com> wrote:
>>
>> On Mon, Mar 8, 2021 at 5:32 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
>>>
>>> Hi Philippe, Willian,
>>>
>>> On Mon, Mar 8, 2021 at 8:52 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>>>
>>>> On 3/5/21 4:16 PM, Willian Rampazzo wrote:
>>>>> On Thu, Mar 4, 2021 at 5:44 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
>>>>>>
>>>>>> The image for Armbian 19.11.3 bionic has been removed from the armbian server.
>>>>>> Without the image as input the test arm_orangepi_bionic_19_11 cannot run.
>>>>>>
>>>>>> This commit removes the test completely and merges the code of the generic function
>>>>>> do_test_arm_orangepi_uboot_armbian back with the 20.08 test.
>>>>>>
>>>>>> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
>>>>>> ---
>>>>>>  tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
>>>>>>  1 file changed, 23 insertions(+), 49 deletions(-)
>>>>>>
>>>>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
>>>>>> index eb01286799..9fadea9958 100644
>>>>>> --- a/tests/acceptance/boot_linux_console.py
>>>>>> +++ b/tests/acceptance/boot_linux_console.py
>>>>>> @@ -802,7 +802,29 @@ def test_arm_orangepi_sd(self):
>>>>>>          # Wait for VM to shut down gracefully
>>>>>>          self.vm.wait()
>>>>>>
>>>>>> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
>>>>>> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
>>>>>> +                'Test artifacts fetched from unreliable apt.armbian.com')
>>>>>> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
>>>>>> +    def test_arm_orangepi_bionic_20_08(self):
>>>>>> +        """
>>>>>> +        :avocado: tags=arch:arm
>>>>>> +        :avocado: tags=machine:orangepi-pc
>>>>>> +        :avocado: tags=device:sd
>>>>>> +        """
>>>>>> +
>>>>>> +        # This test download a 275 MiB compressed image and expand it
>>>>>> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
>>>>>> +        # As we expand it to 2 GiB we are safe.
>>>>>> +
>>>>>> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
>>>>>> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
>>>>>
>>>>> The Armbian 20 is not available on this link anymore. I can browse just 21.
>>>>
>>>> Cat-and-mouse game *sigh*.

2021-03-22 17:18:10,701 download         L0067 INFO | Fetching
https://archive.armbian.com/orangepipc/archive/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
-> /home/phil/avocado/da
ta/cache/by_location/f2eb27a12b81ce15e93f340fabbced2136af1caa/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz.nfwdzivg
2021-03-22 17:18:11,263 asset            L0136 INFO | Temporary asset
file unavailable due to failed download attempt.
2021-03-22 17:18:11,263 asset            L0368 ERROR| URLError: <urlopen
error [Errno 113] No route to host>

It might be a temporary problem, but looking long term the
current setup doesn't scale IMHO.

>>> Just to clarify here: in this patch I wanted to only make the change to remove the test for the 19.11.3 image.
>>> And in the 3rd patch (tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08)
>>> do the update for to correct the 20.08 link. So each patch fixes one problem at a time.
>>>
>>> Does that make sense, or do you prefer that I combine them in a single patch instead?
>>
>> Ops, I forgot about the 3rd patch in this series. That makes sense to
>> me, sorry for the mess.
>>
> 
> And, in this case,
> 
> Reviewed-by: Willian Rampazzo <willianr@redhat.com>
> 
>>>
>>> Regards,
>>> Niek
>>>
>>> --
>>> Niek Linnenbank
>>>
>
Philippe Mathieu-Daudé March 22, 2021, 4:59 p.m. UTC | #7
On Mon, Mar 22, 2021 at 5:54 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> Hi Willian,
>
> On 3/8/21 9:44 PM, Willian Rampazzo wrote:
> > On Mon, Mar 8, 2021 at 5:41 PM Willian Rampazzo <wrampazz@redhat.com> wrote:
> >>

> >>>>>> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
> >>>>>> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
> >>>>>> +                'Test artifacts fetched from unreliable apt.armbian.com')
> >>>>>> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
> >>>>>> +    def test_arm_orangepi_bionic_20_08(self):
> >>>>>> +        """
> >>>>>> +        :avocado: tags=arch:arm
> >>>>>> +        :avocado: tags=machine:orangepi-pc
> >>>>>> +        :avocado: tags=device:sd
> >>>>>> +        """
> >>>>>> +
> >>>>>> +        # This test download a 275 MiB compressed image and expand it
> >>>>>> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
> >>>>>> +        # As we expand it to 2 GiB we are safe.
> >>>>>> +
> >>>>>> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
> >>>>>> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
> >>>>>
> >>>>> The Armbian 20 is not available on this link anymore. I can browse just 21.
> >>>>
> >>>> Cat-and-mouse game *sigh*.
>
> 2021-03-22 17:18:10,701 download         L0067 INFO | Fetching
> https://archive.armbian.com/orangepipc/archive/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
> -> /home/phil/avocado/da
> ta/cache/by_location/f2eb27a12b81ce15e93f340fabbced2136af1caa/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz.nfwdzivg
> 2021-03-22 17:18:11,263 asset            L0136 INFO | Temporary asset
> file unavailable due to failed download attempt.
> 2021-03-22 17:18:11,263 asset            L0368 ERROR| URLError: <urlopen
> error [Errno 113] No route to host>
>
> It might be a temporary problem, but looking long term the
> current setup doesn't scale IMHO.

Also I just noticed I *do* have the image cached, even twice:

$ find /home/phil/avocado/data/cache/by_location/ -name
Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz -ls
  131661 280768 -rw-rw-r--   1 phil     phil     287501560 Oct 23
12:45 /home/phil/avocado/data/cache/by_location/cac379e6a4480624b000dfde1b5d935454254ce2/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
  131761 280776 -rw-rw-r--   1 phil     phil     287501560 Feb 20
00:39 /home/phil/avocado/data/cache/by_location/aac619d9e7ea3726ebc86c159fddfb9d3f6274a5/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz

But the hash is different.

Cleber, why not use the blob hash as a cache key? It is supposed to be
constant...

Cc'ing Beraldo because I guess remember he worked on improving Avocado cache.

> >>> Just to clarify here: in this patch I wanted to only make the change to remove the test for the 19.11.3 image.
> >>> And in the 3rd patch (tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08)
> >>> do the update for to correct the 20.08 link. So each patch fixes one problem at a time.
Willian Rampazzo March 22, 2021, 5:12 p.m. UTC | #8
Hi Philippe,

On Mon, Mar 22, 2021 at 1:59 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> On Mon, Mar 22, 2021 at 5:54 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> >
> > Hi Willian,
> >
> > On 3/8/21 9:44 PM, Willian Rampazzo wrote:
> > > On Mon, Mar 8, 2021 at 5:41 PM Willian Rampazzo <wrampazz@redhat.com> wrote:
> > >>
>
> > >>>>>> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
> > >>>>>> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
> > >>>>>> +                'Test artifacts fetched from unreliable apt.armbian.com')
> > >>>>>> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
> > >>>>>> +    def test_arm_orangepi_bionic_20_08(self):
> > >>>>>> +        """
> > >>>>>> +        :avocado: tags=arch:arm
> > >>>>>> +        :avocado: tags=machine:orangepi-pc
> > >>>>>> +        :avocado: tags=device:sd
> > >>>>>> +        """
> > >>>>>> +
> > >>>>>> +        # This test download a 275 MiB compressed image and expand it
> > >>>>>> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
> > >>>>>> +        # As we expand it to 2 GiB we are safe.
> > >>>>>> +
> > >>>>>> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
> > >>>>>> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
> > >>>>>
> > >>>>> The Armbian 20 is not available on this link anymore. I can browse just 21.
> > >>>>
> > >>>> Cat-and-mouse game *sigh*.
> >
> > 2021-03-22 17:18:10,701 download         L0067 INFO | Fetching
> > https://archive.armbian.com/orangepipc/archive/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
> > -> /home/phil/avocado/da
> > ta/cache/by_location/f2eb27a12b81ce15e93f340fabbced2136af1caa/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz.nfwdzivg
> > 2021-03-22 17:18:11,263 asset            L0136 INFO | Temporary asset
> > file unavailable due to failed download attempt.
> > 2021-03-22 17:18:11,263 asset            L0368 ERROR| URLError: <urlopen
> > error [Errno 113] No route to host>
> >
> > It might be a temporary problem, but looking long term the
> > current setup doesn't scale IMHO.
>
> Also I just noticed I *do* have the image cached, even twice:
>
> $ find /home/phil/avocado/data/cache/by_location/ -name
> Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz -ls
>   131661 280768 -rw-rw-r--   1 phil     phil     287501560 Oct 23
> 12:45 /home/phil/avocado/data/cache/by_location/cac379e6a4480624b000dfde1b5d935454254ce2/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
>   131761 280776 -rw-rw-r--   1 phil     phil     287501560 Feb 20
> 00:39 /home/phil/avocado/data/cache/by_location/aac619d9e7ea3726ebc86c159fddfb9d3f6274a5/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
>
> But the hash is different.
>

You have 2 images because you fetched them from different locations.
When you fetch by location, the assets go to the directory
representing the hash of the location, This allows, for example, the
fetch of multiple initrd or vmlinuz files from different locations,
representing different files, but with the same name. Also, this was
one of your requests some time ago :)

What Beraldo worked on in the last week was a way to remove "unused"
files. Your cache is a good example of files that are not necessary
anymore because now you are using a different location to fetch them.

> Cleber, why not use the blob hash as a cache key? It is supposed to be
> constant...
>

You can do that by setting the test to download the file by name, and
not by location.

> Cc'ing Beraldo because I guess remember he worked on improving Avocado cache.
>
> > >>> Just to clarify here: in this patch I wanted to only make the change to remove the test for the 19.11.3 image.
> > >>> And in the 3rd patch (tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08)
> > >>> do the update for to correct the 20.08 link. So each patch fixes one problem at a time.
>
Willian Rampazzo March 22, 2021, 5:18 p.m. UTC | #9
Hi Philippe,

On Mon, Mar 22, 2021 at 1:54 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> Hi Willian,
>
> On 3/8/21 9:44 PM, Willian Rampazzo wrote:
> > On Mon, Mar 8, 2021 at 5:41 PM Willian Rampazzo <wrampazz@redhat.com> wrote:
> >>
> >> On Mon, Mar 8, 2021 at 5:32 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
> >>>
> >>> Hi Philippe, Willian,
> >>>
> >>> On Mon, Mar 8, 2021 at 8:52 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> >>>>
> >>>> On 3/5/21 4:16 PM, Willian Rampazzo wrote:
> >>>>> On Thu, Mar 4, 2021 at 5:44 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
> >>>>>>
> >>>>>> The image for Armbian 19.11.3 bionic has been removed from the armbian server.
> >>>>>> Without the image as input the test arm_orangepi_bionic_19_11 cannot run.
> >>>>>>
> >>>>>> This commit removes the test completely and merges the code of the generic function
> >>>>>> do_test_arm_orangepi_uboot_armbian back with the 20.08 test.
> >>>>>>
> >>>>>> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
> >>>>>> ---
> >>>>>>  tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
> >>>>>>  1 file changed, 23 insertions(+), 49 deletions(-)
> >>>>>>
> >>>>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> >>>>>> index eb01286799..9fadea9958 100644
> >>>>>> --- a/tests/acceptance/boot_linux_console.py
> >>>>>> +++ b/tests/acceptance/boot_linux_console.py
> >>>>>> @@ -802,7 +802,29 @@ def test_arm_orangepi_sd(self):
> >>>>>>          # Wait for VM to shut down gracefully
> >>>>>>          self.vm.wait()
> >>>>>>
> >>>>>> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
> >>>>>> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
> >>>>>> +                'Test artifacts fetched from unreliable apt.armbian.com')
> >>>>>> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
> >>>>>> +    def test_arm_orangepi_bionic_20_08(self):
> >>>>>> +        """
> >>>>>> +        :avocado: tags=arch:arm
> >>>>>> +        :avocado: tags=machine:orangepi-pc
> >>>>>> +        :avocado: tags=device:sd
> >>>>>> +        """
> >>>>>> +
> >>>>>> +        # This test download a 275 MiB compressed image and expand it
> >>>>>> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
> >>>>>> +        # As we expand it to 2 GiB we are safe.
> >>>>>> +
> >>>>>> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
> >>>>>> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
> >>>>>
> >>>>> The Armbian 20 is not available on this link anymore. I can browse just 21.
> >>>>
> >>>> Cat-and-mouse game *sigh*.
>
> 2021-03-22 17:18:10,701 download         L0067 INFO | Fetching
> https://archive.armbian.com/orangepipc/archive/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
> -> /home/phil/avocado/da
> ta/cache/by_location/f2eb27a12b81ce15e93f340fabbced2136af1caa/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz.nfwdzivg
> 2021-03-22 17:18:11,263 asset            L0136 INFO | Temporary asset
> file unavailable due to failed download attempt.
> 2021-03-22 17:18:11,263 asset            L0368 ERROR| URLError: <urlopen
> error [Errno 113] No route to host>
>
> It might be a temporary problem, but looking long term the
> current setup doesn't scale IMHO.
>

Have you changed something in the test? The test is supposed to skip
when the asset is not available in the cache. What was the result of
this test execution? Skip, fail, or error? If it was not Skip, we need
to investigate what happened.

> >>> Just to clarify here: in this patch I wanted to only make the change to remove the test for the 19.11.3 image.
> >>> And in the 3rd patch (tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08)
> >>> do the update for to correct the 20.08 link. So each patch fixes one problem at a time.
> >>>
> >>> Does that make sense, or do you prefer that I combine them in a single patch instead?
> >>
> >> Ops, I forgot about the 3rd patch in this series. That makes sense to
> >> me, sorry for the mess.
> >>
> >
> > And, in this case,
> >
> > Reviewed-by: Willian Rampazzo <willianr@redhat.com>
> >
> >>>
> >>> Regards,
> >>> Niek
> >>>
> >>> --
> >>> Niek Linnenbank
> >>>
> >
>
Philippe Mathieu-Daudé March 22, 2021, 5:24 p.m. UTC | #10
On 3/22/21 6:12 PM, Willian Rampazzo wrote:
> Hi Philippe,
> 
> On Mon, Mar 22, 2021 at 1:59 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>>
>> On Mon, Mar 22, 2021 at 5:54 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>>>
>>> Hi Willian,
>>>
>>> On 3/8/21 9:44 PM, Willian Rampazzo wrote:
>>>> On Mon, Mar 8, 2021 at 5:41 PM Willian Rampazzo <wrampazz@redhat.com> wrote:
>>>>>
>>
>>>>>>>>> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
>>>>>>>>> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
>>>>>>>>> +                'Test artifacts fetched from unreliable apt.armbian.com')
>>>>>>>>> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
>>>>>>>>> +    def test_arm_orangepi_bionic_20_08(self):
>>>>>>>>> +        """
>>>>>>>>> +        :avocado: tags=arch:arm
>>>>>>>>> +        :avocado: tags=machine:orangepi-pc
>>>>>>>>> +        :avocado: tags=device:sd
>>>>>>>>> +        """
>>>>>>>>> +
>>>>>>>>> +        # This test download a 275 MiB compressed image and expand it
>>>>>>>>> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
>>>>>>>>> +        # As we expand it to 2 GiB we are safe.
>>>>>>>>> +
>>>>>>>>> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
>>>>>>>>> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
>>>>>>>>
>>>>>>>> The Armbian 20 is not available on this link anymore. I can browse just 21.
>>>>>>>
>>>>>>> Cat-and-mouse game *sigh*.
>>>
>>> 2021-03-22 17:18:10,701 download         L0067 INFO | Fetching
>>> https://archive.armbian.com/orangepipc/archive/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
>>> -> /home/phil/avocado/da
>>> ta/cache/by_location/f2eb27a12b81ce15e93f340fabbced2136af1caa/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz.nfwdzivg
>>> 2021-03-22 17:18:11,263 asset            L0136 INFO | Temporary asset
>>> file unavailable due to failed download attempt.
>>> 2021-03-22 17:18:11,263 asset            L0368 ERROR| URLError: <urlopen
>>> error [Errno 113] No route to host>
>>>
>>> It might be a temporary problem, but looking long term the
>>> current setup doesn't scale IMHO.
>>
>> Also I just noticed I *do* have the image cached, even twice:
>>
>> $ find /home/phil/avocado/data/cache/by_location/ -name
>> Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz -ls
>>   131661 280768 -rw-rw-r--   1 phil     phil     287501560 Oct 23
>> 12:45 /home/phil/avocado/data/cache/by_location/cac379e6a4480624b000dfde1b5d935454254ce2/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
>>   131761 280776 -rw-rw-r--   1 phil     phil     287501560 Feb 20
>> 00:39 /home/phil/avocado/data/cache/by_location/aac619d9e7ea3726ebc86c159fddfb9d3f6274a5/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
>>
>> But the hash is different.
>>
> 
> You have 2 images because you fetched them from different locations.
> When you fetch by location, the assets go to the directory
> representing the hash of the location, This allows, for example, the
> fetch of multiple initrd or vmlinuz files from different locations,
> representing different files, but with the same name. Also, this was
> one of your requests some time ago :)

My request because we were fetching different artifacts for different
tests but all files had the same filename, i.e.:

url1://path1/to/vmlinux
url2://path2/to/vmlinux
url3://yet/another/path/to/vmlinux

I was obviously short sighted.

> What Beraldo worked on in the last week was a way to remove "unused"
> files. Your cache is a good example of files that are not necessary
> anymore because now you are using a different location to fetch them.

OK, I'll watch closely how you decide a cached file is "unused"...

> 
>> Cleber, why not use the blob hash as a cache key? It is supposed to be
>> constant...
>>
> 
> You can do that by setting the test to download the file by name, and
> not by location.

How so? Isn't it what I just described earlier we wanted to avoid?

> 
>> Cc'ing Beraldo because I guess remember he worked on improving Avocado cache.
>>
>>>>>> Just to clarify here: in this patch I wanted to only make the change to remove the test for the 19.11.3 image.
>>>>>> And in the 3rd patch (tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08)
>>>>>> do the update for to correct the 20.08 link. So each patch fixes one problem at a time.
>>
> 
>
Willian Rampazzo March 22, 2021, 5:37 p.m. UTC | #11
On Mon, Mar 22, 2021 at 2:24 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> On 3/22/21 6:12 PM, Willian Rampazzo wrote:
> > Hi Philippe,
> >
> > On Mon, Mar 22, 2021 at 1:59 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> >>
> >> On Mon, Mar 22, 2021 at 5:54 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> >>>
> >>> Hi Willian,
> >>>
> >>> On 3/8/21 9:44 PM, Willian Rampazzo wrote:
> >>>> On Mon, Mar 8, 2021 at 5:41 PM Willian Rampazzo <wrampazz@redhat.com> wrote:
> >>>>>
> >>
> >>>>>>>>> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
> >>>>>>>>> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
> >>>>>>>>> +                'Test artifacts fetched from unreliable apt.armbian.com')
> >>>>>>>>> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
> >>>>>>>>> +    def test_arm_orangepi_bionic_20_08(self):
> >>>>>>>>> +        """
> >>>>>>>>> +        :avocado: tags=arch:arm
> >>>>>>>>> +        :avocado: tags=machine:orangepi-pc
> >>>>>>>>> +        :avocado: tags=device:sd
> >>>>>>>>> +        """
> >>>>>>>>> +
> >>>>>>>>> +        # This test download a 275 MiB compressed image and expand it
> >>>>>>>>> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
> >>>>>>>>> +        # As we expand it to 2 GiB we are safe.
> >>>>>>>>> +
> >>>>>>>>> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
> >>>>>>>>> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
> >>>>>>>>
> >>>>>>>> The Armbian 20 is not available on this link anymore. I can browse just 21.
> >>>>>>>
> >>>>>>> Cat-and-mouse game *sigh*.
> >>>
> >>> 2021-03-22 17:18:10,701 download         L0067 INFO | Fetching
> >>> https://archive.armbian.com/orangepipc/archive/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
> >>> -> /home/phil/avocado/da
> >>> ta/cache/by_location/f2eb27a12b81ce15e93f340fabbced2136af1caa/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz.nfwdzivg
> >>> 2021-03-22 17:18:11,263 asset            L0136 INFO | Temporary asset
> >>> file unavailable due to failed download attempt.
> >>> 2021-03-22 17:18:11,263 asset            L0368 ERROR| URLError: <urlopen
> >>> error [Errno 113] No route to host>
> >>>
> >>> It might be a temporary problem, but looking long term the
> >>> current setup doesn't scale IMHO.
> >>
> >> Also I just noticed I *do* have the image cached, even twice:
> >>
> >> $ find /home/phil/avocado/data/cache/by_location/ -name
> >> Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz -ls
> >>   131661 280768 -rw-rw-r--   1 phil     phil     287501560 Oct 23
> >> 12:45 /home/phil/avocado/data/cache/by_location/cac379e6a4480624b000dfde1b5d935454254ce2/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
> >>   131761 280776 -rw-rw-r--   1 phil     phil     287501560 Feb 20
> >> 00:39 /home/phil/avocado/data/cache/by_location/aac619d9e7ea3726ebc86c159fddfb9d3f6274a5/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
> >>
> >> But the hash is different.
> >>
> >
> > You have 2 images because you fetched them from different locations.
> > When you fetch by location, the assets go to the directory
> > representing the hash of the location, This allows, for example, the
> > fetch of multiple initrd or vmlinuz files from different locations,
> > representing different files, but with the same name. Also, this was
> > one of your requests some time ago :)
>
> My request because we were fetching different artifacts for different
> tests but all files had the same filename, i.e.:
>
> url1://path1/to/vmlinux
> url2://path2/to/vmlinux
> url3://yet/another/path/to/vmlinux
>
> I was obviously short sighted.
>
> > What Beraldo worked on in the last week was a way to remove "unused"
> > files. Your cache is a good example of files that are not necessary
> > anymore because now you are using a different location to fetch them.
>
> OK, I'll watch closely how you decide a cached file is "unused"...
>
> >
> >> Cleber, why not use the blob hash as a cache key? It is supposed to be
> >> constant...
> >>
> >
> > You can do that by setting the test to download the file by name, and
> > not by location.
>
> How so? Isn't it what I just described earlier we wanted to avoid?
>

Yep, but if you are sure there won't be another file called
`Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz` that means
another thing than what the file name describes, in this case, it can
be fetched by name. It will still check the file hash to make sure it
is the file needed, but it opens the possibility to download the same
file from different locations without duplicating it in the cache.

For this case, I think it makes sense to fetch it and add it to the
`by_name` location in the cache.

> >
> >> Cc'ing Beraldo because I guess remember he worked on improving Avocado cache.
> >>
> >>>>>> Just to clarify here: in this patch I wanted to only make the change to remove the test for the 19.11.3 image.
> >>>>>> And in the 3rd patch (tests/acceptance/boot_linux_console: change URL for test_arm_orangepi_bionic_20_08)
> >>>>>> do the update for to correct the 20.08 link. So each patch fixes one problem at a time.
> >>
> >
> >
>
Philippe Mathieu-Daudé March 22, 2021, 6:47 p.m. UTC | #12
On 3/22/21 6:18 PM, Willian Rampazzo wrote:
> Hi Philippe,
> 
> On Mon, Mar 22, 2021 at 1:54 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>>
>> Hi Willian,
>>
>> On 3/8/21 9:44 PM, Willian Rampazzo wrote:
>>> On Mon, Mar 8, 2021 at 5:41 PM Willian Rampazzo <wrampazz@redhat.com> wrote:
>>>>
>>>> On Mon, Mar 8, 2021 at 5:32 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
>>>>>
>>>>> Hi Philippe, Willian,
>>>>>
>>>>> On Mon, Mar 8, 2021 at 8:52 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
>>>>>>
>>>>>> On 3/5/21 4:16 PM, Willian Rampazzo wrote:
>>>>>>> On Thu, Mar 4, 2021 at 5:44 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
>>>>>>>>
>>>>>>>> The image for Armbian 19.11.3 bionic has been removed from the armbian server.
>>>>>>>> Without the image as input the test arm_orangepi_bionic_19_11 cannot run.
>>>>>>>>
>>>>>>>> This commit removes the test completely and merges the code of the generic function
>>>>>>>> do_test_arm_orangepi_uboot_armbian back with the 20.08 test.
>>>>>>>>
>>>>>>>> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
>>>>>>>> ---
>>>>>>>>  tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
>>>>>>>>  1 file changed, 23 insertions(+), 49 deletions(-)
>>>>>>>>
>>>>>>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
>>>>>>>> index eb01286799..9fadea9958 100644
>>>>>>>> --- a/tests/acceptance/boot_linux_console.py
>>>>>>>> +++ b/tests/acceptance/boot_linux_console.py
>>>>>>>> @@ -802,7 +802,29 @@ def test_arm_orangepi_sd(self):
>>>>>>>>          # Wait for VM to shut down gracefully
>>>>>>>>          self.vm.wait()
>>>>>>>>
>>>>>>>> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
>>>>>>>> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
>>>>>>>> +                'Test artifacts fetched from unreliable apt.armbian.com')
>>>>>>>> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
>>>>>>>> +    def test_arm_orangepi_bionic_20_08(self):
>>>>>>>> +        """
>>>>>>>> +        :avocado: tags=arch:arm
>>>>>>>> +        :avocado: tags=machine:orangepi-pc
>>>>>>>> +        :avocado: tags=device:sd
>>>>>>>> +        """
>>>>>>>> +
>>>>>>>> +        # This test download a 275 MiB compressed image and expand it
>>>>>>>> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
>>>>>>>> +        # As we expand it to 2 GiB we are safe.
>>>>>>>> +
>>>>>>>> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
>>>>>>>> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
>>>>>>>
>>>>>>> The Armbian 20 is not available on this link anymore. I can browse just 21.
>>>>>>
>>>>>> Cat-and-mouse game *sigh*.
>>
>> 2021-03-22 17:18:10,701 download         L0067 INFO | Fetching
>> https://archive.armbian.com/orangepipc/archive/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
>> -> /home/phil/avocado/da
>> ta/cache/by_location/f2eb27a12b81ce15e93f340fabbced2136af1caa/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz.nfwdzivg
>> 2021-03-22 17:18:11,263 asset            L0136 INFO | Temporary asset
>> file unavailable due to failed download attempt.
>> 2021-03-22 17:18:11,263 asset            L0368 ERROR| URLError: <urlopen
>> error [Errno 113] No route to host>
>>
>> It might be a temporary problem, but looking long term the
>> current setup doesn't scale IMHO.
>>
> 
> Have you changed something in the test? The test is supposed to skip
> when the asset is not available in the cache. What was the result of
> this test execution? Skip, fail, or error? If it was not Skip, we need
> to investigate what happened.

No change, on commit b1847509268.

The result was all good but 1 "Cancelled" so I looked at the job.log.

All good IMO.
Willian Rampazzo March 22, 2021, 7:10 p.m. UTC | #13
On Mon, Mar 22, 2021 at 3:47 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
>
> On 3/22/21 6:18 PM, Willian Rampazzo wrote:
> > Hi Philippe,
> >
> > On Mon, Mar 22, 2021 at 1:54 PM Philippe Mathieu-Daudé <f4bug@amsat.org> wrote:
> >>
> >> Hi Willian,
> >>
> >> On 3/8/21 9:44 PM, Willian Rampazzo wrote:
> >>> On Mon, Mar 8, 2021 at 5:41 PM Willian Rampazzo <wrampazz@redhat.com> wrote:
> >>>>
> >>>> On Mon, Mar 8, 2021 at 5:32 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
> >>>>>
> >>>>> Hi Philippe, Willian,
> >>>>>
> >>>>> On Mon, Mar 8, 2021 at 8:52 AM Philippe Mathieu-Daudé <philmd@redhat.com> wrote:
> >>>>>>
> >>>>>> On 3/5/21 4:16 PM, Willian Rampazzo wrote:
> >>>>>>> On Thu, Mar 4, 2021 at 5:44 PM Niek Linnenbank <nieklinnenbank@gmail.com> wrote:
> >>>>>>>>
> >>>>>>>> The image for Armbian 19.11.3 bionic has been removed from the armbian server.
> >>>>>>>> Without the image as input the test arm_orangepi_bionic_19_11 cannot run.
> >>>>>>>>
> >>>>>>>> This commit removes the test completely and merges the code of the generic function
> >>>>>>>> do_test_arm_orangepi_uboot_armbian back with the 20.08 test.
> >>>>>>>>
> >>>>>>>> Signed-off-by: Niek Linnenbank <nieklinnenbank@gmail.com>
> >>>>>>>> ---
> >>>>>>>>  tests/acceptance/boot_linux_console.py | 72 ++++++++------------------
> >>>>>>>>  1 file changed, 23 insertions(+), 49 deletions(-)
> >>>>>>>>
> >>>>>>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
> >>>>>>>> index eb01286799..9fadea9958 100644
> >>>>>>>> --- a/tests/acceptance/boot_linux_console.py
> >>>>>>>> +++ b/tests/acceptance/boot_linux_console.py
> >>>>>>>> @@ -802,7 +802,29 @@ def test_arm_orangepi_sd(self):
> >>>>>>>>          # Wait for VM to shut down gracefully
> >>>>>>>>          self.vm.wait()
> >>>>>>>>
> >>>>>>>> -    def do_test_arm_orangepi_uboot_armbian(self, image_path):
> >>>>>>>> +    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
> >>>>>>>> +                'Test artifacts fetched from unreliable apt.armbian.com')
> >>>>>>>> +    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
> >>>>>>>> +    def test_arm_orangepi_bionic_20_08(self):
> >>>>>>>> +        """
> >>>>>>>> +        :avocado: tags=arch:arm
> >>>>>>>> +        :avocado: tags=machine:orangepi-pc
> >>>>>>>> +        :avocado: tags=device:sd
> >>>>>>>> +        """
> >>>>>>>> +
> >>>>>>>> +        # This test download a 275 MiB compressed image and expand it
> >>>>>>>> +        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
> >>>>>>>> +        # As we expand it to 2 GiB we are safe.
> >>>>>>>> +
> >>>>>>>> +        image_url = ('https://dl.armbian.com/orangepipc/archive/'
> >>>>>>>> +                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
> >>>>>>>
> >>>>>>> The Armbian 20 is not available on this link anymore. I can browse just 21.
> >>>>>>
> >>>>>> Cat-and-mouse game *sigh*.
> >>
> >> 2021-03-22 17:18:10,701 download         L0067 INFO | Fetching
> >> https://archive.armbian.com/orangepipc/archive/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz
> >> -> /home/phil/avocado/da
> >> ta/cache/by_location/f2eb27a12b81ce15e93f340fabbced2136af1caa/Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz.nfwdzivg
> >> 2021-03-22 17:18:11,263 asset            L0136 INFO | Temporary asset
> >> file unavailable due to failed download attempt.
> >> 2021-03-22 17:18:11,263 asset            L0368 ERROR| URLError: <urlopen
> >> error [Errno 113] No route to host>
> >>
> >> It might be a temporary problem, but looking long term the
> >> current setup doesn't scale IMHO.
> >>
> >
> > Have you changed something in the test? The test is supposed to skip
> > when the asset is not available in the cache. What was the result of
> > this test execution? Skip, fail, or error? If it was not Skip, we need
> > to investigate what happened.
>
> No change, on commit b1847509268.
>
> The result was all good but 1 "Cancelled" so I looked at the job.log.
>
> All good IMO.
>

Okay, good! Unfortunately, I don't think there is much more we can do
on the qemu side or on Avocado side to handle network glitches.
diff mbox series

Patch

diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index eb01286799..9fadea9958 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -802,7 +802,29 @@  def test_arm_orangepi_sd(self):
         # Wait for VM to shut down gracefully
         self.vm.wait()
 
-    def do_test_arm_orangepi_uboot_armbian(self, image_path):
+    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
+                'Test artifacts fetched from unreliable apt.armbian.com')
+    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
+    def test_arm_orangepi_bionic_20_08(self):
+        """
+        :avocado: tags=arch:arm
+        :avocado: tags=machine:orangepi-pc
+        :avocado: tags=device:sd
+        """
+
+        # This test download a 275 MiB compressed image and expand it
+        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
+        # As we expand it to 2 GiB we are safe.
+
+        image_url = ('https://dl.armbian.com/orangepipc/archive/'
+                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
+        image_hash = ('b4d6775f5673486329e45a0586bf06b6'
+                      'dbe792199fd182ac6b9c7bb6c7d3e6dd')
+        image_path_xz = self.fetch_asset(image_url, asset_hash=image_hash,
+                                         algorithm='sha256')
+        image_path = archive.extract(image_path_xz, self.workdir)
+        image_pow2ceil_expand(image_path)
+
         self.vm.set_console()
         self.vm.add_args('-drive', 'file=' + image_path + ',if=sd,format=raw',
                          '-nic', 'user',
@@ -828,54 +850,6 @@  def do_test_arm_orangepi_uboot_armbian(self, image_path):
                                       'to <orangepipc>')
         self.wait_for_console_pattern('Starting Load Kernel Modules...')
 
-    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
-                'Test artifacts fetched from unreliable apt.armbian.com')
-    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
-    @skipUnless(P7ZIP_AVAILABLE, '7z not installed')
-    def test_arm_orangepi_bionic_19_11(self):
-        """
-        :avocado: tags=arch:arm
-        :avocado: tags=machine:orangepi-pc
-        :avocado: tags=device:sd
-        """
-
-        # This test download a 196MB compressed image and expand it to 1GB
-        image_url = ('https://dl.armbian.com/orangepipc/archive/'
-                     'Armbian_19.11.3_Orangepipc_bionic_current_5.3.9.7z')
-        image_hash = '196a8ffb72b0123d92cea4a070894813d305c71e'
-        image_path_7z = self.fetch_asset(image_url, asset_hash=image_hash)
-        image_name = 'Armbian_19.11.3_Orangepipc_bionic_current_5.3.9.img'
-        image_path = os.path.join(self.workdir, image_name)
-        process.run("7z e -o%s %s" % (self.workdir, image_path_7z))
-        image_pow2ceil_expand(image_path)
-
-        self.do_test_arm_orangepi_uboot_armbian(image_path)
-
-    @skipUnless(os.getenv('ARMBIAN_ARTIFACTS_CACHED'),
-                'Test artifacts fetched from unreliable apt.armbian.com')
-    @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
-    def test_arm_orangepi_bionic_20_08(self):
-        """
-        :avocado: tags=arch:arm
-        :avocado: tags=machine:orangepi-pc
-        :avocado: tags=device:sd
-        """
-
-        # This test download a 275 MiB compressed image and expand it
-        # to 1036 MiB, but the underlying filesystem is 1552 MiB...
-        # As we expand it to 2 GiB we are safe.
-
-        image_url = ('https://dl.armbian.com/orangepipc/archive/'
-                     'Armbian_20.08.1_Orangepipc_bionic_current_5.8.5.img.xz')
-        image_hash = ('b4d6775f5673486329e45a0586bf06b6'
-                      'dbe792199fd182ac6b9c7bb6c7d3e6dd')
-        image_path_xz = self.fetch_asset(image_url, asset_hash=image_hash,
-                                         algorithm='sha256')
-        image_path = archive.extract(image_path_xz, self.workdir)
-        image_pow2ceil_expand(image_path)
-
-        self.do_test_arm_orangepi_uboot_armbian(image_path)
-
     @skipUnless(os.getenv('AVOCADO_ALLOW_LARGE_STORAGE'), 'storage limited')
     def test_arm_orangepi_uboot_netbsd9(self):
         """