cloud-init-dev team mailing list archive
-
cloud-init-dev team
-
Mailing list archive
-
Message #05665
[Merge] ~chad.smith/cloud-init:ubuntu/bionic into cloud-init:ubuntu/bionic
Chad Smith has proposed merging ~chad.smith/cloud-init:ubuntu/bionic into cloud-init:ubuntu/bionic.
Commit message:
Patch ubuntu debian/cloud-init.postinst to rewrite /run/cloud-init/instance-data*.json on upgrade
LP: #1798189
Requested reviews:
cloud-init commiters (cloud-init-dev)
Related bugs:
Bug #1798189 in cloud-init: "cloud-init query: /run/cloud/instance-data-sensitive.json not generated on upgrade"
https://bugs.launchpad.net/cloud-init/+bug/1798189
For more details, see:
https://code.launchpad.net/~chad.smith/cloud-init/+git/cloud-init/+merge/356897
--
Your team cloud-init commiters is requested to review the proposed merge of ~chad.smith/cloud-init:ubuntu/bionic into cloud-init:ubuntu/bionic.
diff --git a/debian/changelog b/debian/changelog
index 2bb9520..d83e08b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+cloud-init (18.4-0ubuntu1~18.04.2) bionic-proposed; urgency=medium
+
+ * debian/cloud-init.postinst: Rewrite /run/cloud-init/instance-data.json
+ on upgrade. (LP: #1798189)
+
+ -- Chad Smith <chad.smith@xxxxxxxxxxxxx> Wed, 16 Oct 2018 21:30:45 -0600
+
cloud-init (18.4-0ubuntu1~18.04.1) bionic-proposed; urgency=medium
* drop the following cherry-picks now included:
diff --git a/debian/cloud-init.postinst b/debian/cloud-init.postinst
index f88d1c5..11ae75b 100644
--- a/debian/cloud-init.postinst
+++ b/debian/cloud-init.postinst
@@ -206,6 +206,20 @@ cleanup_lp1552999() {
"$edir/cloud-init-local.service" "$edir/cloud-init.service"
}
+# Old instance-data.json was root read-only, new is redacted world-readable
+# Also add instance-data-sensitive.json that is root read-only
+regenerate_instance_data_json_on_upgrade() {
+ if [ -f /run/cloud-init/instance-data.json -a
+ ! -f /run/cloud-init/instance-data-sensitive.json ]; then
+ # this is an upgraded system with old instance-data.json file
+ echo "Updating /run/cloud-init/instance-data.json"
+ python3 -c '
+from cloudinit.stages import _pkl_load
+pickled_ds = _pkl_load("/var/lib/cloud/instance/obj.pkl")
+pickled_ds.persist_instance_data()'
+ fi
+}
+
disable_network_config_on_upgrade() {
local oldver="$1" last_without_net="0.7.7~bzr1182-0ubuntu1"
if [ ! -f /var/lib/cloud/instance/obj.pkl ]; then
@@ -323,6 +337,8 @@ EOF
# make upgrades disable network changes by cloud-init
disable_network_config_on_upgrade "$2"
+ regenerate_instance_data_json_on_upgrade
+
fix_azure_upgrade_1611074 "$2"
cleanup_ureadahead "$2"
References