Both scenarios, (a) and (b), start from trusty with u-a-t already installed from updates
Test (a): enable esm -> upgrade to proposed
Test (b): upgrade to proposed -> ua attach (which enables esm)
The u-a-t package from updates that was used is: 10ubuntu0.14.04.4
The u-a-t package from proposed that was used is: 19.6~ubuntu14.04.2
At the end, this is the diff between the files on both containers. I manually removed uninteresting bits like /etc/hostname, /etc/ssh/*, cloud-init data, etc. This is what remains:
Since (a) didn't run ua attach, but just upgraded to the proposed package, the credentials were not migrated to the new bearer token. ESM keeps working without this step, but "ua status" will say the machine is unattached. This is expected and explained in the last paragraph of the "[Other Info]" section in this SRU bug.
Only an "ua attach" command will rewrite the esm pockets in the sources.list snippet to include the "infra" word. The old names, without "infra", will not be removed from the ESM server for trusty, so having step (a) keep using the old names isn't a problem.
2) diff -u 4a/files.list 4b/files.list
Manually removed the following diff noise:
- /var/cache/apt/archives
- /var/lib/cloud/instances
- /var/log/auth.log and /var/log/dmesg.1.gz
(a) is still using the trusty pockets without the "infra" name, and (b), because it ran an "ua attach", that also runs "apt update", therefore the infra pockets are shown in apt's lists/ directory for (b) and not for (a).
Since (b) ran "ua attach", that fully migrated that setup to the new client, which is then showing content in its data directory at /var/lib/ubuntu-advantage/. The (a) case did not run attach.
trusty verification, test case (4)
Both scenarios, (a) and (b), start from trusty with u-a-t already installed from updates
Test (a): enable esm -> upgrade to proposed
Test (b): upgrade to proposed -> ua attach (which enables esm)
The u-a-t package from updates that was used is: 10ubuntu0.14.04.4
The u-a-t package from proposed that was used is: 19.6~ubuntu14.04.2
At the end, this is the diff between the files on both containers. I manually removed uninteresting bits like /etc/hostname, /etc/ssh/*, cloud-init data, etc. This is what remains:
1) output of diff -uNr 4a 4b (minus the manually excluded hunks described above): apt/auth. conf.d/ 90ubuntu- advantage apt/auth. conf.d/ 90ubuntu- advantage
--- 4a/etc/
+++ 4b/etc/
@@ -1 +1 @@
-machine esm.ubuntu.com/ login $user password $pass
+machine esm.ubuntu.com/ login bearer password $newverylongpass
Since (a) didn't run ua attach, but just upgraded to the proposed package, the credentials were not migrated to the new bearer token. ESM keeps working without this step, but "ua status" will say the machine is unattached. This is expected and explained in the last paragraph of the "[Other Info]" section in this SRU bug.
--- 4a/etc/ apt/sources. list.d/ ubuntu- esm-infra- trusty. list apt/sources. list.d/ ubuntu- esm-infra- trusty. list /esm.ubuntu. com/ubuntu trusty-security main /esm.ubuntu. com/ubuntu trusty-security main /esm.ubuntu. com/ubuntu trusty-updates main /esm.ubuntu. com/ubuntu trusty-updates main /esm.ubuntu. com/ubuntu trusty- infra-security main /esm.ubuntu. com/ubuntu trusty- infra-security main /esm.ubuntu. com/ubuntu trusty- infra-updates main /esm.ubuntu. com/ubuntu trusty- infra-updates main
+++ 4b/etc/
@@ -1,5 +1,4 @@
-deb https:/
-# deb-src https:/
-
-deb https:/
-# deb-src https:/
+deb https:/
+# deb-src https:/
+deb https:/
+# deb-src https:/
Only an "ua attach" command will rewrite the esm pockets in the sources.list snippet to include the "infra" word. The old names, without "infra", will not be removed from the ESM server for trusty, so having step (a) keep using the old names isn't a problem.
2) diff -u 4a/files.list 4b/files.list apt/archives cloud/instances
Manually removed the following diff noise:
- /var/cache/
- /var/lib/
- /var/log/auth.log and /var/log/dmesg.1.gz
The following hunks remain: apt/lists/ br.archive. ubuntu. com_ubuntu_ dists_trusty- proposed_ InRelease apt/lists/ br.archive. ubuntu. com_ubuntu_ dists_trusty- proposed_ main_binary- amd64_Packages apt/lists/ br.archive. ubuntu. com_ubuntu_ dists_trusty- proposed_ main_i18n_ Translation- en apt/lists/ esm.ubuntu. com_ubuntu_ dists_trusty- security_ InRelease apt/lists/ esm.ubuntu. com_ubuntu_ dists_trusty- security_ main_binary- amd64_Packages apt/lists/ esm.ubuntu. com_ubuntu_ dists_trusty- updates_ InRelease apt/lists/ esm.ubuntu. com_ubuntu_ dists_trusty- updates_ main_binary- amd64_Packages apt/lists/ esm.ubuntu. com_ubuntu_ dists_trusty- infra-security_ InRelease apt/lists/ esm.ubuntu. com_ubuntu_ dists_trusty- infra-security_ main_binary- amd64_Packages apt/lists/ esm.ubuntu. com_ubuntu_ dists_trusty- infra-updates_ InRelease apt/lists/ esm.ubuntu. com_ubuntu_ dists_trusty- infra-updates_ main_binary- amd64_Packages apt/lists/ lock apt/lists/ partial apt/lists/ security. ubuntu. com_ubuntu_ dists_trusty- security_ InRelease
--- 4a/files.list
+++ 4b/files.list
@@ -29617,10 +29623,10 @@
/var/lib/
/var/lib/
/var/lib/
-/var/lib/
-/var/lib/
-/var/lib/
-/var/lib/
+/var/lib/
+/var/lib/
+/var/lib/
+/var/lib/
/var/lib/
/var/lib/
/var/lib/
(a) is still using the trusty pockets without the "infra" name, and (b), because it ran an "ua attach", that also runs "apt update", therefore the infra pockets are shown in apt's lists/ directory for (b) and not for (a).
@@ -31900,6 +31953,15 @@ systemd/ deb-systemd- helper- enabled/ ssh.socket. dsh-also systemd/ deb-systemd- helper- enabled/ syslog. service ubuntu- advantage ubuntu- advantage/ private ubuntu- advantage/ private/ machine- access- cc-eal. json ubuntu- advantage/ private/ machine- access- esm-infra. json ubuntu- advantage/ private/ machine- access- fips.json ubuntu- advantage/ private/ machine- access- fips-updates. json ubuntu- advantage/ private/ machine- access- livepatch. json ubuntu- advantage/ private/ machine- access- support. json ubuntu- advantage/ private/ machine- token.json ubuntu- advantage/ status. json ubuntu- release- upgrader ubuntu- release- upgrader/ release- upgrade- available
/var/lib/
/var/lib/
/var/lib/
+/var/lib/
+/var/lib/
+/var/lib/
+/var/lib/
+/var/lib/
+/var/lib/
+/var/lib/
+/var/lib/
+/var/lib/
/var/lib/
/var/lib/
/var/lib/ucf
Since (b) ran "ua attach", that fully migrated that setup to the new client, which is then showing content in its data directory at /var/lib/ ubuntu- advantage/ . The (a) case did not run attach.
I declare test case (4) as having succeeded.