Getting smoker green

This is a follow up to:

For a while we’ve been running the tests, but they’re still failing due to some Javascript errors. Currently they’re not very readable (opened https://github.com/theforeman/forklift/pull/1119 to log full diffs), but here’s the one that’s blocking Foreman. From https://ci.centos.org/job/foreman-nightly-centos7-test/433/testReport/

AssertionError: Error messages with log level SEVERE in browser console assert ['https://pip...con' of null"] == []   Left contains 2 more items, first extra item: 'https://pipeline-foreman-server-nightly-centos7.n27.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656...rver-nightly-centos7.n27.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js:329:3878)'   Use -v to get the full diff

Reproducing it should be as simple as installing a production box and going to /logout. Then the Javascript console should be helpful.

For Katello there are currently no test results since bats tests failed so I can’t say what the current status is.

I’d like to ask for help from the Javascript developers (@amirfefer or @sharvit?) to get this resolved. Once this passes, we can make smoker block the release pipeline and prevent future errors from propagating.

I couldn’t reproduce it manually with Chrome, but I could when I ran smoker locally.

E       AssertionError: Error messages with log level SEVERE in browser console
E       assert ['https://cen...con' of null"] == []
E         Left contains 2 more items, first extra item: 'https://centos7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b...s7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js:329:3878)'
E         Full diff:
E         + []
E         - ['https://centos7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js '
E         -  "299:71864 TypeError: Cannot read property 'icon' of null\n"
E         -  '    at '
E         -  'https://centos7-foreman-nightly.wisse.example.com/webpack/bundle-a7b7b22d9f4d24643dc8.js:1:150871\n'
E         -  '    at Array.map (<anonymous>)\n'
E         -  '    at l '
E         -  '(https://centos7-foreman-nightly.wisse.example.com/webpack/bundle-a7b7b22d9f4d24643dc8.js:1:150804)\n'
E         -  '    at za '
E         -  '(https://centos7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js:300:55459)\n'
E         -  '    at Gs '
E         -  '(https://centos7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js:300:98383)\n'
E         -  '    at Bs '
E         -  '(https://centos7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js:300:84130)\n'
E         -  '    at Ds '
E         -  '(https://centos7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js:300:81157)\n'
E         -  '    at Ns '
E         -  '(https://centos7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js:300:79730)\n'
E         -  '    at '
E         -  'https://centos7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js:300:41881\n'
E         -  '    at t.unstable_runWithPriority '
E         -  '(https://centos7-foreman-nightly.wisse.example.com/webpack/foreman-vendor.bundle-v4.0.7-production-ed656fd12ee634eae9b9.js:329:3878)',
E         -  'https://centos7-foreman-nightly.wisse.example.com/webpack/bundle-a7b7b22d9f4d24643dc8.js '
E         -  "0:150870 Uncaught TypeError: Cannot read property 'icon' of null"]

tests/test_pages.py:123: AssertionError

So the Katello nightly install was green which gives us a smoker report:

https://ci.centos.org/job/foreman-katello-nightly-test/774/testReport/

There are 13 failures, but it’s a common pattern where ?page=1&per_page=20 is added to the URL so it doesn’t match the expectation. Not sure how to deal with this. @ui_ux can we have a discussion about this?

What happens is:

  • smoker gets all the menu items
  • visits each one
  • for each item it opens a browser, logs in, opens the URL, ensures the actual URL matches where was navigated to

The GET parameters are there as well since there are menu items which includes GET parameters (reports include ?eventful=true).

Since this hasn’t seen a resolution I’m proposing to ignore the logout page:

Right now I don’t see the Katello failures but the non-nightly versions haven’t ran a pipeline yet due to the renaming so that may be misleading. Keeping an eye on that.