** Summary changed: - Resolve autopkgtest failures Pep8 on Xenial and Bionic + Resolve autopkgtest failures Pep8/pyflakes on Xenial and Bionic
** Description changed: - [Impact] + Cherry-picking upstream changes for ESM Product renaming and messaging + 1901627 triggered autopkgtest failures on for Xenial(pep8) and + Bionic(pep8 & pyflakes) during SRU review. - The product names and product URLs of Ubuntu Advantage Extended - Security Maintenance offerings have been rebranded prior to an official - launch of the product ESM product in Ubuntu Xenial, Bionic and Focal. - The backport of these commits introduced pep8 linter errors in unittests - that broke autopkgtests for xenial version 3.168.11 and bionic version - 3.192.1.8. - - The failed autopkgtests pointed to a need for an explicit build-depends - on pep8 package because cloud-images: - - https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac - /autopkgtest-xenial/xenial/amd64/u/update- - notifier/20201016_043912_51752@/log.gz - - - In order to publish to xenial and bionic, introduce pep8 biuld-depends and fix pep8 lints - - [Test Case] - - * Install unreleased ubuntu-advantage-tools from a PPA - * Run: ua enable <yourToken> to activate UA apt repositories - * Check MOTD messaging related to UA Infra: ESM prior to upgrade to -proposed update-notifier via /usr/lib/update-notifier/apt-check --human-readable - - * Upgrade update-notifier to -proposed - * Re-check MOTD messaging related to UA Infra: ESM to see expected messages - - #!/bin/bash - # - # SRU Verification update-notifier + ubuntu=advantage-tools - # Test procedure: - # - launch container Trusty, Xenial or Bionic - # - Install ubuntu-advantage-tools from https://launchpad.net/~ua-client/+archive/ubuntu/proposed which supports esm on trusty, xenial, bionic, and focal - # - Attach container to UA subscription (which activates the ESM APT repos - # - run apt_check --human-readable to assert ESM pkg counts ARE NOT reported - # - Upgrade update-notifier to -proposed - # - re-run apt_check --human-readable to assert ESM pkg counts ARE reported - - set -e - UA_TOKEN=$1 - if [ -z "$1" ]; then - echo "Usage: $0 <contractTOKEN>" - exit 1 - fi - # sources: - # ua.proposed: - # source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main - # keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7 - - cat > test-un.yaml <<EOF - #cloud-config - ssh_import_id: [chad.smith] - package_update: true - package_upgrade: true - apt: - sources: - ua.proposed: - source: deb http://ppa.launchpad.net/ua-client/staging/ubuntu \$RELEASE main - keyid: 6E34E7116C0BC933 - EOF - - cat > setup_proposed.sh <<EOF - #/bin/bash - mirror=http://archive.ubuntu.com/ubuntu - echo deb \$mirror \$(lsb_release -sc)-proposed main | tee /etc/apt/sources.list.d/proposed.list - apt-get update -q - apt-get install -qy update-notifier-common - EOF - - wait_for_boot() { - local vm=$1 release=$2 - echo "--- Wait for cloud-init to finish" - sleep 5 - lxc exec ${vm} -- cloud-init status --wait --long - } - - for release in xenial bionic focal groovy; do - echo "--- BEGIN $release update-notifier testing" - vm=test-sru-$release - echo "--- Launch cloud-init with ppa:ua-client/proposed enabled" - lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat test-un.yaml)" - wait_for_boot ${vm} ${release} - echo "--- Attach Ubuntu-Advantage, enabling services" - lxc exec ${vm} -- ua attach ${UA_TOKEN} - echo "--- Install a downgraded hello package which ESM-focal delivers" - lxc exec ${vm} -- apt-get install hello=2.10-2ubuntu2 - echo "--- Expect 0 upgradable packages for MOTD from apt_check before upgrade" - lxc exec ${vm} -- /usr/lib/update-notifier/apt-check --human-readable - lxc exec ${vm} -- /usr/lib/update-notifier/apt-check --human-readable | grep '0 of these updates are security updates' && echo "SUCCESS: found 0 ESM security updates pre-upgrade" || echo "FAILURE: did not find expected 0 ESM security updates" - echo "--- Upgrade update-notifier from -proposed" - lxc file push setup_proposed.sh ${vm}/ - lxc exec ${vm} -- bash /setup_proposed.sh | grep update-notifier - echo "--- Expect non-zero upgradable packages for MOTD from apt_check AFTER upgrade" - lxc exec ${vm} -- /usr/lib/update-notifier/apt-check --human-readable | grep '1 of these updates is a security update' && echo "SUCCESS: found 1 ESM security updates pre-upgrade" || echo "FAILURE: did not find expected 1 ESM security updates" - done - - [Where problems could occur] - - * Low risk: - pep8 lint fixes only here in data/apt_check.py, data/hooks.py and test_package-data-downloader.py. Only need to confirm that current apt-hook logic remains functional and that motd messaging is present without tracebacks using /usr/lib/update-notifier/apt-check --human-readable - - - [Other Info] - - [Original Description] - - Cherry-picking upstream changes for ESM Product renaming and messaging - 1901627 triggered autopkgtest failures on Xenial and Bionic during SRU - review. Also changes in the base cloud-images used for testing dropped + Also changes in the Xenial base cloud-images used for testing dropped pep8 package from the build environment and unittests rely on calling - pep8 on Cenial and Bionic. minimally a build-depends on pep8 needs to be - added and pep8 test failures addresssed. + pep8 on Xenial and Bionic. minimally a build-depends on pep8 needs to be + added and pep8 test failures addresssed for Xenial. Bionic also needs + minor pyflakes fixes from master. This does not directly affect Focal or later because update-notifier moved to pycodestyle validation in tests instead of using pep8. Initial pep8 build-dependency error on Xenial/Bionic autopkgtests: Fetched 4 B in 0s (0 B/s) ....Get:1 http://localhost:17195/canary-file.txt [4 B] Fetched 4 B in 0s (0 B/s) .E ====================================================================== ERROR: test_pep8_clean (test_pep8.TestPep8Clean) ---------------------------------------------------------------------- Traceback (most recent call last): File "/tmp/autopkgtest.RQGkx9/build.3cC/src/tests/test_pep8.py", line 32, in test_pep8_clean ["pep8", "--ignore={0}".format(IGNORE_PEP8), py_file]) File "/usr/lib/python3.5/subprocess.py", line 557, in call with Popen(*popenargs, **kwargs) as p: File "/usr/lib/python3.5/subprocess.py", line 947, in __init__ restore_signals, start_new_session) File "/usr/lib/python3.5/subprocess.py", line 1551, in _execute_child raise child_exception_type(errno_num, err_msg) FileNotFoundError: [Errno 2] No such file or directory: 'pep8' Once resolving the build-depends: example pep8 test failures: seen running nosetests3 on update-notifier on Xenial amd Bionic ./tmp/autopkgtest.wN63go/build.IFg/src/tests/../data/apt_check.py:157:21: W503 line break before binary operator .... autopackage test failure logs showing missing pep8 dependency: xenial: update-notifier/3.168.11 - autopkg logs: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-xenial/xenial/amd64/u/update-notifier/20201016_043912_51752@/log.gz bionic: update-notifier/3.192.1.8 - autopkg failures: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic/bionic/amd64/u/update-notifier/20201016_045656_8c126@/log.gz focal: update-notifier/3.192.30.1 - rejected this upload in Focal to reduce SRU thrashing because a followup will be provided for Focal anyway to sync with Xenial and Bionic. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1906436 Title: Resolve autopkgtest failures Pep8/pyflakes on Xenial and Bionic To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/update-notifier/+bug/1906436/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs