tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++ 1 file changed, 42 insertions(+)
Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines
with a simple PCI layout.
Cc: Cleber Rosa <crosa@redhat.com>
Cc: Wainer dos Santos Moschetta <wainersm@redhat.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 5248c8097df9..da93a475ca87 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -1176,6 +1176,48 @@ def test_ppc64_e500(self):
tar_hash = '6951d86d644b302898da2fd701739c9406527fe1'
self.do_test_advcal_2018('19', tar_hash, 'uImage')
+ def do_test_ppc64_powernv(self, proc):
+
+ images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/')
+
+ skiboot_url = images_url + 'skiboot.lid'
+ skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29'
+ skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash,
+ algorithm='sha256')
+
+ kernel_url = images_url + 'zImage.epapr'
+ kernel_hash = '0ab237df661727e5392cee97460e8674057a883c5f74381a128fa772588d45cd'
+ kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash,
+ algorithm='sha256')
+ self.vm.set_console()
+ self.vm.add_args('-bios', skiboot_path,
+ '-kernel', kernel_path,
+ '-append', 'console=tty0 console=hvc0',
+ '-device', 'pcie-pci-bridge,id=bridge1,bus=pcie.1,addr=0x0',
+ '-device', 'nvme,bus=pcie.2,addr=0x0,serial=1234',
+ '-device', 'e1000e,bus=bridge1,addr=0x3',
+ '-device', 'nec-usb-xhci,bus=bridge1,addr=0x2')
+ self.vm.launch()
+
+ self.wait_for_console_pattern("CPU: " + proc + " generation processor")
+ self.wait_for_console_pattern("zImage starting: loaded")
+ self.wait_for_console_pattern("Run /init as init process")
+ self.wait_for_console_pattern("Creating 1 MTD partitions")
+
+ def test_ppc_powernv8(self):
+ """
+ :avocado: tags=arch:ppc64
+ :avocado: tags=machine:powernv8
+ """
+ self.do_test_ppc64_powernv('P8')
+
+ def test_ppc_powernv9(self):
+ """
+ :avocado: tags=arch:ppc64
+ :avocado: tags=machine:powernv9
+ """
+ self.do_test_ppc64_powernv('P9')
+
def test_ppc_g3beige(self):
"""
:avocado: tags=arch:ppc
--
2.31.1
On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote: > > Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines > with a simple PCI layout. > > Cc: Cleber Rosa <crosa@redhat.com> > Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- > tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++ > 1 file changed, 42 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index 5248c8097df9..da93a475ca87 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self): > tar_hash = '6951d86d644b302898da2fd701739c9406527fe1' > self.do_test_advcal_2018('19', tar_hash, 'uImage') > > + def do_test_ppc64_powernv(self, proc): > + > + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/') > + > + skiboot_url = images_url + 'skiboot.lid' > + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29' > + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash, > + algorithm='sha256') What's the thought that led you to using this instead of the one that gets packaged with qemu? > + > + kernel_url = images_url + 'zImage.epapr' > + kernel_hash = '0ab237df661727e5392cee97460e8674057a883c5f74381a128fa772588d45cd' > + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash, > + algorithm='sha256') > + self.vm.set_console() > + self.vm.add_args('-bios', skiboot_path, > + '-kernel', kernel_path, > + '-append', 'console=tty0 console=hvc0', > + '-device', 'pcie-pci-bridge,id=bridge1,bus=pcie.1,addr=0x0', > + '-device', 'nvme,bus=pcie.2,addr=0x0,serial=1234', > + '-device', 'e1000e,bus=bridge1,addr=0x3', > + '-device', 'nec-usb-xhci,bus=bridge1,addr=0x2') > + self.vm.launch() > + > + self.wait_for_console_pattern("CPU: " + proc + " generation processor") > + self.wait_for_console_pattern("zImage starting: loaded") > + self.wait_for_console_pattern("Run /init as init process") > + self.wait_for_console_pattern("Creating 1 MTD partitions") This is great. Is there any value in checking for some of the devices that come up, like USB or ethernet? Reviewed-by: Joel Stanley <joel@jms.id.au> > + > + def test_ppc_powernv8(self): > + """ > + :avocado: tags=arch:ppc64 > + :avocado: tags=machine:powernv8 > + """ > + self.do_test_ppc64_powernv('P8') > + > + def test_ppc_powernv9(self): > + """ > + :avocado: tags=arch:ppc64 > + :avocado: tags=machine:powernv9 > + """ > + self.do_test_ppc64_powernv('P9') > + > def test_ppc_g3beige(self): > """ > :avocado: tags=arch:ppc > -- > 2.31.1 >
On 8/10/21 10:36 AM, Joel Stanley wrote: > On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote: >> >> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines >> with a simple PCI layout. >> >> Cc: Cleber Rosa <crosa@redhat.com> >> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> >> Signed-off-by: Cédric Le Goater <clg@kaod.org> >> --- >> tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++ >> 1 file changed, 42 insertions(+) >> >> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py >> index 5248c8097df9..da93a475ca87 100644 >> --- a/tests/acceptance/boot_linux_console.py >> +++ b/tests/acceptance/boot_linux_console.py >> @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self): >> tar_hash = '6951d86d644b302898da2fd701739c9406527fe1' >> self.do_test_advcal_2018('19', tar_hash, 'uImage') >> >> + def do_test_ppc64_powernv(self, proc): >> + >> + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/') >> + >> + skiboot_url = images_url + 'skiboot.lid' >> + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29' >> + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash, >> + algorithm='sha256') > > What's the thought that led you to using this instead of the one that > gets packaged with qemu? Good question. I considered that the skiboot.lid shipped with QEMU was somewhat a default to make things work. The official released versions are the ones used by the outside world on real systems and were a better target for tests. That said, using the default version might be enough. Maintainers, please advise ! >> + >> + kernel_url = images_url + 'zImage.epapr' >> + kernel_hash = '0ab237df661727e5392cee97460e8674057a883c5f74381a128fa772588d45cd' >> + kernel_path = self.fetch_asset(kernel_url, asset_hash=kernel_hash, >> + algorithm='sha256') >> + self.vm.set_console() >> + self.vm.add_args('-bios', skiboot_path, >> + '-kernel', kernel_path, >> + '-append', 'console=tty0 console=hvc0', >> + '-device', 'pcie-pci-bridge,id=bridge1,bus=pcie.1,addr=0x0', >> + '-device', 'nvme,bus=pcie.2,addr=0x0,serial=1234', >> + '-device', 'e1000e,bus=bridge1,addr=0x3', >> + '-device', 'nec-usb-xhci,bus=bridge1,addr=0x2') >> + self.vm.launch() >> + >> + self.wait_for_console_pattern("CPU: " + proc + " generation processor") >> + self.wait_for_console_pattern("zImage starting: loaded") >> + self.wait_for_console_pattern("Run /init as init process") >> + self.wait_for_console_pattern("Creating 1 MTD partitions") > > This is great. > > Is there any value in checking for some of the devices that come up, > like USB or ethernet? or nvme. Yes. That's a good idea. > Reviewed-by: Joel Stanley <joel@jms.id.au> Thanks, C. > >> + >> + def test_ppc_powernv8(self): >> + """ >> + :avocado: tags=arch:ppc64 >> + :avocado: tags=machine:powernv8 >> + """ >> + self.do_test_ppc64_powernv('P8') >> + >> + def test_ppc_powernv9(self): >> + """ >> + :avocado: tags=arch:ppc64 >> + :avocado: tags=machine:powernv9 >> + """ >> + self.do_test_ppc64_powernv('P9') >> + >> def test_ppc_g3beige(self): >> """ >> :avocado: tags=arch:ppc >> -- >> 2.31.1 >>
On 10/08/2021 11.09, Cédric Le Goater wrote: > On 8/10/21 10:36 AM, Joel Stanley wrote: >> On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote: >>> >>> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines >>> with a simple PCI layout. >>> >>> Cc: Cleber Rosa <crosa@redhat.com> >>> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> >>> Signed-off-by: Cédric Le Goater <clg@kaod.org> >>> --- >>> tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++ >>> 1 file changed, 42 insertions(+) >>> >>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py >>> index 5248c8097df9..da93a475ca87 100644 >>> --- a/tests/acceptance/boot_linux_console.py >>> +++ b/tests/acceptance/boot_linux_console.py >>> @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self): >>> tar_hash = '6951d86d644b302898da2fd701739c9406527fe1' >>> self.do_test_advcal_2018('19', tar_hash, 'uImage') >>> >>> + def do_test_ppc64_powernv(self, proc): >>> + >>> + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/') >>> + >>> + skiboot_url = images_url + 'skiboot.lid' >>> + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29' >>> + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash, >>> + algorithm='sha256') >> >> What's the thought that led you to using this instead of the one that >> gets packaged with qemu? > > Good question. > > I considered that the skiboot.lid shipped with QEMU was somewhat a default > to make things work. The official released versions are the ones used by > the outside world on real systems and were a better target for tests. > > That said, using the default version might be enough. Maintainers, please > advise ! IMHO: - We want to test the things that *we* ship - We want to download as few things as possible, since downloads often slow down the tests and break CI runs if the network to the download site is not available ==> I'd prefer to use the internal skiboot.lid unless there is really a compelling reason to use the external one. Just my 0.02 € though. Thomas
On 8/11/21 11:07 AM, Thomas Huth wrote: > On 10/08/2021 11.09, Cédric Le Goater wrote: >> On 8/10/21 10:36 AM, Joel Stanley wrote: >>> On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote: >>>> >>>> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines >>>> with a simple PCI layout. >>>> >>>> Cc: Cleber Rosa <crosa@redhat.com> >>>> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> >>>> Signed-off-by: Cédric Le Goater <clg@kaod.org> >>>> --- >>>> tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++ >>>> 1 file changed, 42 insertions(+) >>>> >>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py >>>> index 5248c8097df9..da93a475ca87 100644 >>>> --- a/tests/acceptance/boot_linux_console.py >>>> +++ b/tests/acceptance/boot_linux_console.py >>>> @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self): >>>> tar_hash = '6951d86d644b302898da2fd701739c9406527fe1' >>>> self.do_test_advcal_2018('19', tar_hash, 'uImage') >>>> >>>> + def do_test_ppc64_powernv(self, proc): >>>> + >>>> + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/') >>>> + >>>> + skiboot_url = images_url + 'skiboot.lid' >>>> + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29' >>>> + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash, >>>> + algorithm='sha256') >>> >>> What's the thought that led you to using this instead of the one that >>> gets packaged with qemu? >> >> Good question. >> >> I considered that the skiboot.lid shipped with QEMU was somewhat a default >> to make things work. The official released versions are the ones used by >> the outside world on real systems and were a better target for tests. >> >> That said, using the default version might be enough. Maintainers, please >> advise ! > > IMHO: > > - We want to test the things that *we* ship > > - We want to download as few things as possible, since downloads > often slow down the tests and break CI runs if the network to > the download site is not available > > ==> I'd prefer to use the internal skiboot.lid unless there is > really a compelling reason to use the external one. OK. I changed the test to use the internal skiboot.lid. Thanks, C.
Hi Cédric, On 8/11/21 11:54 AM, Cédric Le Goater wrote: > On 8/11/21 11:07 AM, Thomas Huth wrote: >> On 10/08/2021 11.09, Cédric Le Goater wrote: >>> On 8/10/21 10:36 AM, Joel Stanley wrote: >>>> On Tue, 10 Aug 2021 at 08:34, Cédric Le Goater <clg@kaod.org> wrote: >>>>> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines >>>>> with a simple PCI layout. >>>>> >>>>> Cc: Cleber Rosa <crosa@redhat.com> >>>>> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> >>>>> Signed-off-by: Cédric Le Goater <clg@kaod.org> >>>>> --- >>>>> tests/acceptance/boot_linux_console.py | 42 ++++++++++++++++++++++++++ >>>>> 1 file changed, 42 insertions(+) >>>>> >>>>> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py >>>>> index 5248c8097df9..da93a475ca87 100644 >>>>> --- a/tests/acceptance/boot_linux_console.py >>>>> +++ b/tests/acceptance/boot_linux_console.py >>>>> @@ -1176,6 +1176,48 @@ def test_ppc64_e500(self): >>>>> tar_hash = '6951d86d644b302898da2fd701739c9406527fe1' >>>>> self.do_test_advcal_2018('19', tar_hash, 'uImage') >>>>> >>>>> + def do_test_ppc64_powernv(self, proc): >>>>> + >>>>> + images_url = ('https://github.com/open-power/op-build/releases/download/v2.7/') >>>>> + >>>>> + skiboot_url = images_url + 'skiboot.lid' >>>>> + skiboot_hash = 'a9ffcddbf238f86cda4b2cae2882d6bd13cff8489109758a4980efaf154f4a29' >>>>> + skiboot_path = self.fetch_asset(skiboot_url, asset_hash=skiboot_hash, >>>>> + algorithm='sha256') >>>> What's the thought that led you to using this instead of the one that >>>> gets packaged with qemu? >>> Good question. >>> >>> I considered that the skiboot.lid shipped with QEMU was somewhat a default >>> to make things work. The official released versions are the ones used by >>> the outside world on real systems and were a better target for tests. >>> >>> That said, using the default version might be enough. Maintainers, please >>> advise ! >> IMHO: >> >> - We want to test the things that *we* ship >> >> - We want to download as few things as possible, since downloads >> often slow down the tests and break CI runs if the network to >> the download site is not available >> >> ==> I'd prefer to use the internal skiboot.lid unless there is >> really a compelling reason to use the external one. > OK. I changed the test to use the internal skiboot.lid. The code of patch v1 looks good to me but I will wait the v2 to put my reviewed-by stamp. Thanks! - Wainer > > Thanks, > > C. > > > > >
© 2016 - 2024 Red Hat, Inc.