Activity log for bug #2038375

Date Who What changed Old value New value Message
2023-10-03 19:28:38 Chad Smith bug added bug
2023-10-03 19:29:00 Chad Smith bug task added subiquity (Ubuntu)
2023-10-03 19:31:24 Chad Smith summary nable to provide autoinstall user-data to jammy-server-live-amd64.iso daily images with cloud-init 23.3.1 unable to provide autoinstall user-data to jammy-server-live-amd64.iso daily images with cloud-init 23.3.1
2023-10-03 19:38:50 Chad Smith description During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to obtain cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last): File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity has already landed an upstream fix[1] to avoid using stages.Init() to read autoinstall configuration, but read cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json. # References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init() https://github.com/canonical/subiquity/commit/751119866 # Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall: version: 1 identity: hostname: ubuntu-server password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0" username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to obtain cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity has already landed an upstream fix[1] to avoid using stages.Init() to read autoinstall configuration, but read cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json. # References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 # Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic
2023-10-03 19:39:24 Chad Smith description During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to obtain cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity has already landed an upstream fix[1] to avoid using stages.Init() to read autoinstall configuration, but read cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json. # References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 # Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to obtain cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. ### From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity has already landed an upstream fix[1] to avoid using stages.Init() to read autoinstall configuration, but read cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json. ### References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 ### Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic
2023-10-03 19:39:44 Chad Smith description During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to obtain cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. ### From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity has already landed an upstream fix[1] to avoid using stages.Init() to read autoinstall configuration, but read cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json. ### References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 ### Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to read cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. ### From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity has already landed an upstream fix[1] to avoid using stages.Init() to read autoinstall configuration, but read cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json. ### References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 ### Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic
2023-10-03 19:57:17 Chad Smith cloud-init (Ubuntu): status New Triaged
2023-10-03 19:57:22 Chad Smith cloud-init (Ubuntu): importance Undecided Medium
2023-10-03 19:58:21 Chad Smith description During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to read cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. ### From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity has already landed an upstream fix[1] to avoid using stages.Init() to read autoinstall configuration, but read cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json. ### References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 ### Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to read cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. ### From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity already landed an upstream fix[1] to avoid using stages.Init() in favor of reading cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json to get any `autoinstall` configuration. ### References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 ### Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic
2023-10-03 19:59:20 Chad Smith description During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to read cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. ### From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity already landed an upstream fix[1] to avoid using stages.Init() in favor of reading cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json to get any `autoinstall` configuration. ### References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 ### Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to read cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. ### From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity already landed an upstream fix[1] to avoid using stages.Init() in favor of reading cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json to get any `autoinstall` configuration. This upstream release is not yet in the stable version of the subiquity snap #5097. And a release is expected in a couple of weeks that will contain this fix. ### References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 ### Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic
2023-10-03 20:02:46 Dan Bungert description During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to read cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. ### From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity already landed an upstream fix[1] to avoid using stages.Init() in favor of reading cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json to get any `autoinstall` configuration. This upstream release is not yet in the stable version of the subiquity snap #5097. And a release is expected in a couple of weeks that will contain this fix. ### References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 ### Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-updates # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic During manual SRU verification of cloud-init 23.3.1 from jammy-proposed subiquity is unable to read cloud-init user-data containing autoinstall directives due to a traceback while trying to invoke stages.Init() prior to reading cloud-init combined user-data. ### From /var/log/installer/subiquity-server-debug.log 2023-10-03 17:00:49,502 INFO subiquity:163 Starting Subiquity server revision 5097 of snap /snap/subiquity/5097 ... 2023-10-03 17:00:53,165 WARNING cloudinit.sources:1727 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl 2023-10-03 17:00:53,166 DEBUG cloudinit.sources:1736 Failed loading pickled blob from /var/lib/cloud/instance/obj.pkl Traceback (most recent call last):   File "/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/sources/__init__.py", line 1170, in pkl_load     return pickle.loads(pickle_contents) AttributeError: Can't get attribute 'Udhcpc' on <module 'cloudinit.net.dhcp' from '/snap/subiquity/5097/usr/lib/python3/dist-packages/cloudinit/net/dhcp.py'> This traceback is due to unpickling errors due to an older version of cloud-init (23.2.2) installed in the snap being unable to unpickle the cached datasource written by the host version of cloud-init (23.3.1) at /var/lib/cloud/isntance/obj.pkl. Because the subiquity snap updates cloud-init at a different pace than SRU's of cloud-init into jammy-updates, this issue will show up anytime cloud-init SRU's an update to classes or attributes related to the cached datasource object. To avoid this unpickling incompatibility, subiquity already landed an upstream fix[1] to avoid using stages.Init() in favor of reading cloud-init's processed config artifact at /run/cloud-init/combined-cloud-config.json to get any `autoinstall` configuration. This upstream release is not yet in the stable version of the subiquity snap #5097. And a release is expected in a couple of weeks that will contain this fix. ### References: 1: upstream fix to prefer /run/cloud-init/combined-cloud-config.json over stages.Init()     https://github.com/canonical/subiquity/commit/751119866 ### Reproducer steps: ## to be updated wget https://cdimage.ubuntu.com/ubuntu-server/jammy/daily-live/current/jammy-live-server-amd64.iso pull-lp-debs cloud-init jammy-proposed # inject cloud-init from jammy-proposed cat > proposed-actions.yaml <<EOF - name: setup-rootfs - name: cp   source: /home/csmith/src/subiquity/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb   dest: rootfs/cloud-init_23.3.1-0ubuntu1~22.04.1_all.deb - name: shell EOF git clone git@github.com:mwhudson/livefs-editor.git sudo PYTHONPATH=./livefs-editor python3 -m livefs_edit ./ubuntu-22.04.3-live-server-amd64.iso ./proposed-jammy-server.iso --actions proposed-actions.yaml # At the /tmp prompt chroot rootfs dpkg -i /cloud-init*deb exit exit mkdir -p ~/cidata cd ~/cidata cat > user-data << 'EOF' #cloud-config autoinstall:   version: 1   identity:     hostname: ubuntu-server     password: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"     username: ubuntu EOF touch meta-data cloud-localds ~/seed.iso user-data meta-data truncate -s 10G image.img $ kvm -name ci-test-kvm-live-server-ephemeral-1 -m 3G -drive file=image.img,format=raw,if=virtio -net nic -D qemu.log -net user,hostfwd=tcp::2222-:22 -cdrom ./proposed-jammy-server.iso -drive file=~/seed.iso,format=raw,if=ide -kernel /tmp/tmp1gro8vnk/vmlinuz -initrd /tmp/tmp1gro8vnk/initrd -append console=ttyS0 autoinstall -nographic
2023-10-03 20:12:27 Dan Bungert subiquity (Ubuntu): status New Fix Committed