Xenial autopkgtest was re-run and passes

https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac
/autopkgtest-xenial/xenial/armhf/u/update-
manager/20201227_203731_ce794@/log.gz

** Description changed:

  [Impact]
  Changes to wording regarding the ESM support available for Trusty. 
Additionally, reorder command output after UX review.
  
  [Test Case]
  test_motd.py has unit tests for all of the combinations of upgrade types 
possible. It's also possible to run "/usr/lib/update-notifier/apt-check 
--human-readable" on a system with ESM configured (enabled or disabled).
  #!/bin/bash
  
+ 
+ 
+ #!/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-uru.yaml <<EOF
+ cat > test-un.yaml <<EOF
  #cloud-config
  ssh_import_id: [chad.smith]
  package_update: true
  package_upgrade: true
  apt:
    sources:
-       ua.proposed: deb http://ppa.launchpad.net/ua-client/proposed/ubuntu 
\$RELEASE main
-       keyid: 6E34E7116C0BC933
+       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                                       
  
+ 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
- EOF   
+ 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                         
  
+     lxc exec ${vm} -- cloud-init status --wait --long
  }
  
- for release in xenial bionic focal; do
+ for release in xenial bionic; 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 "--- Check Original MOTD output from apt_check before upgrade"
-   lxc exec ${vm} -- /usr/lib/update-notifier/apt-check --human-readable
+   case "$release" in
+         xenial) 
+             UPGRADE_MATCH="0 updates are security updates";
+             downrev_pkg="libkrad0=1.13.2+dfsg-5";;
+         bionic)
+             UPGRADE_MATCH="1 update is a security update"
+             downrev_pkg="libkrad0=1.16-2build1";;
+         focal)
+             UPGRADE_MATCH="0 updates are security updates"
+             downrev_pkg="hello=2.10-2ubuntu2";;
+         groovy)
+             UPGRADE_MATCH="1 of these updates is a security update"
+             downrev_pkg="apport-retrace=2.20.11-0ubuntu50";;
+   esac
+   echo "-- Downgrading package to stable ubuntu release $downrev_pkg"
+   lxc exec ${vm} -- apt-get install $downrev_pkg --yes -q
+   lxc exec ${vm} -- dpkg-query --show update-notifier
+   if [ "$release" = "xenial" ]; then
+       # Xenial-updates have already included esm package updates.
+       # Drop the xenial-updates apt source so we can be sure we are seeing 
only
+       # available esm updates
+       lxc exec ${vm} -- sed -e "/xenial-updates/ s/^#*/#/" -i 
/etc/apt/sources.list
+       lxc exec ${vm} -- sed -e "/xenial-security/ s/^#*/#/" -i 
/etc/apt/sources.list
+       lxc exec ${vm} -- apt-get update
+   fi
+   MOTD=`lxc exec ${vm} -- /usr/lib/update-notifier/apt-check --human-readable`
+   echo ${MOTD}
+   POST_UPGRADE_MSG="UA Infra: Extended Security Maintenance (ESM) is enabled"
+   echo $MOTD | grep -q "${POST_UPGRADE_MSG}" && echo "FAILURE: found 
${POST_UPGRADE_MSG}" ||  echo "SUCCESS: did not find ${POST_UPGRADE_MSG=}"
+   echo $MOTD | grep -q "${UPGRADE_MATCH}" && echo "SUCCESS: found 
${UPGRADE_MATCH} security updates pre-upgrade" || echo "FAILURE: did not find 
expected ${UPGRADE_MATCH} 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 "--- Check upadate-notifier(-proposed) MOTD output from apt_check 
after upgrade"
+   lxc exec ${vm} -- bash /setup_proposed.sh | grep update-notifier
+   lxc exec ${vm} -- dpkg-query --show update-notifier
+    MOTD=`lxc exec ${vm} -- /usr/lib/update-notifier/apt-check 
--human-readable`
+   echo $MOTD | grep -q "${POST_UPGRADE_MSG}" && echo "SUCCESS: found 
${POST_UPGRADE_MSG}" ||  echo "FAILURE: did not find ${POST_UPGRADE_MSG=}"
+   echo "--- Expect non-zero upgradable packages for MOTD from apt_check AFTER 
upgrade"
    lxc exec ${vm} -- /usr/lib/update-notifier/apt-check --human-readable
+   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
  
  
  [Regression Potential]
  Only strings are changing in this update and this could be considered a 
follow up SRU to bug 1822340 which created no issues.
  
  [Notice]
  This is only being SRU'ed to Ubuntu 14.04 (as with the previous SRU) as 
Ubuntu 16.04 and Ubuntu 18.04 will have some additional changes.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1842508

Title:
  motd messaging changes regarding apt updates

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/update-notifier/+bug/1842508/+subscriptions

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to