2020-09-01 02:44:18 |
Chad Smith |
bug |
|
|
added bug |
2020-09-01 02:44:32 |
Chad Smith |
nominated for series |
|
Ubuntu Groovy |
|
2020-09-01 02:44:32 |
Chad Smith |
bug task added |
|
ubuntu-release-upgrader (Ubuntu Groovy) |
|
2020-09-01 02:44:32 |
Chad Smith |
nominated for series |
|
Ubuntu Xenial |
|
2020-09-01 02:44:32 |
Chad Smith |
bug task added |
|
ubuntu-release-upgrader (Ubuntu Xenial) |
|
2020-09-01 02:44:32 |
Chad Smith |
nominated for series |
|
Ubuntu Focal |
|
2020-09-01 02:44:32 |
Chad Smith |
bug task added |
|
ubuntu-release-upgrader (Ubuntu Focal) |
|
2020-09-01 02:44:32 |
Chad Smith |
nominated for series |
|
Ubuntu Bionic |
|
2020-09-01 02:44:32 |
Chad Smith |
bug task added |
|
ubuntu-release-upgrader (Ubuntu Bionic) |
|
2020-09-01 02:55:42 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu/+source/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/390056 |
|
2020-09-01 15:42:53 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/390102 |
|
2020-09-02 03:13:21 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu/+source/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/390126 |
|
2020-09-02 03:24:46 |
Chad Smith |
ubuntu-release-upgrader (Ubuntu Groovy): status |
New |
Fix Released |
|
2020-09-02 03:24:53 |
Chad Smith |
ubuntu-release-upgrader (Ubuntu Focal): status |
New |
In Progress |
|
2020-09-02 03:24:55 |
Chad Smith |
ubuntu-release-upgrader (Ubuntu Focal): assignee |
|
Chad Smith (chad.smith) |
|
2020-09-02 21:27:12 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/390199 |
|
2020-09-02 23:23:35 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu/+source/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/390206 |
|
2020-09-02 23:25:45 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu/+source/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/390207 |
|
2020-09-09 18:15:18 |
Brian Murray |
bug |
|
|
added subscriber Brian Murray |
2020-09-10 02:00:03 |
Chad Smith |
ubuntu-release-upgrader (Ubuntu Xenial): assignee |
|
Chad Smith (chad.smith) |
|
2020-09-10 02:00:05 |
Chad Smith |
ubuntu-release-upgrader (Ubuntu Bionic): assignee |
|
Chad Smith (chad.smith) |
|
2020-09-10 02:00:07 |
Chad Smith |
ubuntu-release-upgrader (Ubuntu Groovy): assignee |
|
Chad Smith (chad.smith) |
|
2020-09-10 02:55:34 |
Chad Smith |
description |
Ensure Apt mirror urls supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror urls are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. perform do-release-upgrade
4. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
5. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -x
cat > proposed.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
proposed.list:
source: deb $MIRROR $RELEASE-proposed main universe
EOF
for release in trusty xenial bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
lxc exec ${vm} -- cloud-init status --wait --long
else
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
echo "--- perform do-release-upgrade to next release"
lxc exec ${vm} -- do-release-upgrade -f DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previosly offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror urls supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror urls are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
|
2020-09-10 03:00:06 |
Chad Smith |
description |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. perform do-release-upgrade
4. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
5. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -x
cat > proposed.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
proposed.list:
source: deb $MIRROR $RELEASE-proposed main universe
EOF
for release in trusty xenial bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
lxc exec ${vm} -- cloud-init status --wait --long
else
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
echo "--- perform do-release-upgrade to next release"
lxc exec ${vm} -- do-release-upgrade -f DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previosly offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror urls supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror urls are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. perform do-release-upgrade
4. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
5. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -x
cat > proposed.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
proposed.list:
source: deb $MIRROR $RELEASE-proposed main universe
EOF
for release in trusty xenial bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
lxc exec ${vm} -- cloud-init status --wait --long
else
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
echo "--- perform do-release-upgrade to next release"
lxc exec ${vm} -- do-release-upgrade -f DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
|
2020-09-10 03:00:16 |
Chad Smith |
ubuntu-release-upgrader (Ubuntu Xenial): status |
New |
In Progress |
|
2020-09-10 03:00:18 |
Chad Smith |
ubuntu-release-upgrader (Ubuntu Bionic): status |
New |
In Progress |
|
2020-09-11 17:16:54 |
Chad Smith |
description |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. perform do-release-upgrade
4. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
5. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -x
cat > proposed.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
proposed.list:
source: deb $MIRROR $RELEASE-proposed main universe
EOF
for release in trusty xenial bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
lxc exec ${vm} -- cloud-init status --wait --long
else
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
echo "--- perform do-release-upgrade to next release"
lxc exec ${vm} -- do-release-upgrade -f DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball and run ./focal upgrade on the CLI
5. tar xzvf focal.tar.gz
6.
4. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
5. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -x
cat > proposed.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
proposed.list:
source: deb $MIRROR $RELEASE-proposed main universe
EOF
for release in trusty xenial bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
lxc exec ${vm} -- cloud-init status --wait --long
else
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/$release-proposed/main/dist-upgrader-all/current/$release.tar.gz
echo "--- perform do-release-upgrade to next release"
lxc exec ${vm} -- /${release} -f DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
|
2020-09-11 17:17:16 |
Chad Smith |
description |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball and run ./focal upgrade on the CLI
5. tar xzvf focal.tar.gz
6.
4. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
5. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -x
cat > proposed.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
proposed.list:
source: deb $MIRROR $RELEASE-proposed main universe
EOF
for release in trusty xenial bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
lxc exec ${vm} -- cloud-init status --wait --long
else
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/$release-proposed/main/dist-upgrader-all/current/$release.tar.gz
echo "--- perform do-release-upgrade to next release"
lxc exec ${vm} -- /${release} -f DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball and run ./focal upgrade on the CLI
5. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
6. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -x
cat > proposed.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
proposed.list:
source: deb $MIRROR $RELEASE-proposed main universe
EOF
for release in trusty xenial bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
lxc exec ${vm} -- cloud-init status --wait --long
else
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/$release-proposed/main/dist-upgrader-all/current/$release.tar.gz
echo "--- perform do-release-upgrade to next release"
lxc exec ${vm} -- /${release} -f DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
|
2020-09-17 16:02:09 |
Steve Langasek |
ubuntu-release-upgrader (Ubuntu Focal): status |
In Progress |
Fix Committed |
|
2020-09-17 16:02:12 |
Steve Langasek |
bug |
|
|
added subscriber Ubuntu Stable Release Updates Team |
2020-09-17 16:02:15 |
Steve Langasek |
bug |
|
|
added subscriber SRU Verification |
2020-09-17 16:02:20 |
Steve Langasek |
tags |
|
verification-needed verification-needed-focal |
|
2020-09-22 18:44:08 |
Chad Smith |
description |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball and run ./focal upgrade on the CLI
5. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
6. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -x
cat > proposed.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
proposed.list:
source: deb $MIRROR $RELEASE-proposed main universe
EOF
for release in trusty xenial bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
lxc exec ${vm} -- cloud-init status --wait --long
else
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/$release-proposed/main/dist-upgrader-all/current/$release.tar.gz
echo "--- perform do-release-upgrade to next release"
lxc exec ${vm} -- /${release} -f DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball and run ./focal upgrade on the CLI
5. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
6. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -ex
UA_TOKEN=<REDACTED>
cat > test-uru.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
ua.list:
source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
EOF
declare -A NEXTDIST=( [bionic]=focal [xenial]=bionic [trusty]=xenial )
for release in bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
upgraderelease=${NEXTDIST[$release]}
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
else
lxc exec ${vm} -- cloud-init status --wait --long
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/${upgraderelease}-proposed/main/dist-upgrader-all/current/${upgraderelease}.tar.gz
lxc exec ${vm} -- tar xzvf ${upgraderelease}.tar.gz
echo "--- perform do-release-upgrade to next release"
lxc file pull ${vm}/root/mirrors.cfg .
echo "http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu" >> mirrors.cfg
lxc file push mirrors.cfg ${vm}/root/
lxc exec ${vm} -- ./${upgraderelease} --datadir=/root --frontend=DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
|
2020-09-22 18:46:13 |
Chad Smith |
description |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image with $release-proposed enabled via cloud-config
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball and run ./focal upgrade on the CLI
5. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
6. apt-cache policy to check that permissions to said APT repositories are
viable
done
# test script
```
#!/bin/bash
set -ex
UA_TOKEN=<REDACTED>
cat > test-uru.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
ua.list:
source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
EOF
declare -A NEXTDIST=( [bionic]=focal [xenial]=bionic [trusty]=xenial )
for release in bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
upgraderelease=${NEXTDIST[$release]}
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
else
lxc exec ${vm} -- cloud-init status --wait --long
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/${upgraderelease}-proposed/main/dist-upgrader-all/current/${upgraderelease}.tar.gz
lxc exec ${vm} -- tar xzvf ${upgraderelease}.tar.gz
echo "--- perform do-release-upgrade to next release"
lxc file pull ${vm}/root/mirrors.cfg .
echo "http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu" >> mirrors.cfg
lxc file push mirrors.cfg ${vm}/root/
lxc exec ${vm} -- ./${upgraderelease} --datadir=/root --frontend=DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image for the given $release enabling ubuntu-advantage-daily PPA (to allow for upgrading to viable ubuntu-advantage-tools deb
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <upgrade-release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball
5. Add ubuntu-advantage-daily PPA to mirrors.cfg # to avoid disabling on upgrade
6. and run ./${upgraderelease} upgrade on the CLI
7. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
8. apt-cache policy to check that permissions to said APT repositories are live
done
# test script
```
#!/bin/bash
set -ex
UA_TOKEN=<REDACTED>
cat > test-uru.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
ua.list:
source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
EOF
declare -A NEXTDIST=( [bionic]=focal [xenial]=bionic [trusty]=xenial )
for release in bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
upgraderelease=${NEXTDIST[$release]}
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
else
lxc exec ${vm} -- cloud-init status --wait --long
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/${upgraderelease}-proposed/main/dist-upgrader-all/current/${upgraderelease}.tar.gz
lxc exec ${vm} -- tar xzvf ${upgraderelease}.tar.gz
echo "--- perform do-release-upgrade to next release"
lxc file pull ${vm}/root/mirrors.cfg .
echo "http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu" >> mirrors.cfg
lxc file push mirrors.cfg ${vm}/root/
lxc exec ${vm} -- ./${upgraderelease} --datadir=/root --frontend=DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
|
2020-09-23 20:40:24 |
Steve Langasek |
ubuntu-release-upgrader (Ubuntu Bionic): status |
In Progress |
Fix Committed |
|
2020-09-23 20:40:30 |
Steve Langasek |
tags |
verification-needed verification-needed-focal |
verification-needed verification-needed-bionic verification-needed-focal |
|
2020-09-23 20:41:32 |
Steve Langasek |
ubuntu-release-upgrader (Ubuntu Xenial): status |
In Progress |
Fix Committed |
|
2020-09-23 20:41:42 |
Steve Langasek |
tags |
verification-needed verification-needed-bionic verification-needed-focal |
verification-needed verification-needed-bionic verification-needed-focal verification-needed-xenial |
|
2020-09-29 19:44:42 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/391183 |
|
2020-10-05 08:37:03 |
Łukasz Zemczak |
tags |
verification-needed verification-needed-bionic verification-needed-focal verification-needed-xenial |
verification-needed verification-needed-bionic verification-needed-xenial |
|
2020-10-05 08:37:08 |
Łukasz Zemczak |
ubuntu-release-upgrader (Ubuntu Focal): status |
Fix Committed |
Won't Fix |
|
2020-10-05 21:08:17 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu/+source/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/391848 |
|
2020-10-07 00:25:04 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu/+source/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/391907 |
|
2020-10-07 16:56:22 |
Launchpad Janitor |
merge proposal linked |
|
https://code.launchpad.net/~chad.smith/ubuntu/+source/ubuntu-release-upgrader/+git/ubuntu-release-upgrader/+merge/391937 |
|
2020-10-09 16:38:33 |
Timo Aaltonen |
ubuntu-release-upgrader (Ubuntu Focal): status |
Won't Fix |
Fix Committed |
|
2020-10-09 16:38:40 |
Timo Aaltonen |
tags |
verification-needed verification-needed-bionic verification-needed-xenial |
verification-needed verification-needed-bionic verification-needed-focal verification-needed-xenial |
|
2020-10-09 22:22:19 |
Chad Smith |
description |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image for the given $release enabling ubuntu-advantage-daily PPA (to allow for upgrading to viable ubuntu-advantage-tools deb
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <upgrade-release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball
5. Add ubuntu-advantage-daily PPA to mirrors.cfg # to avoid disabling on upgrade
6. and run ./${upgraderelease} upgrade on the CLI
7. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
8. apt-cache policy to check that permissions to said APT repositories are live
done
# test script
```
#!/bin/bash
set -ex
UA_TOKEN=<REDACTED>
cat > test-uru.yaml <<EOF
#cloud-config
package_upgrade: true
apt:
sources:
ua.list:
source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
EOF
declare -A NEXTDIST=( [bionic]=focal [xenial]=bionic [trusty]=xenial )
for release in bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat proposed.yaml)"
upgraderelease=${NEXTDIST[$release]}
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
else
lxc exec ${vm} -- cloud-init status --wait --long
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/${upgraderelease}-proposed/main/dist-upgrader-all/current/${upgraderelease}.tar.gz
lxc exec ${vm} -- tar xzvf ${upgraderelease}.tar.gz
echo "--- perform do-release-upgrade to next release"
lxc file pull ${vm}/root/mirrors.cfg .
echo "http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu" >> mirrors.cfg
lxc file push mirrors.cfg ${vm}/root/
lxc exec ${vm} -- ./${upgraderelease} --datadir=/root --frontend=DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- apt-cache policy | grep esm.ubuntu.com
for file in `ls /etc/apt/sources.list.d/ubuntu-*.list`; do
echo "--- file: ${file}"
cat /etc/apt/sources.list.d/${file}
done
lxc exec ${vm} -- ua status
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image for the given $release enabling ubuntu-advantage-daily PPA (to allow for upgrading to viable ubuntu-advantage-tools deb
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <upgrade-release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball
5. Add ubuntu-advantage-daily PPA to mirrors.cfg # to avoid disabling on upgrade
6. and run ./${upgraderelease} upgrade on the CLI
7. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
8. apt-cache policy to check that permissions to said APT repositories are live
done
# test script
```
#!/bin/bash
#
# SRU Verification ubuntu-release-upgrader + ubuntu=advantage-tools
# Test procedure:
# - launch container Trusty, Xenial or Bionic
# - Attach container to UA subscription (which activates a number of commerical PPAs
# - download and run -proposed ubuntu-release-upgrader tool for upgrade release
# - Assert successful upgrade
# - Confirm valid mirrors not disabled
# - Confirm third party non-commercial PPA URLs still disabled
# - Confirm third party UA commercial URLs still disabled
# (due to expected feature gap)
# - Confirm UA status reports esm-infra still disabled (known feature gap)
set -ex
UA_TOKEN=$1
if [ -z "$1" ]; then
echo "Usage: $0 <contractTOKEN>"
exit 1
fi
#apt_sources:
# - source: "deb http://ppa.launchpad.net/ua-client/proposed/ubuntu trusty main"
cat > test-uru.yaml <<EOF
#cloud-config
package_update: true
package_upgrade: true
apt:
sources:
ua.proposed:
source: deb http://ppa.launchpad.net/ua-client/proposed/ubuntu \$RELEASE main
keyid: 6E34E7116C0BC933
EOF
# ua.list:
# source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
# keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
cat > checkaptpolicy.sh <<EOF
#!/bin/bash
set -x
RELEASE=\`lsb_release -sc\`
echo -n "Current release: $RELEASE"
echo "Assert no disabled valid mirrors in /eta/apt/sources.list"
! grep disable /etc/apt/sources.list || echo "FAILURE: found disabled valid mirror urls"
echo "Checking commercial Ubuntu Advantage PPAs apt policy and config"
apt-cache policy | grep esm.ubuntu.com
for file in \`ls /etc/apt/sources.list.d/ubuntu-*.list\`; do
echo "--- file: \${file}"
cat \${file}
done
EOF
chmod 755 checkaptpolicy.sh
declare -A NEXTDIST=( [bionic]=focal [xenial]=bionic [trusty]=xenial )
for release in bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat test-uru.yaml)"
upgraderelease=${NEXTDIST[$release]}
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
else
lxc exec ${vm} -- cloud-init status --wait --long
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status | tee ua-status.orig
lxc file push checkaptpolicy.sh ${vm}/
lxc exec ${vm} -- /checkaptpolicy.sh > policy.orig
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/$upgraderelease-proposed/main/dist-upgrader-all/current/$upgraderelease.tar.gz
lxc exec ${vm} -- tar xzvf $upgraderelease.tar.gz
echo "--- Add proposed PPA to valid mirrors to exercise ua-tools do-release-upgrade"
lxc file pull ${vm}/root/mirrors.cfg .
sed -i 's/stable/proposed/' mirrors.cfg
lxc file push mirrors.cfg ${vm}/root/
lxc exec ${vm} -- /root/$upgraderelease --datadir=/root --frontend DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- /checkaptpolicy.sh > policy.upgrade
lxc exec test-sru-bionic grep disable /etc/apt/sources.list && "FAILURE: valid mirrors got disabled" || echo "SUCCESS: no valid mirrors disabled"
echo "--- Ensure UA status reports ESM disabled due to pending RT"
lxc exec ${vm} -- sudo ua status | egrep 'esm-infra.*disabled' || echo "FAILURE: unexpected enabled esm-infra"
echo "--- Expect disable reason to be no Release file in esm PPA"
lxc exec test-sru-bionic grep disable /var/log/dist-upgrade/main.log || echo "FAILURE: didn't find disabled update logs for esm"
echo "--- Expect disabled esm-infra in diffs from original and upgrade status"
diff -urN ua-status.orig ua-status.upgrade
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
|
2020-10-09 23:35:46 |
Chad Smith |
attachment added |
|
uru-upgrade-to-bionic-sru.log https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1893717/+attachment/5420179/+files/uru-upgrade-to-bionic-sru.log |
|
2020-10-09 23:36:19 |
Chad Smith |
attachment added |
|
uru-upgrade-to-focal-sru.log https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1893717/+attachment/5420180/+files/uru-upgrade-to-focal-sru.log |
|
2020-10-09 23:36:48 |
Chad Smith |
tags |
verification-needed verification-needed-bionic verification-needed-focal verification-needed-xenial |
verification-done-bionic verification-done-focal verification-needed verification-needed-xenial |
|
2020-10-10 20:00:28 |
Chad Smith |
attachment added |
|
uru-upgrade-to-focal-sru.log https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1893717/+attachment/5420567/+files/uru-upgrade-to-focal-sru.log |
|
2020-10-10 20:00:56 |
Chad Smith |
attachment added |
|
uru-upgrade-to-bionic-sru.log https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1893717/+attachment/5420568/+files/uru-upgrade-to-bionic-sru.log |
|
2020-10-10 20:01:26 |
Chad Smith |
attachment added |
|
uru-upgrade-to-xenial-sru.log https://bugs.launchpad.net/ubuntu/+source/ubuntu-release-upgrader/+bug/1893717/+attachment/5420569/+files/uru-upgrade-to-xenial-sru.log |
|
2020-10-10 20:07:35 |
Chad Smith |
description |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image for the given $release enabling ubuntu-advantage-daily PPA (to allow for upgrading to viable ubuntu-advantage-tools deb
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <upgrade-release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball
5. Add ubuntu-advantage-daily PPA to mirrors.cfg # to avoid disabling on upgrade
6. and run ./${upgraderelease} upgrade on the CLI
7. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
8. apt-cache policy to check that permissions to said APT repositories are live
done
# test script
```
#!/bin/bash
#
# SRU Verification ubuntu-release-upgrader + ubuntu=advantage-tools
# Test procedure:
# - launch container Trusty, Xenial or Bionic
# - Attach container to UA subscription (which activates a number of commerical PPAs
# - download and run -proposed ubuntu-release-upgrader tool for upgrade release
# - Assert successful upgrade
# - Confirm valid mirrors not disabled
# - Confirm third party non-commercial PPA URLs still disabled
# - Confirm third party UA commercial URLs still disabled
# (due to expected feature gap)
# - Confirm UA status reports esm-infra still disabled (known feature gap)
set -ex
UA_TOKEN=$1
if [ -z "$1" ]; then
echo "Usage: $0 <contractTOKEN>"
exit 1
fi
#apt_sources:
# - source: "deb http://ppa.launchpad.net/ua-client/proposed/ubuntu trusty main"
cat > test-uru.yaml <<EOF
#cloud-config
package_update: true
package_upgrade: true
apt:
sources:
ua.proposed:
source: deb http://ppa.launchpad.net/ua-client/proposed/ubuntu \$RELEASE main
keyid: 6E34E7116C0BC933
EOF
# ua.list:
# source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
# keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
cat > checkaptpolicy.sh <<EOF
#!/bin/bash
set -x
RELEASE=\`lsb_release -sc\`
echo -n "Current release: $RELEASE"
echo "Assert no disabled valid mirrors in /eta/apt/sources.list"
! grep disable /etc/apt/sources.list || echo "FAILURE: found disabled valid mirror urls"
echo "Checking commercial Ubuntu Advantage PPAs apt policy and config"
apt-cache policy | grep esm.ubuntu.com
for file in \`ls /etc/apt/sources.list.d/ubuntu-*.list\`; do
echo "--- file: \${file}"
cat \${file}
done
EOF
chmod 755 checkaptpolicy.sh
declare -A NEXTDIST=( [bionic]=focal [xenial]=bionic [trusty]=xenial )
for release in bionic; do
vm=test-sru-$release
echo "--- Launch cloud-init with ${release}-proposed enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat test-uru.yaml)"
upgraderelease=${NEXTDIST[$release]}
echo "--- Wait for cloud-init to finish"
if [ "${release}" = "trusty" ]; then
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
else
lxc exec ${vm} -- cloud-init status --wait --long
fi
echo "--- Attach Ubuntu-Advantage and enable services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status | tee ua-status.orig
lxc file push checkaptpolicy.sh ${vm}/
lxc exec ${vm} -- /checkaptpolicy.sh > policy.orig
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/$upgraderelease-proposed/main/dist-upgrader-all/current/$upgraderelease.tar.gz
lxc exec ${vm} -- tar xzvf $upgraderelease.tar.gz
echo "--- Add proposed PPA to valid mirrors to exercise ua-tools do-release-upgrade"
lxc file pull ${vm}/root/mirrors.cfg .
sed -i 's/stable/proposed/' mirrors.cfg
lxc file push mirrors.cfg ${vm}/root/
lxc exec ${vm} -- /root/$upgraderelease --datadir=/root --frontend DistUpgradeViewNonInteractive
echo "--- Validate UA APT sources after upgrade"
lxc exec ${vm} -- /checkaptpolicy.sh > policy.upgrade
lxc exec test-sru-bionic grep disable /etc/apt/sources.list && "FAILURE: valid mirrors got disabled" || echo "SUCCESS: no valid mirrors disabled"
echo "--- Ensure UA status reports ESM disabled due to pending RT"
lxc exec ${vm} -- sudo ua status | egrep 'esm-infra.*disabled' || echo "FAILURE: unexpected enabled esm-infra"
echo "--- Expect disable reason to be no Release file in esm PPA"
lxc exec test-sru-bionic grep disable /var/log/dist-upgrade/main.log || echo "FAILURE: didn't find disabled update logs for esm"
echo "--- Expect disabled esm-infra in diffs from original and upgrade status"
diff -urN ua-status.orig ua-status.upgrade
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image for the given $release enabling ubuntu-advantage-daily PPA (to allow for upgrading to viable ubuntu-advantage-tools deb
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <upgrade-release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball
5. Add ubuntu-advantage-daily PPA to mirrors.cfg # to avoid disabling on upgrade
6. and run ./${upgraderelease} upgrade on the CLI
7. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
8. apt-cache policy to check that permissions to said APT repositories are live
done
# test script
```
#!/bin/bash
#
# SRU Verification ubuntu-release-upgrader + ubuntu=advantage-tools
# Test procedure:
# - launch container Trusty, Xenial or Bionic
# - Attach container to UA subscription (which activates a number of commerical PPAs
# - download and run -proposed ubuntu-release-upgrader tool for upgrade release
# - Assert successful upgrade
# - Confirm valid mirrors not disabled
# - Confirm third party non-commercial PPA URLs still disabled
# - Confirm third party UA commercial URLs still disabled
# (due to expected feature gap)
# - Confirm UA status reports esm-infra still disabled (known feature gap)
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/ua-client/proposed/ubuntu \$RELEASE main
# keyid: 6E34E7116C0BC933
# sources:
# ua.proposed:
# source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
# keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
cat > test-uru.yaml <<EOF
#cloud-config
package_update: true
package_upgrade: true
apt:
sources:
ua.daily:
source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
EOF
# ua.list:
# source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
# keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
cat > checkaptpolicy.sh <<EOF
#!/bin/bash
set -x
RELEASE=\`lsb_release -sc\`
echo -n "Current release: $RELEASE"
echo "Assert no disabled valid mirrors in /eta/apt/sources.list"
! grep disable /etc/apt/sources.list || echo "FAILURE: found disabled valid mirror urls"
echo "Checking commercial Ubuntu Advantage PPAs apt policy and config"
apt-cache policy | grep esm.ubuntu.com
for file in \`ls /etc/apt/sources.list.d/ubuntu-*.list\`; do
echo "--- file: \${file}"
cat \${file}
done
EOF
chmod 755 checkaptpolicy.sh
declare -A NEXTDIST=( [bionic]=focal [xenial]=bionic [trusty]=xenial )
wait_for_boot() {
local vm=$1 release=$2
echo "--- Wait for cloud-init to finish"
sleep 5
if [ "${release}" = "trusty" ]; then
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
status=$(lxc exec ${vm} -- test -f /var/run/cloud-init/result.json && echo "done" || echo "running" )
while [ "done" != "${status}" ]; do
status=$(lxc exec ${vm} -- test -f /var/run/cloud-init/result.json && echo "done" || echo "running" )
echo -n '.'
sleep 5
done
else
lxc exec ${vm} -- cloud-init status --wait --long
fi
}
for release in xenial; do
vm=test-sru-$release
echo "--- Launch cloud-init with ua-client-${release}-daily enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat test-uru.yaml)"
upgraderelease=${NEXTDIST[$release]}
if [ "${release}" != "trusty" ]; then
dist_upgrade_disable_reason="no Release"
fi
wait_for_boot ${vm} ${release}
echo "--- Attach Ubuntu-Advantage, enabling services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status --wait | tee ua-status.orig
lxc file push checkaptpolicy.sh ${vm}/
lxc exec ${vm} -- /checkaptpolicy.sh > policy.orig
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/$upgraderelease-proposed/main/dist-upgrader-all/current/$upgraderelease.tar.gz
lxc exec ${vm} -- tar xzvf $upgraderelease.tar.gz
echo "--- Add proposed PPA to valid mirrors to exercise ua-tools do-release-upgrade"
lxc file pull ${vm}/root/mirrors.cfg .
echo "http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu/" >> mirrors.cfg
lxc file push mirrors.cfg ${vm}/root/
lxc exec ${vm} -- /root/$upgraderelease --datadir=/root --frontend DistUpgradeViewNonInteractive | egrep 'Warning|Error|ubuntu-advantage'
lxc exec ${vm} -- reboot || true
sleep 10
lxc exec ${vm} grep disable /etc/apt/sources.list && "FAILURE: valid mirrors got disabled" || echo "SUCCESS: no valid mirrors disabled"
lxc exec ${vm} -- ua status --wait | tee ua-status.upgrade
if [ ! -z "${dist_upgrade_disable_reason}" ]; then
echo "--- Expect do-release-upgrade disable reason to be '$dist_upgrade_disable_reason' for ESM* PPAs"
lxc exec ${vm} grep "${dist_upgrade_disable_reason}" /var/log/dist-upgrade/main.log || echo "FAILURE: didn't find disabled update logs for esm"
fi
echo "--- Expect no diffs from original and upgraded ua status"
status_diff=$(diff -urN ua-status.orig ua-status.upgrade)
[ -z "$status_diff" ] && echo "SUCCESS: no diff" || echo -e "FAILURE: unexpected diff\n${status_diff}"
echo "--- Ensure UA re-enabled esm across upgrade"
lxc exec ${vm} -- egrep 'lts|change' /var/log/ubuntu-advantage.log
echo "--- Ensure UA status reports ESM enabled after upgrade"
egrep 'esm-infra.*enabled' ua-status.upgrade || echo "FAILURE: expected enabled esm-infra after upgrade"
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
|
2020-10-10 20:08:50 |
Chad Smith |
description |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image for the given $release enabling ubuntu-advantage-daily PPA (to allow for upgrading to viable ubuntu-advantage-tools deb
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <upgrade-release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball
5. Add ubuntu-advantage-daily PPA to mirrors.cfg # to avoid disabling on upgrade
6. and run ./${upgraderelease} upgrade on the CLI
7. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
8. apt-cache policy to check that permissions to said APT repositories are live
done
# test script
```
#!/bin/bash
#
# SRU Verification ubuntu-release-upgrader + ubuntu=advantage-tools
# Test procedure:
# - launch container Trusty, Xenial or Bionic
# - Attach container to UA subscription (which activates a number of commerical PPAs
# - download and run -proposed ubuntu-release-upgrader tool for upgrade release
# - Assert successful upgrade
# - Confirm valid mirrors not disabled
# - Confirm third party non-commercial PPA URLs still disabled
# - Confirm third party UA commercial URLs still disabled
# (due to expected feature gap)
# - Confirm UA status reports esm-infra still disabled (known feature gap)
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/ua-client/proposed/ubuntu \$RELEASE main
# keyid: 6E34E7116C0BC933
# sources:
# ua.proposed:
# source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
# keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
cat > test-uru.yaml <<EOF
#cloud-config
package_update: true
package_upgrade: true
apt:
sources:
ua.daily:
source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
EOF
# ua.list:
# source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
# keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
cat > checkaptpolicy.sh <<EOF
#!/bin/bash
set -x
RELEASE=\`lsb_release -sc\`
echo -n "Current release: $RELEASE"
echo "Assert no disabled valid mirrors in /eta/apt/sources.list"
! grep disable /etc/apt/sources.list || echo "FAILURE: found disabled valid mirror urls"
echo "Checking commercial Ubuntu Advantage PPAs apt policy and config"
apt-cache policy | grep esm.ubuntu.com
for file in \`ls /etc/apt/sources.list.d/ubuntu-*.list\`; do
echo "--- file: \${file}"
cat \${file}
done
EOF
chmod 755 checkaptpolicy.sh
declare -A NEXTDIST=( [bionic]=focal [xenial]=bionic [trusty]=xenial )
wait_for_boot() {
local vm=$1 release=$2
echo "--- Wait for cloud-init to finish"
sleep 5
if [ "${release}" = "trusty" ]; then
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
status=$(lxc exec ${vm} -- test -f /var/run/cloud-init/result.json && echo "done" || echo "running" )
while [ "done" != "${status}" ]; do
status=$(lxc exec ${vm} -- test -f /var/run/cloud-init/result.json && echo "done" || echo "running" )
echo -n '.'
sleep 5
done
else
lxc exec ${vm} -- cloud-init status --wait --long
fi
}
for release in xenial; do
vm=test-sru-$release
echo "--- Launch cloud-init with ua-client-${release}-daily enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat test-uru.yaml)"
upgraderelease=${NEXTDIST[$release]}
if [ "${release}" != "trusty" ]; then
dist_upgrade_disable_reason="no Release"
fi
wait_for_boot ${vm} ${release}
echo "--- Attach Ubuntu-Advantage, enabling services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status --wait | tee ua-status.orig
lxc file push checkaptpolicy.sh ${vm}/
lxc exec ${vm} -- /checkaptpolicy.sh > policy.orig
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/$upgraderelease-proposed/main/dist-upgrader-all/current/$upgraderelease.tar.gz
lxc exec ${vm} -- tar xzvf $upgraderelease.tar.gz
echo "--- Add proposed PPA to valid mirrors to exercise ua-tools do-release-upgrade"
lxc file pull ${vm}/root/mirrors.cfg .
echo "http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu/" >> mirrors.cfg
lxc file push mirrors.cfg ${vm}/root/
lxc exec ${vm} -- /root/$upgraderelease --datadir=/root --frontend DistUpgradeViewNonInteractive | egrep 'Warning|Error|ubuntu-advantage'
lxc exec ${vm} -- reboot || true
sleep 10
lxc exec ${vm} grep disable /etc/apt/sources.list && "FAILURE: valid mirrors got disabled" || echo "SUCCESS: no valid mirrors disabled"
lxc exec ${vm} -- ua status --wait | tee ua-status.upgrade
if [ ! -z "${dist_upgrade_disable_reason}" ]; then
echo "--- Expect do-release-upgrade disable reason to be '$dist_upgrade_disable_reason' for ESM* PPAs"
lxc exec ${vm} grep "${dist_upgrade_disable_reason}" /var/log/dist-upgrade/main.log || echo "FAILURE: didn't find disabled update logs for esm"
fi
echo "--- Expect no diffs from original and upgraded ua status"
status_diff=$(diff -urN ua-status.orig ua-status.upgrade)
[ -z "$status_diff" ] && echo "SUCCESS: no diff" || echo -e "FAILURE: unexpected diff\n${status_diff}"
echo "--- Ensure UA re-enabled esm across upgrade"
lxc exec ${vm} -- egrep 'lts|change' /var/log/ubuntu-advantage.log
echo "--- Ensure UA status reports ESM enabled after upgrade"
egrep 'esm-infra.*enabled' ua-status.upgrade || echo "FAILURE: expected enabled esm-infra after upgrade"
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
=== Begin SRU Template ===
[Impact]
Customers with Ubuntu Advantage services enabled on Trusty/Xenial/Bionic find APT config files disabled with comments after running `do-release-upgrade`.
This requires either:
1. manual intervention to uncomment and correct the apt suite for any enabled Ubuntu Advantage service stored in /etc/apt/sources.list.d/ubuntu-*.list.
OR
2. Providing AllowThirdParty=yes configuration override during do-release-upgrade to force upgrades of all third party ppa apt configuration urls.
Adding these supported commercial URLs to mirror.cfg allows these urls to be
treated as valid Ubuntu-proper apt URLs and would automatically update the
apt config files for any enabled Ubuntu Advantage offering without
manual intervention.
[Test Case]
# test procedure
for release in trusty xenial bionic; do
1. lxc launch daily image for the given $release enabling ubuntu-advantage-daily PPA (to allow for upgrading to viable ubuntu-advantage-tools deb
2. attach the machine to ua with a token and enable any available apt-based
services
3. Download the <upgrade-release>-proposed tarball to locally perform a "do-release-upgrade"
4. unzip that proposed tarball
5. Add ubuntu-advantage-daily PPA to mirrors.cfg # to avoid disabling on upgrade
6. and run ./${upgraderelease} upgrade on the CLI
7. check contents of /etc/apt/sources.list.d/ubuntu-*.list to ensure all
UA-related apt URLs are still available
8. apt-cache policy to check that permissions to said APT repositories are live
done
# test script
```
#!/bin/bash
#
# SRU Verification ubuntu-release-upgrader + ubuntu=advantage-tools
# Test procedure:
# - launch container Trusty, Xenial or Bionic
# - Attach container to UA subscription (which activates a number of commerical PPAs
# - download and run -proposed ubuntu-release-upgrader tool for upgrade release
# - Assert successful upgrade
# - Confirm valid mirrors not disabled
# - Confirm third party non-commercial PPA URLs still disabled
# - Confirm third party UA commercial URLs still disabled
# (due to expected feature gap)
# - Confirm UA status reports esm-infra still disabled (known feature gap)
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/ua-client/proposed/ubuntu \$RELEASE main
# keyid: 6E34E7116C0BC933
# sources:
# ua.proposed:
# source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
# keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
cat > test-uru.yaml <<EOF
#cloud-config
package_update: true
package_upgrade: true
apt:
sources:
ua.daily:
source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
EOF
# ua.list:
# source: deb http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu \$RELEASE main
# keyid: 94E187AD53A59D1847E4880F8A295C4FB8B190B7
cat > checkaptpolicy.sh <<EOF
#!/bin/bash
set -x
RELEASE=\`lsb_release -sc\`
echo -n "Current release: $RELEASE"
echo "Assert no disabled valid mirrors in /eta/apt/sources.list"
! grep disable /etc/apt/sources.list || echo "FAILURE: found disabled valid mirror urls"
echo "Checking commercial Ubuntu Advantage PPAs apt policy and config"
apt-cache policy | grep esm.ubuntu.com
for file in \`ls /etc/apt/sources.list.d/ubuntu-*.list\`; do
echo "--- file: \${file}"
cat \${file}
done
EOF
chmod 755 checkaptpolicy.sh
declare -A NEXTDIST=( [bionic]=focal [xenial]=bionic [trusty]=xenial )
wait_for_boot() {
local vm=$1 release=$2
echo "--- Wait for cloud-init to finish"
sleep 5
if [ "${release}" = "trusty" ]; then
while [ "N 2" != "$(lxc exec ${vm} -- runlevel)" ]; do
echo "waiting on runlevel 2"
sleep 5
done
status=$(lxc exec ${vm} -- test -f /var/run/cloud-init/result.json && echo "done" || echo "running" )
while [ "done" != "${status}" ]; do
status=$(lxc exec ${vm} -- test -f /var/run/cloud-init/result.json && echo "done" || echo "running" )
echo -n '.'
sleep 5
done
else
lxc exec ${vm} -- cloud-init status --wait --long
fi
}
for release in xenial; do
vm=test-sru-$release
echo "--- Launch cloud-init with ua-client-${release}-daily enabled"
lxc launch ubuntu-daily:${release} ${vm} -c user.user-data="$(cat test-uru.yaml)"
upgraderelease=${NEXTDIST[$release]}
if [ "${release}" != "trusty" ]; then
dist_upgrade_disable_reason="no Release"
fi
wait_for_boot ${vm} ${release}
echo "--- Attach Ubuntu-Advantage, enabling services"
lxc exec ${vm} -- ua attach ${UA_TOKEN}
lxc exec ${vm} -- ua status --wait | tee ua-status.orig
lxc file push checkaptpolicy.sh ${vm}/
lxc exec ${vm} -- /checkaptpolicy.sh > policy.orig
lxc exec ${vm} -- wget http://archive.ubuntu.com/ubuntu/dists/$upgraderelease-proposed/main/dist-upgrader-all/current/$upgraderelease.tar.gz
lxc exec ${vm} -- tar xzvf $upgraderelease.tar.gz
echo "--- Add proposed PPA to valid mirrors to exercise ua-tools do-release-upgrade"
lxc file pull ${vm}/root/mirrors.cfg .
echo "http://ppa.launchpad.net/canonical-server/ua-client-daily/ubuntu/" >> mirrors.cfg
lxc file push mirrors.cfg ${vm}/root/
lxc exec ${vm} -- /root/$upgraderelease --datadir=/root --frontend DistUpgradeViewNonInteractive | egrep 'Warning|Error|ubuntu-advantage'
lxc exec ${vm} -- reboot || true
sleep 10
lxc exec ${vm} grep disable /etc/apt/sources.list && "FAILURE: valid mirrors got disabled" || echo "SUCCESS: no valid mirrors disabled"
lxc exec ${vm} -- ua status --wait | tee ua-status.upgrade
if [ ! -z "${dist_upgrade_disable_reason}" ]; then
echo "--- Expect do-release-upgrade disable reason to be '$dist_upgrade_disable_reason' for ESM* PPAs"
lxc exec ${vm} grep "${dist_upgrade_disable_reason}" /var/log/dist-upgrade/main.log || echo "FAILURE: didn't find disabled update logs for esm"
fi
echo "--- Expect no diffs from original and upgraded ua status"
status_diff=$(diff -urN ua-status.orig ua-status.upgrade)
[ -z "$status_diff" ] && echo "SUCCESS: no diff" || echo -e "FAILURE: unexpected diff\n${status_diff}"
echo "--- Ensure UA re-enabled esm across upgrade"
lxc exec ${vm} -- egrep 'lts|change' /var/log/ubuntu-advantage.log
echo "--- Ensure UA status reports ESM enabled after upgrade"
egrep 'esm-infra.*enabled' ua-status.upgrade || echo "FAILURE: expected enabled esm-infra after upgrade"
done
```
[Regression Potential]
None; No automatic upgrade support has been previously offered across LTS upgrade paths for ubuntu-advantage services on Ubuntu Trusty or later.
Anyone performing a do-release-upgrade would have had to manually update apt config files after the fact.
=== Original Description ===
Ensure Apt mirror URLs supported by Ubuntu Advantage services are included as valid mirrors instead of being treated as third party repositories and getting disabled by do-release-upgrade.
The following APT mirror URLs are supported for current and/or imminent Ubuntu Advantage apt-based services on Xenial and later:
https://esm.ubuntu.com/ubuntu/
https://esm.ubuntu.com/apps/ubuntu/
https://esm.ubuntu.com/cc/ubuntu/
https://esm.ubuntu.com/infra/ubuntu/
https://esm.ubuntu.com/fips/ubuntu/
https://esm.ubuntu.com/fips-updates/ubuntu/ |
|
2020-10-10 21:37:37 |
Chad Smith |
tags |
verification-done-bionic verification-done-focal verification-needed verification-needed-xenial |
verification-done verification-done-bionic verification-done-focal verification-done-xenial |
|
2020-10-16 03:16:26 |
Chris Halse Rogers |
removed subscriber Ubuntu Stable Release Updates Team |
|
|
|
2020-10-16 03:17:38 |
Launchpad Janitor |
ubuntu-release-upgrader (Ubuntu Focal): status |
Fix Committed |
Fix Released |
|
2020-10-16 03:18:05 |
Launchpad Janitor |
ubuntu-release-upgrader (Ubuntu Bionic): status |
Fix Committed |
Fix Released |
|
2020-10-16 03:18:43 |
Launchpad Janitor |
ubuntu-release-upgrader (Ubuntu Xenial): status |
Fix Committed |
Fix Released |
|