tests/acceptance/boot_linux_console.py | 35 ++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines
with a simple PCI layout.
Cc: Cleber Rosa <crosa@redhat.com>
Cc: Philippe Mathieu-Daudé <philmd@redhat.com>
Cc: Wainer dos Santos Moschetta <wainersm@redhat.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
---
Since v2:
- Change the skiboot.lid file to use the one shipped with QEMU
tests/acceptance/boot_linux_console.py | 35 ++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py
index 5248c8097df9..59c9309c4d0b 100644
--- a/tests/acceptance/boot_linux_console.py
+++ b/tests/acceptance/boot_linux_console.py
@@ -1176,6 +1176,41 @@ 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/')
+
+ 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('-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 17/08/2021 11.30, Cédric Le Goater wrote: > Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines > with a simple PCI layout. > > Cc: Cleber Rosa <crosa@redhat.com> > Cc: Philippe Mathieu-Daudé <philmd@redhat.com> > Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- > > Since v2: > > - Change the skiboot.lid file to use the one shipped with QEMU > > tests/acceptance/boot_linux_console.py | 35 ++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index 5248c8097df9..59c9309c4d0b 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -1176,6 +1176,41 @@ 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/') > + > + 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('-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") IMHO it might be sufficient to wait for the last console entry and drop the "zImage starting" and "Run /init" lines (but I'd keep the "CPU:" line since it checks for the right processor type). Anyway: Reviewed-by: Thomas Huth <thuth@redhat.com>
On 8/18/21 8:27 AM, Thomas Huth wrote: > On 17/08/2021 11.30, Cédric Le Goater wrote: >> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines >> with a simple PCI layout. >> >> Cc: Cleber Rosa <crosa@redhat.com> >> Cc: Philippe Mathieu-Daudé <philmd@redhat.com> >> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> >> Signed-off-by: Cédric Le Goater <clg@kaod.org> >> --- >> >> Since v2: >> >> - Change the skiboot.lid file to use the one shipped with QEMU >> tests/acceptance/boot_linux_console.py | 35 ++++++++++++++++++++++++++ >> 1 file changed, 35 insertions(+) >> >> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py >> index 5248c8097df9..59c9309c4d0b 100644 >> --- a/tests/acceptance/boot_linux_console.py >> +++ b/tests/acceptance/boot_linux_console.py >> @@ -1176,6 +1176,41 @@ 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/') >> + >> + 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('-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") > > IMHO it might be sufficient to wait for the last console entry and drop the "zImage starting" and "Run /init" lines OK. I might replace them with lines catching the driver log messages as Joel suggested. wait_for_console_pattern() doesn't seem to be able to catch output from the petitboot loader which would be even better. Here is the final output : Petitboot (v1.12) IBM PowerNV (emulated by qemu) unavailable ────────────────────────────────────────────────────────────────────────────── System information System configuration System status log Language Rescan devices Retrieve config from URL Plugins (0) *Exit to shell ────────────────────────────────────────────────────────────────────────────── Enter=accept, e=edit, n=new, x=exit, l=language, g=log, h=help [enP1p2s3] Configuring with DHCP > (but I'd keep the "CPU:" line since it checks for the right processor type). yes > Anyway: > Reviewed-by: Thomas Huth <thuth@redhat.com> Thanks, C.
On 8/17/21 11:30, Cédric Le Goater wrote: > Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines > with a simple PCI layout. > > Cc: Cleber Rosa <crosa@redhat.com> > Cc: Philippe Mathieu-Daudé <philmd@redhat.com> > Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> > Signed-off-by: Cédric Le Goater <clg@kaod.org> > --- > > Since v2: > > - Change the skiboot.lid file to use the one shipped with QEMU > > tests/acceptance/boot_linux_console.py | 35 ++++++++++++++++++++++++++ > 1 file changed, 35 insertions(+) > > diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py > index 5248c8097df9..59c9309c4d0b 100644 > --- a/tests/acceptance/boot_linux_console.py > +++ b/tests/acceptance/boot_linux_console.py > @@ -1176,6 +1176,41 @@ 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/') > + > + 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('-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 > Kinda borderline w.r.t. 90 sec timeout limit... (using --enable-debug): JOB ID : 5229c34e837b7b6de18c68115b07f0eebc446784 JOB LOG : /home/phil/avocado/job-results/job-2021-09-27T19.15-5229c34/job.log (1/3) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc64_e500: PASS (6.58 s) (2/3) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv8: PASS (80.38 s) (3/3) tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv9: PASS (89.22 s) RESULTS : PASS 3 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | CANCEL 0 JOB TIME : 176.84 s You might want to increase the per-test timeout. Meanwhile, Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> and applied to my integration-testing tree.
On 9/27/21 19:21, Philippe Mathieu-Daudé wrote: > On 8/17/21 11:30, Cédric Le Goater wrote: >> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines >> with a simple PCI layout. >> >> Cc: Cleber Rosa <crosa@redhat.com> >> Cc: Philippe Mathieu-Daudé <philmd@redhat.com> >> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> >> Signed-off-by: Cédric Le Goater <clg@kaod.org> >> --- >> >> Since v2: >> >> - Change the skiboot.lid file to use the one shipped with QEMU >> >> tests/acceptance/boot_linux_console.py | 35 ++++++++++++++++++++++++++ >> 1 file changed, 35 insertions(+) >> >> diff --git a/tests/acceptance/boot_linux_console.py b/tests/acceptance/boot_linux_console.py >> index 5248c8097df9..59c9309c4d0b 100644 >> --- a/tests/acceptance/boot_linux_console.py >> +++ b/tests/acceptance/boot_linux_console.py >> @@ -1176,6 +1176,41 @@ 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/') >> + >> + 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('-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 >> > > Kinda borderline w.r.t. 90 sec timeout limit... (using --enable-debug): > > JOB ID : 5229c34e837b7b6de18c68115b07f0eebc446784 > JOB LOG : > /home/phil/avocado/job-results/job-2021-09-27T19.15-5229c34/job.log > (1/3) > tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc64_e500: > PASS (6.58 s) > (2/3) > tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv8: > PASS (80.38 s) > (3/3) > tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv9: > PASS (89.22 s) > RESULTS : PASS 3 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | > CANCEL 0 > JOB TIME : 176.84 s It's too long I agree and I can remove some of the PCI adapters which need training. What's your laptop like ? > You might want to increase the per-test timeout. > > Meanwhile, > > Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> > Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com> > > and applied to my integration-testing tree. > Thanks, C.
On 9/27/21 19:37, Cédric Le Goater wrote: > On 9/27/21 19:21, Philippe Mathieu-Daudé wrote: >> On 8/17/21 11:30, Cédric Le Goater wrote: >>> Fetch the OpenPOWER images to boot the powernv8 and powernv9 machines >>> with a simple PCI layout. >>> >>> Cc: Cleber Rosa <crosa@redhat.com> >>> Cc: Philippe Mathieu-Daudé <philmd@redhat.com> >>> Cc: Wainer dos Santos Moschetta <wainersm@redhat.com> >>> Signed-off-by: Cédric Le Goater <clg@kaod.org> >>> --- >>> >>> Since v2: >>> >>> - Change the skiboot.lid file to use the one shipped with QEMU >>> tests/acceptance/boot_linux_console.py | 35 >>> ++++++++++++++++++++++++++ >>> 1 file changed, 35 insertions(+) >>> >>> diff --git a/tests/acceptance/boot_linux_console.py >>> b/tests/acceptance/boot_linux_console.py >>> index 5248c8097df9..59c9309c4d0b 100644 >>> --- a/tests/acceptance/boot_linux_console.py >>> +++ b/tests/acceptance/boot_linux_console.py >>> @@ -1176,6 +1176,41 @@ 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/') >>> + >>> + 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('-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 >>> >> >> Kinda borderline w.r.t. 90 sec timeout limit... (using --enable-debug): >> >> JOB ID : 5229c34e837b7b6de18c68115b07f0eebc446784 >> JOB LOG : >> /home/phil/avocado/job-results/job-2021-09-27T19.15-5229c34/job.log >> (1/3) >> tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc64_e500: >> PASS (6.58 s) >> (2/3) >> tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv8: >> >> PASS (80.38 s) >> (3/3) >> tests/acceptance/boot_linux_console.py:BootLinuxConsole.test_ppc_powernv9: >> >> PASS (89.22 s) >> RESULTS : PASS 3 | ERROR 0 | FAIL 0 | SKIP 0 | WARN 0 | INTERRUPT 0 | >> CANCEL 0 >> JOB TIME : 176.84 s > > It's too long I agree and I can remove some of the PCI adapters which > need training. > > What's your laptop like ? i7-8650U, but maybe better ask Gitlab what are theirs runners like ;)
© 2016 - 2024 Red Hat, Inc.