cloud-init-23.3-150100.8.82.3<>,faLp9|8,Q#!5 ԵTVC*By#XCNͷB$'Ivc"uH?G@o8=->tc9# BcGGu&&>pևmv9j5 ^ZJK˻If:Eȧ9Zl--\ʹe' xMD>x=h#Bq[WG|~΃0Z;=+$*) `M9#PaY)* >Cp?`d   ? ,>flsx px `x Px 0x hx xxxpؘxx*T**(89l:Q>AFAGAxHKxIUxXX YX,\Xhx]bHx^1=b^cdefluxv wxxxy z\Ccloud-init23.3150100.8.82.3Cloud node initialization toolCloud-init is an init script that initializes a cloud node (VM) according to the fetched configuration data from the admin node.faLh01-ch3d?SUSE Linux Enterprise 15SUSE LLC GPL-3.0https://www.suse.com/System/Managementhttps://github.com/canonical/cloud-initlinuxx86_64/usr/sbin/hidesensitivedatasjX7BBBBXBBBIj+N np <ښb"%_R fN 9n45: &2= [z 6=_&s hVq!2)t 5%9".  Q xF s #'rj+,"$>_ 5 * L$p\ # g?  r4T1 8m4%L 0h 4)W i-rGw! ,7J2/R !?vH" L $71 B T8@ QHNS6*ZD:5 S"| B, ] ;xDR"v$/~'M-><Y~VZU)BYV]X\0 9:^adg$1U][XY g!Ye8#O+*>=3A =R G #V'(C1 +H&&>g 2A y ) &%%@3' d/&Zp!c>XfX"I!$DT0U:5\ *s p K61 8v\j -(R!0#;s "2!) , +#h7ql8dDx 94'q)?Q):U="d $5}Q ^6'[15v q,S " /:,,+bGX x K X T =3&wF]o r"H/ f i Px ::mUK 4! +}O 6YF(4 #o9xHPs7U KvKAA큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤큤AA큤AfafadHfadHdHfadHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHfa^fadHfafadHfafadHdHdHfafafafafafafafadHfafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadHdHfafafafafadHdHdHdHdHfadHfafafafafafafadHdHfadHfafafafafafafafadHdHdHdHdHdHf]@dHdHfadHfafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadHdHf]@dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHf]@dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHf]@dHdHdHdHdHdHdHdHdHdHdHdHdHf]@dHfadHfafadHdHdHfadHdHf]@fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHf]@fadHfafafafafafafafadHdHf]@dHdHdHdHdHdHdHdHdHdHdHdHdHdHdHdHfadHfafafadHdHfadHfafafafafafafadHdHdHdHdHdHdHdHfadHfafafafafadHdHdHfaf]@fafafafafafafafafafafafafafafafafafafadHdHdHf]@dHdHdHdHfadHfafafafadHdHdHf]@f]@dHdHdHdHf]@dHdHdHdHdHfadHfafafafadHf]@dHdHdHdHfadHdHdHdHdHdHdHdHdHdHdHdHdHdHdHf]@dHdHdHdHdHdHdHf]@dHdHdHdHdHdHf]@fafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafadHfafafafafafadHdHdHdHfadHfafafafafafafafafafafafadHf]@dHdHdHdHf]@dHdHfadHfafafadHfafafafafafafafafafafafafafafadHdHdHdHdHdHdHdHdHdHdHdHdHdHf]@dHdHdHdHdHf]@f]@f]@f]@dHfafadHfafafadHdHfadHfafadHdHdHdHdHfa0e27921782b92a2a69153c74be78fad5428a3491132c9b21ed519cef272e9a7a5df6c972f880adc375ec32564a00b917fe1bca5aa02359abc0f4906fec65e0911c80199250aeabaa9ced4990d3e222ae83859a983e781c4d6b4c64808fc5a6c20d49d7f9b483a7f90f2f81ff794a7ab43388ead785e47b73ef1c88017d555b8960babe2b1d46efc52b2bda653c7968fd2db476f117a0b047be9f8972642a100ffce07bff7620f8147b712fcb2988ac7d572c0c3bb5feaae5dd9dd508ce4771784056e7c9faf495e67b3aac4f18afe35d3b6d608489c723f79eaf15582f41149542e64ee04a68fdd796ad7f21ec3924a0aa6966f8f4873a199e98812de111db62ee9602c7e9f920f2cb5a3139fc53a12748ace9f99aa09ea6fcbbdce2da48e26fb6b6994d865624c7c2ae0a244bab7d35a8c8005d44b06ac4f33268ea22cc232ab6b6994d865624c7c2ae0a244bab7d35a8c8005d44b06ac4f33268ea22cc232ab6b6994d865624c7c2ae0a244bab7d35a8c8005d44b06ac4f33268ea22cc232ab6b6994d865624c7c2ae0a244bab7d35a8c8005d44b06ac4f33268ea22cc232a42e64ee04a68fdd796ad7f21ec3924a0aa6966f8f4873a199e98812de111db62fce07bff7620f8147b712fcb2988ac7d572c0c3bb5feaae5dd9dd508ce477178b6b6994d865624c7c2ae0a244bab7d35a8c8005d44b06ac4f33268ea22cc232ab6b6994d865624c7c2ae0a244bab7d35a8c8005d44b06ac4f33268ea22cc232ab6b6994d865624c7c2ae0a244bab7d35a8c8005d44b06ac4f33268ea22cc232a7a978528b6f5b1d93e8cf8e0fcd146e5201cd605c443eca4b7478dffb4f7dfe128d648f9e07ada3e8568886e57d326bc58685edc14ffd463d2af56dabc68f3663310425931bafcd491046edb04861c02bfe57b9252236898751c96337fc78406ec24d4fad651b451c9dc6ac9c0f88ff314fb969da148eecc3e572644ec92fd5078d2b2063b6f539fc516e494645dadb50f709a5ec0f41459589b7f7ad0d434ac4be98341c7b0833a00b0aca41f863c126fe09c0f3a0101c18ffe101a53430bb7f40c1f9575af4503a096759fe136cadaa0fda118090a8b1c00197fccaddfa2cb09710ae90dcf19a410552690dc7628780c3395a91b211e0b6f61ea350fd1486017349dd2b84f777dcfc9bd2adbc2d4fa1c6bbf31fb7d5befa2f001fbc0ef1096ba2399c141f3feb3dca25b99bd95bc750f9e9af25ee2fe5465715e55e58ec54bec2c86522f536c741e98822b207bbdb11b4e8af625e42d1f5d75d8eab4d936791e8ff214ccc752f57f930a4d9bacf36676a6737821c5773148cb28da6242a3e8bc294c0f9dc6ceb4b41cc628b6335db0b3beafd9b6b69f640cb31d9000cac567ec2c86522f536c741e98822b207bbdb11b4e8af625e42d1f5d75d8eab4d93679cf516487772b66a2db46e04cc55654089d8dc3065c3cafed0d5daecf23df921c587d891a25d4e1fd999a1a9ed80cd8146950ba8ea38d8f264930a88cc81f7e6c718053ea9a0f1bdb7e401f20b50cac6686c04cada5b7223b92f0d3800e1a4d0bcd1041962e1542e8030f93c8a393ddc2920bd7efecb2fb96d86aed52ba10efc798a31a4c66e573885df151fefceb38273000a4126618c8733a39ae2a9a9a0cdf1d435e1d79784e95f1982b534a7c5f79a32fc3b91eda3f6cd67c97d23e0d1346d76fa9b68ac0ebd9d8c3908edc3be7fac74b4742a7a12bbd1a4407bdc31c8228c02a8d9f2b9580ead6ce47f4c00dcb28c1a091824b832011ab3603ff203f30e9bf24328738a784acaa2e8184e0150c2621873ec2478c102099e35bf04335e06ffc8d607682031394f48f3ff7dfc09c7483fec99c9266145e73166451298a40fb5a740409f088c01dbfddbd4712452ff37c1fd9750c0f973d5e274e44608ced327afc39e89350aac127111f3046152c1b8bcaa5c6ea5f98a020164ebd704b05fb6efe13aa324a20715703d96619d8db3d3b39bef557ed7a8215146639dcfd051cbabb6befa3c87edc667289bf493f0b913eb013174b6c27e7aae8e4eb263299b0f8dcde93c29b6502724a181917fadd13be670865df1209d914ab1770cac3db2e01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b87b354571a05199eec5bfc4f9efbd95a4f748e645ad5f95caf7880b0ae9053ef8f9eac79ab226c5cb691bb15925b43087a19a05414b813a9d1ea9e40dd39e0d98c60ee03d62c6c45fe5eec59f23709b966ac544881a85d2a57d6f13278ebb736e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e351f162d931e05bac36cf37889ab116d80ba6e3518d4ed7dbcd8cae9e844c46dd65a5d7a35f1860cd6e62440014d65a88a94374ee4652b0e5ca821a0ff808483a5db8385351c09ca4ad6477bff1f07cd068985ab1f819a6f60746f72ea916f659b862b597572ae63bc0249c8a25841b68d05f1feded275043b42e190e49ed5b6e8485e4533190bc99b1b1db61c56ddc80bd4c2e623c72ba81682aef203912f1792e98a8b078460ea1fda345999da871ca814e7e5936e1dda17bdda1361a80cf587a9df126c68a6456c969349b2a6e650eab016e5ed44d56fc588aa92559cbcc9099a87e118bb1de21b54d41c1220622135c81efbc3a3c0c6bb0137c4b94c6aabfb68ac468b76167e95c25b654ac10fb483f27839b6048a016f8916d57677944a857bb6a65bde1636b2d155d58ff7021a2c1f0ff017ded0375ec8d659198e1def37c287badda44360f5602ab905ca4ed22a84260ce4a12c18bd709be4e33feeb07eb621ec22da12c46f01b6edd9a0b3058a1511baaeb695a14c8c186bb7ec77a2e89a4491306b8a9867f3f581f9c0589697cbb4bfd89f5255f112f3d29fef718f30894bb47bb5dc5fd0088719870397a4f6c7f4519c6acd7eab45766808f4073332c46464b8e62207d7218b7e495607e299c4c822a893b3b256cf8147af637723f4fb2637d964c7ab1eee823edcef1adb923345d2d77515adbf851e9646a6af1224ca269491c3fb82ab07e87866a56b11bb0bda87e64ed25c4670b8cc1303704b22f978f32e52497cff77310cd17936f594bcfa27c39e95e2bc0d191e50c7b12d52af8d5da464d7fcdaa1640704f856eec834647b4605c13826123b8d7dd42c767704cf89e450c7272834271d278acb64d2f43416ab3b0003feb028e20fed1f9279593ab9d746b54e4b76ae38b13bb9de046382f8ba0aebd62afc36bebe19771537a3d7e90c84c7e022eb0d7c99174ba9f5b538350ebba8f161d5aaace12073ed710e536820d26015c9035c0daddd201ee12cd8e104d539b0a53d6ddcce889db5297591ecbd46198434c7b4fe9e623b15fd8706fa2b63908107403a1fc810f3d737b87d9a2a5e61a1e55ff186a5d870d15299794393f985a58ff1c9f00b274e38177dbaa54fbd175b9e49d88ca497bf5ebf07524891868e3c2fb0c799bfbca259da666e9c70c1da0f00e15561814378a03ac372cf9cea92bd2d783bc993d85b33982e793bdd9b79ce4e4b635cc047ebf8ff7dd3ec0804564c689d0ddfc86d05823449820c5295fc6bee345ea117731475f15d3dd223ff57ca49bbadbecd84e8f52878b4e4967813b3ef704c7b618441163e866b12e04942f73e4baa7001fc50be3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8557098c609132e6600044ecfd31c102b6c3be6296e999c889c127abacc4307ceb372322caa6191651f46736a8c10610c9b342129cadc9a651262a90277a1f25ae5e7dbf90ec61f1693a27772b6287b9350f8a1f7ac0ff38ced504dcc9971b873c2909cd72fb32db3e18c38b82a36a0edee9b3fd0b558f8c272923e30185bc3d3c85aa2220ff0ffb1f7fa7827e45ac136dbcd73bd9d78a791a8eef6ef554266513b5fdac84a316c04c969d235fe074a0b98b6e91b0103fd66a40ae3100f25d9eee20c04f3f84e32162159330426580518af430da275f43d2f962fd5db9eae3e72c705d3fd5616806131d6951d8e51f30860f3aecdff0ed3842a95555624ba210018c7295b2b4069a5f714a3f8e6aeea1cc276f673ee241bd826d3467f024f04e64cb109fe13c822ef4f8633b5b5d1cf88f0349d1413b8d712e4ccdea53e2cc65cede3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551441f11eeb306bf62adba62d76ae76145b5138ed12dc7a5ca71f4d169bd938b7e52fdf6d56d3725f4aa806f537992f8253925414bdfb9b3de9ff25693ed8adbe767f9edb3d459a5bc53488b513e1efcb40c9d56111ac971ee5bcbebd14d6da86172f29ada9fd0a55a1ce2b3e5e3f1175fa8ec287f6263c81ab4faafd06a079f208c2bf3edbfa7437417197b29d5161026986d4d883058cf68db17892e2cb01c1bdb9b2dbb9baf8e4e908f2b6e10a929b5b08ec5e3b3d96aa532a7c7a36fa70939eea09be502fad95be68d04c7b41787b8fddae595f5e8907c8b41f077e918dea2d55395f190cae404c8970df4adb89824ebb8175b29523b214a1f7abbd61296b07d19cbb49b267138ba2addac0acfc79c03923e38c9d286f862b7b32551a33fef252df15f757f4ade43521c1a80682a5120a1d90d56d0c60a07e4e88cab5c3a9933dae6fc332fd51cc997db9c801bd92b9aca67d3d6c15871f243e41dd17869931bb73ff224bc930e192be097edafb2cfc7879de732863b001295119dc67d34aeba26a93064ab33e94f49d9d6f7b785784451b92546abe054f8226342c0d3aac7d3095833b19289f1ce663f8988d736bd107d9f79ae3b0ebed6df2b35eb98618d446e32b63a4b1cebc72ca7dcf97829624ad7951543b26568c8057535facf12406b2410689682c2f7c93fd70b1c6ef6bda81c6e7f60cf7ec9e268f581b7f0a3b2427cf11a1a5a703f07828b46c0bbabb033f3e1f8b17f8f7704303ad92b2601b5e003472d08dea7c403ef94b9a10eadb75f88036fd373d4a032bb92ffc8336937e12280921cadaeea7ab8d666c61d725a397f560747072f52f7468d39529f095730d7b10f5a788f413386c403caf24b608e03793862aa114c6923c38f6f8c10954e2b2c879fda6547acccfe5cff64091357563347341cdd47445bb5ae9d1dd7dbcc4959f9e898bae070222bf6d5d7968032ae48d6a66a4612d959b08ed45cfb265ce7519904a6537b18708bd369fbd48a92f5b9389e778c48ed705c8b731643ad8d5ca19daab3e775bedc8b523e9b3ccadd371ad2da3f3673a4d67b4b2d20d5fe1cc6747ac4525b88844d5346c07eecafabbb5053bc6475769c5694c8e19b12f949f07ca2afa90d168e314248e4a168d0684b7ddc103f73d72a7adf3411fb8fa8c78f12d7689b29510b64b1cdec7d5a541af906ca871319c5849198b67fa5f3be66220272f7d09a353945d13a9dcb9d348ffcfc28c065713cbee9e9a835e71a23b8cdef02b54149c8a8301d800e2f810864deab75c4e2a4ef41d1bd413e4ad48d66ccce22fb5a94442c1ef1d580175418eff6f81fd1252a72f7aa8ecc72dfc7b0b6650a99d1c4be85113982e354dc9ca560a36ddf6d6ccb30c14eaba6cebf0aab60354196783fb2e8520d736f0a8b56487f7d2aa02a3f6367a539105ca4a162788b777194aa95866775582e83be95ae3c78d3ef0e901452bf9218102eea4ead64a2e8e21f0f360c47230a6e8479b3410c8f058a17044b4044975112d7175771af65fd9306dec02d9661859c3b19ecc8abf6cc48248cc0ae24b27e9b37857acd454e353c25de8076f02cb76181f9e77d48608c3867628a02dca611122fbbe30660c08912dd42baa4156400c479ff1854fa5208a21aaf2eab11b3c078273951292cce0b832b1fee847b5fa6f23bd276a85e08c7fbca197190b314326c747a943a58e27eaf5f63da397e0a83271ad4efd54d3860aa9c5794b850bc713ce0ad5f1190f6acfb16e1a384fa7bd440f04ebf3ff571da0f934bc135ad70d93300b7cf3ddf9a8e1229ba1aff4dde9da52fa3877e7d97d8ccc588bfaae22b7cefaa84dfb41536b1712d038c932fba484898ac9b4eb411730d6a2836f50659ab180374252f63cb6daceac7c5ba66eb0ebad59aa213e92da71f19263c83d697d98fc46d7d61588c70fa2be655b6a53a77570aa9e7841aa162d90ea9b2a8ad05498495f515f276fe7f1a5d46ccf0d86e58ea696a7269b8076c06bcdbfd127b82459adf936c99cd79d8a09f194d25a126fea594d9f34d3c528ff3fb745d83337aec14bae436aa6d3c8e2428f8864c66d7962afd7c4319c81b5093ea1ec85ca5a829550cde72669068d5eba35a4793ca3465e6557a3ed90b43e3eeedb18a55f12c90f5fd0c656ba7b53db4765c059c66ba607a68f19536e16324d9bbd33448008b30d9f8c16915ae72714ab91a793a82f88ae0b54d6158fe493a62d7f0513a78daa7a832461b124022cffe488ba8d854bc6da4edab4fcae796ce1ef89350882e922c776866da2abbd8c3f4df4880a36d81dd0660249924a200a972c5b36b0eea72c61460889f522d485b00fb448ce2c2d7dc96f18f51a97681a1586f5bad1d26a7be5de437510fd2d642834976ee2430ec79a95511136f2fd7709514cc91293a623b9ac98401d3e7dac74ebf27d6243df8d873f1d7f471334ffab9dd8230b97edc216fefb60cd263a5194054b971bef92ac4384c72988d7328224477cbb95ad9f1e2b7e13721f6aa3c656a97dc528d2beb1eda8b0ef1d233a44a1de2f6573efe8b7d9382a3606c487daf2f9d26ad8bf9261e795d22b504cadbb7158db9c1278a536e8c06abc6c93e7ae0c73199f957394abf65755605d00077c1162450010e4cb97141bd729d2e4382d71c68d55d7d47d391e6b5d6233f5ad121b9eac816025f31f9fd01c0b99c762e3252f7cbaaa5428b2a4e41312b1ff06571a819cfc45eb1d6a7137e9abaef2545a2b0b5c1fcde0da8f90bdb94a3939d6d8fe21ac2c9a386abe1c49d82c658f98cf4d775f058d549165e7585183b53ca4ceebec167de5ae4549bce5664f1a47ba7964c5dc772c3300d2259ed03b72603ff48dd1064afef5d1414acbf5f9b6bb1598b8a9fbfb2aa1151c14a6cfdaa141c374999a1b6ce78eb165faf6c6a8b86f6bf5bce2865edf24779a20212323e6a4630219c20425c1686e69dfbc8f730070e388f84db79f6691413b9f5e82e5baf2d6ec80a6d9967327cd8d0fe7b87fe942c688ef400dba24079c333c5bcbc2b735bf256f5f38ea61b95a44a15f7f38ddb66f8a60fd9a914d0a35ed8c316a9ec9209ac0650ee746abe2bc1d538cf03b67ec0f0bdd31f300864167dac0ef76d755970c89aca953efd1d7eb72d94d2c489670fca06c78ee7a66405a40e455862a22f386edf10a9f3a759103b0c315cfb4322fb002a0e33e873ce7819ed938de502ce36043ae4f56a852e9eb4e0215faaea3eef0d083b2cd2162ead94d6094357207edc13d6f24d431e1bf01b23ce7079c39fcdce35ad4fe27f6f289265823b8b7c1936ab0bbf38b51d66af639a5535f085fe765498dcd0c6bb16e071a68b810be3dcbca6bf6e219f8dd8658910d2907511f00b2e557627e000ae536941b66ba27de5aeff3175b83f130b899933ac7c827ca0a3f58a57218d4ab7cb59b75e02a13f41a76e1c41bed1d085983eb553e964a18c3a86f6a98748357a0de5d2d9bbfc4b150d34c29156042404cd4562aac46efddd53b6e5a07001076d89b2bdf6191bde50fe246353fba2b779766b73771cedd1fa2826e4fbae426ff314eb9a744947c9dce7e3607838226d50dd2de4430f206e12686bdcdad399ac2ba1023182e970fcbe70d0e1124aabf648522da10e7e15af17be2ec1fe65187c6ee65c0a0e741c3a24dfc8468667bcc99be4a51ed6a95faff7752131b40059c16946b148ab198f9fcfbd18fb43b343c4fab5f9f5092554cc7c2a489f86cd2af85cc5a663d894327d4e9e44c8d4edc180b49e132690263da442dc9aaedb41dff385021ca80311f66a54053b44348370ad29b6e3a084792d1804360bd5c3926299706d01e55e5cb3991f6e0182f7ea86d844625bd3d514ee6b1d6dccf6823296f5a95f14d6a94a8eacbb1e65aa4cf52509cee16a59b7d1ccb0f4371ef419e07f7fa4db95e9bf24b2876db8acc1c32a0ed5fe543ee1e07c01cda66f71b391a2f8580b7f42262ee4ce4e13a446e82f5a93c0e3210f52bc5b468c23e76edf1f1f824cbcc5d49d8f34de5ad29b8d1cd140d04e136a9988f1a9b834f32c513cdc28db2f05e1b1c18af3df5585529df92b1de7bc83df07572aeb5c804e674b76fc9bf60419927771c148fd16841c73a453646db517db1f1111cde4bd7b83cb80d55b0db9d95deb9b6da1d27ea35ac8f6b37bb59f5fcbe42dbf132e58a395ee9fc7937c1c77b592757b0466450405445a8fdcccdc9ad919fde2d4ed0589243c692f4a923d779f3315d4adc010d26ea9757d74a7541f974ac848f881f5292cdd286ea3f33362d9394880d173c8a5bfdf5ed3ab8943e80a832dc85015b9a5c3aa8ce5244559742a8051a46f3a0c188543fddd3356cacacfde4678897d00fe89a9db8fb4348d7053481b590a086481b87f64e9519e0df214ef8c21981ccb3920c4472bf26e6446a408550ae7ce998894ede86fdaea8bd5d601fe07ce7f8c66153742b1634dc6802a59f3b7766df0f0d08e32f4bd5e1c4a1215f38f02029f1008c1fd5b7a916042805562fde403cc4a3dc9e58dc385c2eafb8afac07920e318307e70587a45038f1064dde355b7158256b6028a482c2e6c35169b544451ff4a8ea962ceb65e772d73c319b26f5a8048cb578720a92df23e89ff373cd4b1f25b94f47d71cc05f144b2efc0d2d47503be4ff41f860b502b9fb0604be0178c0780ce69e819a3e2ad42f977725aee8f925209e555fdb8caa62c0ea7c453f9f37f5f3fd23c3dfb5a55ad58c08ffa70cca64e4e363637a76789b29d0d6a3644f19a5a0605884be734901da3d90c8cb39c81230bb2a819f16615acc40904d502053a73423e80f6b63fe92a1ff24320e2e4f09519f1fd7a00bef7ad68f7e125f6c77d3ce1577b132f4c774f85ef80265c7020384adcf2eeda24eeace387d6967dca99843bc328f4a715086913d0325aa1d074b7777c8b5485e138f32ef2f6d6be04701dfeacc0bf2e8b2f572641134011caed550bdc6d41a742328623802ad7d3cd487c4331c84dd58158d4858e7fbfd734ad0b63d2cf6e11854fcc0023ea77ac4cd1ad7231cceca002b0ec9b34a0145726624cecafd9aa9ae352943b2e8994f80cb2f98be4bc62c4c36c76bdfbfa326b27ed3d1acd1542a7fd8789c2cfaab0cbbd75277b244ec9575d1ab839eb145717314bcff385659a7c3f5a8aeecd622e249aab719a282a5780f54089f8d39609de389eede8fb25262e9f5d86e72a564ef558935fc10edb457ddd400910e22ab1abd84c54effadc7a62b7ccb862277ca3b3996b72c3d2280b9699e5de3698e06b428935cd5cbfc8c5951b10b082e996c36bd3e2b1f380af4bb812360976ddfc68a69ab3882ac03d862c6b37606feb3f922a5825982fe5047254e23455750f41ee2d15df9c64f2ddadd5bbfcf812d01beeea3192d3b090d30c7331ed896d85e4de76fffe1ed43697e3c39c63686efd499fea4a49f544032b4a49275287044a41410488d62e6a4d85631fe233561699e1b8a0793c2a2d6eb98849a55f265cb49352af3823b621d8d14222561ec8efbaea36f801887c731085c74094bac10850427f4bac0b0389cb7aa19370aeb0d5f26ab768e35b7e73677ca765dcbce400805849329db9d15849cb2eb82d2783a78e2165078c946858089156e3bd5086e880386ae18620378162091f27937559a5743c34b46fd10fd2e4b7007268ed77fa7dbae3e1ef0a9609d1b08d0f297253e8bbc8b0426fa5caf952b7a631a00ec42dc10e6f047c88a972afa7880b2f8612c76b5adc9dba688c8299aacbf29bfb1ca92ed936b4f89d16b556d8d41bfb6e761b2000f00e3d85a9696d41474515c928b7dec257b71153c4d15b65ec8d9da1c5bcdf68f1b639f0893798f3d531233ca304198c9075a576bcd7f52353d2cb06aa42c108cedd37955ad680bfe5468f18b75b8a1dea26a8c4077eb56e3a1d3f3ab12f323c18b77752ea580d6b7085f8d59268e817e76167d3d198b413362417d06b8b16e00577d60595f3dbe3b1cff530c08e75602962f7b38e531e6f3f3fb0c83f4569b2034eb50ca08c69459dac7939030977b5e7f4b0730e50a7be5dc5e70275555257d9214f4f1114d56d0912f5566c22a3c3308f53df7aec6c9bf260c3bda432bb3c44bbe70d34d0031aa10e775915ccfd390e47583d3fcf8093fb75c6527e78a4e09d85e4ddcb2e2a9ec55cfe393409762ba93ef346f869f820450a9f0300008b29f1dbbd2a344707d70c59dbc68dfcfe6fd46ae9ce30e5a5c8ff3cf466396ba55760a241c8e8dd70e5b92dabbedf16918920c6d245751bf7d06c2ee065dbc1f2a63023d7c4ecf5ca4f278b9bf4891f060faae2c59bf75bcae38e73864fcbbcda8b9e2d68c946e0a1a8bbfa016dd833fd9b4fa02a67faeff06510d703fd8e2b7232188141d480d66abc96afdc481f31e0c5e2ba2d0489fe3ccca462d977e3d9f8605dc03c3a8f77234577bbe177e700d9dbaba8e8d9cab884bf0a67d43d5b032df01381ec95e44e3fe06ebc0e31499e2de7e2567cf9c40188501a621907aebf313344ba34410833785e24c4c483d77e070c9934a71e377bbd01b1be02833a4912241f9e6c20d7d7430b23002669fb13a31bbecf6688cf03016341afd8d88701ec2781dff9a677e9fe0fa503be865963d97a0f75d51ad524838cb8d8c6cb21dfe50aaf7b62561f1ed3a585b9ab5ea9c4d9501e2e68c1264e9906a8fc5d5fe38251dd753b1f82946209b4af64d3742fa7b2e43f3c7e8bf88439ee297f2fcd793dcc14e02212ad1a05ae202c7dfe3323050ba69e8f1b632457eae9f87fb951500d1d093450ca31c75bc82138ee0b61031f9c6531192f3d07bd74c2de2e9d5f079a2cc43d2816871241c387845c227bb38200a0f43e177ac773bf51200d5800a5151c9037c38407fbde3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551d3897b16f726312aa8205e8bff80b39988dd3ec1707d558fd8361b1cd4b5d6be82c14501f9fc4fba6e3faf9f67d7e422195395de7a608d3a7f6eff558247815aaa5cb572f32d135ea612a22644371985a47bd859806b9e1ecba6a01c07145fac597278afe3c7688c9170dbf84f566536a5079aa0bd5ff0300d57fa06c79ec17ffc13b74404c103cf3b3bbe11e609ee7ac49c8f9e41ea2b8fbf0469d2713b369ffc13b74404c103cf3b3bbe11e609ee7ac49c8f9e41ea2b8fbf0469d2713b369ff16865cf797f9d56098985993ed71459fc1e88b38a5dbaded13e221589f541eeb1e2ba3160965fa9705587c4a6baf5e0279dc94bed64c30eb84d13e596326dac5b9a86e4a62a86bee35cc382ed3439126a30ef61eb6bb5c15ea81a3f24fdf8f86edb1ec3bb7181b72f6136ffa102764006cd3ba9392d7e3e4993f92f9d6ff75bb3730897979404d84d12d93f37568902e9532bb239d7e53c66a01c71731f84cff60b12e37263a826dd334d1bddee2d2df41f3db40c196775221bd2f3b959cea8cb016ecebf972bc846c0116e5a89d60d9fa9e27698582b7ca0298d84d2ef1ba5c3e9e3044cb9e4573f6a4d61a40278624d5379e9e3acef4ab2c8cbd34ea02c1bbc20bd69d86364eaa574f0dc4ced80c4a87057f0f143aea46bcbd8fbfad44cb756753f5413941f1e52485f35f8d7c9e2c46888a31275b0af6715e34667ff8a7fecd1e5236f8db0c2d152c71e7dc5003a094ad145f38051961702d5b10dc11c19fdebee358ec7a60f0f83663b4c9503663d97aa330ef8a59eb1e65f63e042f05e5e29c02d729b43684e883b941d69cafd76a4b00bacdbf6c6e825aefe65adf91d1a3a08e782b28037d803e0a272cecb97af6ad160f522bc872b253c50b9314a0db5fa5f0dcc455167cb1ac56f292864ccc5f0e85c3ed969bf159b50ee392ad80925eea9da16cc06dc75bc6228e707b65bd0a496d10d64566c0a61a3a903e593e91e8f28c534ea8f564a3dcbb2782d445ceffe638c82bd826088d85fda22bbddeee215c0da192e6bca3be7eb2f8598f81b2280a064ae3a45b3b8b5a35a5aff00d50d65260e83fbc1c919fadcd69ff6240c7f06959a61553087d00ef93c6d872889aa79d040a9a2443b4b89251b6d95239a932587a91014c87f1b9d0a9695f6533c3d4885fe638c1490888b22f961481147aa255a860278e0f1d138280bf26f5a10983809a35a8d9a0b8fb55589167a4b04d7db8e9d2d5bdd20d3aad8695e21cbcb62c7d71e6e9236097b0edaa5d61f4e656a0dbf1fab5de569417353851acb2e79362724475404f6c3a36a30b581864404c64b7a88691b8519ca4cdb909db00329b096ba885a572c293a113f2f389424bd15f03deb566299a830aa20d1cdd5a45f2560da2825c37574734aeb879fbc0fec4e7122db5ab6e0d0fac291f12b4da68d8cc6f076204363e74557fcea7e4a8e87211612cb54e4428bfa0e2525ada65646ced57c64de0ff228ce012dce599d132c24a7f3e66fac2bd0f6d90e19b03a5439bad5034fa56660e90790634c2e4b83a676959c12f750d7b2b6b00e8c21d8838b227b30506d92ec8b3663a44b795e5f8d77667cd7e90c538994fe1ce662a6a07fd1c9becd9614f7b28431126481c4f95ab72ee6bf44bda91aa35acfa285dbdff3db2d1c5178dddaf79a5fa351fc25721077a7c9ce1ed247c81c2a580ceba2bac32433a315387b277111952374e11a20497cd5adf44ab715432c4a1ee2cc8b814634089edc6c8ef4650bccd7bd6342cadd4e220f63c6a301ab35b2f8a2edc40a9ed6d0bf0f281dea9d0c29e5bb455930422cdba9ce1cd64135210df8d0272cd3394b3e7269f2d21c341775c96654fc6e5564edc6733707fda7b275382c9ff9aac22b41a2e133069a5cec548c3ea230a572c0c3b922e927b1e9eebcf5d05cdcae8e6db6e11980ed711eb0730f8da636ce07dd89a5ecc7e33a753e007d4c06ebab737795b99e9f14b4c81e330f8597a36de7e77d71a36183f33840c57aea0c321e4031262785fecc64d8c1ed1b49508ebb94490b83a3810a5ab8f62f0fc2f563e2291e94b6dd042f9fecc076450b5a49f4a45699c2da5cf1bf2014cce120463dc6e4c2c654d5a9a488048e0c3192ad0665cf1643741450597e4a2cd48636ba257dc8ff956d95fcda3477d906d79d81a99ecda40a199e3c650d862558a3c3de9ab5a41836f765cf28e57f642d823552c328b3871a1a89d10537a226f6ce49ccd9c4026958cce0c4a3a29751905ba04c0512bd06cbf97d3aca2fba2eb608ad966df0e17c656f35295d9b54aed2665899548fbaa644969ed2d915dfdd7b89f92bc5e4d10519a4081e3884e8eeb5558e8329692eaeda5936befa1c25d072c34cf4e08274c2c654d5a9a488048e0c3192ad0665cf1643741450597e4a2cd48636ba257dc4c2c654d5a9a488048e0c3192ad0665cf1643741450597e4a2cd48636ba257dc81050b28510d1e8cf549e8e668a4bfccb1e92cb784312a65741a751deeb926fc458e9ab4d4012653706e4369532ff52179a27021b358dff9f28b3591b68f057329cd56724c27619b5bf9e1af38c75391df46f217750fb7e984a668e328586c6e4c2c654d5a9a488048e0c3192ad0665cf1643741450597e4a2cd48636ba257dcffb645243dd11bb329312cf5984e5bca0145fe0dd51050937a8bf4fc4349c9795ea6cddbe1fab21883646792f8f2013eb62c10f2ff06cccc270d20ec8439e1eeb3cf67aad24e4bccf8366aba8c02d3477a5ac7a6d85fba525341338ac80e08e49d17c5cf6bf6b6d9051f1527cce16b7713d855b761c4c9ccdf450c91d93273dc4c2c654d5a9a488048e0c3192ad0665cf1643741450597e4a2cd48636ba257dc56f8af6d7e9b387fd4b35e16d6bcb2a748e183f8351c02f1e3112a9f6e56393b3ae7f319654b4f820d7e26832a7e74bd8ab7e20bdb57e168f6152bdc431d9097c4a6cc2d48b6b0aff15fa9f9993364ae683983cb69b54d23e90daf43c3f84c172057e501cc2f2419e54821bf5703b4e7f051450a5050df00a9df6dc6e8984a59df2951ca09e8d1c7901a2af1c5d5a64fcec53b4953febab158de1cc08ab912e400501b95bce019852eb8871ffb64592579758a15e772df6499c4359ef35418cd6a81ddd917831e8e20577fcd17fcfaacc4b9f994d8ad54ef7fad735bcc788dfe6a81ddd917831e8e20577fcd17fcfaacc4b9f994d8ad54ef7fad735bcc788dfe6a81ddd917831e8e20577fcd17fcfaacc4b9f994d8ad54ef7fad735bcc788dfe4fb130b8110feac55874dbe032addc24fde9358b37581450e4e79bdfa7ff63d6641159fe8384f9bcd0735bb474b59a283932b09ee87565ee202bc53b9df3b678e593d42fc047435089f551bbf59a21927bdfe60025ec0dbbb2b0c50612dc9e7e82a2932e5cab05db371f0c47c000d99da95ef8bd7c2d9dd244837fbd2b1c80afd5ee6e7d91c33ac6e508e66cde5d9015b541d4416b951c03a5d4e9f2233dd6b6d2479e2735c202f7b9fb15b4758281e10b755228fd6a372b968fdb17348683271bd0152728ee5966a23f82c712bbf283beadf4b1ba19b1ac6411d90ba6fbc7c9910b1901fa056c01a8cc39806e89ef1e2577adb0648cd29c8b618d075931a5258ad73bb2fe7fc8bf9494770d30fc0437181cdafd077e2f26b1848908527c8e26a03dfa582e9f8dc589d7295223c328a3aed1318432d194ec636ff9139e5f86e8f007de5d30c59022db8b70d865bc5d79ff457c60002cb353972493ec6388b6fa6e052fbbb3bc97d56e8e3df4307d755b7555376c856c8543f9a056e0572dc0a483f38b079c7f5700ba3aebfdca0db3b936f64ed0b05dc401843b51b5f745d841d24e7c5c6b39a83cf60899b99fee1e7779d2ab52cb5a2bddca0f28b85b953ac2e78901eb35350fb9a9a77c5367674d5e1694199a5b15907b3800607272dad29eb358cc5c37976acdb18c01cbe4a7b8c34751aac5ec3b5e97a010f6ff4a11f3b61c6f9f76a89133e1283ae7d8cb40230b86ededf1d02b4b5434d1594d575432c90623823e93f2ee424e5720aa7b093e1b6b072805a3b015cebeff857c1f3a68354c2c654d5a9a488048e0c3192ad0665cf1643741450597e4a2cd48636ba257dc6a81ddd917831e8e20577fcd17fcfaacc4b9f994d8ad54ef7fad735bcc788dfe6a81ddd917831e8e20577fcd17fcfaacc4b9f994d8ad54ef7fad735bcc788dfee6c5da770f3a1bcd6a911be0f2f832d939befc0e258f5e87bbe4c18b4e0dd2604288ecf0229d9fd215a8e035568b9e3525c02c2b9af8385bc2c6a0eddf797963b1a8e1746bd58d419463455462a17325828fe30c56e9e8deb71065d9942ef8174c2c654d5a9a488048e0c3192ad0665cf1643741450597e4a2cd48636ba257dc93cba58bb5a7ef8379db07ab4bf01da680cc8e3a44aae65b8dd973bb63de3b37bc382f29b696449f7c80c19a1e148a8f518467a8483bf9a508dc1796f3b4e82f4383c369a28452bd4083fe2cabbc82c2040de04a5c420b4cb9cbf21fd72f3db0e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85559805d3b8a1cfe48f9b16a3e8dab92938451b68a5d4aa6183b733d52a26fec77a47d32e83817d304a1946ec11078835ba2206eec0d24d4b2e810bed92bdfb5b09fc0655fbc0e56ed673318c16b86e0385fc62b84f767d027d73c6fb29ef5d2b98b4db6f9f384239c4268bd5dd7e8301883a937bb3928d562f07d6b6280280c67b3cebb6db7ab04684752412a47301eef3a85b00ecfd1b134973fe39d782781bd88d55dee930720a34784f16a5947d8be1fd6f93977da0bacc40d683940fddeddaee08c9ef62c5f31c330bf921a22db3ef639838d789f4179590075bbe412642750fc0a9f601f8a1cf8450c191199ef2a636ddb31b93d80570bf45e9a99ae1807a69271ee9045be2bf357a36607cec48601451aa1b111230387b28c3d9e560fbcf679fc822483f1fc1250593b6166044b3aeabda38b5ec00df6002e0f3b80e5725333b7fb255d73b522bf93ad88ab5e59fb1dd52cd7509ed85e5b31d068f21ab04db6fa8a187e8bf0bf256496cc5c26124e87ed3986fb8f325b4b106f8677d444639619aa40f3a31556de2e502757b3b5571a7158c501532c943abb3126cf169c3286577671e83096966f263d1a445e4cd25b94e07a114cb27eb33dad978be030380cdc03f5dadc8395c316687bc6e64db6bab51ac457361eefb119467ca9f7b540f728f87f3883b444b1ec245472bf6c395042f33f0d49fdde92a4aeb1ef808999af07e584186863b62091fe883c176825af293696ac8c226e5ef1f1bad70ee082b6051369c67e09e20e2893db8b5f41707da3fb559cd3f9d699f9a0b3bba4f05c584d6392a1a83b8167dff691f1615e9c9ef5841c5068e7c09d16a273570ddb12b87ef708cac00a7fbdd85026e149f9cb5efcc9cafbec50164a5bd9dcf50704e2980d23dd1991c8b9bbf9becc3272fc205ab071f1c7abff42e785dfa5ddc244a3fd453a02a7ec66d305a88da578e2684d1101bf5c59221b5b02260a565d5ee507965b1988fe09197a798a90cd7f05bf94802149f2b3964beaa0c78d7a00548b0d36e3e6d14ef0a1ac2dda9cfc4923c8f029c52a3b4f425d9f74f682f806526e4f8fa2b81095ff4366ca58f13a8a6b54dcc5458e5f74fb2dfb85d4980229d586cf9144b69a57d0e375b4aaa1f1ef58ea0d1c7649eb2186ab0741ebf083c40c337bcd5ac7f73a9448975884fc5ea047e806c1ca8546d324b7e08f10a95fadc4725523be37c8d9e8ec2323405f3c12f265220ae253734854be4080f93e83a9c30869dc6c68f610ef2454d9020fae13194c48fee238f003cbc50ac0e085ce33cddbe344e02d591284febbb3aed3d42baf077e8ca63f5556cc7e25834792d9af46670f4552cd71c8d2f004356fa793b29e450d65db1fb361bbfa695d5458ed5610a7cf22a93cb73b9abc59043b4125e7dc7a9f4d2150f0094486c8d6d1f1b8583dbc1854d349976518689c0b33355b0092794aabd6d5c6a6fcb72dfe8fc067a12e67d50da0c904cc8d8d6564d11dbde9148c4f254a28800339cd48b7becea576f9bb635f25cc0abeece73548beda2abf3bc5364a79223053a60e1c2952e56eb900d7f531873035c72e0abb98015278730fd2cd84504150be6b6e0a0066c869cbb9600f6132ed6a63e1a2dc78a6111a2c49dd26241fd11031b3e3d0a99bceb5710c8377d72d1666f148c3ecb8492c5ae4035aac8d2cf8bc993a462fb7357392d362d7c28e7d54aa9537531eccee485c78cfa0b689b8d433a5037d104c3e0099a74665a20411a35cbddafd8d959df7e088de5c8c9deeea7816803896e8bf7cb0ae4d07905377d09b48b9447dd7787753d6e60b3926c8a3e059e4a702707e0e0e4e74ff4cd5a0473ad6ce682201bbc049156fa948fc8083834df59def5bde2fea2ed3843716775b1bfbe2fa071550a8a12e29d39ae26ca33ee0ee7900e24621f10dc26ab81d96f35efd940b9756d3c7f65adf4d44d0865a615115576cd23a489d461fef9f20c885920061035f3062a95821cbccc0adce250be286ac088095911c4a7ad74d539fca88057119824eb28420c1dec15a5ea3ecbbe87ddcf90ee646a08474980ab96e66b4328c08eadb898359192eb59d2e259fa31be24315ed0a26201bf0aef934f1511b20300c7ac03b5a4dc8d6fa8890af5015344d51c4e2b123644818597d6be6ab1cc6f25ac61427bddb1158e62acbc9edf0da1dcb310b9f4dd60b1f8a74835d1db83b6ac9a81b5b22aa0d72586ac1385b3e1fb64f7bcf5500961751baf123fb6771fb549f4d36b59e2e518d989615253a4e90ff4356b1544376b9278747d7501f276775bd46ed82380675cad78815b110fb626bbcce47e998080e1a1a1dfa6c95629ebc81c2bea58f98504e2f247447a7dec00b5b359b1276976407869a4caa8786657e5aa457e569e58f3a4219f8be415c1f2595d5457664d1a0220b2d405a1f3b6c19665dcb6a95942b467060e21c163d46a3081d5b3ca31a4ef6a2929ce833057ed3ae054a36646dc62f7744c4129d56ff720130aa2a27327b10b9f77cd71d6987922c10a5cf8483c2fa7dd8229eb15c2d806cb51228df8c837b0b32504653a353068e12993bf10ce9528b8b654b854a93b89007a98732f93fc989c7617a7b37cb24d477a094d36e556970d0046f100c85aa5d672fae72bea2d85eea832bcf38c8e6b6a6048ae0aa8bb950171a3bcb9bd14ceb97788a159d8423e5a9c25249b5b7c8cd00797931edc89b01c37e7879fb3ef87bf5e3607d11743fb20fb572283a5e92788875ab4fecbad9ecd0dfdcf48b1402537ef74a47660e5513f2c9d939f5c88d71c644888b07168c21cd164207f0aed710a93c0c04e81e3e19e283b9043cc8aa932b7a5656880dfe24210fda63071699baf168a5d75e054ee8ee113579befa83f425eee5b1747b239c6e7247342d1f4062ab7f8ffddb18ffe1d6d790e936473d2e79187f76527cbd15840d66541b99f07f92146980b113052a6255bbd90f513558b7d4d28f8a24c35f8cb4960df920c8d4b3b4d9196655ff819fac6e9438db3865719e38feba4271f4c40348f622c58a668b6a94300ac1302d110b386e46bc4d8304fb67fba1855c156b51a6258c2ca57e7a01820924ea88cd31c7d21d13c6ef90cec95324720663c473dda162d699adbed7f3444e031d61fe554b2c698e6da26bcec26dc49eba040cdddd7ad486e8bcc9fb01ea852f81de4cfe1858e681c56661244d51dc1ee4a11126e1510a16d29593db65314c7052c31d270744e0eabb16fad5bec9254e6f476f7de304c426ba9c6eccaf8b8e5aea7b695a8a5f80b9d96c6e86931702860416deb6d656253b25874ae8a0a3537358dc287a805e82fde666e3e0d2888c1b307e6c3833d2db4b00c062d9fa379cd776e06ed6a903fe90cdbcf10c7f95759eefff5f72b13feff88bf9b27177f80c0198c00d7c20c243b9fdd3ba717caecea1b8369adc31ccb7c8bcf18fca770174fefe6d15ed1a0fb0ccfb8c293adc204ba7883d9b4a738e4cc03b1cd27845a609974836020e330429af8ea0b2895739184e6e50fae48bb5b75e5fe181d994ecf1e704bc56f8816ee6074a7fccc8e0e8f0629281fc58a436e70649ef4500dbcb60e35e743d50ab9b849689e28c825730d41fc9c3b7465d9cd419a32bf0b61ee71b36b260b4179ad3c46c8baa682066d960f82ccfec7025c830434369a3465d44c14cfbd91ec6318d1f5648282185a77aea0c758c79f800b7e1dbd6d0178cec377ea05e1a84d3d9668519fbb25b2b870d527717f4ef40fbde979efd97a2c09e043ac4056e9d0e68b8b4faf205a77eff2ca6825a847004a255dfa5d9823ee3e8f73ce2dd61157d9f92dddf6f085df13c7ce3976883e0d6976036abbb250eb85d63a89719760c8f35a1633406531600b689c27a8415ee817b0d888daa149cc9d3d103886fec21b4a3b67259c162751e733ed8cf3e93eb00e3da7b04d4143011bd4a87b4ea1cd0d1f20b7c512607e2f72efb7ab5878959f353180bef0694c3c5f8cb13de5f5ee8a1a6bcfac3dd2cffd1b1f850d8e69caaa96f4a56d95a6c4f757ab9e587d9b79841735492ae49405d4b433db31f61214c52a379f77390ec7bd7ca4368948cb998b56bf1ed91c4f4ed0970775aa0e5506aaf0c2f4fc1a5ea8d6ede3239e75d8528b7c8a57967f67d42b20b4ee5416faa8a4e907e3794ed062ba28ed6b00d70a6c62343bbacb1a950ee85eee08c6d370ab38e75a839e098df3bed659c527bbda77dadfd7af442b792a6c440114c30305191cfa3c6fd567a09c0541943e7ee6feb835314c040fcd907a67ab42420b803642533af8b485f214d562468236e95ed885d3093036169f656b28f551e84167cf1c6376f01eeaa7694e52ef5c3c34cf832c18787087e6db19c887fd1cfabac37c42a93c3646cf1e5a346e181386e9d854dff271d7921b8f67a9c4eed65147d825ceab209eb6a54adecc02eff4ecc9674ac407639e44f8bdae5756d7ebf5bd2eb37e987f5822a2fe6ceee1cb2bfade11a0351f6b4618bda10586f758700c24d737d63a7552c96059675915b2f33cf5c23ca9c3489c37bf230aa1b02a090c408d7840c41e08c82567ea451e5f0dd42db2819f938cd1dc5775f29d3f94294c8a711088eb1f04ffc91103537c583a016a7d915e30a9ea469b5edf85a91b3c0bc799434a000d8a7ab5d9a90625d2e48d26faf0935eb1ab78c5cd24456a7317043d1b2f27466aa645f5228b1b83441d59f6f9bc98693a652e38d13cbd45cafe4e0a3fdf98927361af6412411e265ad74c9c6312d784c708e988c01d813cb034f09a749da6410902c56c416e22c13761fbd0623492fec128788cb1920dc970e1d831871d38cd6a84fae341dddff2a6c4a42c68e0d9a7fc498f7c1f4acda60a4f5d0fc533b37302fd55d6e0960ccfbd0aa38b4d655bc03fc4fca6506e499e0a549f0c55d4cc64fa00b505afdfb41d6fc122f69cade93ae3ea09a09eee180b2df628a6845adc5aeb35c73194fa63f3a5124af76027c96cea1e3ccb3a8b415910dc773daab3e6222fe24b5b2096313d2f700fc1391c6f5e69edf50b71ab8e9c922bf4fc05cc2027591bc66bab07417f932f6e039ca8c2805af7a03d18b225d1413213d1392f5fb3eafd63de572f20f6f8cb7bfc382c476d1be90ee2e04de64fc66870b0ff99f1407bd9ad98f75f3ada177377e7acbafdb295f47683c306f0d81c1f1df287b18804fbba145357a722df42e25de8160e81d7d5f9ecbbf57747fc0d6557915b0a45c3e4c557899c07c02bbca2c168a5e2bcfeb15240582e4ced2c2eeab419c9d1b37f57819782f8e8b82ab51eef1af5957a9619c00c705e7846804891cce4521a58ca8ffdc04bec29b7596052e4f159b26d66a1da4dc11efd3de59420123a49582198acadb12c3762e8a9225f17b553b9f13884dbcada745755227ad24150f576205c1bd0252c3c09efc9c5385ca6f3bda79c65d9dd0d15ed1599868957800d0e8a64370b72b36611ff754eda653035d06e2d055561e4f684d6c70607d210c6a3fb9d3096d591f7be637b51a99fac5f0c9b817029a99916d891f396aeb22d5ae56eb9ea8af96b889370f91443a308f8039dd9bdbdd9fe4ce6a8b508476792f4689820635f5f9e8768f831deddc785bcd1c459987e75ef69a7efc16042748c15b583abb26be6af520da6cb5efa5969163c37552f92fa5d8474db45137610d57465114d0a38e75ce60891e55030334424e9acca992ad72d0d6c4a47bad62d80ea3e20d1419524b9407688cdf43de7dc4dd6a19d4e24321041f4b8ef5b6ffff0695a9efe68d03c5c95def97227456d985c4fccadc6a172631e7b0a7ac6f518357627fd5dfbc1d29458ca3950c30064698763bb8575877ce925ed99e474c1600e89bd9470eb2a7f6ab9146de816d317d8ab716139cf504ce9042544318ced6efa371f6076e4f67b03ed28584e4d7dec9b17db2724ec0f15833e619a2f76bf691d0776559cfb9108829a1015e88d5a4546d867133ac2bd2c94d87dcb5f3f5762cb14b8f41d7b3c97a2591a307a7d5fbe87130153dd7103ae4ced71357fc06d68392255d589135a98cc53f8029fed8b8c9f336dd82b5d0be7379be6a05d6cc88d5730f6bd60dcfac6bdedb8f668428228bf7856a1f0fc83fd8dd407c938ca5eaaaf0d05c4a706030ed05660afef0d756104150506e10d15bb454cf8cf081662e5a25f1730ed82fc76271f4f9ae7ff4a3cf2dd80d54509c3fc44427664578e75343698517f3fec34319357351a5fd1ae63ddf9101860eb7a2dd613aca9f289bd14c7cdcc4aa8a0408dce362042326686c89bc2a39845574c108a000d555d3dbe4b842c011d89feb9f89dde071d57c210e24c62e5de2b7b579680f45f1b66ea6077917c7162087a39fd230f46d8dcab390cb673fa6813b8d9e4e90c6e5978e580b044a7af447170dbdf69840022c650ce842f502424df84ca4de386689b0d216842178ae262dee17137afe736b5871cf6537ae0ff26598e0f222da2d9364e19b214f6445efce0d63c65e41679dbabadb02f5463b4778e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558fe40523c8c260d4d7c5586b07794a1cbcfc8e51beaa4eb83e023de7e9fa5f92ce2ea94565e2e1860edce04436fd41f1a5e1864e4b71b9c5df4eecdc88b4454253b58106e8354f65f5eab566053c6051dc159c9026bd618b79258fe50dd6c6b4600c7f294c35502f32ce2b7d57b2d7faa48fd98e6906e70df9fcf3e13869c90c0ad374482678e16f1cef0c0d296a3176a14ff2ce75aea2a538ae2a5da197122756ec23861533bb49e42467ddab063313dfec96f7ebf3b4a0b1996a48de925747d529a4c6381281c93376662e0e7025f7dfee53b7faa4b55dcd99742648be562c8096fdd1996f2c995706215e0ed7b43975699399f937ba6ebb5d67406cb562d2879736742e8dc5c828ece2cdd2d37df30ff321573a532e9ec3b655a7651b08c8e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e4c3538b06a7f065c55085d3a28000173099205d284b07701ebd7ff515e4e0adbf3eb9ab959187480701901b1fbc0ac5796267b82dc546b2b19d71e50d3347936ff5f8187676a8112f0d912fc3e8708cfb4be36692984b7286d1305d07d366df9ac1fc33ecefb5d8edff8b318d43e3d7ad0a206373b1651145eb7b84b0bd347cc0fbf8007054194b01a4003fd90e68fddc84bd7fd0ea0415a7c4212084e87f0f691919fc545e683f3336e9685b7b7f2de9249d4a0f829438798660bc2aec1bc3e9c851e87bfd480216ec24ce1ca8fe7fb4f8ebde34f8b3528c1018542e6a3c62a92947cba2436fd09311d03951bff2cad7bcfaf5cdc555c097f9b1c50adf87b4f4a1270a17f6b55a6cc8ac416f8320d534198e5ed83607230362fc493469770c5bc089305c118625c3b7dae00b5d27ec1c78ab54b238b5238b340205711bc86d9c15cfff2c5b771139d28139aad61b535f54d6a31bbddfe7d1468feb766f8358d08c700c02e670402879f5252a3a8c574bc06a22d2e6f0b39ae3df3ddccddbbc75e89e8cb695d334ed9d9cb2916297fcda7495ecf0a58a13d1ae1987e88ece125b31d5034b36d7266094b4987b9665d32b47846e077683d0db92d30f4d96e6572d4469017a58b9484287086b3370a3afcdfe2c93c7ab21723f7435cd8f6631a6abf498e33718508e80cdc53dc751c170359c081d395f97bbbd9575cce0ba25001346971708eeb2d01aad7d007251ebd9055cec813ab00d95a70b430262866762fa873e43bc7291dec0e5180acfb1f45821eeed1284ebe945e785955563cb1b7cc6a4d280bf2cddf858d2679a55e105d31b1b93908a680894e347ba9f1b1bede42d6dc3165a86591c0af5f1e228252b9c495dc4ba8aa23d201805f3081b9b67bae3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e5076c193abeb4027041f3a5f5e9c1e6d89d3ea444bfe4d3c87c68ac4837e168e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558c6e17aee23337b95a27c182eb843d29e5a4b89755272acdcea2bf161b214444837186d9d020071c320d765a471d087db07737d85b2843ce81bf70f51b7466a21331c78af2c5da817faf9addcc486c1b9573920d0f8687fc1ac83929b1abe670d12ee20c700ff5dd5ef3d6bd6c5158888f5e478a522da7478c86815192fda340d5eb33315a97e5fd5983cfbd7d22c01ce7f585de30d77ecce1c55acba3790347d826c6538e9616a1b44f288a4e43846d4fc0f918a0a73efbc486f75ad208542e9de8fc5d1891069e46b805e45a2ae71883e32250e8d250b54e6e8d387b6f8019a751212433db218a6fdd146f02cf89df31758646fd37f7de2f403ca3cfaf52a051aa787e006f117fa66f9d2ee194468ce49bfef6169010c1ef2ab865c0f6b71f08985c1dc60451026ac902c85d2406aa3616516490b2f879598e16919ad5b95c49196f24cea409c920dc701c81c1289cb2586e81d477c009fd1baf204a2a197f8ab2226545ea64a8165927ad7b7f5a9c5a59e72f32b0e8cfa41cd207c92ea5fba88a9ba1a26f6677ba2d2f464581bc54ec54cba78830fdab0afebd12570e659261d1cb7fc41e4076cb0f2019efcf0f31e3185197f859924649da0db5544bfd648063e0bdf3a16f3108368ac8853aa98fbb87966f85d62bdd77aa6a6efb55580ac023aefb3c6b798536b9ac1310bfd6542501647ebc7feb4e94b61e5fad867917abd7940584b7e29b82e562ed63db15e2b68155bb6a52ca28a80a0fb5063ef2a71c53b5f5264adef7bf6f12b3e46d95629b21c9ebaa315afb1e57dfebf9a3553ce9b1ab59c54cf31a15ce79c2091f7c66c2b7199504363bc1d40d187f920e3db76d37b5060785b6588dcb00b4a1eb7efcdf0ac454b6f77d8289ed1dda737b777951d40177b2ea503d72f2bd97e8ba558de0795fb15106c2074da03e875208ead703361308034ea00abe37a2daf22fcd17feb6584083d29cb93b5fd14eda4a94f54c9b63a9e628316e1b712242164fb74028e41c23391b6724042a66c2a52a4a081e46f59d5f1cb7bfe2e95bd50f56f92fe170c43b932332efa2b6d02765827686e442e326b694975b1da58530d4fe420fa3dd0bfdfa2149f579af8b0418fe00bb13f9ba854b1cf3d7a9261b8473320b1a3a5c2092f653ddfd9d1b79683faa5361468b4a7bf329dd67647104ca5e83f0bec4d7a1ea7b633acf7054ac57d32f43d707de57f533833f11e414b939e5cce282886e801118d1cf4419c743761c67b75782596146e657de6ed6e9c82178fbfcd5eb4549d61f7a2ffd9cbb75f95bfe517f4acc4913f9f3a0ee83c02f1153bd407550b37d7b56d39b6d26357531e14b1802f95c1634a6e1cf319b551ee110a76486551b33cf7fdc294c8804a34e4b444ef213ba2ab4e5345ebf8b5ea10b83b65f2dd74395b8537592a5747f00b135eb5840d0151a5f08c4bbf9230c23717c4c95104253febab4b9143acc8951f375504a3a64f7ef13326b254ea93629f3e7a798764aeb69eecb4f1698e1d41ff0627527a5dbfcaf0ea5185875248587348baf33df176a3296cf2840543ac4bb539065544ff3ae4b2783979f469f27788a01744efc68b54aa13bf6f2e345fb7af52ac5eb6df001a0ab4b458050befb8a2a6fc4b1984a0f912d07554599a08101199d754cb80b7c3a1e8fa27a6feb704ed8b410fac332048eeae237c96365b9684029bd6687979c19332fb569134c4c54d3779f1f25cd976e2f41cee1e4f9dff46424a216598103db0b58f0664f62c51287c1fdf37272eab06e42fc15085676fe90cc338ee4fef6870b31dbe31b926c578c2cb1b67483d9690dba7fd46240c525fef23be2f2690af815242250b1b46764d8f03e0b1b3b416b8d6b39d39e0f43a46df28a37800f266dffada811d45327c930e82971ba78f76f004d677a29f6b5080739bdd4ce3b2397d7662b381fcfd8af1292ab92a12af7b4e866e61d7f23b431f49656c82be41323b38bebf9bbd4225363017d2eeee737ab186c76fcfd93f0df9a99f58dd4e078f3c283692b3154690d39a3fe9c9d02c3b0aba8452c5b109f40ef7f0d2b11667c9de8deeab80f02218c5976d0a2587f3c38e8542d2131fdff5fc0066bd2079d494dccfb602ca43a6cdb0e090688a9560447993ae898fad94521b472b338160aae0163c8ddb4780313a1ddcb09b953ebb1669acd5465448c6b885cd5545c36161adb699e9070bbbadda229089d593300bf7ec3d694079c957d4e6327cb106c8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903b1842703b4253d4e037a5a17d8e57d436483cad532ff76eec92da8443c463d7310c99ee8eb2dd56e6f110587cdf4dc30878e7f427d27ab41c7637763099b064df0ecefb8ea6acaab244232415b92984735aac9b6ee3b3bf3df27c8bd885030farootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcloud-init-23.3-150100.8.82.3.src.rpmcloud-initcloud-init(x86-64)config(cloud-init)@@@@      /bin/bash/bin/sh/bin/sh/usr/bin/python3bashcloud-init-configconfig(cloud-init)dhcp-clientdmidecodee2fsprogsfilegrowpartnet-toolsopensshprocpspython(abi)python3-Jinja2python3-PyYAMLpython3-configobjpython3-jsonpatchpython3-jsonschemapython3-netifacespython3-oauthlibpython3-passlibpython3-pyserialpython3-requestspython3-serialpython3-setuptoolspython3-xmlrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)sudosystemdsystemdsystemdsystemdutil-linuxwgetwicked-service0.723.3-150100.8.82.33.65.0.23.0.4-14.6.0-14.0.4-14.0-15.2-14.14.1f]@f/f-fff[eZeԔ@eed@e|?eie#@d@dddJcd5KcU@c@ccFb@b8a)@a @a @`:@`r`m` @_@_@___u@___@^W@^^@^x^}^|@^{G^E:@^C^C^*@^!^@^]@]µ]@]@]@]@]@]]Z@]Z@]V];\\@\O\Z@\o@\o@\o@\R@\G\3?@[<@[ٙ@[Ѱ@[@[@[>@[3|@[@Z@ZZI@ZZ@Zp^@Zo Z`@Z]@Z'Z@Zr@Z@Z }Z@ZYYéYX@Y@YzY@XXX@X@X@X@XU(XOXN@XN@XJXIK@X@X>@X<@X5X43@X(UXX2@X@X@X=X=X=X=X=X@XXX`@W@WWڍ@W;W;W@WUeW(V@VU3@U\w@U>$U+TgT[@Tи@To)@rjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comfcrozat@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.commichal.vyskocil@gmail.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comsteven.kowalik@suse.comrjschwei@suse.comqydwhotmail@gmail.comalarrosa@suse.comrjschwei@suse.comrjschwei@suse.comjmassaguerpla@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.commloviska@suse.comjgleissner@suse.comjgleissner@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdimstar@opensuse.orgrjschwei@suse.comtchvatal@suse.comrjschwei@suse.comrjschwei@suse.competr.pavlu@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdimstar@opensuse.orgrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.combwiedemann@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comgmoro@suse.comdimstar@opensuse.orgrjschwei@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comkukuk@suse.dedmueller@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comkukuk@suse.derjschwei@suse.comkukuk@suse.dedmueller@suse.comdmueller@suse.comjgleissner@suse.comdmueller@suse.comkukuk@suse.dekukuk@suse.comkukuk@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.derjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.combwiedemann@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comjoachim.gleissner@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comtbechtold@suse.comrjschwei@suse.comtbechtold@suse.comtbechtold@suse.comreik.keutterling@nodefall.de- Add cloud-init-skip-rename.patch (bsc#1219680) + Brute force appraoch to skip renames if the device is already present- Add cloud-init-usr-sudoers.patch (bsc#1223469) + Handle the existence of /usr/etc/sudoers to search for the expected include location- Update cloud-init-no-openstack-guess.patch + Do not enable cloud-init on systems where there is no DMI just because no data source has been found. No data source means cloud-init will not run.- Add cloud-init-no-nmcfg-needed.patch (bsc#1221726) + Do not require a NetworkManager config file in order to detect NetworkManager as the renderer- Add cloud-init-no-openstack-guess.patch (bsc#1222113) + Do not guess if we are running on OpenStack or not. Only recognize the known markers and enable cloud-init if we know for sure.- Add cloud-init-ds-deterministic.patch (bsc#1221132) + Do not guess a data source when checking for a CloudStack environment- Hardcode distribution to suse for proper cloud.cfg generation (bsc#1220132).- Prepare for RPM 4.20 switch patch syntax- Add cloud-init-skip-empty-conf.patch + Skip tests with empty config- Add cloud-init-pckg-reboot.patch (boo#1198533, bsc#1218952, jsc#SMO-326) + Support reboot on package update/upgrade via the cloud-init config- Switch build dependency to the generic distribution-release package- Move fdupes call back to %install (boo#1214169)- Update to version 23.3 (bsc#1216011, bsc#1215794, bsc#1215740) + Remove patches included upstream: - cloud-init-fix-ca-test.patch - cloud-init-cve-2023-1786-redact-instance-data-json-main.patch - cloud-init-power-rhel-only.patch - cloud-init-flake8-fixes.patch + Add - cloud-init-keep-flake.patch - cloud-init-lint-fixes.patch + Update - cloud-init-write-routes.patch (bsc#1216007) + Bump pycloudlib to 1!5.1.0 for ec2 mantic daily image support (#4390) + Fix cc_keyboard in mantic (LP: #2030788) + ec2: initialize get_instance_userdata return value to bytes (#4387) [Noah Meyerhans] + cc_users_groups: Add doas/opendoas support (#4363) [dermotbradley] + Fix pip-managed ansible + status: treat SubState=running and MainPID=0 as service exited + azure/imds: increase read-timeout to 30s (#4372) [Chris Patterson] + collect-logs fix memory usage (SC-1590) (#4289) [Alec Warren] (LP: #1980150) + cc_mounts: Use fallocate to create swapfile on btrfs (#4369) [王煎饼] + Undocument nocloud-net (#4318) + feat(akamai): add akamai to settings.py and apport.py (#4370) + read-version: fallback to get_version when git describe fails (#4366) + apt: fix cloud-init status --wait blocking on systemd v 253 (#4364) + integration tests: Pass username to pycloudlib (#4324) + Bump pycloudlib to 1!5.1.0 (#4353) + cloud.cfg.tmpl: reorganise, minimise/reduce duplication (#4272) [dermotbradley] + analyze: fix (unexpected) timestamp parsing (#4347) [Mina Galić] + cc_growpart: fix tests to run on FreeBSD (#4351) [Mina Galić] + subp: Fix spurious test failure on FreeBSD (#4355) [Mina Galić] + cmd/clean: fix tests on non-Linux platforms (#4352) [Mina Galić] + util: Fix get_proc_ppid() on non-Linux systems (#4348) [Mina Galić] + cc_wireguard: make tests pass on FreeBSD (#4346) [Mina Galić] + unittests: fix breakage in test_read_cfg_paths_fetches_cached_datasource (#4328) [Ani Sinha] + Fix test_tools.py collection (#4315) + cc_keyboard: add Alpine support (#4278) [dermotbradley] + Flake8 fixes (#4340) [Robert Schweikert] + cc_mounts: Fix swapfile not working on btrfs (#4319) [王煎饼] (LP: #1884127) + ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281) [Wei Zhou] + ec2: Support double encoded userdata (#4276) [Noah Meyerhans] + cc_mounts: xfs is a Linux only FS (#4334) [Mina Galić] + tests/net: fix TestGetInterfaces' mock coverage for get_master (#4336) [Chris Patterson] + change openEuler to openeuler and fix some bugs in openEuler (#4317) [sxt1001] + Replace flake8 with ruff (#4314) + NM renderer: set default IPv6 addr-gen-mode for all interfaces to eui64 (#4291) [Ani Sinha] + cc_ssh_import_id: add Alpine support and add doas support (#4277) [dermotbradley] + sudoers not idempotent (SC-1589) (#4296) [Alec Warren] (LP: #1998539) + Added support for Akamai Connected Cloud (formerly Linode) (#4167) [Will Smith] + Fix reference before assignment (#4292) + Overhaul module reference page (#4237) [Sally] + replaced spaces with commas for setting passenv (#4269) [Alec Warren] + DS VMware: modify a few log level (#4284) [PengpengSun] + tools/read-version refactors and unit tests (#4268) + Ensure get_features() grabs all features (#4285) + Don't always require passlib dependency (#4274) + tests: avoid leaks into host system checking of ovs-vsctl cmd (#4275) + Fix NoCloud kernel commandline key parsing (#4273) + testing: Clear all LRU caches after each test (#4249) + Remove the crypt dependency (#2139) [Gonéri Le Bouder] + logging: keep current file mode of log file if its stricter than the new mode (#4250) [Ani Sinha] + Remove default membership in redundant groups (#4258) [Dave Jones] (LP: #1923363) + doc: improve datasource_creation.rst (#4262) + Remove duplicate Integration testing button (#4261) [Rishita Shaw] + tools/read-version: fix the tool so that it can handle version parsing errors (#4234) [Ani Sinha] + net/dhcp: add udhcpc support (#4190) [Jean-François Roche] + DS VMware: add i386 arch dir to deployPkg plugin search path [PengpengSun] + LXD moved from linuxcontainers.org to Canonical [Simon Deziel] + cc_mounts.py: Add note about issue with creating mounts inside mounts (#4232) [dermotbradley] + lxd: install lxd from snap, not deb if absent in image + landscape: use landscape-config to write configuration + Add deprecation log during init of DataSourceDigitalOcean (#4194) [tyb-truth] + doc: fix typo on apt.primary.arches (#4238) [Dan Bungert] + Inspect systemd state for cloud-init status (#4230) + instance-data: add system-info and features to combined-cloud-config (#4224) + systemd: Block login until config stage completes (#2111) (LP: #2013403) + tests: proposed should invoke apt-get install -t=-proposed (#4235) + cloud.cfg.tmpl: reinstate ca_certs entry (#4236) [dermotbradley] + Remove feature flag override ability (#4228) + tests: drop stray unrelated file presence test (#4227) + Update LXD URL (#4223) [Sally] + schema: add network v1 schema definition and validation functions + tests: daily PPA for devel series is version 99.daily update tests to match (#4225) + instance-data: write /run/cloud-init/combined-cloud-config.json + mount parse: Fix matching non-existent directories (#4222) [Mina Galić] + Specify build-system for pep517 (#4218) + Fix network v2 metric rendering (#4220) + Migrate content out of FAQ page (SD-1187) (#4205) [Sally] + setup: fix generation of init templates (#4209) [Mina Galić] + docs: Correct some bootcmd example wording + fix changelog + tests: reboot client to assert x-shellscript-per-boot is triggered + nocloud: parse_cmdline no longer detects nocloud-net datasource (#4204) (LP: 4203, #2025180) + Add docstring and typing to mergemanydict (#4200) + BSD: add dsidentify to early startup scripts (#4182) [Mina Galić] + handler: report errors on skipped merged cloud-config.txt parts (LP: #1999952) + Add cloud-init summit writeups (#4179) [Sally] + tests: Update test_clean_log for oci (#4187) + gce: improve ephemeral fallback NIC selection (CPC-2578) (#4163) + tests: pin pytest 7.3.1 to avoid adverse testpaths behavior (#4184) + Ephemeral Networking for FreeBSD (#2165) [Mina Galić] + Clarify directory syntax for nocloud local filesystem. (#4178) + Set default renderer as sysconfig for centos/rhel (#4165) [Ani Sinha] + Test static routes and netplan 0.106 + FreeBSD fix parsing of mount and mount options (#2146) [Mina Galić] + test: add tracking bug id (#4164) + tests: can't match MAC for LXD container veth due to netplan 0.106 (#4162) + Add kaiwalyakoparkar as a contributor (#4156) [Kaiwalya Koparkar] + BSD: remove datasource_list from cloud.cfg template (#4159) [Mina Galić] + launching salt-minion in masterless mode (#4110) [Denis Halturin] + tools: fix run-container builds for rockylinux/8 git hash mismatch (#4161) + fix doc lint: spellchecker tripped up (#4160) [Mina Galić] + Support Ephemeral Networking for BSD (#2127) + Added / fixed support for static routes on OpenBSD and FreeBSD (#2157) [Kadir Mueller] + cc_rsyslog: Refactor for better multi-platform support (#4119) [Mina Galić] (LP: #1798055) + tests: fix test_lp1835584 (#4154) + cloud.cfg mod names: docs and rename salt_minion and set_password (#4153) + tests: apt support for deb822 format .sources files on mantic + vultr: remove check_route check (#2151) [Jonas Chevalier] + Update SECURITY.md (#4150) [Indrranil Pawar] + Update CONTRIBUTING.rst (#4149) [Indrranil Pawar] + Update .github-cla-signers (#4151) [Indrranil Pawar] + Standardise module names in cloud.cfg.tmpl to only use underscore (#4128) [dermotbradley] + tests: update test_webhook_reporting + Modify PR template so autoclose works + doc: add missing semi-colon to nocloud cmdline docs (#4120) + .gitignore: extend coverage pattern (#4143) [Mina Galić] From 23.2.2 + Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271) (LP: #2028562) + Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784) From 23.2.1 + nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204) (Fixes: 4203) (LP: #2025180) From 23.2 + BSD: simplify finding MBR partitions by removing duplicate code [Mina Galić] + tests: bump pycloudlib version for mantic builds + network-manager: Set higher autoconnect priority for nm keyfiles (#3671) [Ani Sinha] + alpine.py: change the locale file used (#4139) [dermotbradley] + cc_ntp: Sync up with current FreeBSD ntp.conf (#4122) [Mina Galić] + config: drop refresh_rmc_and_interface as RHEL 7 no longer supported [Robert Schweikert] + docs: Add feedback button to docs + net/sysconfig: enable sysconfig renderer if network manager has ifcfg-rh plugin (#4132) [Ani Sinha] + For Alpine use os-release PRETTY_NAME (#4138) [dermotbradley] + network_manager: add a method for ipv6 static IP configuration (#4127) [Ani Sinha] + correct misnamed template file host.mariner.tmpl (#4124) [dermotbradley] + nm: generate ipv6 stateful dhcp config at par with sysconfig (#4115) [Ani Sinha] + Add templates for GitHub Issues + Add 'peers' and 'allow' directives in cc_ntp (#3124) [Jacob Salmela] + FreeBSD: Fix user account locking (#4114) [Mina Galić] (GH: #1854594) + FreeBSD: add ResizeGrowFS class to cc_growpart (#2334) [Mina Galić] + Update tests in Azure TestCanDevBeReformatted class (#2771) [Ksenija Stanojevic] + Replace Launchpad references with GitHub Issues + Fix KeyError in iproute pformat (#3287) [Dmitry Zykov] + schema: read_cfg_paths call init.fetch to lookup /v/l/c/instance + azure/errors: introduce reportable errors for imds (#3647) [Chris Patterson] + FreeBSD (and friends): better identify MBR slices (#2168) [Mina Galić] (LP: #2016350) + azure/errors: add host reporting for dhcp errors (#2167) [Chris Patterson] + net: purge blacklist_drivers across net and azure (#2160) [Chris Patterson] + net: refactor hyper-v VF filtering and apply to get_interfaces() (#2153) [Chris Patterson] + tests: avoid leaks to underlying filesystem for /etc/cloud/clean.d (#2251) + net: refactor find_candidate_nics_on_linux() to use get_interfaces() (#2159) [Chris Patterson] + resolv_conf: Allow > 3 nameservers (#2152) [Major Hayden] + Remove mount NTFS error message (#2134) [Ksenija Stanojevic] + integration tests: fix image specification parsing (#2166) + ci: add hypothesis scheduled GH check (#2149) + Move supported distros list to docs (#2162) + Fix logger, use instance rather than module function (#2163) + README: Point to Github Actions build status (#2158) + Revert "fix linux-specific code on bsd (#2143)" (#2161) + Do not generate dsa and ed25519 key types when crypto FIPS mode is enabled (#2142) [Ani Sinha] (LP: 2017761) + Add documentation label automatically (#2156) + sources/azure: report success to host and introduce kvp module (#2141) [Chris Patterson] + setup.py: use pkg-config for udev/rules path (#2137) [dankm] + openstack/static: honor the DNS servers associated with a network (#2138) [Gonéri Le Bouder] + fix linux-specific code on bsd (#2143) + cli: schema validation of jinja template user-data (SC-1385) (#2132) (LP: #1881925) + gce: activate network discovery on every boot (#2128) + tests: update integration test to assert 640 across reboots (#2145) + Make user/vendor data sensitive and remove log permissions (#2144) (LP: #2013967) + Update kernel command line docs (SC-1457) (#2133) + docs: update network configuration path links (#2140) [d1r3ct0r] + sources/azure: report failures to host via kvp (#2136) [Chris Patterson] + net: Document use of `ip route append` to add routes (#2130) + dhcp: Add missing mocks (#2135) + azure/imds: retry fetching metadata up to 300 seconds (#2121) [Chris Patterson] + [1/2] DHCP: Refactor dhcp client code (#2122) + azure/errors: treat traceback_base64 as string (#2131) [Chris Patterson] + azure/errors: introduce reportable errors (#2129) [Chris Patterson] + users: schema permit empty list to indicate create no users + azure: introduce identity module (#2116) [Chris Patterson] + Standardize disabling cloud-init on non-systemd (#2112) + Update .github-cla-signers (#2126) [Rob Tongue] + NoCloud: Use seedfrom protocol to determine mode (#2107) + rhel: Remove sysvinit files. (#2114) + tox.ini: set -vvvv --showlocals for pytest (#2104) [Chris Patterson] + Fix NoCloud kernel commandline semi-colon args + run-container: make the container/VM timeout configurable (#2118) [Paride Legovini] + suse: Remove sysvinit files. (#2115) + test: Backport assert_call_count for old requests (#2119) + Add "licebmi" as contributor (#2113) [Mark Martinez] + Adapt DataSourceScaleway to upcoming IPv6 support (#2033) [Louis Bouchard] + rhel: make sure previous-hostname file ends with a new line (#2108) [Ani Sinha] + Adding contributors for DataSourceAkamai (#2110) [acourdavAkamai] + Cleanup ephemeral IP routes on exception (#2100) [sxt1001] + commit 09a64badfb3f51b1b391fa29be19962381a4bbeb [sxt1001] (LP: #2011291) + Standardize kernel commandline user interface (#2093) + config/cc_resizefs: fix do_resize arguments (#2106) [Chris Patterson] + Fix test_dhclient_exits_with_error (#2105) + net/dhcp: catch dhclient failures and raise NoDHCPLeaseError (#2083) [Chris Patterson] + sources/azure: move pps handling out of _poll_imds() (#2075) [Chris Patterson] + tests: bump pycloudlib version (#2102) + schema: do not manipulate draft4 metaschema for jsonschema 2.6.0 (#2098) + sources/azure/imds: don't count timeout errors as connection errors (#2074) [Chris Patterson] + Fix Python 3.12 unit test failures (#2099) + integration tests: Refactor instance checking (#1989) + ci: migrate remaining jobs from travis to gh (#2085) + missing ending quote in instancedata docs(#2094) [Hong L] + refactor: stop passing log instances to cc_* handlers (#2016) [d1r3ct0r] + tests/vmware: fix test_no_data_access_method failure (#2092) [Chris Patterson] + Don't change permissions of netrules target (#2076) (LP: #2011783) + tests/sources: patch util.get_cmdline() for datasource tests (#2091) [Chris Patterson] + macs: ignore duplicate MAC for devs with driver driver qmi_wwan (#2090) (LP: #2008888) + Fedora: Enable CA handling (#2086) [František Zatloukal] + Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa] + cc_ansible: complete the examples and doc (#2082) [Yves] + bddeb: for dev package, derive debhelper-compat from host system + apport: only prompt for cloud_name when instance-data.json is absent + datasource: Optimize datasource detection, fix bugs (#2060) + Handle non existent ca-cert-config situation (#2073) [Shreenidhi Shedi] + sources/azure: add networking check for all source PPS (#2061) [Chris Patterson] + do not attempt dns resolution on ip addresses (#2040) + chore: fix style tip (#2071) + Fix metadata IP in instancedata.rst (#2063) [Brian Haley] + util: Pass deprecation schedule in deprecate_call() (#2064) + config: Update grub-dpkg docs (#2058) + docs: Cosmetic improvements and styling (#2057) [s-makin] + cc_grub_dpkg: Added UEFI support (#2029) [Alexander Birkner] + tests: Write to /var/spool/rsyslog to adhere to apparmor profile (#2059) + oracle-ds: prefer system_cfg over ds network config source (#1998) (LP: #1956788) + Remove dead code (#2038) + source: Force OpenStack when it is only option (#2045) (LP: #2008727) + cc_ubuntu_advantage: improve UA logs discovery + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson] + tests: fix test_schema (#2042) + dhcp: Cleanup unused kwarg (#2037) + sources/vmware/imc: fix-missing-catch-few-negtive-scenarios (#2027) [PengpengSun] + dhclient_hook: remove vestigal dhclient_hook command (#2015) + log: Add standardized deprecation tooling (SC-1312) (#2026) + Enable SUSE based distros for ca handling (#2036) [Robert Schweikert] From 23.1.2 + Make user/vendor data sensitive and remove log permissions (LP: #2013967) (CVE-2023-1786) From 23.1.1 + source: Force OpenStack when it is only option (#2045) + sources/azure: fix regressions in IMDS behavior (#2041) [Chris Patterson]- Add cloud-init-flake8-fixes.patch - Revert chnages from previous commit + Disabling checks the primary maintainer enabled for specific reasons is not a fix.- update to 23.1.2: * Make user/vendor data sensitive and remove log permissions * source: Force OpenStack when it is only option (#2045) * sources/azure: fix regressions in IMDS behavior - drop cloud-init-cve-2023-1786-redact-instance-data-json-main.patch (upstream) - spec-file cleanups, including dropping flake8 (as build fails with newer flake8 versions)- Update cloud-init-write-routes.patch (bsc#1212879) + Add necessary import statement - Enable flake8 linting, fix up patches + cloud-init-cve-2023-1786-redact-instance-data-json-main.patch + cloud-init-power-rhel-only.patch + cloud-init-write-routes.patch + datasourceLocalDisk.patch- Add cloud-init-power-rhel-only.patch (bsc#1210273) + Config module cc_refresh_rmc_and_interface is implemented such that it will only work on RH distros. Set the module availability accordingly.- Sensitive data exposure (bsc#1210277, CVE-2023-1786) + Add hidesensitivedata + Add cloud-init-cve-2023-1786-redact-inst-data.patch + Do not expose sensitive data gathered from the CSP- Update to version 23.1 + Remove patches included upstream: - cloud-init-btrfs-queue-resize.patch - cloud-init-micro-is-suse.patch - cloud-init-suse-afternm.patch - cloud-init-prefer-nm.patch - cloud-init-transact-up.patch + Forward port - cloud-init-write-routes.patch + Added - cloud-init-fix-ca-test.patch + Support transactional-updates for SUSE based distros (#1997) [Robert Schweikert] + Set ownership for new folders in Write Files Module (#1980) [Jack] (LP: #1990513) + add OpenCloudOS and TencentOS support (#1964) [wynnfeng] + lxd: Retry if the server isn't ready (#2025) + test: switch pycloudlib source to pypi (#2024) + test: Fix integration test deprecation message (#2023) + Recognize opensuse-microos, dev tooling fixes [Robert Schweikert] + sources/azure: refactor imds handler into own module (#1977) [Chris Patterson] + docs: deprecation generation support [1/2] (#2013) + add function is_virtual to distro/FreeBSD (#1957) [Mina Galić] + cc_ssh: support multiple hostcertificates (#2018) (LP: #1999164) + Fix minor schema validation regression and fixup typing (#2017) + doc: Reword user data debug section (#2019) + Overhaul/rewrite of certificate handling as follows: (#1962) [dermotbradley] (LP: #1931174) + disk_setup: use byte string when purging the partition table (#2012) [Stefan Prietl] + cli: schema also validate vendordata*. + ci: sort and add checks for cla signers file [Stefan Prietl] + Add "ederst" as contributor (#2010) [Stefan Prietl] + readme: add reference to packages dir (#2001) + docs: update downstream package list (#2002) + docs: add google search verification (#2000) [s-makin] + docs: fix 404 render use default notfound_urls_prefix in RTD conf (#2004) + Fix OpenStack datasource detection on bare metal (#1923) [Alexander Birkner] (LP: #1815990) + docs: add themed RTD 404 page and pointer to readthedocs-hosted (#1993) + schema: fix gpt labels, use type string for GUID (#1995) + cc_disk_setup: code cleanup (#1996) + netplan: keep custom strict perms when 50-cloud-init.yaml exists + cloud-id: better handling of change in datasource files [d1r3ct0r] (LP: #1998998) + tests: Remove restart check from test + Ignore duplicate macs from mscc_felix and fsl_enetc (LP: #1997922) + Warn on empty network key (#1990) + Fix Vultr cloud_interfaces usage (#1986) [eb3095] + cc_puppet: Update puppet service name (#1970) [d1r3ct0r] (LP: #2002969) + docs: Clarify networking docs (#1987) + lint: remove httpretty (#1985) [sxt1001] + cc_set_passwords: Prevent traceback when restarting ssh (#1981) + tests: fix lp1912844 (#1978) + tests: Skip ansible test on bionic (#1984) + Wait for NetworkManager (#1983) [Robert Schweikert] + docs: minor polishing (#1979) [s-makin] + CI: migrate integration-test to GH actions (#1969) + Fix permission of SSH host keys (#1971) [Ron Gebauer] + Fix default route rendering on v2 ipv6 (#1973) (LP: #2003562) + doc: fix path in net_convert command (#1975) + docs: update net_convert docs (#1974) + doc: fix dead link + cc_set_hostname: ignore /var/lib/cloud/data/set-hostname if it's empty (#1967) [Emanuele Giuseppe Esposito] + distros/rhel.py: _read_hostname() missing strip on "hostname" (#1941) [Mark Mielke] + integration tests: add IBM VPC support (SC-1352) (#1915) + machine-id: set to uninitialized to trigger regeneration on clones (LP: #1999680) + sources/azure: retry on connection error when fetching metdata (#1968) [Chris Patterson] + Ensure ssh state accurately obtained (#1966) + bddeb: drop dh-systemd dependency on newer deb-based releases [d1r3ct0r] + doc: fix `config formats` link in cloudsigma.rst (#1960) + Fix wrong subp syntax in cc_set_passwords.py (#1961) + docs: update the PR template link to readthedocs (#1958) [d1r3ct0r] + ci: switch unittests to gh actions (#1956) + Add mount_default_fields for PhotonOS. (#1952) [Shreenidhi Shedi] + sources/azure: minor refactor for metadata source detection logic (#1936) [Chris Patterson] + add "CalvoM" as contributor (#1955) [d1r3ct0r] + ci: doc to gh actions (#1951) + lxd: handle 404 from missing devices route for LXD 4.0 (LP: #2001737) + docs: Diataxis overhaul (#1933) [s-makin] + vultr: Fix issue regarding cache and region codes (#1938) [eb3095] + cc_set_passwords: Move ssh status checking later (SC-1368) (#1909) (LP: #1998526) + Improve Wireguard module idempotency (#1940) [Fabian Lichtenegger-Lukas] + network/netplan: add gateways as on-link when necessary (#1931) [Louis Sautier] (LP: #2000596) + tests: test_lxd assert features.networks.zones when present (#1939) + Use btrfs enquque when available (#1926) [Robert Schweikert] + sources/azure: drop description for report_failure_to_fabric() (#1934) [Chris Patterson] + cc_disk_setup.py: fix MBR single partition creation (#1932) [dermotbradley] (LP: #1851438) + Fix typo with package_update/package_upgrade (#1927) [eb3095] + sources/azure: fix device driver matching for net config (#1914) [Chris Patterson] + BSD: fix duplicate macs in Ifconfig parser (#1917) [Mina Galić] + test: mock dns calls (#1922) + pycloudlib: add lunar support for integration tests (#1928) + nocloud: add support for dmi variable expansion for seedfrom URL (LP: #1994980) + tools: read-version drop extra call to git describe --long + doc: improve cc_write_files doc (#1916) + read-version: When insufficient tags, use cloudinit.version.get_version + mounts: document weird prefix in schema (#1913) + add utility function test cases (#1910) [sxt1001] + test: mock file deletion in dhcp tests (#1911) + Ensure network ready before cloud-init service runs on RHEL (#1893) (LP: #1998655) + docs: add copy button to code blocks (#1890) [s-makin] + netplan: define features.NETPLAN_CONFIG_ROOT_READ_ONLY flag + azure: fix support for systems without az command installed (#1908) + Networking Clarification (#1892) + Fix the distro.osfamily output problem in the openEuler system. (#1895) [sxt1001] (LP: #1999042) + pycloudlib: bump commit dropping azure api smoke test + net: netplan config root read-only as wifi config can contain creds + autoinstall: clarify docs for users + sources/azure: encode health report as utf-8 (#1897) [Chris Patterson] + Add back gateway4/6 deprecation to docs (#1898) + networkd: Add support for multiple [Route] sections (#1868) [Nigel Kukard] + doc: add qemu tutorial (#1863) + lint: fix tip-flake8 and tip-mypy (#1896) + Add support for setting uid when creating users on FreeBSD (#1888) [einsibjarni] + Fix exception in BSD networking code-path (#1894) [Mina Galić] + Append derivatives to is_rhel list in cloud.cfg.tmpl (#1887) [Louis Abel] + FreeBSD init: use cloudinit_enable as only rcvar (#1875) [Mina Galić] + feat: add support aliyun metadata security harden mode (#1865) [Manasseh Zhou] + docs: uprate analyze to performance page [s-makin] + test: fix lxd preseed managed network config (#1881) + Add support for static IPv6 addresses for FreeBSD (#1839) [einsibjarni] + Make 3.12 failures not fail the build (#1873) + Docs: adding relative links [s-makin] + Update read-version + Fix setup.py to align with PEP 440 versioning replacing trailing + travis: promote 3.11-dev to 3.11 (#1866) + test_cloud_sigma: delete useless test (#1828) [sxt1001] + Add "nkukard" as contributor (#1864) [Nigel Kukard] + tests: ds-id mocks for vmware-rpctool as utility may not exist in env + doc: add how to render new module doc (#1855) + doc: improve module creation explanation (#1851) + Add Support for IPv6 metadata to OpenStack (#1805) [Marvin Vogt] (LP: #1906849) + add xiaoge1001 to .github-cla-signers (#1854) [sxt1001] + network: Deprecate gateway{4,6} keys in network config v2 (#1794) (LP: #1992512) + VMware: Move Guest Customization transport from OVF to VMware (#1573) [PengpengSun] + doc: home page links added (#1852) [s-makin] From 22.4.2 + status: handle ds not defined in status.json (#1876) (LP: #1997559) From 22.4.1 + net: skip duplicate mac check for netvsc nic and its VF (#1853) [Anh Vo] (LP: #1844191) + ChangeLog: whitespace cleanup (#1850) + changelog: capture 22.3.1-4 releases- Add cloud-init-transact-up.patch to support transactional-updates- Add cloud-init-prefer-nm.patch + Prefer NetworkManager of sysconfig when available - Remove six dependency (bsc#1198269)- Update to version 22.4 (bsc#1201010) + Remove patches included upstream: - cloud-init-vmware-test.patch - cloud-init-sysctl-not-in-bin.patch + Forward port: - cloud-init-write-routes.patch - cloud-init-break-resolv-symlink.patch - cloud-init-sysconf-path.patch - cloud-init-no-tempnet-oci.patch + Add cloud-init-btrfs-queue-resize.patch (bsc#1171511) + Add cloud-init-micro-is-suse.patch (bsc#1203393) [Martin Petersen] + Add cloud-init-suse-afternm.patch + test: fix pro integration test [Alberto Contreras] + cc_disk_setup: pass options in correct order to utils (#1829) [dermotbradley] + tests: text_lxd basic_preseed verify_clean_log (#1826) + docs: switch sphinx theme to furo (SC-1327) (#1821) [Alberto Contreras] + tests: activate Ubuntu Pro tests (only on Jenkins) (#1777) [Alberto Contreras] + tests: test_lxd assert features.storage.buckets when present (#1827) + tests: replace missed ansible install-method with underscore (#1825) + tests: replace ansible install-method with underscore + ansible: standardize schema keys + ci: run json tool on 22.04 rather than 20.04 (#1823) + Stop using devices endpoint for LXD network config (#1819) + apport: address new curtin log and config locations (#1812) + cc_grub: reword docs for clarity (#1818) + tests: Fix preseed test (#1820) + Auto-format schema (#1810) + Ansible Control Module (#1778) + Fix last reported event possibly not being sent (#1796) (LP: #1993836) + tests: Ignore unsupported lxd project keys (#1817) [Alberto Contreras] + udevadm settle should handle non-udev system gracefully (#1806) [dermotbradley] + add mariner support (#1780) [Minghe Ren] + Net: add BSD ifconfig(8) parser and state class (#1779) [Mina Galić] + adding itjamie to .github-cla-signers [Jamie (Bear) Murphy] + Fix inconsistency between comment and statement (#1809) [Guillaume Gay] + Update .github-cla-signers (#1811) [Guillaume Gay] + alpine.py: Add Alpine-specific manage_service function and update tests (#1804) [dermotbradley] + test: add 3.12-dev to Travis CI (#1798) [Alberto Contreras] + add NWCS datasource (#1793) [shell-skrimp] + Adding myself as CLA signer (#1799) [s-makin] + apport: fix some data collection failures due to symlinks (#1797) [Dan Bungert] + read-version: Make it compatible with bionic (#1795) [Alberto Contreras] + lxd: add support for lxd preseed config(#1789) + Enable hotplug for LXD datasource (#1787) + cli: collect logs and apport subiquity support + add support for Container-Optimized OS (#1748) [vteratipally] + test: temporarily disable failing integration test (#1792) + Fix LXD/nocloud detection on lxd vm tests (#1791) + util: Implement __str__ and __iter__ for Version (#1790) + cc_ua: consume ua json api for enable commands [Alberto Contreras] + Add clarity to cc_final_message docs (#1788) + cc_ntp: add support for BSDs (#1759) [Mina Galić] (LP: #1990041) + make Makefile make agnostic (#1786) [Mina Galić] + Remove hardcoding and unnecessary overrides in Makefile (#1783) [Joseph Mingrone] + Add my username (Jehops) to .github-cla-signers (#1784) [Joseph Mingrone] + Temporarily remove broken test (#1781) + Create reference documentation for base config + cc_ansible: add support for galaxy install (#1736) + distros/manage_services: add support to disable service (#1772) [Mina Galić] (LP: #1991024) + OpenBSD: remove pkg_cmd_environ function (#1773) [Mina Galić] (LP: 1991567) + docs: Correct typo in the FAQ (#1774) [Maximilian Wörner] + tests: Use LXD metadata to determine NoCloud status (#1776) + analyze: use init-local as start of boot record (#1767) [Chris Patterson] + docs: use opensuse for distro name in package doc (#1771) + doc: clarify packages as dev only (#1769) [Alberto Contreras] + Distro manage service: Improve BSD support (#1758) [Mina Galić] (LP: #1990070) + testing: check logs for critical errors (#1765) [Chris Patterson] + cc_ubuntu_advantage: Handle already attached on Pro [Alberto Contreras] + doc: Add configuration explanation (SC-1169) + Fix Oracle DS primary interface when using IMDS (#1757) (LP: #1989686) + style: prefer absolute imports over relative imports [Mina Galić] + tests: Fix ip log during instance destruction (#1755) [Alberto Contreras] + cc_ubuntu_advantage: add ua_config in auto-attach [Alberto Contreras] + apt configure: sources write/append mode (#1738) [Fabian Lichtenegger-Lukas] + networkd: Add test and improve typing. (#1747) [Alberto Contreras] + pycloudlib: bump commit for gce cpu architecture support (#1750) + commit ffcb29bc8315d1e1d6244eeb1cbd8095958f7bad (LP: #1307667) + testing: workaround LXD vendor data (#1740) + support dhcp{4,6}-overrides in networkd renderer (#1710) [Aidan Obley] + tests: Drop httpretty in favor of responses (#1720) [Alberto Contreras] + cc_ubuntu_advantage: Implement custom auto-attach behaviors (#1583) [Alberto Contreras] + Fix Oracle DS not setting subnet when using IMDS (#1735) (LP: #1989686) + testing: focal lxd datasource discovery (#1734) + cc_ubuntu_advantage: Redact token from logs (#1726) [Alberto Contreras] + docs: make sure echo properly evaluates the string (#1733) [Mina Galić] + net: set dhclient lease and pid files (#1715) + cli: status machine-readable output --format yaml/json (#1663) (LP: #1883122) + tests: Simplify does_not_raise (#1731) [Alberto Contreras] + Refactor: Drop inheritance from object (#1728) [Alberto Contreras] + testing: LXD datasource now supported on Focal (#1732) + Allow jinja templating in /etc/cloud (SC-1170) (#1722) (LP: #1913461) + sources/azure: ensure instance id is always correct (#1727) [Chris Patterson] + azure: define new attribute for pre-22.3 pickles (#1725) + doc: main page Diátaxis rewording (SC-967) (#1701) + ubuntu advantage: improved idempotency, enable list is now strict + [Fabian Lichtenegger-Lukas] + test: bump pycloudlib (#1724) [Alberto Contreras] + cloud.cfg.tmpl: make sure "centos" settings are identical to "rhel" (#1639) [Emanuele Giuseppe Esposito] + lxd: fetch 1.0/devices content (#1712) [Alberto Contreras] + Update docs according to ad8f406a (#1719) + testing: Port unittests/analyze to pytest (#1708) [Alberto Contreras] + doc: Fix rtd builds. (#1718) [Alberto Contreras] + testing: fully mock noexec calls (#1717) [Alberto Contreras] + typing: Add types to cc_.handle (#1700) [Alberto Contreras] + Identify 3DS Outscale Datasource as Ec2 (#1686) [Maxime Dufour] + config: enable bootstrapping pip in ansible (#1707) + Fix cc_chef typing issue (#1716) + Refactor instance json files to use Paths (SC-1238) (#1709) + tools: read-version check GITHUB_REF and git branch --show-current (#1677) + net: Ensure a tmp with exec permissions for dhcp (#1690) [Alberto Contreras] (LP: #1962343) + testing: Fix test regression in test_combined (#1713) [Alberto Contreras] + Identify Huawei Cloud as OpenStack (#1689) [huang xinjie] + doc: add reporting suggestion to FAQ (SC-1236) (#1698) From 22.3 + sources: obj.pkl cache should be written anyime get_data is run (#1669) + schema: drop release number from version file (#1664) + pycloudlib: bump to quiet azure HTTP info logs (#1668) + test: fix wireguard integration tests (#1666) + Github is deprecating the 18.04 runner starting 12.1 (#1665) + integration tests: Ensure one setup for all tests (#1661) + tests: ansible test fixes (#1660) + Prevent concurrency issue in test_webhook_hander.py (#1658) + Workaround net_setup_link race with udev (#1655) (LP: #1983516) + test: drop erroneous lxd assertion, verify command succeeded (#1657) + Fix Chrony usage on Centos Stream (#1648) [Sven Haardiek] (LP: #1885952) + sources/azure: handle network unreachable errors for savable PPS (#1642) [Chris Patterson] + Return cc_set_hostname to PER_INSTANCE frequency (#1651) (LP: #1983811) + test: Collect integration test time by default (#1638) + test: Drop forced package install hack in lxd integration test (#1649) + schema: Resolve user-data if --system given (#1644) [Alberto Contreras] (LP: #1983306) + test: use fake filesystem to avoid file removal (#1647) [Alberto Contreras] + tox: Fix tip-flake8 and tip-mypy (#1635) [Alberto Contreras] + config: Add wireguard config module (#1570) [Fabian Lichtenegger-Lukas] + tests: can run without azure-cli, tests expect inactive ansible (#1643) + typing: Type UrlResponse.contents (#1633) [Alberto Contreras] + testing: fix references to `DEPRECATED.` (#1641) [Alberto Contreras] + ssh_util: Handle sshd_config.d folder [Alberto Contreras] (LP: #1968873) + schema: Enable deprecations in cc_update_etc_hosts (#1631) [Alberto Contreras] + Add Ansible Config Module (#1579) + util: Support Idle process state in get_proc_ppid() (#1637) + schema: Enable deprecations in cc_growpart (#1628) [Alberto Contreras] + schema: Enable deprecations in cc_users_groups (#1627) [Alberto Contreras] + util: Fix error path and parsing in get_proc_ppid() + main: avoid downloading full contents cmdline urls (#1606) [Alberto Contreras] (LP: #1937319) + schema: Enable deprecations in cc_scripts_vendor (#1629) [Alberto Contreras] + schema: Enable deprecations in cc_set_passwords (#1630) [Alberto Contreras] + sources/azure: add experimental support for preprovisioned os disks (#1622) [Chris Patterson] + Remove configobj a_to_u calls (#1632) [Stefano Rivera] + cc_debug: Drop this module (#1614) [Alberto Contreras] + schema: add aggregate descriptions in anyOf/oneOf (#1636) + testing: migrate test_sshutil to pytest (#1617) [Alberto Contreras] + testing: Fix test_ca_certs integration test (#1626) [Alberto Contreras] + testing: add support for pycloudlib's pro images (#1604) [Alberto Contreras] + testing: migrate test_cc_set_passwords to pytest (#1615) [Alberto Contreras] + network: add system_info network activator cloud.cfg overrides (#1619) (LP: #1958377) + docs: Align git remotes with uss-tableflip setup (#1624) [Alberto Contreras] + testing: cover active config module checks (#1609) [Alberto Contreras] + lxd: lvm avoid thinpool when kernel module absent + lxd: enable MTU configuration in cloud-init + doc: pin doc8 to last passing version + cc_set_passwords fixes (#1590) + Modernise importer.py and type ModuleDetails (#1605) [Alberto Contreras] + config: Def activate_by_schema_keys for t-z (#1613) [Alberto Contreras] + config: define activate_by_schema_keys for p-r mods (#1611) [Alberto Contreras] + clean: add param to remove /etc/machine-id for golden image creation + config: define `activate_by_schema_keys` for a-f mods (#1608) [Alberto Contreras] + config: define activate_by_schema_keys for s mods (#1612) [Alberto Contreras] + sources/azure: reorganize tests for network config (#1586) + [Chris Patterson] + config: Define activate_by_schema_keys for g-n mods (#1610) [Alberto Contreras] + meta-schema: add infra to skip inapplicable modules [Alberto Contreras] + sources/azure: don't set cfg["password"] for default user pw (#1592) [Chris Patterson] + schema: activate grub-dpkg deprecations (#1600) [Alberto Contreras] + docs: clarify user password purposes (#1593) + cc_lxd: Add btrfs and lvm lxd storage options (SC-1026) (#1585) + archlinux: Fix distro naming[1] (#1601) [Kristian Klausen] + cc_ubuntu_autoinstall: support live-installer autoinstall config + clean: allow third party cleanup scripts in /etc/cloud/clean.d (#1581) + sources/azure: refactor chassis asset tag handling (#1574) [Chris Patterson] + Add "netcho" as contributor (#1591) [Kaloyan Kotlarski] + testing: drop impish support (#1596) [Alberto Contreras] + black: fix missed formatting issue which landed in main (#1594) + bsd: Don't assume that root user is in root group (#1587) + docs: Fix comment typo regarding use of packages (#1582) [Peter Mescalchin] + Update govc command in VMWare walkthrough (#1576) [manioo8] + Update .github-cla-signers (#1588) [Daniel Mullins] + Rename the openmandriva user to omv (#1575) [Bernhard Rosenkraenzer] + sources/azure: increase read-timeout to 60 seconds for wireserver (#1571) [Chris Patterson] + Resource leak cleanup (#1556) + testing: remove appereances of FakeCloud (#1584) [Alberto Contreras] + Fix expire passwords for hashed passwords (#1577) [Sadegh Hayeri] (LP: #1979065) + mounts: fix suggested_swapsize for > 64GB hosts (#1569) [Steven Stallion] + Update chpasswd schema to deprecate password parsing (#1517) + tox: Remove entries from default envlist (#1578) (LP: #1980854) + tests: add test for parsing static dns for existing devices (#1557) [Jonas Konrad] + testing: port cc_ubuntu_advantage test to pytest (#1559) [Alberto Contreras] + Schema deprecation handling (#1549) [Alberto Contreras] + Enable pytest to run in parallel (#1568) + sources/azure: refactor ovf-env.xml parsing (#1550) [Chris Patterson] + schema: Force stricter validation (#1547) + ubuntu advantage config: http_proxy, https_proxy (#1512) [Fabian Lichtenegger-Lukas] + net: fix interface matching support (#1552) (LP: #1979877) + Fuzz testing jsonchema (#1499) [Alberto Contreras] + testing: Wait for changed boot-id in test_status.py (#1548) + CI: Fix GH pinned-format jobs (#1558) [Alberto Contreras] + Typo fix (#1560) [Jaime Hablutzel] + tests: mock dns lookup that causes long timeouts (#1555) + tox: add unpinned env for do_format and check_format (#1554) + cc_ssh_import_id: Substitute deprecated warn (#1553) [Alberto Contreras] + Remove schema errors from log (#1551) (LP: #1978422) (CVE-2022-2084) + Update WebHookHandler to run as background thread (SC-456) (#1491) (LP: #1910552) + testing: Don't run custom cloud dir test on Bionic (#1542) + bash completion: update schema command (#1543) (LP: #1979547) + CI: add non-blocking run against the linters tip versions (#1531) [Paride Legovini] + Change groups within the users schema to support lists and strings (#1545) [RedKrieg] + make it clear which username should go in the contributing doc (#1546) + Pin setuptools for Travis (SC-1136) (#1540) + Fix LXD datasource crawl when BOOT enabled (#1537) + testing: Fix wrong path in dual stack test (#1538) + cloud-config: honor cloud_dir setting (#1523) [Alberto Contreras] (LP: #1976564) + Add python3-debconf to pkg-deps.json Build-Depends (#1535) [Alberto Contreras] + redhat spec: udev/rules.d lives under /usr/lib on rhel-based systems (#1536) + tests/azure: add test coverage for DisableSshPasswordAuthentication (#1534) [Chris Patterson] + summary: Add david-caro to the cla signers (#1527) [David Caro] + Add support for OpenMandriva (https://openmandriva.org/) (#1520) [Bernhard Rosenkraenzer] + tests/azure: refactor ovf creation (#1533) [Chris Patterson] + Improve DataSourceOVF error reporting when script disabled (#1525) [rong] + tox: integration-tests-jenkins: softfail if only some test failed (#1528) [Paride Legovini] + CI: drop linters from Travis CI (moved to GH Actions) (#1530) [Paride Legovini] + sources/azure: remove unused encoding support for customdata (#1526) [Chris Patterson] + sources/azure: remove unused metadata captured when parsing ovf (#1524) [Chris Patterson] + sources/azure: remove dscfg parsing from ovf-env.xml (#1522) [Chris Patterson] + Remove extra space from ec2 dual stack crawl message (#1521) + tests/azure: use namespaces in generated ovf-env.xml documents (#1519) [Chris Patterson] + setup.py: adjust udev/rules default path (#1513) [Emanuele Giuseppe Esposito] + Add python3-deconf dependency (#1506) [Alberto Contreras] + Change match macadress param for network v2 config (#1518) [Henrique Caricatti Capozzi] + sources/azure: remove unused userdata property from ovf (#1516) [Chris Patterson] + sources/azure: minor refactoring to network config generation (#1497) [Chris Patterson] + net: Implement link-local ephemeral ipv6 + Rename function to avoid confusion (#1501) + Fix cc_phone_home requiring 'tries' (#1500) (LP: #1977952) + datasources: replace networking functions with stdlib and cloudinit.net + code + Remove xenial references (#1472) [Alberto Contreras] + Oracle ds changes (#1474) [Alberto Contreras] (LP: #1967942) + improve runcmd docs (#1498) + add 3.11-dev to Travis CI (#1493) + Only run github actions on pull request (#1496) + Fix integration test client creation (#1494) [Alberto Contreras] + tox: add link checker environment, fix links (#1480) + cc_ubuntu_advantage: Fix doc (#1487) [Alberto Contreras] + cc_yum_add_repo: Fix repo id canonicalization (#1489) [Alberto Contreras] (LP: #1975818) + Add linitio as contributor in the project (#1488) [Kevin Allioli] + net-convert: use yaml.dump for debugging python NetworkState obj (#1484) (LP: #1975907) + test_schema: no relative $ref URLs, replace $ref with local path (#1486) + cc_set_hostname: do not write "localhost" when no hostname is given + (#1453) [Emanuele Giuseppe Esposito] + Update .github-cla-signers (#1478) [rong] + schema: write_files defaults, versions $ref full URL and add vscode (#1479) + docs: fix external links, add one more to the list (#1477) + doc: Document how to change module frequency (#1481) + tests: bump pycloudlib (#1482) + tests: bump pycloudlib pinned commit for kinetic Azure (#1476) + testing: fix test_status.py (#1475) + integration tests: If KEEP_INSTANCE = True, log IP (#1473) + Drop mypy excluded files (#1454) [Alberto Contreras] + Docs additions (#1470) + Add "formatting tests" to Github Actions + Remove unused arguments in function signature (#1471) + Changelog: correct errant classification of LP issues as GH (#1464) + Use Network-Manager and Netplan as default renderers for RHEL and Fedora (#1465) [Emanuele Giuseppe Esposito] From 22.2 + Fix test due to caplog incompatibility (#1461) [Alberto Contreras] + Align rhel custom files with upstream (#1431) [Emanuele Giuseppe Esposito] + cc_write_files: Improve schema. (#1460) [Alberto Contreras] + cli: Redact files with permission errors in commands (#1440) + [Alberto Contreras] (LP: #1953430) + Improve cc_set_passwords. (#1456) [Alberto Contreras] + testing: make fake cloud-init wait actually wait (#1459) + Scaleway: Fix network configuration for netplan 0.102 and later (#1455) [Maxime Corbin] + Fix 'ephmeral' typos in disk names(#1452) [Mike Hucka] + schema: version schema-cloud-config-v1.json (#1424) + cc_modules: set default meta frequency value when no config available (#1457) + Log generic warning on non-systemd systems. (#1450) [Alberto Contreras] + cc_snap.maybe_install_squashfuse no longer needed in Bionic++. (#1448) [Alberto Contreras] + Drop support of *-sk keys in cc_ssh (#1451) [Alberto Contreras] + testing: Fix console_log tests (#1437) + tests: cc_set_passoword update for systemd, non-systemd distros (#1449) + Fix bug in url_helper/dual_stack() logging (#1426) + schema: render schema paths from _CustomSafeLoaderWithMarks (#1391) + testing: Make integration tests kinetic friendly (#1441) + Handle error if SSH service no present. (#1422) [Alberto Contreras] (LP: #1969526) + Fix network-manager activator availability and order (#1438) + sources/azure: remove reprovisioning marker (#1414) [Chris Patterson] + upstart: drop vestigial support for upstart (#1421) + testing: Ensure NoCloud detected in test (#1439) + Update .github-cla-signers kallioli [Kevin Allioli] + Consistently strip top-level network key (#1417) (LP: #1906187) + testing: Fix LXD VM metadata test (#1430) + testing: Add NoCloud setup for NoCloud test (#1425) + Update linters and adapt code for compatibility (#1434) [Paride Legovini] + run-container: add support for LXD VMs (#1428) [Paride Legovini] + integration-reqs: bump pycloudlib pinned commit (#1427) [Paride Legovini] + Fix NoCloud docs (#1423) + Docs fixes (#1406) + docs: Add docs for module creation (#1415) + Remove cheetah from templater (#1416) + tests: verify_ordered_items fallback to re.escape if needed (#1420) + Misc module cleanup (#1418) + docs: Fix doc warnings and enable errors (#1419) [Alberto Contreras] (LP: #1876341) + Refactor cloudinit.sources.NetworkConfigSource to enum (#1413) [Alberto Contreras] (LP: #1874875) + Don't fail if IB and Ethernet devices 'collide' (#1411) + Use cc_* module meta defintion over hardcoded vars (SC-888) (#1385) + Fix cc_rsyslog.py initialization (#1404) [Alberto Contreras] + Promote cloud-init schema from devel to top level subcommand (#1402) + mypy: disable missing imports warning for httpretty (#1412) [Chris Patterson] + users: error when home should not be created AND ssh keys provided [Jeffrey 'jf' Lim] + Allow growpart to resize encrypted partitions (#1316) + Fix typo in integration_test.rst (#1405) [Alberto Contreras] + cloudinit.net refactor: apply_network_config_names (#1388) [Alberto Contreras] (LP: #1884602) + tests/azure: add fixtures for hardcoded paths (markers and data_dir) (#1399) [Chris Patterson] + testing: Add responses workaround for focal/impish (#1403) + cc_ssh_import_id: fix is_key_in_nested_dict to avoid early False + Fix ds-identify not detecting NoCloud seed in config (#1381) (LP: #1876375) + sources/azure: retry dhcp for failed processes (#1401) [Chris Patterson] + Move notes about refactorization out of CONTRIBUTING.rst (#1389) + Shave ~8ms off generator runtime (#1387) + Fix provisioning dhcp timeout to 20 minutes (#1394) [Chris Patterson] + schema: module example strict testing fix seed_random + cc_set_hostname: examples small typo (perserve vs preserve) [Wouter Schoot] + sources/azure: refactor http_with_retries to remove **kwargs (#1392) [Chris Patterson] + declare dependency on ssh-import-id (#1334) + drop references to old dependencies and old centos script + sources/azure: only wait for primary nic to be attached during restore (#1378) [Anh Vo] + cc_ntp: migrated legacy schema to cloud-init-schema.json (#1384) + Network functions refactor and bugfixes (#1383) + schema: add JSON defs for modules cc_users_groups (#1379) (LP: #1858930) + Fix doc typo (#1382) [Alberto Contreras] + Add support for dual stack IPv6/IPv4 IMDS to Ec2 (#1160) + Fix KeyError when rendering sysconfig IPv6 routes (#1380) (LP: #1958506) + Return a namedtuple from subp() (#1376) + Mypy stubs and other tox maintenance (SC-920) (#1374) + Distro Compatibility Fixes (#1375) + Pull in Gentoo patches (#1372) + schema: add json defs for modules U-Z (#1360) (LP: #1858928, #1858929, #1858931, #1858932) + util: atomically update sym links to avoid Suppress FileNotFoundError + when reading status (#1298) [Adam Collard] (LP: #1962150) + schema: add json defs for modules scripts-timezone (SC-801) (#1365) + docs: Add first tutorial (SC-900) (#1368) + BUG 1473527: module ssh-authkey-fingerprints fails Input/output error… (#1340) [Andrew Lee] (LP: #1473527) + add arch hosts template (#1371) + ds-identify: detect LXD for VMs launched from host with > 5.10 kernel (#1370) (LP: #1968085) + Support EC2 tags in instance metadata (#1309) [Eduardo Dobay] + schema: add json defs for modules e-install (SC-651) (#1366) + Improve "(no_create_home|system): true" test (#1367) [Jeffrey 'jf' Lim] + Expose https_proxy env variable to ssh-import-id cmd (#1333) [Michael Rommel] + sources/azure: remove bind/unbind logic for hot attached nic (#1332) [Chris Patterson] + tox: add types-* packages to check_format env (#1362) + tests: python 3.10 is showing up in cloudimages (#1364) + testing: add additional mocks to test_net tests (#1356) [yangzz-97] + schema: add JSON schema for mcollective, migrator and mounts modules (#1358) + Honor system locale for RHEL (#1355) [Wei Shi] + doc: Fix typo in cloud-config-run-cmds.txt example (#1359) [Ali Shirvani] + ds-identify: also discover LXD by presence from DMI board_name = LXD (#1311) + black: bump pinned version to 22.3.0 to avoid click dependency issues (#1357) + Various doc fixes (#1330) + testing: Add missing is_FreeBSD mock to networking test (#1353) + Add --no-update to add-apt-repostory call (SC-880) (#1337) + schema: add json defs for modules K-L (#1321) (LP: #1858899, #1858900, #1858901, #1858902) + docs: Re-order readthedocs install (#1354) + Stop cc_ssh_authkey_fingerprints from ALWAYS creating home (#1343) [Jeffrey 'jf' Lim] + docs: add jinja2 pin (#1352) + Vultr: Use find_candidate_nics, use ipv6 dns (#1344) [eb3095] + sources/azure: move get_ip_from_lease_value out of shim (#1324) [Chris Patterson] + Fix cloud-init status --wait when no datasource found (#1349) (LP: #1966085) + schema: add JSON defs for modules resize-salt (SC-654) (#1341) + Add myself as a future contributor (#1345) [Neal Gompa (ニール・ゴンパ)] + Update .github-cla-signers (#1342) [Jeffrey 'jf' Lim] + add Requires=cloud-init-hotplugd.socket in cloud-init-hotplugd.service + file (#1335) [yangzz-97] + Fix sysconfig render when set-name is missing (#1327) [Andrew Kutz] (LP: #1855945) + Refactoring helper funcs out of NetworkState (#1336) [Andrew Kutz] + url_helper: add tuple support for readurl timeout (#1328) [Chris Patterson] + Make fs labels match for ds-identify and docs (#1329) + Work around bug in LXD VM detection (#1325) + Remove redundant generator logs (#1318) + tox: set verbose flags for integration tests (#1323) [Chris Patterson] + net: introduce find_candidate_nics() (#1313) [Chris Patterson] + Revert "Ensure system_cfg read before ds net config on Oracle (#1174)" (#1326) + Add vendor_data2 support for ConfigDrive source (#1307) [cvstealth] + Make VMWare data source test host independent and expand testing (#1308) [Robert Schweikert] + Add json schemas for modules starting with P + sources/azure: remove lease file parsing (#1302) [Chris Patterson] + remove flaky test from ci (#1322) + ci: Switch to python 3.10 in Travis CI (#1320) + Better interface handling for Vultr, expect unexpected DHCP servers (#1297) [eb3095] + Remove unused init local artifact (#1315) + Doc cleanups (#1317) + docs improvements (#1312) + add support for jinja do statements, add unit test (#1314) [Paul Bruno] (LP: #1962759) + sources/azure: prevent tight loops for DHCP retries (#1285) [Chris Patterson] + net/dhcp: surface type of DHCP lease failure to caller (#1276) [Chris Patterson] + Stop hardcoding systemctl location (#1278) [Robert Schweikert] + Remove python2 syntax from docs (#1310) + [tools/migrate-lp-user-to-github] Rename master branch to main (#1301) [Adam Collard] + redhat: Depend on "hostname" package (#1288) [Lubomir Rintel] + Add native NetworkManager support (#1224) [Lubomir Rintel] + Fix link in CLA check to point to contribution guide. (#1299) [Adam Collard] + check for existing symlink while force creating symlink (#1281) [Shreenidhi Shedi] + Do not silently ignore integer uid (#1280) (LP: #1875772) + tests: create a IPv4/IPv6 VPC in Ec2 integration tests (#1291) + Integration test fix ppa (#1296) + tests: on official EC2. cloud-id actually startswith aws not ec2 (#1289) + test_ppa_source: accept both http and https URLs (#1292) [Paride Legovini] + Fix apt test on azure + add "lkundrak" as contributor [Lubomir Rintel] + Holmanb/integration test fix ppa (#1287) + Include missing subcommand in manpage (#1279) + Clean up artifacts from pytest, packaging, release with make clean (#1277) + sources/azure: ensure retries on IMDS request failure (#1271) [Chris Patterson] + sources/azure: removed unused savable PPS paths (#1268) [Chris Patterson] + integration tests: fix Azure failures (#1269) From 22.1 + sources/azure: report ready in local phase (#1265) [Chris Patterson] + sources/azure: validate IMDS network configuration metadata (#1257) [Chris Patterson] + docs: Add more details to runcmd docs (#1266) + use PEP 589 syntax for TypeDict (#1253) + mypy: introduce type checking (#1254) [Chris Patterson] + Fix extra ipv6 issues, code reduction and simplification (#1243) [eb3095] + tests: when generating crypted password, generate in target env (#1252) + sources/azure: address mypy/pyright typing complaints (#1245) [Chris Patterson] + Docs for x-shellscript* userdata (#1260) + test_apt_security: azure platform has specific security URL overrides (#1263) + tests: lsblk --json output changes mountpoint key to mountpoinst [] (#1261) + mounts: fix mount opts string for ephemeral disk (#1250) [Chris Patterson] + Shell script handlers by freq (#1166) [Chris Lalos] + minor improvements to documentation (#1259) [Mark Esler] + cloud-id: publish /run/cloud-init/cloud-id- files (#1244) + add "eslerm" as contributor (#1258) [Mark Esler] + sources/azure: refactor ssh key handling (#1248) [Chris Patterson] + bump pycloudlib (#1256) + sources/hetzner: Use EphemeralDHCPv4 instead of static configuration (#1251) [Markus Schade] + bump pycloudlib version (#1255) + Fix IPv6 netmask format for sysconfig (#1215) [Harald] (LP: #1959148) + sources/azure: drop debug print (#1249) [Chris Patterson] + tests: do not check instance.pull_file().ok() (#1246) + sources/azure: consolidate ephemeral DHCP configuration (#1229) [Chris Patterson] + cc_salt_minion freebsd fix for rc.conf (#1236) + sources/azure: fix metadata check in _check_if_nic_is_primary() (#1232) [Chris Patterson] + Add _netdev option to mount Azure ephemeral disk (#1213) [Eduardo Otubo] + testing: stop universally overwriting /etc/cloud/cloud.cfg.d (#1237) + Integration test changes (#1240) + Fix Gentoo Locales (#1205) + Add "slingamn" as contributor (#1235) [Shivaram Lingamneni] + integration: do not LXD bind mount /etc/cloud/cloud.cfg.d (#1234) + Integration testing docs and refactor (#1231) + vultr: Return metadata immediately when found (#1233) [eb3095] + spell check docs with spellintian (#1223) + docs: include upstream python version info (#1230) + Schema a d (#1211) + Move LXD to end ds-identify DSLIST (#1228) (LP: #1959118) + fix parallel tox execution (#1214) + sources/azure: refactor _report_ready_if_needed and _poll_imds (#1222) [Chris Patterson] + Do not support setting up archive.canonical.com as a source (#1219) [Steve Langasek] (LP: #1959343) + Vultr: Fix lo being used for DHCP, try next on cmd fail (#1208) [eb3095] + sources/azure: refactor _should_reprovision[_after_nic_attach]() logic (#1206) [Chris Patterson] + update ssh logs to show ssh private key gens pub and simplify code (#1221) [Steve Weber] + Remove mitechie from stale PR github action (#1217) + Include POST format in cc_phone_home docs (#1218) (LP: #1959149) + Add json parsing of ip addr show (SC-723) (#1210) + cc_rsyslog: fix typo in docstring (#1207) [Louis Sautier] + Update .github-cla-signers (#1204) [Chris Lalos] + sources/azure: drop unused case in _report_failure() (#1200) [Chris Patterson] + sources/azure: always initialize _ephemeral_dhcp_ctx on unpickle (#1199) [Chris Patterson] + Add support for gentoo templates and cloud.cfg (#1179) [vteratipally] + sources/azure: unpack ret tuple in crawl_metadata() (#1194) [Chris Patterson] + tests: focal caplog has whitespace indentation for multi-line logs (#1201) + Seek interfaces, skip dummy interface, fix region codes (#1192) [eb3095] + integration: test against the Ubuntu daily images (#1198) [Paride Legovini] + cmd: status and cloud-id avoid change in behavior for 'not run' (#1197) + tox: pass PYCLOUDLIB_* env vars into integration tests when present (#1196) + sources/azure: set ovf_is_accessible when OVF is read successfully (#1193) [Chris Patterson] + Enable OVF environment transport via ISO in example (#1195) [Megian] + sources/azure: consolidate DHCP variants to EphemeralDHCPv4WithReporting (#1190) [Chris Patterson] + Single JSON schema validation in early boot (#1175) + Add DatasourceOVF network-config propery to Ubuntu OVF example (#1184) [Megian] + testing: support pycloudlib config file (#1189) + Ensure system_cfg read before ds net config on Oracle (SC-720) (#1174) (LP: #1956788) + Test Optimization Proposal (SC-736) (#1188) + cli: cloud-id report not-run or disabled state as cloud-id (#1162) + Remove distutils usage (#1177) [Shreenidhi Shedi] + add .python-version to gitignore (#1186) + print error if datasource import fails (#1170) [Emanuele Giuseppe Esposito] + Add new config module to set keyboard layout (#1176) [maxnet] (LP: #1951593) + sources/azure: rename metadata_type -> MetadataType (#1181) [Chris Patterson] + Remove 3.5 and xenial support (SC-711) (#1167) + tests: mock LXD datasource detection in ds-identify on LXD containers (#1178) + pylint: silence errors on compat code for old jsonschema (#1172) [Paride Legovini] + testing: Add 3.10 Test Coverage (#1173) + Remove unittests from integration test job in travis (#1141) + Don't throw exceptions for empty cloud config (#1130) + bsd/resolv.d/ avoid duplicated entries (#1163) [Gonéri Le Bouder] + sources/azure: do not persist failed_desired_api_version flag (#1159) [Chris Patterson] + Update cc_ubuntu_advantage calls to assume-yes (#1158) [John Chittum] (LP: #1954842) + openbsd: properly restart the network on 7.0 (#1150) [Gonéri Le Bouder] + Add .git-blame-ignore-revs (#1161) + Adopt Black and isort (SC-700) (#1157) + Include dpkg frontend lock in APT_LOCK_FILES (#1153) + tests/cmd/query: fix test run as root and add coverage for defaults (#1156) [Chris Patterson] (LP: #1825027) + Schema processing changes (SC-676) (#1144) + Add dependency workaround for impish in bddeb (#1148) + netbsd: install new dep packages (#1151) [Gonéri Le Bouder] + find_devs_with_openbsd: ensure we return the last entry (#1149) [Gonéri Le Bouder] + sources/azure: remove unnecessary hostname bounce (#1143) [Chris Patterson] + find_devs/openbsd: accept ISO on disk (#1132) [Gonéri Le Bouder] + Improve error log message when mount failed (#1140) [Ksenija Stanojevic] + add KsenijaS as a contributor (#1145) [Ksenija Stanojevic] + travis - don't run integration tests if no deb (#1139) + factor out function for getting top level directory of cloudinit (#1136) + testing: Add deterministic test id (#1138) + mock sleep() in azure test (#1137) + Add miraclelinux support (#1128) [Haruki TSURUMOTO] + docs: Make MACs lowercase in network config (#1135) (LP: #1876941) + Add Strict Metaschema Validation (#1101) + update dead link (#1133) + cloudinit/net: handle two different routes for the same ip (#1124) [Emanuele Giuseppe Esposito] + docs: pin mistune dependency (#1134) + Reorganize unit test locations under tests/unittests (#1126) + Fix exception when no activator found (#1129) (LP: #1948681) + jinja: provide and document jinja-safe key aliases in instance-data (SC-622) (#1123) + testing: Remove date from final_message test (SC-638) (#1127) + Move GCE metadata fetch to init-local (SC-502) (#1122) + Fix missing metadata routes for vultr (#1125) [eb3095] + cc_ssh_authkey_fingerprints.py: prevent duplicate messages on console (#1081) [dermotbradley] + sources/azure: remove unused remnants related to agent command (#1119) [Chris Patterson] + github: update PR template's contributing URL (#1120) [Chris Patterson] + docs: Rename HACKING.rst to CONTRIBUTING.rst (#1118) + testing: monkeypatch system_info call in unit tests (SC-533) (#1117) + Fix Vultr timeout and wait values (#1113) [eb3095] + lxd: add preference for LXD cloud-init.* config keys over user keys (#1108) + VMware: source /etc/network/interfaces.d/* on Debian [chengcheng-chcheng] (LP: #1950136) + Add cjp256 as contributor (#1109) [Chris Patterson] + integration_tests: Ensure log directory exists before symlinking to it (#1110) + testing: add growpart integration test (#1104) + integration_test: Speed up CI run time (#1111) + Some miscellaneous integration test fixes (SC-606) (#1103) + tests: specialize lxd_discovery test for lxd_vm vendordata (#1106) + Add convenience symlink to integration test output (#1105) + Fix for set-name bug in networkd renderer (#1100) [Andrew Kutz] (LP: #1949407) + Wait for apt lock (#1034) (LP: #1944611) + testing: stop chef test from running on openstack (#1102) + alpine.py: add options to the apk upgrade command (#1089) [dermotbradley]- Update to version 21.4 (bsc#1192343, jsc#PM-3181) + Also include VMWare functionality for (jsc#PM-3175) + Remove patches included upstream: - cloud-init-purge-cache-py-ver-change.patch - cloud-init-update-test-characters-in-substitution-unit-test.patch + Forward port: - cloud-init-write-routes.patch - cloud-init-no-tempnet-oci.patch + Add cloud-init-vmware-test.patch - Test is system dependend, not properly mocked + Azure: fallback nic needs to be reevaluated during reprovisioning (#1094) [Anh Vo] + azure: pps imds (#1093) [Anh Vo] + testing: Remove calls to 'install_new_cloud_init' (#1092) + Add LXD datasource (#1040) + Fix unhandled apt_configure case. (#1065) [Brett Holman] + Allow libexec for hotplug (#1088) + Add necessary mocks to test_ovf unit tests (#1087) + Remove (deprecated) apt-key (#1068) [Brett Holman] (LP: #1836336) + distros: Remove a completed "TODO" comment (#1086) + cc_ssh.py: Add configuration for controlling ssh-keygen output (#1083) [dermotbradley] + Add "install hotplug" module (SC-476) (#1069) (LP: #1946003) + hosts.alpine.tmpl: rearrange the order of short and long hostnames (#1084) [dermotbradley] + Add max version to docutils + cloudinit/dmi.py: Change warning to debug to prevent console display (#1082) [dermotbradley] + remove unnecessary EOF string in disable-sshd-keygen-if-cloud-init-active.conf (#1075) [Emanuele Giuseppe Esposito] + Add module 'write-files-deferred' executed in stage 'final' (#916) [Lucendio] + Bump pycloudlib to fix CI (#1080) + Remove pin in dependencies for jsonschema (#1078) + Add "Google" as possible system-product-name (#1077) [vteratipally] + Update Debian security suite for bullseye (#1076) [Johann Queuniet] + Leave the details of service management to the distro (#1074) [Andy Fiddaman] + Fix typos in setup.py (#1059) [Christian Clauss] + Update Azure _unpickle (SC-500) (#1067) (LP: #1946644) + cc_ssh.py: fix private key group owner and permissions (#1070) [Emanuele Giuseppe Esposito] + VMware: read network-config from ISO (#1066) [Thomas Weißschuh] + testing: mock sleep in gce unit tests (#1072) + CloudStack: fix data-server DNS resolution (#1004) [Olivier Lemasle] (LP: #1942232) + Fix unit test broken by pyyaml upgrade (#1071) + testing: add get_cloud function (SC-461) (#1038) + Inhibit sshd-keygen@.service if cloud-init is active (#1028) [Ryan Harper] + VMWARE: search the deployPkg plugin in multiarch dir (#1061) [xiaofengw-vmware] (LP: #1944946) + Fix set-name/interface DNS bug (#1058) [Andrew Kutz] (LP: #1946493) + Use specified tmp location for growpart (#1046) [jshen28] + .gitignore: ignore tags file for ctags users (#1057) [Brett Holman] + Allow comments in runcmd and report failed commands correctly (#1049) [Brett Holman] (LP: #1853146) + tox integration: pass the *_proxy, GOOGLE_*, GCP_* env vars (#1050) [Paride Legovini] + Allow disabling of network activation (SC-307) (#1048) (LP: #1938299) + renderer: convert relative imports to absolute (#1052) [Paride Legovini] + Support ETHx_IP6_GATEWAY, SET_HOSTNAME on OpenNebula (#1045) [Vlastimil Holer] + integration-requirements: bump the pycloudlib commit (#1047) [Paride Legovini] + Allow Vultr to set MTU and use as-is configs (#1037) [eb3095] + pin jsonschema in requirements.txt (#1043) + testing: remove cloud_tests (#1020) + Add andgein as contributor (#1042) [Andrew Gein] + Make wording for module frequency consistent (#1039) [Nicolas Bock] + Use ascii code for growpart (#1036) [jshen28] + Add jshen28 as contributor (#1035) [jshen28] + Skip test_cache_purged_on_version_change on Azure (#1033) + Remove invalid ssh_import_id from examples (#1031) + Cleanup Vultr support (#987) [eb3095] + docs: update cc_disk_setup for fs to raw disk (#1017) + HACKING.rst: change contact info to James Falcon (#1030) + tox: bump the pinned flake8 and pylint version (#1029) [Paride Legovini] (LP: #1944414) + Add retries to DataSourceGCE.py when connecting to GCE (#1005) [vteratipally] + Set Azure to apply networking config every BOOT (#1023) + Add connectivity_url to Oracle's EphemeralDHCPv4 (#988) (LP: #1939603) + docs: fix typo and include sudo for report bugs commands (#1022) [Renan Rodrigo] (LP: #1940236) + VMware: Fix typo introduced in #947 and add test (#1019) [PengpengSun] + Update IPv6 entries in /etc/hosts (#1021) [Richard Hansen] (LP: #1943798) + Integration test upgrades for the 21.3-1 SRU (#1001) + Add Jille to tools/.github-cla-signers (#1016) [Jille Timmermans] + Improve ug_util.py (#1013) [Shreenidhi Shedi] + Support openEuler OS (#1012) [zhuzaifangxuele] + ssh_utils.py: ignore when sshd_config options are not key/value pairs (#1007) [Emanuele Giuseppe Esposito] + Set Azure to only update metadata on BOOT_NEW_INSTANCE (#1006) + cc_update_etc_hosts: Use the distribution-defined path for the hosts file (#983) [Andy Fiddaman] + Add CloudLinux OS support (#1003) [Alexandr Kravchenko] + puppet config: add the start_agent option (#1002) [Andrew Bogott] + Fix `make style-check` errors (#1000) [Shreenidhi Shedi] + Make cloud-id copyright year (#991) [Andrii Podanenko] + Add support to accept-ra in networkd renderer (#999) [Shreenidhi Shedi] + Update ds-identify to pass shellcheck (#979) [Andrew Kutz] + Azure: Retry dhcp on timeouts when polling reprovisiondata (#998) [aswinrajamannar] + testing: Fix ssh keys integration test (#992) - From 21.3 + Azure: During primary nic detection, check interface status continuously before rebinding again (#990) [aswinrajamannar] + Fix home permissions modified by ssh module (SC-338) (#984) (LP: #1940233) + Add integration test for sensitive jinja substitution (#986) + Ignore hotplug socket when collecting logs (#985) (LP: #1940235) + testing: Add missing mocks to test_vmware.py (#982) + add Zadara Edge Cloud Platform to the supported clouds list (#963) [sarahwzadara] + testing: skip upgrade tests on LXD VMs (#980) + Only invoke hotplug socket when functionality is enabled (#952) + Revert unnecesary lcase in ds-identify (#978) [Andrew Kutz] + cc_resolv_conf: fix typos (#969) [Shreenidhi Shedi] + Replace broken httpretty tests with mock (SC-324) (#973) + Azure: Check if interface is up after sleep when trying to bring it up (#972) [aswinrajamannar] + Update dscheck_VMware's rpctool check (#970) [Shreenidhi Shedi] + Azure: Logging the detected interfaces (#968) [Moustafa Moustafa] + Change netifaces dependency to 0.10.4 (#965) [Andrew Kutz] + Azure: Limit polling network metadata on connection errors (#961) [aswinrajamannar] + Update inconsistent indentation (#962) [Andrew Kutz] + cc_puppet: support AIO installations and more (#960) [Gabriel Nagy] + Add Puppet contributors to CLA signers (#964) [Noah Fontes] + Datasource for VMware (#953) [Andrew Kutz] + photon: refactor hostname handling and add networkd activator (#958) [sshedi] + Stop copying ssh system keys and check folder permissions (#956) [Emanuele Giuseppe Esposito] + testing: port remaining cloud tests to integration testing framework (SC-191) (#955) + generate contents for ovf-env.xml when provisioning via IMDS (#959) [Anh Vo] + Add support for EuroLinux 7 && EuroLinux 8 (#957) [Aleksander Baranowski] + Implementing device_aliases as described in docs (#945) [Mal Graty] (LP: #1867532) + testing: fix test_ssh_import_id.py (#954) + Add ability to manage fallback network config on PhotonOS (#941) [sshedi] + Add VZLinux support (#951) [eb3095] + VMware: add network-config support in ovf-env.xml (#947) [PengpengSun] + Update pylint to v2.9.3 and fix the new issues it spots (#946) [Paride Legovini] + Azure: mount default provisioning iso before try device listing (#870) [Anh Vo] + Document known hotplug limitations (#950) + Initial hotplug support (#936) + Fix MIME policy failure on python version upgrade (#934) + run-container: fixup the centos repos baseurls when using http_proxy (#944) [Paride Legovini] + tools: add support for building rpms on rocky linux (#940) + ssh-util: allow cloudinit to merge all ssh keys into a custom user file, defined in AuthorizedKeysFile (#937) [Emanuele Giuseppe Esposito] (LP: #1911680) + VMware: new "allow_raw_data" switch (#939) [xiaofengw-vmware] + bump pycloudlib version (#935) + add renanrodrigo as a contributor (#938) [Renan Rodrigo] + testing: simplify test_upgrade.py (#932) + freebsd/net_v1 format: read MTU from root (#930) [Gonéri Le Bouder] + Add new network activators to bring up interfaces (#919) + Detect a Python version change and clear the cache (#857) [Robert Schweikert] + cloud_tests: fix the Impish release name (#931) [Paride Legovini] + Removed distro specific network code from Photon (#929) [sshedi] + Add support for VMware PhotonOS (#909) [sshedi] + cloud_tests: add impish release definition (#927) [Paride Legovini] + docs: fix stale links rename master branch to main (#926) + Fix DNS in NetworkState (SC-133) (#923) + tests: Add 'adhoc' mark for integration tests (#925) + Fix the spelling of "DigitalOcean" (#924) [Mark Mercado] + Small Doc Update for ReportEventStack and Test (#920) [Mike Russell] + Replace deprecated collections.Iterable with abc replacement (#922) (LP: #1932048) + testing: OCI availability domain is now required (SC-59) (#910) + add DragonFlyBSD support (#904) [Gonéri Le Bouder] + Use instance-data-sensitive.json in jinja templates (SC-117) (#917) (LP: #1931392) + doc: Update NoCloud docs stating required files (#918) (LP: #1931577) + build-on-netbsd: don't pin a specific py3 version (#913) [Gonéri Le Bouder] + Create the log file with 640 permissions (#858) [Robert Schweikert] + Allow braces to appear in dhclient output (#911) [eb3095] + Docs: Replace all freenode references with libera (#912) + openbsd/net: flush the route table on net restart (#908) [Gonéri Le Bouder] + Add Rocky Linux support to cloud-init (#906) [Louis Abel] + Add "esposem" as contributor (#907) [Emanuele Giuseppe Esposito] + Add integration test for #868 (#901) + Added support for importing keys via primary/security mirror clauses (#882) [Paul Goins] (LP: #1925395) + [examples] config-user-groups expire in the future (#902) [Geert Stappers] + BSD: static network, set the mtu (#894) [Gonéri Le Bouder] + Add integration test for lp-1920939 (#891) + Fix unit tests breaking from new httpretty version (#903) + Allow user control over update events (#834) + Update test characters in substitution unit test (#893) + cc_disk_setup.py: remove UDEVADM_CMD definition as not used (#886) [dermotbradley] + Add AlmaLinux OS support (#872) [Andrew Lukoshko]- systemctl location (bsc#1193531) - Add cloud-init-sysctl-not-in-bin.patch - The sytemctl executable is not necessarily in '/bin'- Remove unneeded BuildRequires on python3-nose.- Update to version 21.2 (bsc#1186004) + Remove patches included upstream: - cloud-init-azure-def-usr-pass.patch - cloud-init-after-kvp.diff - cloud-init-recognize-hpc.patch - use_arroba_to_include_sudoers_directory-bsc_1181283.patch - cloud-init-bonding-opts.patch - cloud-init-log-file-mode.patch - cloud-init-no-pwd-in-log.patch - 0001-templater-drop-Jinja-Python-2-compatibility-shim.patch + Remove cloud-init-sle12-compat.patch, version in SLE 12 is frozen to 20.2 + Remove cloud-init-tests-set-exec.patch no longer needed + Forward port: - cloud-init-write-routes.patch - cloud-init-break-resolv-symlink.patch - cloud-init-sysconf-path.patch - cloud-init-no-tempnet-oci.patch + Add \r\n check for SSH keys in Azure (#889) + Revert "Add support to resize rootfs if using LVM (#721)" (#887) (LP: #1922742) + Add Vultaire as contributor (#881) [Paul Goins] + Azure: adding support for consuming userdata from IMDS (#884) [Anh Vo] + test_upgrade: modify test_upgrade_package to run for more sources (#883) + Fix chef module run failure when chef_license is set (#868) [Ben Hughes] + Azure: Retry net metadata during nic attach for non-timeout errs (#878) [aswinrajamannar] + Azure: Retrieve username and hostname from IMDS (#865) [Thomas Stringer] + Azure: eject the provisioning iso before reporting ready (#861) [Anh Vo] + Use `partprobe` to re-read partition table if available (#856) [Nicolas Bock] (LP: #1920939) + fix error on upgrade caused by new vendordata2 attributes (#869) (LP: #1922739) + add prefer_fqdn_over_hostname config option (#859) [hamalq] (LP: #1921004) + Emit dots on travis to avoid timeout (#867) + doc: Replace remaining references to user-scripts as a config module (#866) [Ryan Harper] + azure: Removing ability to invoke walinuxagent (#799) [Anh Vo] + Add Vultr support (#827) [David Dymko] + Fix unpickle for source paths missing run_dir (#863) [lucasmoura] (LP: #1899299) + sysconfig: use BONDING_MODULE_OPTS on SUSE (#831) [Jens Sandmann] + bringup_static_routes: fix gateway check (#850) [Petr Fedchenkov] + add hamalq user (#860) [hamalq] + Add support to resize rootfs if using LVM (#721) [Eduardo Otubo] (LP: #1799953) + Fix mis-detecting network configuration in initramfs cmdline (#844) (LP: #1919188) + tools/write-ssh-key-fingerprints: do not display empty header/footer (#817) [dermotbradley] + Azure helper: Ensure Azure http handler sleeps between retries (#842) [Johnson Shi] + Fix chef apt source example (#826) [timothegenzmer] + .travis.yml: generate an SSH key before running tests (#848) + write passwords only to serial console, lock down cloud-init-output.log (#847) (LP: #1918303) + Fix apt default integration test (#845) + integration_tests: bump pycloudlib dependency (#846) + Fix stack trace if vendordata_raw contained an array (#837) [eb3095] + archlinux: Fix broken locale logic (#841) [Kristian Klausen] (LP: #1402406) + Integration test for #783 (#832) + integration_tests: mount more paths IN_PLACE (#838) + Fix requiring device-number on EC2 derivatives (#836) (LP: #1917875) + Remove the vi comment from the part-handler example (#835) + net: exclude OVS internal interfaces in get_interfaces (#829) (LP: #1912844) + tox.ini: pass OS_* environment variables to integration tests (#830) + integration_tests: add OpenStack as a platform (#804) + Add flexibility to IMDS api-version (#793) [Thomas Stringer] + Fix the TestApt tests using apt-key on Xenial and Hirsute (#823) [Paride Legovini] (LP: #1916629) + doc: remove duplicate "it" from nocloud.rst (#825) [V.I. Wood] + archlinux: Use hostnamectl to set the transient hostname (#797) [Kristian Klausen] + cc_keys_to_console.py: Add documentation for recently added config key (#824) [dermotbradley] + Update cc_set_hostname documentation (#818) [Toshi Aoyama] From 21.1 + Azure: Support for VMs without ephemeral resource disks. (#800) [Johnson Shi] (LP: #1901011) + cc_keys_to_console: add option to disable key emission (#811) [Michael Hudson-Doyle] (LP: #1915460) + integration_tests: introduce lxd_use_exec mark (#802) + azure: case-insensitive UUID to avoid new IID during kernel upgrade (#798) (LP: #1835584) + stale.yml: don't ask submitters to reopen PRs (#816) + integration_tests: fix use of SSH agent within tox (#815) + integration_tests: add UPGRADE CloudInitSource (#812) + integration_tests: use unique MAC addresses for tests (#813) + Update .gitignore (#814) + Port apt cloud_tests to integration tests (#808) + integration_tests: fix test_gh626 on LXD VMs (#809) + Fix attempting to decode binary data in test_seed_random_data test (#806) + Remove wait argument from tests with session_cloud calls (#805) + Datasource for UpCloud (#743) [Antti Myyrä] + test_gh668: fix failure on LXD VMs (#801) + openstack: read the dynamic metadata group vendor_data2.json (#777) [Andrew Bogott] (LP: #1841104) + includedir in suoders can be prefixed by "arroba" (#783) [Jordi Massaguer Pla] + [VMware] change default max wait time to 15s (#774) [xiaofengw-vmware] + Revert integration test associated with reverted #586 (#784) + Add jordimassaguerpla as contributor (#787) [Jordi Massaguer Pla] + Add Rick Harding to CLA signers (#792) [Rick Harding] + HACKING.rst: add clarifying note to LP CLA process section (#789) + Stop linting cloud_tests (#791) + cloud-tests: update cryptography requirement (#790) [Joshua Powers] + Remove 'remove-raise-on-failure' calls from integration_tests (#788) + Use more cloud defaults in integration tests (#757) + Adding self to cla signers (#776) [Andrew Bogott] + doc: avoid two warnings (#781) [Dan Kenigsberg] + Use proper spelling for Red Hat (#778) [Dan Kenigsberg] + Add antonyc to .github-cla-signers (#747) [Anton Chaporgin] + integration_tests: log image serial if available (#772) + [VMware] Support cloudinit raw data feature (#691) [xiaofengw-vmware] + net: Fix static routes to host in eni renderer (#668) [Pavel Abalikhin] + .travis.yml: don't run cloud_tests in CI (#756) + test_upgrade: add some missing commas (#769) + cc_seed_random: update documentation and fix integration test (#771) (LP: #1911227) + Fix test gh-632 test to only run on NoCloud (#770) (LP: #1911230) + archlinux: fix package upgrade command handling (#768) [Bao Trinh] + integration_tests: add integration test for LP: #1910835 (#761) + Fix regression with handling of IMDS ssh keys (#760) [Thomas Stringer] + integration_tests: log cloud-init version in SUT (#758) + Add ajmyyra as contributor (#742) [Antti Myyrä] + net_convert: add some missing help text (#755) + Missing IPV6_AUTOCONF=no to render sysconfig dhcp6 stateful on RHEL (#753) [Eduardo Otubo] + doc: document missing IPv6 subnet types (#744) [Antti Myyrä] + Add example configuration for datasource `AliYun` (#751) [Xiaoyu Zhong] + integration_tests: add SSH key selection settings (#754) + fix a typo in man page cloud-init.1 (#752) [Amy Chen] + network-config-format-v2.rst: add Netplan Passthrough section (#750) + stale: re-enable post holidays (#749) + integration_tests: port ca_certs tests from cloud_tests (#732) + Azure: Add telemetry for poll IMDS (#741) [Johnson Shi] + doc: move testing section from HACKING to its own doc (#739) + No longer allow integration test failures on travis (#738) + stale: fix error in definition (#740) + integration_tests: set log-cli-level to INFO by default (#737) + PULL_REQUEST_TEMPLATE.md: use backticks around commit message (#736) + stale: disable check for holiday break (#735) + integration_tests: log the path we collect logs into (#733) + .travis.yml: add (most) supported Python versions to CI (#734) + integration_tests: fix IN_PLACE CLOUD_INIT_SOURCE (#731) + cc_ca_certs: add RHEL support (#633) [cawamata] + Azure: only generate config for NICs with addresses (#709) [Thomas Stringer] + doc: fix CloudStack configuration example (#707) [Olivier Lemasle] + integration_tests: restrict test_lxd_bridge appropriately (#730) + Add integration tests for CLI functionality (#729) + Integration test for gh-626 (#728) + Some test_upgrade fixes (#726) + Ensure overriding test vars with env vars works for booleans (#727) + integration_tests: port lxd_bridge test from cloud_tests (#718) + Integration test for gh-632. (#725) + Integration test for gh-671 (#724) + integration-requirements.txt: bump pycloudlib commit (#723) + Drop unnecessary shebang from cmd/main.py (#722) [Eduardo Otubo] + Integration test for LP: #1813396 and #669 (#719) + integration_tests: include timestamp in log output (#720) + integration_tests: add test for LP: #1898997 (#713) + Add integration test for power_state_change module (#717) + Update documentation for network-config-format-v2 (#701) [ggiesen] + sandbox CA Cert tests to not require ca-certificates (#715) [Eduardo Otubo] + Add upgrade integration test (#693) + Integration test for 570 (#712) + Add ability to keep snapshotted images in integration tests (#711) + Integration test for pull #586 (#706) + integration_tests: introduce skipping of tests by OS (#702) + integration_tests: introduce IntegrationInstance.restart (#708) + Add lxd-vm to list of valid integration test platforms (#705) + Adding BOOTPROTO = dhcp to render sysconfig dhcp6 stateful on RHEL (#685) [Eduardo Otubo] + Delete image snapshots created for integration tests (#682) + Parametrize ssh_keys_provided integration test (#700) [lucasmoura] + Drop use_sudo attribute on IntegrationInstance (#694) [lucasmoura] + cc_apt_configure: add riscv64 as a ports arch (#687) [Dimitri John Ledkov] + cla: add xnox (#692) [Dimitri John Ledkov] + Collect logs from integration test runs (#675) From 20.4.1 + Revert "ssh_util: handle non-default AuthorizedKeysFile config (#586)" From 20.4 + tox: avoid tox testenv subsvars for xenial support (#684) + Ensure proper root permissions in integration tests (#664) [James Falcon] + LXD VM support in integration tests (#678) [James Falcon] + Integration test for fallocate falling back to dd (#681) [James Falcon] + .travis.yml: correctly integration test the built .deb (#683) + Ability to hot-attach NICs to preprovisioned VMs before reprovisioning (#613) [aswinrajamannar] + Support configuring SSH host certificates. (#660) [Jonathan Lung] + add integration test for LP: #1900837 (#679) + cc_resizefs on FreeBSD: Fix _can_skip_ufs_resize (#655) [Mina Galić] (LP: #1901958, #1901958) + DataSourceAzure: push dmesg log to KVP (#670) [Anh Vo] + Make mount in place for tests work (#667) [James Falcon] + integration_tests: restore emission of settings to log (#657) + DataSourceAzure: update password for defuser if exists (#671) [Anh Vo] + tox.ini: only select "ci" marked tests for CI runs (#677) + Azure helper: Increase Azure Endpoint HTTP retries (#619) [Johnson Shi] + DataSourceAzure: send failure signal on Azure datasource failure (#594) [Johnson Shi] + test_persistence: simplify VersionIsPoppedFromState (#674) + only run a subset of integration tests in CI (#672) + cli: add + -system param to allow validating system user-data on a machine (#575) + test_persistence: add VersionIsPoppedFromState test (#673) + introduce an upgrade framework and related testing (#659) + add + -no-tty option to gpg (#669) [Till Riedel] (LP: #1813396) + Pin pycloudlib to a working commit (#666) [James Falcon] + DataSourceOpenNebula: exclude SRANDOM from context output (#665) + cloud_tests: add hirsute release definition (#662) + split integration and cloud_tests requirements (#652) + faq.rst: add warning to answer that suggests running `clean` (#661) + Fix stacktrace in DataSourceRbxCloud if no metadata disk is found (#632) [Scott Moser] + Make wakeonlan Network Config v2 setting actually work (#626) [dermotbradley] + HACKING.md: unify network-refactoring namespace (#658) [Mina Galić] + replace usage of dmidecode with kenv on FreeBSD (#621) [Mina Galić] + Prevent timeout on travis integration tests. (#651) [James Falcon] + azure: enable pushing the log to KVP from the last pushed byte (#614) [Moustafa Moustafa] + Fix launch_kwargs bug in integration tests (#654) [James Falcon] + split read_fs_info into linux & freebsd parts (#625) [Mina Galić] + PULL_REQUEST_TEMPLATE.md: expand commit message section (#642) + Make some language improvements in growpart documentation (#649) [Shane Frasier] + Revert ".travis.yml: use a known-working version of lxd (#643)" (#650) + Fix not sourcing default 50-cloud-init ENI file on Debian (#598) [WebSpider] + remove unnecessary reboot from gpart resize (#646) [Mina Galić] + cloudinit: move dmi functions out of util (#622) [Scott Moser] + integration_tests: various launch improvements (#638) + test_lp1886531: don't assume /etc/fstab exists (#639) + Remove Ubuntu restriction from PR template (#648) [James Falcon] + util: fix mounting of vfat on *BSD (#637) [Mina Galić] + conftest: improve docstring for disable_subp_usage (#644) + doc: add example query commands to debug Jinja templates (#645) + Correct documentation and testcase data for some user-data YAML (#618) [dermotbradley] + Hetzner: Fix instance_id / SMBIOS serial comparison (#640) [Markus Schade] + .travis.yml: use a known-working version of lxd (#643) + tools/build-on-freebsd: fix comment explaining purpose of the script (#635) [Mina Galić] + Hetzner: initialize instance_id from system-serial-number (#630) [Markus Schade] (LP: #1885527) + Explicit set IPV6_AUTOCONF and IPV6_FORCE_ACCEPT_RA on static6 (#634) [Eduardo Otubo] + get_interfaces: don't exclude Open vSwitch bridge/bond members (#608) [Lukas Märdian] (LP: #1898997) + Add config modules for controlling IBM PowerVM RMC. (#584) [Aman306] (LP: #1895979) + Update network config docs to clarify MAC address quoting (#623) [dermotbradley] + gentoo: fix hostname rendering when value has a comment (#611) [Manuel Aguilera] + refactor integration testing infrastructure (#610) [James Falcon] + stages: don't reset permissions of cloud-init.log every boot (#624) (LP: #1900837) + docs: Add how to use cloud-localds to boot qemu (#617) [Joshua Powers] + Drop vestigial update_resolve_conf_file function (#620) [Scott Moser] + cc_mounts: correctly fallback to dd if fallocate fails (#585) (LP: #1897099) + .travis.yml: add integration-tests to Travis matrix (#600) + ssh_util: handle non-default AuthorizedKeysFile config (#586) [Eduardo Otubo] + Multiple file fix for AuthorizedKeysFile config (#60) [Eduardo Otubo] + bddeb: new + -packaging-branch argument to pull packaging from branch (#576) [Paride Legovini] + Add more integration tests (#615) [lucasmoura] + DataSourceAzure: write marker file after report ready in preprovisioning (#590) [Johnson Shi] + integration_tests: emit settings to log during setup (#601) + integration_tests: implement citest tests run in Travis (#605) + Add Azure support to integration test framework (#604) [James Falcon] + openstack: consider product_name as valid chassis tag (#580) [Adrian Vladu] (LP: #1895976) + azure: clean up and refactor report_diagnostic_event (#563) [Johnson Shi] + net: add the ability to blacklist network interfaces based on driver during enumeration of physical network devices (#591) [Anh Vo] + integration_tests: don't error on cloud-init failure (#596) + integration_tests: improve cloud-init.log assertions (#593) + conftest.py: remove top-level import of httpretty (#599) + tox.ini: add integration-tests testenv definition (#595) + PULL_REQUEST_TEMPLATE.md: empty checkboxes need a space (#597) + add integration test for LP: #1886531 (#592) + Initial implementation of integration testing infrastructure (#581) [James Falcon] + Fix name of ntp and chrony service on CentOS and RHEL. (#589) [Scott Moser] (LP: #1897915) + Adding a PR template (#587) [James Falcon] + Azure parse_network_config uses fallback cfg when generate IMDS network cfg fails (#549) [Johnson Shi] + features: refresh docs for easier out-of-context reading (#582) + Fix typo in resolv_conf module's description (#578) [Wacław Schiller] + cc_users_groups: minor doc formatting fix (#577) + Fix typo in disk_setup module's description (#579) [Wacław Schiller] + Add vendor-data support to seedfrom parameter for NoCloud and OVF (#570) [Johann Queuniet] + boot.rst: add First Boot Determination section (#568) (LP: #1888858) + opennebula.rst: minor readability improvements (#573) [Mina Galić] + cloudinit: remove unused LOG variables (#574) + create a shutdown_command method in distro classes (#567) [Emmanuel Thomé] + user_data: remove unused constant (#566) + network: Fix type and respect name when rendering vlan in sysconfig. (#541) [Eduardo Otubo] (LP: #1788915, #1826608) + Retrieve SSH keys from IMDS first with OVF as a fallback (#509) [Thomas Stringer] + Add jqueuniet as contributor (#569) [Johann Queuniet] + distros: minor typo fix (#562) + Bump the integration-requirements versioned dependencies (#565) [Paride Legovini] + network-config-format-v1: fix typo in nameserver example (#564) [Stanislas] + Run cloud-init-local.service after the hv_kvp_daemon (#505) [Robert Schweikert] + Add method type hints for Azure helper (#540) [Johnson Shi] + systemd: add Before=shutdown.target when Conflicts=shutdown.target is used (#546) [Paride Legovini] + LXD: detach network from profile before deleting it (#542) [Paride Legovini] (LP: #1776958) + redhat spec: add missing BuildRequires (#552) [Paride Legovini] + util: remove debug statement (#556) [Joshua Powers] + Fix cloud config on chef example (#551) [lucasmoura] From 20.3 + Azure: Add netplan driver filter when using hv_netvsc driver (#539) [James Falcon] (LP: #1830740) + query: do not handle non-decodable non-gzipped content (#543) + DHCP sandboxing failing on noexec mounted /var/tmp (#521) [Eduardo Otubo] + Update the list of valid ssh keys. (#487) [Ole-Martin Bratteng] (LP: #1877869) + cmd: cloud-init query to handle compressed userdata (#516) (LP: #1889938) + Pushing cloud-init log to the KVP (#529) [Moustafa Moustafa] + Add Alpine Linux support. (#535) [dermotbradley] + Detect kernel version before swap file creation (#428) [Eduardo Otubo] + cli: add devel make-mime subcommand (#518) + user-data: only verify mime-types for TYPE_NEEDED and x-shellscript (#511) (LP: #1888822) + DataSourceOracle: retry twice (and document why we retry at all) (#536) + Refactor Azure report ready code (#468) [Johnson Shi] + tox.ini: pin correct version of httpretty in xenial{,-dev} envs (#531) + Support Oracle IMDSv2 API (#528) [James Falcon] + .travis.yml: run a doc build during CI (#534) + doc/rtd/topics/datasources/ovf.rst: fix doc8 errors (#533) + Fix 'Users and Groups' configuration documentation (#530) [sshedi] + cloudinit.distros: update docstrings of add_user and create_user (#527) + Fix headers for device types in network v2 docs (#532) [Caleb Xavier Berger] + Add AlexBaranowski as contributor (#508) [Aleksander Baranowski] + DataSourceOracle: refactor to use only OPC v1 endpoint (#493) + .github/workflows/stale.yml: s/Josh/Rick/ (#526) + Fix a typo in apt pipelining module (#525) [Xiao Liang] + test_util: parametrize devlist tests (#523) [James Falcon] + Recognize LABEL_FATBOOT labels (#513) [James Falcon] (LP: #1841466) + Handle additional identifier for SLES For HPC (#520) [Robert Schweikert] + Revert "test-requirements.txt: pin pytest to <6 (#512)" (#515) + test-requirements.txt: pin pytest to <6 (#512) + Add "tsanghan" as contributor (#504) [tsanghan] + fix brpm building (LP: #1886107) + Adding eandersson as a contributor (#502) [Erik Olof Gunnar Andersson] + azure: disable bouncing hostname when setting hostname fails (#494) [Anh Vo] + VMware: Support parsing DEFAULT-RUN-POST-CUST-SCRIPT (#441) [xiaofengw-vmware] + DataSourceAzure: Use ValueError when JSONDecodeError is not available (#490) [Anh Vo] + cc_ca_certs.py: fix blank line problem when removing CAs and adding new one (#483) [dermotbradley] + freebsd: py37-serial is now py37-pyserial (#492) [Gonéri Le Bouder] + ssh exit with non-zero status on disabled user (#472) [Eduardo Otubo] (LP: #1170059) + cloudinit: remove global disable of pylint W0107 and fix errors (#489) + networking: refactor wait_for_physdevs from cloudinit.net (#466) (LP: #1884626) + HACKING.rst: add pytest.param pytest gotcha (#481) + cloudinit: remove global disable of pylint W0105 and fix errors (#480) + Fix two minor warnings (#475) + test_data: fix faulty patch (#476) + cc_mounts: handle missing fstab (#484) (LP: #1886531) + LXD cloud_tests: support more lxd image formats (#482) [Paride Legovini] + Add update_etc_hosts as default module on *BSD (#479) [Adam Dobrawy] + cloudinit: fix tip-pylint failures and bump pinned pylint version (#478) + Added BirknerAlex as contributor and sorted the file (#477) [Alexander Birkner] + Update list of types of modules in cli.rst [saurabhvartak1982] + tests: use markers to configure disable_subp_usage (#473) + Add mention of vendor-data to no-cloud format documentation (#470) [Landon Kirk] + Fix broken link to OpenStack metadata service docs (#467) [Matt Riedemann] + Disable ec2 mirror for non aws instances (#390) [lucasmoura] (LP: #1456277) + cloud_tests: don't pass + -python-version to read-dependencies (#465) + networking: refactor is_physical from cloudinit.net (#457) (LP: #1884619) + Enable use of the caplog fixture in pytest tests, and add a cc_final_message test using it (#461) + RbxCloud: Add support for FreeBSD (#464) [Adam Dobrawy] + Add schema for cc_chef module (#375) [lucasmoura] (LP: #1858888) + test_util: add (partial) testing for util.mount_cb (#463) + .travis.yml: revert to installing ubuntu-dev-tools (#460) + HACKING.rst: add details of net refactor tracking (#456) + .travis.yml: rationalise installation of dependencies in host (#449) + Add dermotbradley as contributor. (#458) [dermotbradley] + net/networking: remove unused functions/methods (#453) + distros.networking: initial implementation of layout (#391) + cloud-init.service.tmpl: use "rhel" instead of "redhat" (#452) + Change from redhat to rhel in systemd generator tmpl (#450) [Eduardo Otubo] + Hetzner: support reading user-data that is base64 encoded. (#448) [Scott Moser] (LP: #1884071) + HACKING.rst: add strpath gotcha to testing gotchas section (#446) + cc_final_message: don't create directories when writing boot-finished (#445) (LP: #1883903) + .travis.yml: only store new schroot if something has changed (#440) + util: add ensure_dir_exists parameter to write_file (#443) + printing the error stream of the dhclient process before killing it (#369) [Moustafa Moustafa] + Fix link to the MAAS documentation (#442) [Paride Legovini] (LP: #1883666) + RPM build: disable the dynamic mirror URLs when using a proxy (#437) [Paride Legovini] + util: rename write_file's copy_mode parameter to preserve_mode (#439) + .travis.yml: use $TRAVIS_BUILD_DIR for lxd_image caching (#438) + cli.rst: alphabetise devel subcommands and add net-convert to list (#430) + Default to UTF-8 in /var/log/cloud-init.log (#427) [James Falcon] + travis: cache the chroot we use for package builds (#429) + test: fix all flake8 E126 errors (#425) [Joshua Powers] + Fixes KeyError for bridge with no "parameters:" setting (#423) [Brian Candler] (LP: #1879673) + When tools.conf does not exist, running cmd "vmware-toolbox-cmd config get deployPkg enable-custom-scripts", the return code will be EX_UNAVAILABLE(69), on this condition, it should not take it as error. (#413) [chengcheng-chcheng] + Document CloudStack data-server well-known hostname (#399) [Gregor Riepl] + test: move conftest.py to top-level, to cover tests/ also (#414) + Replace cc_chef is_installed with use of subp.is_exe. (#421) [Scott Moser] + Move runparts to subp. (#420) [Scott Moser] + Move subp into its own module. (#416) [Scott Moser] + readme: point at travis-ci.com (#417) [Joshua Powers] + New feature flag functionality and fix includes failing silently (#367) [James Falcon] (LP: #1734939) + Enhance poll imds logging (#365) [Moustafa Moustafa] + test: fix all flake8 E121 and E123 errors (#404) [Joshua Powers] + test: fix all flake8 E241 (#403) [Joshua Powers] + test: ignore flake8 E402 errors in main.py (#402) [Joshua Powers] + cc_grub_dpkg: determine idevs in more robust manner with grub-probe (#358) [Matthew Ruffell] (LP: #1877491) + test: fix all flake8 E741 errors (#401) [Joshua Powers] + tests: add groovy integration tests for ubuntu (#400) + Enable chef_license support for chef infra client (#389) [Bipin Bachhao] + testing: use flake8 again (#392) [Joshua Powers] + enable Puppet, Chef mcollective in default config (#385) [Mina Galić (deprecated: Igor Galić)] (LP: #1880279) + HACKING.rst: introduce .net + > Networking refactor section (#384) + Travis: do not install python3-contextlib2 (dropped dependency) (#388) [Paride Legovini] + HACKING: mention that .github-cla-signers is alpha-sorted (#380) + Add bipinbachhao as contributor (#379) [Bipin Bachhao] + cc_snap: validate that assertions property values are strings (#370) + conftest: implement partial disable_subp_usage (#371) + test_resolv_conf: refresh stale comment (#374) + cc_snap: apply validation to snap.commands properties (#364) + make finding libc platform independent (#366) [Mina Galić (deprecated: Igor Galić)] + doc/rtd/topics/faq: Updates LXD docs links to current site (#368) [TomP] + templater: drop Jinja Python 2 compatibility shim (#353) + cloudinit: minor pylint fixes (#360) + cloudinit: remove unneeded __future__ imports (#362) + migrating momousta lp user to Moustafa-Moustafa GitHub user (#361) [Moustafa Moustafa] + cloud_tests: emit dots on Travis while fetching images (#347) + Add schema to apt configure config (#357) [lucasmoura] (LP: #1858884) + conftest: add docs and tests regarding CiTestCase's subp functionality (#343) + analyze/dump: refactor shared string into variable (#350) + doc: update boot.rst with correct timing of runcmd (#351) + HACKING.rst: change contact info to Rick Harding (#359) [lucasmoura] + HACKING.rst: guide people to add themselves to the CLA file (#349) + HACKING.rst: more unit testing documentation (#354) + .travis.yml: don't run lintian during integration test package builds (#352) + Add test to ensure docs examples are valid cloud-init configs (#355) [James Falcon] (LP: #1876414) + make suse and sles support 127.0.1.1 (#336) [chengcheng-chcheng] + Create tests to validate schema examples (#348) [lucasmoura] (LP: #1876412) + analyze/dump: add support for Amazon Linux 2 log lines (#346) (LP: #1876323) + bsd: upgrade support (#305) [Gonéri Le Bouder] + Add lucasmoura as contributor (#345) [lucasmoura] + Add "therealfalcon" as contributor (#344) [James Falcon] + Adapt the package building scripts to use Python 3 (#231) [Paride Legovini] + DataSourceEc2: use metadata's NIC ordering to determine route-metrics (#342) (LP: #1876312) + .travis.yml: introduce caching (#329) + cc_locale: introduce schema (#335) + doc/rtd/conf.py: bump copyright year to 2020 (#341) + yum_add_repo: Add Centos to the supported distro list (#340)- Add cloud-init-update-test-characters-in-substitution-unit-test.patch to fix unit test fail in TestGetPackageMirrorInfo::test_substitution.- Add patch from upstream to remove python2 compatibility so cloud-init builds fine in Tumbleweed with a recent Jinja2 version. This patch is only applied in TW. * 0001-templater-drop-Jinja-Python-2-compatibility-shim.patch- Add cloud-init-log-file-mode.patch (bsc#1183939) + Change log file creation mode to 640 - Add cloud-init-no-pwd-in-log.patch (bsc#1184758, CVE-2021-3429) + Do not write the generated password to the log file - Add cloud-init-purge-cache-py-ver-change.patch- Add cloud-init-bonding-opts.patch (bsc#1184085) + Write proper bonding option configuration for SLE/openSUSE - Fix application and inclusion of use_arroba_to_include_sudoers_directory-bsc_1181283.patchfix (bsc#1181283)- Add use_arroba_to_include_sudoers_directory-bsc_1181283.patchfix (bsc#1181283) - Do not including sudoers.d directory twice- Update cloud-init-write-routes.patch (bsc#1180176) + Follow up to previous changes. Fix order of operations error to make gateway comparison between subnet configuration and route configuration valuable rather than self-comparing.- Add cloud-init-sle12-compat.patch (jsc#PM-2335) - Python 3.4 compatibility in setup.py - Disable some test for mock version compatibility- Add wget as a requirement (bsc#1178029) + wget is used in the CloudStack data source- Add cloud-init-azure-def-usr-pass.patch (bsc#1179150, bsc#1179151) + Properly set the password for the default user in all circumstances- Patch the full package version into the cloud-init version file- Update cloud-init-write-routes.patch (bsc#1177526) + Fix missing default route when dual stack network setup is used. Once a default route was configured for Ipv6 or IPv4 the default route configuration for the othre protocol was skipped.- Update cloud-init-write-routes.patch (bsc#1177526) + Avoid exception if no gateway information is present and warning is triggered for existing routing.- Update to version 20.2 (bsc#1174443, bsc#1174444) + Remove patches included upstream: - 0001-Make-tests-work-with-Python-3.8-139.patch - cloud-init-ostack-metadat-dencode.patch - cloud-init-use-different-random-src.diff - cloud-init-long-pass.patch - cloud-init-mix-static-dhcp.patch + Remove patches build switched to Python 3 for all distributions (jsc#PM-2335) - cloud-init-python2-sigpipe.patch - cloud-init-template-py2.patch + Add - cloud-init-after-kvp.diff - cloud-init-recognize-hpc.patch + doc/format: reference make-mime.py instead of an inline script (#334) + Add docs about creating parent folders (#330) [Adrian Wilkins] + DataSourceNoCloud/OVF: drop claim to support FTP (#333) (LP: #1875470) + schema: ignore spurious pylint error (#332) + schema: add json schema for write_files module (#152) + BSD: find_devs_with_ refactoring (#298) [Gonéri Le Bouder] + nocloud: drop work around for Linux 2.6 (#324) [Gonéri Le Bouder] + cloudinit: drop dependencies on unittest2 and contextlib2 (#322) + distros: handle a potential mirror filtering error case (#328) + log: remove unnecessary import fallback logic (#327) + .travis.yml: don't run integration test on ubuntu/* branches (#321) + More unit test documentation (#314) + conftest: introduce disable_subp_usage autouse fixture (#304) + YAML align indent sizes for docs readability (#323) [Tak Nishigori] + network_state: add missing space to log message (#325) + tests: add missing mocks for get_interfaces_by_mac (#326) (LP: #1873910) + test_mounts: expand happy path test for both happy paths (#319) + cc_mounts: fix incorrect format specifiers (#316) (LP: #1872836) + swap file "size" being used before checked if str (#315) [Eduardo Otubo] + HACKING.rst: add pytest version gotchas section (#311) + docs: Add steps to re-run cloud-id and cloud-init (#313) [Joshua Powers] + readme: OpenBSD is now supported (#309) [Gonéri Le Bouder] + net: ignore 'renderer' key in netplan config (#306) (LP: #1870421) + Add support for NFS/EFS mounts (#300) [Andrew Beresford] (LP: #1870370) + openbsd: set_passwd should not unlock user (#289) [Gonéri Le Bouder] + tools/.github-cla-signers: add beezly as CLA signer (#301) + util: remove unnecessary lru_cache import fallback (#299) + HACKING.rst: reorganise/update CLA signature info (#297) + distros: drop leading/trailing hyphens from mirror URL labels (#296) + HACKING.rst: add note about variable annotations (#295) + CiTestCase: stop using and remove sys_exit helper (#283) + distros: replace invalid characters in mirror URLs with hyphens (#291) (LP: #1868232) + rbxcloud: gracefully handle arping errors (#262) [Adam Dobrawy] + Fix cloud-init ignoring some misdeclared mimetypes in user-data. [Kurt Garloff] + net: ubuntu focal prioritize netplan over eni even if both present (#267) (LP: #1867029) + cloudinit: refactor util.is_ipv4 to net.is_ipv4_address (#292) + net/cmdline: replace type comments with annotations (#294) + HACKING.rst: add Type Annotations design section (#293) + net: introduce is_ip_address function (#288) + CiTestCase: remove now-unneeded parse_and_read helper method (#286) + .travis.yml: allow 30 minutes of inactivity in cloud tests (#287) + sources/tests/test_init: drop use of deprecated inspect.getargspec (#285) + setup.py: drop NIH check_output implementation (#282) + Identify SAP Converged Cloud as OpenStack [Silvio Knizek] + add Openbsd support (#147) [Gonéri Le Bouder] + HACKING.rst: add examples of the two test class types (#278) + VMWware: support to update guest info gc status if enabled (#261) [xiaofengw-vmware] + Add lp-to-git mapping for kgarloff (#279) + set_passwords: avoid chpasswd on BSD (#268) [Gonéri Le Bouder] + HACKING.rst: add Unit Testing design section (#277) + util: read_cc_from_cmdline handle urlencoded yaml content (#275) + distros/tests/test_init: add tests for _get_package_mirror_info (#272) + HACKING.rst: add links to new Code Review Process doc (#276) + freebsd: ensure package update works (#273) [Gonéri Le Bouder] + doc: introduce Code Review Process documentation (#160) + tools: use python3 (#274) + cc_disk_setup: fix RuntimeError (#270) (LP: #1868327) + cc_apt_configure/util: combine search_for_mirror implementations (#271) + bsd: boottime does not depend on the libc soname (#269) [Gonéri Le Bouder] + test_oracle,DataSourceOracle: sort imports (#266) + DataSourceOracle: update .network_config docstring (#257) + cloudinit/tests: remove unneeded with_logs configuration (#263) + .travis.yml: drop stale comment (#255) + .gitignore: add more common directories (#258) + ec2: render network on all NICs and add secondary IPs as static (#114) (LP: #1866930) + ec2 json validation: fix the reference to the 'merged_cfg' key (#256) [Paride Legovini] + releases.yaml: quote the Ubuntu version numbers (#254) [Paride Legovini] + cloudinit: remove six from packaging/tooling (#253) + util/netbsd: drop six usage (#252) + workflows: introduce stale pull request workflow (#125) + cc_resolv_conf: introduce tests and stabilise output across Python versions (#251) + fix minor issue with resolv_conf template (#144) [andreaf74] + doc: CloudInit also support NetBSD (#250) [Gonéri Le Bouder] + Add Netbsd support (#62) [Gonéri Le Bouder] + tox.ini: avoid substition syntax that causes a traceback on xenial (#245) + Add pub_key_ed25519 to cc_phone_home (#237) [Daniel Hensby] + Introduce and use of a list of GitHub usernames that have signed CLA (#244) + workflows/cla.yml: use correct username for CLA check (#243) + tox.ini: use xenial version of jsonpatch in CI (#242) + workflows: CLA validation altered to fail status on pull_request (#164) + tox.ini: bump pyflakes version to 2.1.1 (#239) + cloudinit: move to pytest for running tests (#211) + instance-data: add cloud-init merged_cfg and sys_info keys to json (#214) (LP: #1865969) + ec2: Do not fallback to IMDSv1 on EC2 (#216) + instance-data: write redacted cfg to instance-data.json (#233) (LP: #1865947) + net: support network-config:disabled on the kernel commandline (#232) (LP: #1862702) + ec2: only redact token request headers in logs, avoid altering request (#230) (LP: #1865882) + docs: typo fixed: dta → data [Alexey Vazhnov] + Fixes typo on Amazon Web Services (#217) [Nick Wales] + Fix docs for OpenStack DMI Asset Tag (#228) [Mark T. Voelker] (LP: #1669875) + Add physical network type: cascading to openstack helpers (#200) [sab-systems] + tests: add focal integration tests for ubuntu (#225) - From 20.1 (first vesrion after 19.4) + ec2: Do not log IMDSv2 token values, instead use REDACTED (#219) (LP: #1863943) + utils: use SystemRandom when generating random password. (#204) [Dimitri John Ledkov] + docs: mount_default_files is a list of 6 items, not 7 (#212) + azurecloud: fix issues with instances not starting (#205) (LP: #1861921) + unittest: fix stderr leak in cc_set_password random unittest output. (#208) + cc_disk_setup: add swap filesystem force flag (#207) + import sysvinit patches from freebsd-ports tree (#161) [Igor Galić] + docs: fix typo (#195) [Edwin Kofler] + sysconfig: distro-specific config rendering for BOOTPROTO option (#162) [Robert Schweikert] (LP: #1800854) + cloudinit: replace "from six import X" imports (except in util.py) (#183) + run-container: use 'test -n' instead of 'test ! -z' (#202) [Paride Legovini] + net/cmdline: correctly handle static ip= config (#201) [Dimitri John Ledkov] (LP: #1861412) + Replace mock library with unittest.mock (#186) + HACKING.rst: update CLA link (#199) + Scaleway: Fix DatasourceScaleway to avoid backtrace (#128) [Louis Bouchard] + cloudinit/cmd/devel/net_convert.py: add missing space (#191) + tools/run-container: drop support for python2 (#192) [Paride Legovini] + Print ssh key fingerprints using sha256 hash (#188) (LP: #1860789) + Make the RPM build use Python 3 (#190) [Paride Legovini] + cc_set_password: increase random pwlength from 9 to 20 (#189) (LP: #1860795) + .travis.yml: use correct Python version for xenial tests (#185) + cloudinit: remove ImportError handling for mock imports (#182) + Do not use fallocate in swap file creation on xfs. (#70) [Eduardo Otubo] (LP: #1781781) + .readthedocs.yaml: install cloud-init when building docs (#181) (LP: #1860450) + Introduce an RTD config file, and pin the Sphinx version to the RTD default (#180) + Drop most of the remaining use of six (#179) + Start removing dependency on six (#178) + Add Rootbox & HyperOne to list of cloud in README (#176) [Adam Dobrawy] + docs: add proposed SRU testing procedure (#167) + util: rename get_architecture to get_dpkg_architecture (#173) + Ensure util.get_architecture() runs only once (#172) + Only use gpart if it is the BSD gpart (#131) [Conrad Hoffmann] + freebsd: remove superflu exception mapping (#166) [Gonéri Le Bouder] + ssh_auth_key_fingerprints_disable test: fix capitalization (#165) [Paride Legovini] + util: move uptime's else branch into its own boottime function (#53) [Igor Galić] (LP: #1853160) + workflows: add contributor license agreement checker (#155) + net: fix rendering of 'static6' in network config (#77) (LP: #1850988) + Make tests work with Python 3.8 (#139) [Conrad Hoffmann] + fixed minor bug with mkswap in cc_disk_setup.py (#143) [andreaf74] + freebsd: fix create_group() cmd (#146) [Gonéri Le Bouder] + doc: make apt_update example consistent (#154) + doc: add modules page toc with links (#153) (LP: #1852456) + Add support for the amazon variant in cloud.cfg.tmpl (#119) [Frederick Lefebvre] + ci: remove Python 2.7 from CI runs (#137) + modules: drop cc_snap_config config module (#134) + migrate-lp-user-to-github: ensure Launchpad repo exists (#136) + docs: add initial troubleshooting to FAQ (#104) [Joshua Powers] + doc: update cc_set_hostname frequency and descrip (#109) [Joshua Powers] (LP: #1827021) + freebsd: introduce the freebsd renderer (#61) [Gonéri Le Bouder] + cc_snappy: remove deprecated module (#127) + HACKING.rst: clarify that everyone needs to do the LP->GH dance (#130) + freebsd: cloudinit service requires devd (#132) [Gonéri Le Bouder] + cloud-init: fix capitalisation of SSH (#126) + doc: update cc_ssh clarify host and auth keys [Joshua Powers] (LP: #1827021) + ci: emit names of tests run in Travis (#120)- Disable testing to aid elimination of unittest2 in Factory- bsc#1170154: rsyslog warning, '~' is deprecated + replace deprecated syntax '& ~' by '& stop' for more information please see https://www.rsyslog.com/rsyslog-error-2307/- Update cloud-init-write-routes.patch + Explicitly test for netconfig version 1 as well as 2- Update cloud-init-write-routes.patch + Handle netconfig v2 device configurations (bsc#1171546, bsc#1171995)- Update cloud-init-write-routes.patch + In cases where the config contains 2 or more default gateway specifications for an interface only write the first default route, log warning message about skipped routes + Avoid writing invalid route specification if neither the network nor destination is specified in the route configuration- Update cloud-init-write-routes.patch + Still need to consider the "network" configuration option for the v1 config implementation. Fixes regression introduced with update from Wed Feb 12 19:30:42- Update cloud-init-write-routes.patch (bsc#1165296) + Add the default gateway to the ifroute config file when specified as part of the subnet configuration + Fix typo to properly extrakt provided netmask data (bsc#1163178)- Add cloud-init-long-pass.patch (bsc#1162936, CVE-2020-8632) + Increase the default length of generated passwords- Add cloud-init-use-different-random-src.diff (bsc#1162937, CVE-2020-8631) + Use non-deterministic generator for password generation.- Update cloud-init-write-routes.patch (bsc#1163178) + Entries in the routes definition have changed causing a traceback during rout config file writing. This patch update addresses the issue by extracting the new entries properly.- BuildRequire pkgconfig(udev) instead of udev: allow OBS to shortcut through the -mini flavor.- Add cloud-init-no-tempnet-oci.patch (bsc#1161132, bsc#1161133) + Do not attempt to configure an ephemeral network on OCI. We boot off iSCSI and the network is up. Just read the data.- Add patch to build properly with python 3.8: * 0001-Make-tests-work-with-Python-3.8-139.patch- Update to version 19.4 + Remove patches included upstream: - cloud-init-after-wicked.patch - cloud-init-noresolv-merge-no-dns-data.diff - cloud-init-renderer-detect.patch - cloud-init-trigger-udev.patch + Removed patches merged with cloud-init-mix-static-dhcp.patch - cloud-init-proper-ipv6-setting.patch - cloud-init-static-net.patch + Added cloud-init-mix-static-dhcp.patch (bsc#1157894) + Forward port cloud-init-sysconf-path.patch + doc: specify _ over - in cloud config modules + [Joshua Powers] (LP: #1293254) + tools: Detect python to use via env in migrate-lp-user-to-github + [Adam Dobrawy] + Partially revert "fix unlocking method on FreeBSD" (#116) + tests: mock uid when running as root (#113) + [Joshua Powers] (LP: #1856096) + cloudinit/netinfo: remove unused getgateway (#111) + docs: clear up apt config sections (#107) [Joshua Powers] (LP: #1832823) + doc: add kernel command line option to user data (#105) + [Joshua Powers] (LP: #1846524) + config/cloud.cfg.d: update README [Joshua Powers] (LP: #1855006) + azure: avoid re-running cloud-init when instance-id is byte-swapped + (#84) [AOhassan] + fix unlocking method on FreeBSD [Igor Galić] (LP: #1854594) + debian: add reference to the manpages [Joshua Powers] + ds_identify: if /sys is not available use dmidecode (#42) + [Igor Galić] (LP: #1852442) + docs: add cloud-id manpage [Joshua Powers] + docs: add cloud-init-per manpage [Joshua Powers] + docs: add cloud-init manpage [Joshua Powers] + docs: add additional details to per-instance/once [Joshua Powers] + Update doc-requirements.txt [Joshua Powers] + doc-requirements: add missing dep [Joshua Powers] + dhcp: Support RedHat dhcp rfc3442 lease format for option 121 (#76) + [Eric Lafontaine] (LP: #1850642) + network_state: handle empty v1 config (#45) (LP: #1852496) + docs: Add document on how to report bugs [Joshua Powers] + Add an Amazon distro in the redhat OS family [Frederick Lefebvre] + removed a couple of "the"s [gaughen] + docs: fix line length and remove highlighting [Joshua Powers] + docs: Add security.md to readthedocs [Joshua Powers] + Multiple file fix for AuthorizedKeysFile config (#60) [Eduardo Otubo] + Revert "travis: only run CI on pull requests" + doc: update links on README.md [Joshua Powers] + doc: Updates to wording of README.md [Joshua Powers] + Add security.md [Joshua Powers] + setup.py: Amazon Linux sets libexec to /usr/libexec (#52) + [Frederick Lefebvre] + Fix linting failure in test_url_helper (#83) [Eric Lafontaine] + url_helper: read_file_or_url should pass headers param into readurl + (#66) (LP: #1854084) + dmidecode: log result *after* stripping n [Igor Galić] + cloud_tests: add azure platform support to integration tests + [ahosmanmsft] + set_passwords: support for FreeBSD (#46) [Igor Galić] + tools: migrate-lp-user-to-github removes repo_dir if created (#35) + Correct jumbled documentation for cc_set_hostname module (#64) + [do3meli] (LP: #1853543) + FreeBSD: fix for get_linux_distro() and lru_cache (#59) + [Igor Galić] (LP: #1815030) + ec2: Add support for AWS IMDS v2 (session-oriented) (#55) + tests: Fix cloudsigma tests when no dmidecode data is present. (#57) + [Scott Moser] + net: IPv6, accept_ra, slaac, stateless (#51) + [Harald] (LP: #1806014, #1808647) + docs: Update the configdrive datasource links (#44) + [Joshua Powers] (LP: #1852461) + distro: correctly set usr_lib_exec path for FreeBSD distro (#40) + [Igor Galić] (LP: #1852491) + azure: support secondary ipv6 addresses (#33) + Fix metadata check when local-hostname is null (#32) + [Mark Goddard] (LP: #1852100) + switch default FreeBSD salt minion pkg from py27 to py36 + [Dominic Schlegel] + travis: only run CI on pull requests + add data-server dns entry as new metadata server detection [Joshua Hügli] + pycodestyle: remove unused local variable + reporting: Using a uuid to enforce uniqueness on the KVP keys. [momousta] + docs: touchups in rtd intro and README.md + doc: update launchpad git refs to github + github: drop pull-request template to prepare for migration + tools: add migrate-lp-user-to-github script to link LP to github + github: new basic project readme - From 19.3 + azure: support matching dhcp route-metrics for dual-stack ipv4 ipv6 + (LP: #1850308) + configdrive: fix subplatform config-drive for /config-drive source + [David Kindred] (LP: #1849731) + DataSourceSmartOS: reconfigure network on each boot + [Mike Gerdts] (LP: #1765801) + Add config for ssh-key import and consuming user-data [Pavel Zakharov] + net: fix subnet_is_ipv6() for stateless|stateful + [Harald Jensås] (LP: #1848690) + OVF: disable custom script execution by default [Xiaofeng Wang] + cc_puppet: Implement csr_attributes.yaml support [Matthias Baur] + cloud-init.service: on centos/fedora/redhat wait on NetworkManager.service + (LP: #1843334) + azure: Do not lock user on instance id change [Sam Eiderman] (LP: #1849677) + net/netplan: use ipv6-mtu key for specifying ipv6 mtu values + Fix usages of yaml, and move yaml_dump to safeyaml.dumps. (LP: #1849640) + exoscale: Increase url_max_wait to 120s. [Chris Glass] + net/sysconfig: fix available check on SUSE distros + [Robert Schweikert] (LP: #1849378) + docs: Fix incorrect Azure IMDS IP address [Joshua Powers] (LP: #1849508) + introduce .travis.yml + net: enable infiniband support in eni and sysconfig renderers + [Darren Birkett] (LP: #1847114) + guestcust_util: handle special characters in config file [Xiaofeng Wang] + fix some more typos in comments [Dominic Schlegel] + replace any deprecated log.warn with log.warning + [Dominic Schlegel] (LP: #1508442) + net: handle openstack dhcpv6-stateless configuration + [Harald Jensås] (LP: #1847517) + Add .venv/ to .gitignore [Dominic Schlegel] + Small typo fixes in code comments. [Dominic Schlegel] + cloud_test/lxd: Retry container delete a few times + Add Support for e24cloud to Ec2 datasource. (LP: #1696476) + Add RbxCloud datasource [Adam Dobrawy] + get_interfaces: don't exclude bridge and bond members (LP: #1846535) + Add support for Arch Linux in render-cloudcfg [Conrad Hoffmann] + util: json.dumps on python 2.7 will handle UnicodeDecodeError on binary + (LP: #1801364) + debian/ubuntu: add missing word to netplan/ENI header (LP: #1845669) + ovf: do not generate random instance-id for IMC customization path + sysconfig: only write resolv.conf if network_state has DNS values + (LP: #1843634) + sysconfig: use distro variant to check if available (LP: #1843584) + systemd/cloud-init.service.tmpl: start after wicked.service + [Robert Schweikert] + docs: fix zstack documentation lints + analyze/show: remove trailing space in output + Add missing space in warning: "not avalid seed" [Brian Candler] + pylintrc: add 'enter_context' to generated-members list + Add datasource for ZStack platform. [Shixin Ruan] (LP: #1841181) + docs: organize TOC and update summary of project [Joshua Powers] + tools: make clean now cleans the dev directory, not the system + docs: create cli specific page [Joshua Powers] + docs: added output examples to analyze.rst [Joshua Powers] + docs: doc8 fixes for instancedata page [Joshua Powers] + docs: clean up formatting, organize boot page [Joshua Powers] + net: add is_master check for filtering device list (LP: #1844191) + docs: more complete list of availability [Joshua Powers] + docs: start FAQ page [Joshua Powers] + docs: cleanup output & order of datasource page [Joshua Powers] + Brightbox: restrict detection to require full domain match .brightbox.com + VMWware: add option into VMTools config to enable/disable custom script. + [Xiaofeng Wang] + net,Oracle: Add support for netfailover detection + atomic_helper: add DEBUG logging to write_file (LP: #1843276) + doc: document doc, create makefile and tox target [Joshua Powers] + .gitignore: ignore files produced by package builds + docs: fix whitespace, spelling, and line length [Joshua Powers] + docs: remove unnecessary file in doc directory [Joshua Powers] + Oracle: Render secondary vnic IP and MTU values only + exoscale: fix sysconfig cloud_config_modules overrides (LP: #1841454) + net/cmdline: refactor to allow multiple initramfs network config sources + ubuntu-drivers: call db_x_loadtemplatefile to accept NVIDIA EULA + (LP: #1840080) + Add missing #cloud-config comment on first example in documentation. + [Florian Müller] + ubuntu-drivers: emit latelink=true debconf to accept nvidia eula + (LP: #1840080) + DataSourceOracle: prefer DS network config over initramfs + format.rst: add text/jinja2 to list of content types (+ cleanups) + Add GitHub pull request template to point people at hacking doc + cloudinit/distros/parsers/sys_conf: add docstring to SysConf + pyflakes: remove unused variable [Joshua Powers] + Azure: Record boot timestamps, system information, and diagnostic events + [Anh Vo] + DataSourceOracle: configure secondary NICs on Virtual Machines + distros: fix confusing variable names + azure/net: generate_fallback_nic emits network v2 config instead of v1 + Add support for publishing host keys to GCE guest attributes [Rick Wright] + New data source for the Exoscale.com cloud platform [Chris Glass] + doc: remove intersphinx extension + cc_set_passwords: rewrite documentation (LP: #1838794) + net/cmdline: split interfaces_by_mac and init network config determination + stages: allow data sources to override network config source order + cloud_tests: updates and fixes + Fix bug rendering MTU on bond or vlan when input was netplan. (LP: #1836949) + net: update net sequence, include wait on netdevs, opensuse netrules path (LP: #1817368)- Add cloud-init-proper-ipv6-setting.patch (bsc#1156139) + Set proper IPv6 interface variable in ifcfg file- Update cloud-init-write-routes.patch (bsc#1155376) + Write a route's destination network in CIDR notation instead of using the netmask. This provides support for correctly recording IPv6 routes.- Add cloud-init-renderer-detect.patch (bsc#1154092, boo#1142988) + Short curcuit the conditional for identifying the sysconfig renderer. If we find ifup/ifdown accept the renderer as available.- Add cloud-init-break-resolv-symlink.patch (bsc#1151488) + If /etc/resolv.conf is a symlink break it. This will avoid netconfig from clobbering the changes cloud-init applied.- Update to cloud-init 19.2 (bsc#1099358, bsc#1145622) + Remove, included upstream - cloud-init-detect-nova.diff - cloud-init-add-static-routes.diff + net: add rfc3442 (classless static routes) to EphemeralDHCP (LP: #1821102) + templates/ntp.conf.debian.tmpl: fix missing newline for pools (LP: #1836598) + Support netplan renderer in Arch Linux [Conrad Hoffmann] + Fix typo in publicly viewable documentation. [David Medberry] + Add a cdrom size checker for OVF ds to ds-identify [Pengpeng Sun] (LP: #1806701) + VMWare: Trigger the post customization script via cc_scripts module. [Xiaofeng Wang] (LP: #1833192) + Cloud-init analyze module: Added ability to analyze boot events. [Sam Gilson] + Update debian eni network configuration location, retain Ubuntu setting [Janos Lenart] + net: skip bond interfaces in get_interfaces [Stanislav Makar] (LP: #1812857) + Fix a couple of issues raised by a coverity scan + Add missing dsname for Hetzner Cloud datasource [Markus Schade] + doc: indicate that netplan is default in Ubuntu now + azure: add region and AZ properties from imds compute location metadata + sysconfig: support more bonding options [Penghui Liao] + cloud-init-generator: use libexec path to ds-identify on redhat systems (LP: #1833264) + tools/build-on-freebsd: update to python3 [Gonéri Le Bouder] + Allow identification of OpenStack by Asset Tag [Mark T. Voelker] (LP: #1669875) + Fix spelling error making 'an Ubuntu' consistent. [Brian Murray] + run-container: centos: comment out the repo mirrorlist [Paride Legovini] + netplan: update netplan key mappings for gratuitous-arp (LP: #1827238) + freebsd: fix the name of cloudcfg VARIANT [Gonéri Le Bouder] + freebsd: ability to grow root file system [Gonéri Le Bouder] + freebsd: NoCloud data source support [Gonéri Le Bouder] (LP: #1645824) + Azure: Return static fallback address as if failed to find endpoint [Jason Zions (MSFT)]- Add cloud-init-after-wicked.patch - Change the service order, the cloud-init service wants to run after networking is started- Add cloud-init-noresolv-merge-no-dns-data.diff - Avoid writing resolv.conf if the network configuration contains no dns entries.- Follow up to update cloud-init-trigger-udev.patch (bsc#1144363) - In this implementation the "name" is not yet an attribute, use get() to obtain the value from a dict. Source code version confusion.- Add cloud-init-add-static-routes.diff (bsc#1141969) + Properly handle static routes. The EphemeralDHCP context manager did not parse or handle rfc3442 classless static routes which prevented reading datasource metadata in some clouds.- Update cloud-init-trigger-udev.patch (bsc#1144363) - The __str__ implementation no longer delivers the name of the interface, use the "name" attribute instead to form a proper path in the sysfs tree- Update cloud-init-write-routes.patch (boo#1144881, bsc#1148645) + If no routes are set for a subnet but the subnet has a gateway specified, set the gateway as the default route for the interface- Follow the ever changing inconsistencies of version definitions and detection in the build service. + No more suse_version in SUSE internal instance for SLES 15 SP1- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut the build queues by allowing usage of systemd-mini- Update to version 19.1 (bsc#1136440, bsc#1129124) + Remove, included upstream - fix-default-systemd-unit-dir.patch - cloud-init-sysconf-ethsetup.patch - cloud-init-handle-def-route-set.patch - cloud-init-no-empty-resolv.patch - cloud-init-proper-ipv6-varname.patch + Forward port - cloud-init-trigger-udev.patch + Add cloud-init-detect-nova.diff (bsc#1136440) + Modify cloud-init-python2-sigpipe.patch, import signal and constants + Update spec to account for new location of bash completion + freebsd: add chpasswd pkg in the image [Gonéri Le Bouder] + tests: add Eoan release [Paride Legovini] + cc_mounts: check if mount -a on no-change fstab path [Jason Zions (MSFT)] (LP: #1825596) + replace remaining occurrences of LOG.warn [Daniel Watkins] + DataSourceAzure: Adjust timeout for polling IMDS [Anh Vo] + Azure: Changes to the Hyper-V KVP Reporter [Anh Vo] + git tests: no longer show warning about safe yaml. + tools/read-version: handle errors [Chad Miller] + net/sysconfig: only indicate available on known sysconfig distros (LP: #1819994) + packages: update rpm specs for new bash completion path [Daniel Watkins] (LP: #1825444) + test_azure: mock util.SeLinuxGuard where needed [Jason Zions (MSFT)] (LP: #1825253) + setup.py: install bash completion script in new location [Daniel Watkins] + mount_cb: do not pass sync and rw options to mount [Gonéri Le Bouder] (LP: #1645824) + cc_apt_configure: fix typo in apt documentation [Dominic Schlegel] + Revert "DataSource: move update_events from a class to an instance..." [Daniel Watkins] + Change DataSourceNoCloud to ignore file system label's case. [Risto Oikarinen] + cmd:main.py: Fix missing 'modules-init' key in modes dict [Antonio Romito] (LP: #1815109) + ubuntu_advantage: rewrite cloud-config module + Azure: Treat _unset network configuration as if it were absent [Jason Zions (MSFT)] (LP: #1823084) + DatasourceAzure: add additional logging for azure datasource [Anh Vo] + cloud_tests: fix apt_pipelining test-cases + Azure: Ensure platform random_seed is always serializable as JSON. [Jason Zions (MSFT)] + net/sysconfig: write out SUSE-compatible IPv6 config [Robert Schweikert] + tox: Update testenv for openSUSE Leap to 15.0 [Thomas Bechtold] + net: Fix ipv6 static routes when using eni renderer [Raphael Glon] (LP: #1818669) + Add ubuntu_drivers config module [Daniel Watkins] + doc: Refresh Azure walinuxagent docs [Daniel Watkins] + tox: bump pylint version to latest (2.3.1) [Daniel Watkins] + DataSource: move update_events from a class to an instance attribute [Daniel Watkins] (LP: #1819913) + net/sysconfig: Handle default route setup for dhcp configured NICs [Robert Schweikert] (LP: #1812117) + DataSourceEc2: update RELEASE_BLOCKER to be more accurate [Daniel Watkins] + cloud-init-per: POSIX sh does not support string subst, use sed (LP: #1819222) + Support locking user with usermod if passwd is not available. + Example for Microsoft Azure data disk added. [Anton Olifir] + clean: correctly determine the path for excluding seed directory [Daniel Watkins] (LP: #1818571) + helpers/openstack: Treat unknown link types as physical [Daniel Watkins] (LP: #1639263) + drop Python 2.6 support and our NIH version detection [Daniel Watkins] + tip-pylint: Fix assignment-from-return-none errors + net: append type:dhcp[46] only if dhcp[46] is True in v2 netconfig [Kurt Stieger] (LP: #1818032) + cc_apt_pipelining: stop disabling pipelining by default [Daniel Watkins] (LP: #1794982) + tests: fix some slow tests and some leaking state [Daniel Watkins] + util: don't determine string_types ourselves [Daniel Watkins] + cc_rsyslog: Escape possible nested set [Daniel Watkins] (LP: #1816967) + Enable encrypted_data_bag_secret support for Chef [Eric Williams] (LP: #1817082) + azure: Filter list of ssh keys pulled from fabric [Jason Zions (MSFT)] CVE-2019-0816 + doc: update merging doc with fixes and some additional details/examples + tests: integration test failure summary to use traceback if empty error + This is to fix https://bugs.launchpad.net/cloud-init/+bug/1812676 [Vitaly Kuznetsov] + EC2: Rewrite network config on AWS Classic instances every boot [Guilherme G. Piccoli] (LP: #1802073) + netinfo: Adjust ifconfig output parsing for FreeBSD ipv6 entries (LP: #1779672) + netplan: Don't render yaml aliases when dumping netplan (LP: #1815051) + add PyCharm IDE .idea/ path to .gitignore [Dominic Schlegel] + correct grammar issue in instance metadata documentation [Dominic Schlegel] (LP: #1802188) + clean: cloud-init clean should not trace when run from within cloud_dir (LP: #1795508) + Resolve flake8 comparison and pycodestyle over-ident issues [Paride Legovini] + opennebula: also exclude epochseconds from changed environment vars (LP: #1813641) + systemd: Render generator from template to account for system differences. [Robert Schweikert] + sysconfig: On SUSE, use STARTMODE instead of ONBOOT [Robert Schweikert] (LP: #1799540) + flake8: use ==/!= to compare str, bytes, and int literals [Paride Legovini] + opennebula: exclude EPOCHREALTIME as known bash env variable with a delta (LP: #1813383) + tox: fix disco httpretty dependencies for py37 (LP: #1813361) + run-container: uncomment baseurl in yum.repos.d/*.repo when using a proxy [Paride Legovini] + lxd: install zfs-linux instead of zfs meta package [Johnson Shi] (LP: #1799779) + net/sysconfig: do not write a resolv.conf file with only the header. [Robert Schweikert] + net: Make sysconfig renderer compatible with Network Manager. [Eduardo Otubo] + cc_set_passwords: Fix regex when parsing hashed passwords [Marlin Cremers] (LP: #1811446) + net: Wait for dhclient to daemonize before reading lease file [Jason Zions] (LP: #1794399) + [Azure] Increase retries when talking to Wireserver during metadata walk [Jason Zions] + Add documentation on adding a datasource. + doc: clean up some datasource documentation. + ds-identify: fix wrong variable name in ovf_vmware_transport_guestinfo. + Scaleway: Support ssh keys provided inside an instance tag. [PORTE Loïc] + OVF: simplify expected return values of transport functions. + Vmware: Add support for the com.vmware.guestInfo OVF transport. (LP: #1807466) + HACKING.rst: change contact info to Josh Powers + Update to pylint 2.2.2.- Update cloud-init-write-routes.patch (bsc#1132692) + Properly accumulate all the defined routes for a given network device. Previously only the last defined route was written to the routes file.- Update cloud-init-trigger-udev.patch (bsc#1125950) + Write the udev rules to a different file than the default + Settle udev if not all configured devices are in the device tree to avoid race condition between udev and cloud-init- Add cloud-init-trigger-udev.patch (bsc#1125950) + When the user configures a new rules file for network devices the rules may not apply immediately, trigger udevadm- Modify cloud-init-write-routes.patch (bsc#1125992) + Fix the order of calls, the SUSE implementation of route config file writing must clobber the default implementation.- Add cloud-init-proper-ipv6-varname.patch (bsc#1126101) + Use the proper name to designate IPv6 addresses in ifcfg-* files- Modify cloud-init-write-routes.patch (boo#1123694) + Drop a '-' in the route file for the last column- Add cloud-init-no-empty-resolv.patch (bsc#1119397)- Update to version 18.5 (bsc#1121878, boo#1116767) + Remove 0001-Fix-the-service-order-for-SUSE-distributions.patch 0001-Follow-the-ever-bouncing-ball-for-openSUSE-distribut.patch 0002-Add-tests-for-additional-openSUSE-distro-condition-m.patch included upstream + Forward port cloud-init-sysconf-ethsetup.patch + Add cloud-init-write-routes.patch + Add cloud-init-handle-def-route-set.patch + tests: add Disco release [Joshua Powers] + net: render 'metric' values in per-subnet routes (LP: #1805871) + write_files: add support for appending to files. [James Baxter] + config: On ubuntu select cloud archive mirrors for armel, armhf, arm64. (LP: #1805854) + dhclient-hook: cleanups, tests and fix a bug on 'down' event. + NoCloud: Allow top level 'network' key in network-config. (LP: #1798117) + ovf: Fix ovf network config generation gateway/routes (LP: #1806103) + azure: detect vnet migration via netlink media change event [Tamilmani Manoharan] + Azure: fix copy/paste error in error handling when reading azure ovf. + [Adam DePue] + tests: fix incorrect order of mocks in test_handle_zfs_root. + doc: Change dns_nameserver property to dns_nameservers. [Tomer Cohen] + OVF: identify label iso9660 filesystems with label 'OVF ENV'. + logs: collect-logs ignore instance-data-sensitive.json on non-root user (LP: #1805201) + net: Ephemeral*Network: add connectivity check via URL + azure: _poll_imds only retry on 404. Fail on Timeout (LP: #1803598) + resizefs: Prefix discovered devpath with '/dev/' when path does not exist [Igor Galić] + azure: retry imds polling on requests.Timeout (LP: #1800223) + azure: Accept variation in error msg from mount for ntfs volumes [Jason Zions] (LP: #1799338) + azure: fix regression introduced when persisting ephemeral dhcp lease [asakkurr] + azure: add udev rules to create cloud-init Gen2 disk name symlinks (LP: #1797480) + tests: ec2 mock missing httpretty user-data and instance-identity routes + azure: remove /etc/netplan/90-hotplug-azure.yaml when net from IMDS + azure: report ready to fabric after reprovision and reduce logging [asakkurr] (LP: #1799594) + query: better error when missing read permission on instance-data + instance-data: fallback to instance-data.json if sensitive is absent. (LP: #1798189) + docs: remove colon from network v1 config example. [Tomer Cohen] + Add cloud-id binary to packages for SUSE [Jason Zions] + systemd: On SUSE ensure cloud-init.service runs before wicked [Robert Schweikert] (LP: #1799709) + update detection of openSUSE variants [Robert Schweikert] + azure: Add apply_network_config option to disable network from IMDS (LP: #1798424) + Correct spelling in an error message (udevadm). [Katie McLaughlin] + tests: meta_data key changed to meta-data in ec2 instance-data.json (LP: #1797231) + tests: fix kvm integration test to assert flexible config-disk path (LP: #1797199) + tools: Add cloud-id command line utility + instance-data: Add standard keys platform and subplatform. Refactor ec2. + net: ignore nics that have "zero" mac address. (LP: #1796917) + tests: fix apt_configure_primary to be more flexible + Ubuntu: update sources.list to comment out deb-src entries. (LP: #74747)- Add cloud-init-ostack-metadat-dencode.patch (bsc#1101894)- Add cloud-init-static-net.patch (boo#1114160)- Update to version 18.4 (bsc#1087331, bsc#1097388, boo#1111427, bsc#1095627) + Remove cloud-init-no-user-lock-if-already-locked.patch cloud-init 18.4 is not supported on SLE 11 code base + Remove 0001-Support-chrony-configuration-lp-1731619.patch Included upstream + Remove 0003-Distro-dependent-chrony-config-file.patch Included upstream + Remove 0001-switch-to-using-iproute2-tools.patch Included upstream + Remove cloud-init-no-python-linux-dist.patch Included upstream + Remove cloud-init-no-trace-empt-sect.patch Included upstream + Remove cloud-init-setpath-dsitentify.patch Included upstream + Modify fix-default-systemd-unit-dir.patch Use pkg-config, only modify the generator + Remove cloud-init-sysconfig-netpathfix.patch Fixed upstream + Removed cloud-init-skip-ovf-tests.patch Fixed upstream + Removed cloud-init-translate-netconf-ipv4-keep-gw.patch Fixed upstream + Add cloud-init-template-py2.patch avoid Python 3 dependency when we build for distros with Python 2 support + Add 0001-Follow-the-ever-bouncing-ball-for-openSUSE-distribut.patch + Add 0002-Add-tests-for-additional-openSUSE-distro-condition-m.patch + Add cloud-init-sysconf-path.patch + Add cloud-init-sysconf-ethsetup.patch + Add 0001-Fix-the-service-order-for-SUSE-distributions.patch + Add dhcp-client as requirement cloud-init uses dhclient to setup temporary network for metadata retrieval. THis is needed until lp#1733226 is addressed + add rtd example docs about new standardized keys + use ds._crawled_metadata instance attribute if set when writing instance-data.json + ec2: update crawled metadata. add standardized keys + tests: allow skipping an entire cloud_test without running. + tests: disable lxd tests on cosmic + cii-tests: use unittest2.SkipTest in ntp_chrony due to new deps + lxd: adjust to snap installed lxd. + docs: surface experimental doc in instance-data.json + tests: fix ec2 integration tests. process meta_data instead of meta-data + Add support for Infiniband network interfaces (IPoIB). [Mark Goddard] + cli: add cloud-init query subcommand to query instance metadata + tools/tox-venv: update for new features. + pylint: ignore warning assignment-from-no-return for _write_network + stages: Fix bug causing datasource to have incorrect sys_cfg. (LP: #1787459) + Remove dead-code _write_network distro implementations. + net_util: ensure static configs have netmask in translate_network result [Thomas Berger] (LP: #1792454) + Fall back to root:root on syslog permissions if other options fail. [Robert Schweikert] + tests: Add mock for util.get_hostname. [Robert Schweikert] (LP: #1792799) + ds-identify: doc string cleanup. + OpenStack: Support setting mac address on bond. [Fabian Wiesel] (LP: #1682064) + bash_completion/cloud-init: fix shell syntax error. + EphemeralIPv4Network: Be more explicit when adding default route. (LP: #1792415) + OpenStack: support reading of newer versions of metdata. + OpenStack: fix bug causing 'latest' version to be used from network. (LP: #1792157) + user-data: jinja template to render instance-data.json in cloud-config (LP: #1791781) + config: disable ssh access to a configured user account + tests: print failed testname instead of docstring upon failure + tests: Disallow use of util.subp except for where needed. + sysconfig: refactor sysconfig to accept distro specific templates paths + Add unit tests for config/cc_ssh.py [Francis Ginther] + Fix the built-in cloudinit/tests/helpers:skipIf + read-version: enhance error message [Joshua Powers] + hyperv_reporting_handler: simplify threaded publisher + VMWare: Fix a network config bug in vm with static IPv4 and no gateway. [Pengpeng Sun] (LP: #1766538) + logging: Add logging config type hyperv for reporting via Azure KVP [Andy Liu] + tests: disable other snap test as well [Joshua Powers] + tests: disable snap, fix write_files binary [Joshua Powers] + Add datasource Oracle Compute Infrastructure (OCI). + azure: allow azure to generate network configuration from IMDS per boot. + Scaleway: Add network configuration to the DataSource [Louis Bouchard] + docs: Fix example cloud-init analyze command to match output. [Wesley Gao] + netplan: Correctly render macaddress on a bonds and bridges when provided. (LP: #1784699) + tools: Add 'net-convert' subcommand command to 'cloud-init devel'. + redhat: remove ssh keys on new instance. (LP: #1781094) + Use typeset or local in profile.d scripts. (LP: #1784713) + OpenNebula: Fix null gateway6 [Akihiko Ota] (LP: #1768547) + oracle: fix detect_openstack to report True on OracleCloud.com DMI data (LP: #1784685) + tests: improve LXDInstance trying to workaround or catch bug. + update_metadata re-config on every boot comments and tests not quite right [Mike Gerdts] + tests: Collect build_info from system if available. + pylint: Fix pylint warnings reported in pylint 2.0.0. + get_linux_distro: add support for rhel via redhat-release. + get_linux_distro: add support for centos6 and rawhide flavors of redhat (LP: #1781229) + tools: add '--debug' to tools/net-convert.py + tests: bump the version of paramiko to 2.4.1. + docs: note in rtd about avoiding /tmp when writing files (LP: #1727876) + ubuntu,centos,debian: get_linux_distro to align with platform.dist (LP: #1780481) + Fix boothook docs on environment variable name (INSTANCE_I -> INSTANCE_ID) [Marc Tamsky] + update_metadata: a datasource can support network re-config every boot + tests: drop salt-minion integration test (LP: #1778737) + Retry on failed import of gpg receive keys. + tools: Fix run-container when neither source or binary package requested. + docs: Fix a small spelling error. [Oz N Tiram] + tox: use simplestreams from git repository rather than bzr. - From 18.3 + docs: represent sudo:false in docs for user_groups config module + Explicitly prevent `sudo` access for user module [Jacob Bednarz] (LP: #1771468) + lxd: Delete default network and detach device if lxd-init created them. (LP: #1776958) + openstack: avoid unneeded metadata probe on non-openstack platforms (LP: #1776701) + stages: fix tracebacks if a module stage is undefined or empty [Robert Schweikert] (LP: #1770462) + Be more safe on string/bytes when writing multipart user-data to disk. (LP: #1768600) + Fix get_proc_env for pids that have non-utf8 content in environment. (LP: #1775371) + tests: fix salt_minion integration test on bionic and later + tests: provide human-readable integration test summary when --verbose + tests: skip chrony integration tests on lxd running artful or older + test: add optional --preserve-instance arg to integraiton tests + netplan: fix mtu if provided by network config for all rendered types (LP: #1774666) + tests: remove pip install workarounds for pylxd, take upstream fix. + subp: support combine_capture argument. + tests: ordered tox dependencies for pylxd install + util: add get_linux_distro function to replace platform.dist [Robert Schweikert] (LP: #1745235) + pyflakes: fix unused variable references identified by pyflakes 2.0.0. + Do not use the systemd_prefix macro, not available in this environment [Robert Schweikert] + doc: Add config info to ec2, openstack and cloudstack datasource docs + Enable SmartOS network metadata to work with netplan via per-subnet routes [Dan McDonald] (LP: #1763512) + openstack: Allow discovery in init-local using dhclient in a sandbox. (LP: #1749717) + tests: Avoid using https in httpretty, improve HttPretty test case. (LP: #1771659) + yaml_load/schema: Add invalid line and column nums to error message + Azure: Ignore NTFS mount errors when checking ephemeral drive [Paul Meyer] + packages/brpm: Get proper dependencies for cmdline distro. + packages: Make rpm spec files patch in package version like in debs. + tools/run-container: replace tools/run-centos with more generic. + Update version.version_string to contain packaged version. (LP: #1770712) + cc_mounts: Do not add devices to fstab that are already present. [Lars Kellogg-Stedman] + ds-identify: ensure that we have certain tokens in PATH. (LP: #1771382) + tests: enable Ubuntu Cosmic in integration tests [Joshua Powers] + read_file_or_url: move to url_helper, fix bug in its FileResponse. + cloud_tests: help pylint [Ryan Harper] + flake8: fix flake8 errors in previous commit. + typos: Fix spelling mistakes in cc_mounts.py log messages [Stephen Ford] + tests: restructure SSH and initial connections [Joshua Powers] + ds-identify: recognize container-other as a container, test SmartOS. + cloud-config.service: run After snap.seeded.service. (LP: #1767131) + tests: do not rely on host /proc/cmdline in test_net.py [Lars Kellogg-Stedman] (LP: #1769952) + ds-identify: Remove dupe call to is_ds_enabled, improve debug message. + SmartOS: fix get_interfaces for nics that do not have addr_assign_type. + tests: fix package and ca_cert cloud_tests on bionic (LP: #1769985) + ds-identify: make shellcheck 0.4.6 happy with ds-identify. + pycodestyle: Fix deprecated string literals, move away from flake8. + azure: Add reported ready marker file. [Joshua Chan] (LP: #1765214) + tools: Support adding a release suffix through packages/bddeb. + FreeBSD: Invoke growfs on ufs filesystems such that it does not prompt. [Harm Weites] (LP: #1404745) + tools: Re-use the orig tarball in packages/bddeb if it is around. + netinfo: fix netdev_pformat when a nic does not have an address assigned. (LP: #1766302) + collect-logs: add -v flag, write to stderr, limit journal to single boot. (LP: #1766335) + IBMCloud: Disable config-drive and nocloud only if IBMCloud is enabled. (LP: #1766401) + Add reporting events and log_time around early source of blocking time [Ryan Harper] + IBMCloud: recognize provisioning environment during debug boots. (LP: #1767166) + net: detect unstable network names and trigger a settle if needed [Ryan Harper] (LP: #1766287) + IBMCloud: improve documentation in datasource. + sysconfig: dhcp6 subnet type should not imply dhcpv4 [Vitaly Kuznetsov] + packages/debian/control.in: add missing dependency on iproute2. (LP: #1766711) + DataSourceSmartOS: add locking of serial device. [Mike Gerdts] (LP: #1746605) + DataSourceSmartOS: sdc:hostname is ignored [Mike Gerdts] (LP: #1765085) + DataSourceSmartOS: list() should always return a list [Mike Gerdts] (LP: #1763480) + schema: in validation, raise ImportError if strict but no jsonschema. + set_passwords: Add newline to end of sshd config, only restart if updated. (LP: #1677205) + pylint: pay attention to unused variable warnings. + doc: Add documentation for AliYun datasource. [Junjie Wang] + Schema: do not warn on duplicate items in commands. (LP: #1764264) + net: Depend on iproute2's ip instead of net-tools ifconfig or route + DataSourceSmartOS: fix hang when metadata service is down [Mike Gerdts] (LP: #1667735) + DataSourceSmartOS: change default fs on ephemeral disk from ext3 to ext4. [Mike Gerdts] (LP: #1763511) + pycodestyle: Fix invalid escape sequences in string literals. + Implement bash completion script for cloud-init command line [Ryan Harper] + tools: Fix make-tarball cli tool usage for development + renderer: support unicode in render_from_file. + Implement ntp client spec with auto support for distro selection [Ryan Harper] (LP: #1749722) + Apport: add Brightbox, IBM, LXD, and OpenTelekomCloud to list of clouds. + tests: fix ec2 integration network metadata validation + tests: fix integration tests to support lxd 3.0 release + correct documentation to match correct attribute name usage. [Dominic Schlegel] (LP: #1420018) + cc_resizefs, util: handle no /dev/zfs [Ryan Harper] + doc: Fix links in OpenStack datasource documentation. [Dominic Schlegel] (LP: #1721660)- Add a modified version of fix-default-systemd-unit-dir.patch + Removed pre-maturely, still needs 1 part of the patch- Remove fix-default-systemd-unit-dir.patch + No longer needed, proper systemd config dir is queried from pckg-config- The distribution inidcator is set to suse during template expansion, we do not replace anything set to ubuntu - Do not run cloud-init after network-online, this breaks functionality in cloud-init. Certain parts of the code running in this phase expect to run before the network is on-line. This "re-introduces" boo#1097388. But the changes made are not generic enough. - Root should not be enabled by default. For image builders/users that want root access by default they should provide an appropriate configuration file during image build or image setup- Let distribution default to opensuse/sles (boo#1099340) - do not disable root user to make it easier to work with - Run metadata detection after network-online (boo#1097388)- Re-add generator (bsc#1089824, boo#1093501) + Add cloud-init-setpath-dsitentify.patch, upstream solution to hanle PATH issue + Re-enable th egenerator to reduce effort in cloud-init configuration- Drop the generator (bsc#1089824, boo#1093501) + The generator spawns a script called ds-identify which in turn calls blkid. When the generator executes the environment may or may not be ready. The generator speeds up the boot process in cases where cloud-init is enabled but we are not in an environment where cloud-init should run -> Don't do that.- Update to version 18.2 (bsc#1092637, bsc#1084509) + Forward port cloud-init-python2-sigpipe.patch + Forward port cloud-init-no-python-linux-dist.patch + Add cloud-init-no-trace-empt-sect.patch + Hetzner: Exit early if dmi system-manufacturer is not Hetzner. + Add missing dependency on isc-dhcp-client to trunk ubuntu packaging. + (LP: #1759307) + FreeBSD: resizefs module now able to handle zfs/zpool. + [Dominic Schlegel] (LP: #1721243) + cc_puppet: Revert regression of puppet creating ssl and ssl_cert dirs + Enable IBMCloud datasource in settings.py. + IBMCloud: Initial IBM Cloud datasource. + tests: remove jsonschema from xenial tox environment. + tests: Fix newly added schema unit tests to skip if no jsonschema. + ec2: Adjust ec2 datasource after exception_cb change. + Reduce AzurePreprovisioning HTTP timeouts. + [Douglas Jordan] (LP: #1752977) + Revert the logic of exception_cb in read_url. + [Kurt Garloff] (LP: #1702160, #1298921) + ubuntu-advantage: Add new config module to support + ubuntu-advantage-tools + Handle global dns entries in netplan (LP: #1750884) + Identify OpenTelekomCloud Xen as OpenStack DS. + [Kurt Garloff] (LP: #1756471) + datasources: fix DataSource subclass get_hostname method signature + (LP: #1757176) + OpenNebula: Update network to return v2 config rather than ENI. + [Akihiko Ota] + Add Hetzner Cloud DataSource + net: recognize iscsi root cases without ip= on kernel command line. + (LP: #1752391) + tests: fix flakes warning for unused variable + tests: patch leaked stderr messages from snap unit tests + cc_snap: Add new module to install and configure snapd and snap + packages. + tests: Make pylint happy and fix python2.6 uses of assertRaisesRegex. + netplan: render bridge port-priority values (LP: #1735821) + util: Fix subp regression. Allow specifying subp command as a string. + (LP: #1755965) + doc: fix all warnings issued by 'tox -e doc' + FreeBSD: Set hostname to FQDN. [Dominic Schlegel] (LP: #1753499) + tests: fix run_tree and bddeb + tests: Fix some warnings in tests that popped up with newer python. + set_hostname: When present in metadata, set it before network bringup. + (LP: #1746455) + tests: Centralize and re-use skipTest based on json schema presense. + This commit fixes get_hostname on the AzureDataSource. + [Douglas Jordan] (LP: #1754495) + shellify: raise TypeError on bad input. + Make salt minion module work on FreeBSD. + [Dominic Schlegel] (LP: #1721503) + Simplify some comparisions. [Rémy Léone] + Change some list creation and population to literal. [Rémy Léone] + GCE: fix reading of user-data that is not base64 encoded. (LP: #1752711) + doc: fix chef install from apt packages example in RTD. + Implement puppet 4 support [Romanos Skiadas] (LP: #1446804) + subp: Fix subp usage with non-ascii characters when no system locale. + (LP: #1751051) + salt: configure grains in grains file rather than in minion config. [Daniel Wallace]- Update to version 18.1 (bsc#1085787, bsc#1084749) + Forward port cloud-init-python2-sigpipe.patch + Forward port 0003-Distro-dependent-chrony-config-file.patch partial integration into 0001-Support-chrony-configuration-lp-1731619.patch + Forward port cloud-init-no-python-linux-dist.patch + Remove 0002-Disable-method-deprecation-warning-for-pylint.patch use new cloud-init internal distro detection code + Remove cloud-init-resize-ro-btrfs.patch included upstream + Remove 0001-Set-syslog_fix_perms-for-SUSE-distro-addresses-bsc-1.patch included upstream + OVF: Fix VMware support for 64-bit platforms. [Sankar Tanguturi] + ds-identify: Fix searching for iso9660 OVF cdroms. (LP: #1749980) + SUSE: Fix groups used for ownership of cloud-init.log [Robert Schweikert] + ds-identify: check /writable/system-data/ for nocloud seed. (LP: #1747070) + tests: run nosetests in cloudinit/ directory, fix py26 fallout. + tools: run-centos: git clone rather than tar. + tests: add support for logs with lxd from snap and future lxd 3. (LP: #1745663) + EC2: Fix get_instance_id called against cached datasource pickle. (LP: #1748354) + cli: fix cloud-init status to report running when before result.json (LP: #1747965) + net: accept network-config in netplan format for renaming interfaces (LP: #1709715) + Fix ssh keys validation in ssh_util [Tatiana Kholkina] + docs: Update RTD content for cloud-init subcommands. + OVF: Extend well-known labels to include OVFENV. (LP: #1698669) + Fix potential cases of uninitialized variables. (LP: #1744796) + tests: Collect script output as binary, collect systemd journal, fix lxd. + HACKING.rst: mention setting user name and email via git config. + Azure VM Preprovisioning support. [Douglas Jordan] (LP: #1734991) + tools/read-version: Fix read-version when in a git worktree. + docs: Fix typos in docs and one debug message. [Florian Grignon] + btrfs: support resizing if root is mounted ro. [Robert Schweikert] (LP: #1734787) + OpenNebula: Improve network configuration support. [Akihiko Ota] (LP: #1719157, #1716397, #1736750) + tests: Fix EC2 Platform to return console output as bytes. + tests: Fix attempted use of /run in a test case. + GCE: Improvements and changes to ssh key behavior for default user. [Max Illfelder] (LP: #1670456, #1707033, #1707037, #1707039) + subp: make ProcessExecutionError have expected types in stderr, stdout. + tests: when querying ntp server, do not do dns resolution. + Recognize uppercase vfat disk labels [James Penick] (LP: #1598783) + tests: remove zesty as supported OS to test [Joshua Powers] + Do not log warning on config files that represent None. (LP: #1742479) + tests: Use git hash pip dependency format for pylxd. + tests: add integration requirements text file [Joshua Powers] + MAAS: add check_instance_id based off oauth tokens. (LP: #1712680) + tests: update apt sources list test [Joshua Powers] + tests: clean up image properties [Joshua Powers] + tests: rename test ssh keys to avoid appearance of leaking private keys. [Joshua Powers] + tests: Enable AWS EC2 Integration Testing [Joshua Powers] + cli: cloud-init clean handles symlinks (LP: #1741093) + SUSE: Add a basic test of network config rendering. [Robert Schweikert] + Azure: Only bounce network when necessary. (LP: #1722668) + lint: Fix lints seen by pylint version 1.8.1. + cli: Fix error in cloud-init modules --mode=init. (LP: #1736600)- update cloud-init-sysconfig-netpathfix.patch: * skip checking for files in /etc/sysconfig that never exist on a wickedd based system- Fix logfile permission settings (bsc#1080595) + Add 0001-Set-syslog_fix_perms-for-SUSE-distro-addresses-bsc-1.patch- drop dependency on boto (only used in examples, and should really be ported to botocore/boto3 instead)- Update to version 17.2 (boo#1069635, bsc#1072811) + Add cloud-init-skip-ovf-tests.patch + Add cloud-init-no-python-linux-dist.patch + Add 0001-switch-to-using-iproute2-tools.patch + Add 0001-Support-chrony-configuration-lp-1731619.patch + Add 0002-Disable-method-deprecation-warning-for-pylint.patch + Add 0003-Distro-dependent-chrony-config-file.patch + removed cloud-init-add-variant-cloudcfg.patch replaced by cloud-init-no-python-linux-dist.patch + removed zypp_add_repos.diff included upstream + removed zypp_add_repo_test.patch included upstream + removed cloud-init-hosts-template.patch included upstream + removed cloud-init-more-tasks.patch included upstream + removed cloud-init-final-no-apt.patch included upstream + removed cloud-init-ntp-conf-suse.patch included upstream + removed cloud-init-break-cycle-local-service.patch included upstream + removed cloud-init-reproduce-build.patch included upstream + For the complete changelog see https://launchpad.net/cloud-init/trunk/17.2- patch distribution detection until a fix is delivered to python3 (bsc#997614) add cloud-init-add-variant-cloudcfg.patch- Fix usage of fdupes macro: there is no '-n' parameter to the macro (there would be to fdupes, the command, though).- Add cloud-init-reproduce-build.patch (boo#1069635) + Make builds reproducible- Add cloud-init-resize-ro-btrfs.patch + cc_resizefs fails if the current root is a read-only btrfs subvolume, use an always writeable subvolume instead [bsc#1042913]- Add cloud-init-break-cycle-local-service.patch + Let systemd pull in the default targets. This breaks a cycle- Fix variable name in cloud-init-translate-netconf-ipv4-keep-gw.patch- Add cloud-init-translate-netconf-ipv4-keep-gw.patch (boo#1064854) + Properly insert the gateway information for v1 json network config data- Add cloud-init-ntp-conf-suse.patch + ntp configuration was broken on sles and opensuse lp#1726572- Add cloud-init-hosts-template.patch (bsc#1064594) + Properly expand the /etc/hosst file when manage_etc_hosts is set- Fix sed expression to set distro properly (boo#1063716)- Update to version 17.1 (bsc#1035106) + Version numbering scheme change now YY.NUMBER_OF_RELESE_THAT_YEAR + Remove cloud.cfg.suse, use generated default config file + Remove addopenSUSEBase.patch, included upstream + Remove suseIntegratedHandler.patch, included upstream + Remove openSUSEhostsTemplate.diff, included upstream + Remove cloud-init-handle-no-carrier.patch, included upstream + Remove cloud-init-digital-ocean-datasource.patch, use upstream implementation + Remove cloud-init-digital-ocean-datasource-enable-by-default.patch, use upstream implementation + Remove cloud-init-fix-unicode-handling-binarydecode.patch, included upstream + Remove cloud-init-no-dmidecode-on-ppc64.patch, included upstream + Remove dataSourceOpenNebula.patch, use upstream implementation + Remove setupSUSEsysVInit.diff, included upstream + Remove suseSysVInit.diff, included upstream + Remove cloud-init-finalbeforelogin.patch, don't block login + Remove cloud-init-handle-not-implemented-query.patch, query option removed + Remove cloud-init-spceandtabs-clean.patch, indentation fixed upstream + Remove dynamicInitCmd.diff, different solution from upstream + Added cloud-init-more-tasks.patch, (bsc#1047363) replace cloud-init-finalbeforelogin.patch + Forward port cloud-init-python2-sigpipe.patch + Remove cloud-init-net-eni.patch, included upstream + Remove cloud-init-service.patch, included upstream + Forward port cloud-init-sysconfig-netpathfix.patch + Remove cloud-init-net-sysconfig-lp1665441.patch, included upstream + Remove cloud-init-python26.patch, included upstream + Remove skip-argparse-on-python3.patch + Add cloud-init-tests-set-exec.patch + Add cloud-init-final-no-apt.patch + Add zypp_add_repo_test.patch + doc: document GCE datasource. [Arnd Hannemann] + suse: updates to templates to support openSUSE and SLES. + [Robert Schweikert] (LP: #1718640) + suse: Copy sysvinit files from redhat with slight changes. + [Robert Schweikert] (LP: #1718649) + docs: fix sphinx module schema documentation [Chad Smith] + tests: Add cloudinit package to all test targets [Chad Smith] + Makefile: No longer look for yaml files in obsolete ./bin/. + tests: fix ds-identify unit tests to set EC2_STRICT_ID_DEFAULT. + ec2: Fix maybe_perform_dhcp_discovery to use /var/tmp as a tmpdir + [Chad Smith] (LP: #1717627) + Azure: wait longer for SSH pub keys to arrive. + [Paul Meyer] (LP: #1717611) + GCE: Fix usage of user-data. (LP: #1717598) + cmdline: add collect-logs subcommand. [Chad Smith] (LP: #1607345) + CloudStack: consider dhclient lease files named with a hyphen. + (LP: #1717147) + resizefs: Drop check for read-only device file, do not warn on + overlayroot. [Chad Smith] + Do not provide systemd-fsck drop-in which could cause ordering cycles. + [Balint Reczey] (LP: #1717477) + tests: Enable the NoCloud KVM platform [Joshua Powers] + resizefs: pass mount point to xfs_growfs [Dusty Mabe] + vmware: Enable nics before sending the SUCCESS event. [Sankar Tanguturi] + cloud-config modules: honor distros definitions in each module + [Chad Smith] (LP: #1715738, #1715690) + chef: Add option to pin chef omnibus install version + [Ethan Apodaca] (LP: #1462693) + tests: execute: support command as string [Joshua Powers] + schema and docs: Add jsonschema to resizefs and bootcmd modules + [Chad Smith] + tools: Add xkvm script, wrapper around qemu-system [Joshua Powers] + vmware customization: return network config format + [Sankar Tanguturi] (LP: #1675063) + Ec2: only attempt to operate at local mode on known platforms. + (LP: #1715128) + Use /run/cloud-init for tempfile operations. (LP: #1707222) + ds-identify: Make OpenStack return maybe on arch other than intel. + (LP: #1715241) + tests: mock missed openstack metadata uri network_data.json + [Chad Smith] (LP: #1714376) + relocate tests/unittests/helpers.py to cloudinit/tests + [Lars Kellogg-Stedman] + tox: add nose timer output [Joshua Powers] + upstart: do not package upstart jobs, drop ubuntu-init-switch module. + tests: Stop leaking calls through unmocked metadata addresses + [Chad Smith] (LP: #1714117) + distro: allow distro to specify a default locale [Ryan Harper] + tests: fix two recently added tests for sles distro. + url_helper: dynamically import oauthlib import from inside oauth_headers + [Chad Smith] + tox: make xenial environment run with python3.6 + suse: Add support for openSUSE and return SLES to a working state. + [Robert Schweikert] + GCE: Add a main to the GCE Datasource. + ec2: Add IPv6 dhcp support to Ec2DataSource. [Chad Smith] (LP: #1639030) + url_helper: fail gracefully if oauthlib is not available + [Lars Kellogg-Stedman] (LP: #1713760) + cloud-init analyze: fix issues running under python 2. [Andrew Jorgensen] + Configure logging module to always use UTC time. + [Ryan Harper] (LP: #1713158) + Log a helpful message if a user script does not include shebang. + [Andrew Jorgensen] + cli: Fix command line parsing of coniditionally loaded subcommands. + [Chad Smith] (LP: #1712676) + doc: Explain error behavior in user data include file format. + [Jason Butz] + cc_landscape & cc_puppet: Fix six.StringIO use in writing configs + [Chad Smith] (LP: #1699282, #1710932) + schema cli: Add schema subcommand to cloud-init cli and cc_runcmd schema + [Chad Smith] + Debian: Remove non-free repositories from apt sources template. + [Joonas Kylmälä] (LP: #1700091) + tools: Add tooling for basic cloud-init performance analysis. + [Chad Smith] (LP: #1709761) + network: add v2 passthrough and fix parsing v2 config with bonds/bridge + params [Ryan Harper] (LP: #1709180) + doc: update capabilities with features available, link doc reference, + cli example [Ryan Harper] + vcloud directory: Guest Customization support for passwords + [Maitreyee Saikia] + ec2: Allow Ec2 to run in init-local using dhclient in a sandbox. + [Chad Smith] (LP: #1709772) + cc_ntp: fallback on timesyncd configuration if ntp is not installable + [Ryan Harper] (LP: #1686485) + net: Reduce duplicate code. Have get_interfaces_by_mac use + get_interfaces. + tests: Fix build tree integration tests [Joshua Powers] + sysconfig: Dont repeat header when rendering resolv.conf + [Ryan Harper] (LP: #1701420) + archlinux: Fix bug with empty dns, do not render 'lo' devices. + (LP: #1663045, #1706593) + cloudinit.net: add initialize_network_device function and tests + [Chad Smith] + makefile: fix ci-deps-ubuntu target [Chad Smith] + tests: adjust locale integration test to parse default locale. + tests: remove 'yakkety' from releases as it is EOL. + tests: Add initial tests for EC2 and improve a docstring. + locale: Do not re-run locale-gen if provided locale is system default. + archlinux: fix set hostname usage of write_file. + [Joshua Powers] (LP: #1705306) + sysconfig: support subnet type of 'manual'. + tools/run-centos: make running with no argument show help. + Drop rand_str() usage in DNS redirection detection + [Bob Aman] (LP: #1088611) + sysconfig: use MACADDR on bonds/bridges to configure mac_address + [Ryan Harper] (LP: #1701417) + net: eni route rendering missed ipv6 default route config + [Ryan Harper] (LP: #1701097) + sysconfig: enable mtu set per subnet, including ipv6 mtu + [Ryan Harper] (LP: #1702513) + sysconfig: handle manual type subnets [Ryan Harper] (LP: #1687725) + sysconfig: fix ipv6 gateway routes [Ryan Harper] (LP: #1694801) + sysconfig: fix rendering of bond, bridge and vlan types. + [Ryan Harper] (LP: #1695092) + Templatize systemd unit files for cross distro deltas. [Ryan Harper] + sysconfig: ipv6 and default gateway fixes. [Ryan Harper] (LP: #1704872) + net: fix renaming of nics to support mac addresses written in upper + case. (LP: #1705147) + tests: fixes for issues uncovered when moving to python 3.6. + (LP: #1703697) + sysconfig: include GATEWAY value if set in subnet + [Ryan Harper] (LP: #1686856) + Scaleway: add datasource with user and vendor data for Scaleway. + [Julien Castets] + Support comments in content read by load_shell_content. + cloudinitlocal fail to run during boot [Hongjiang Zhang] + doc: fix disk setup example table_type options + [Sandor Zeestraten] (LP: #1703789) + tools: Fix exception handling. [Joonas Kylmälä] (LP: #1701527) + tests: fix usage of mock in GCE test. + test_gce: Fix invalid mock of platform_reports_gce to return False + [Chad Smith] + test: fix incorrect keyid for apt repository. + [Joshua Powers] (LP: #1702717) + tests: Update version of pylxd [Joshua Powers] + write_files: Remove log from helper function signatures. + [Andrew Jorgensen] + doc: document the cmdline options to NoCloud [Brian Candler] + read_dmi_data: always return None when inside a container. (LP: #1701325) + requirements.txt: remove trailing white space. + Azure: Add network-config, Refactor net layer to handle duplicate macs. + [Ryan Harper] + Tests: Simplify the check on ssh-import-id [Joshua Powers] + tests: update ntp tests after sntp added [Joshua Powers] + FreeBSD: Make freebsd a variant, fix unittests and + tools/build-on-freebsd. + FreeBSD: fix test failure + FreeBSD: replace ifdown/ifup with "ifconfig down" and "ifconfig up". + [Hongjiang Zhang] (LP: #1697815) + FreeBSD: fix cdrom mounting failure if /mnt/cdrom/secure did not exist. + [Hongjiang Zhang] (LP: #1696295) + main: Don't use templater to format the welcome message + [Andrew Jorgensen] + docs: Automatically generate module docs form schema if present. + [Chad Smith] + debian: fix path comment in /etc/hosts template. + [Jens Sandmann] (LP: #1606406) + suse: add hostname and fully qualified domain to template. + [Jens Sandmann] + write_file(s): Print permissions as octal, not decimal [Andrew Jorgensen] + ci deps: Add --test-distro to read-dependencies to install all deps + [Chad Smith] + tools/run-centos: cleanups and move to using read-dependencies + pkg build ci: Add make ci-deps- target to install pkgs + [Chad Smith] + systemd: make cloud-final.service run before apt daily services. + (LP: #1693361) + selinux: Allow restorecon to be non-fatal. [Ryan Harper] (LP: #1686751) + net: Allow netinfo subprocesses to return 0 or 1. + [Ryan Harper] (LP: #1686751) + net: Allow for NetworkManager configuration [Ryan McCabe] (LP: #1693251) + Use distro release version to determine if we use systemd in redhat spec + [Ryan Harper] + net: normalize data in network_state object + Integration Testing: tox env, pyxld 2.2.3, and revamp framework + [Wesley Wiedenmeier] + Chef: Update omnibus url to chef.io, minor doc changes. [JJ Asghar] + tools: add centos scripts to build and test [Joshua Powers] + Drop cheetah python module as it is not needed by trunk [Ryan Harper] + rhel/centos spec cleanups. + cloud.cfg: move to a template. setup.py changes along the way. + Makefile: add deb-src and srpm targets. use PYVER more places. + makefile: fix python 2/3 detection in the Makefile [Chad Smith] + snap: Removing snapcraft plug line [Joshua Powers] (LP: #1695333) + RHEL/CentOS: Fix default routes for IPv4/IPv6 configuration. + [Andreas Karis] (LP: #1696176) + test: Fix pyflakes complaint of unused import. + [Joshua Powers] (LP: #1695918) + NoCloud: support seed of nocloud from smbios information + [Vladimir Pouzanov] (LP: #1691772) + net: when selecting a network device, use natural sort order + [Marc-Aurèle Brothier] + fix typos and remove whitespace in various docs [Stephan Telling] + systemd: Fix typo in comment in cloud-init.target. [Chen-Han Hsiao] + Tests: Skip jsonschema related unit tests when dependency is absent. + [Chad Smith] (LP: #1695318) + azure: remove accidental duplicate line in merge. + azure: identify platform by well known value in chassis asset tag. + [Chad Smith] (LP: #1693939) + tools/net-convert.py: support old cloudinit versions by using kwargs. + ntp: Add schema definition and passive schema validation. + [Chad Smith] (LP: #1692916) + Fix eni rendering for bridge params that require repeated key for + values. [Ryan Harper] + net: remove systemd link file writing from eni renderer [Ryan Harper] + AliYun: Enable platform identification and enable by default. + [Junjie Wang] (LP: #1638931) + net: fix reading and rendering addresses in cidr format. + [Dimitri John Ledkov] (LP: #1689346, #1684349) + disk_setup: udev settle before attempting partitioning or fs creation. + (LP: #1692093) + GCE: Update the attribute used to find instance SSH keys. + [Daniel Watkins] (LP: #1693582) + nplan: For bonds, allow dashed or underscore names of keys. + [Dimitri John Ledkov] (LP: #1690480) + python2.6: fix unit tests usage of assertNone and format. + test: update docstring on test_configured_list_with_none + fix tools/ds-identify to not write None twice. + tox/build: do not package depend on style requirements. + cc_ntp: Restructure cc_ntp unit tests. [Chad Smith] (LP: #1692794) + flake8: move the pinned version of flake8 up to 3.3.0 + tests: Apply workaround for snapd bug in test case. [Joshua Powers] + RHEL/CentOS: Fix dual stack IPv4/IPv6 configuration. + [Andreas Karis] (LP: #1679817, #1685534, #1685532) + disk_setup: fix several issues with gpt disk partitions. (LP: #1692087) + function spelling & docstring update [Joshua Powers] + Fixing wrong file name regression. [Joshua Powers] + tox: move pylint target to 1.7.1 + Fix get_interfaces_by_mac for empty macs (LP: #1692028) + DigitalOcean: remove routes except for the public interface. + [Ben Howard] (LP: #1681531.) + netplan: pass macaddress, when specified, for vlans + [Dimitri John Ledkov] (LP: #1690388) + doc: various improvements for the docs on cc_users_groups. + [Felix Dreissig] + cc_ntp: write template before installing and add service restart + [Ryan Harper] (LP: #1645644) + cloudstack: fix tests to avoid accessing /var/lib/NetworkManager + [Lars Kellogg-Stedman] + tests: fix hardcoded path to mkfs.ext4 [Joshua Powers] (LP: #1691517) + Actually skip warnings when .skip file is present. + [Chris Brinker] (LP: #1691551) + netplan: fix netplan render_network_state signature. + [Dimitri John Ledkov] (LP: #1685944) + Azure: fix reformatting of ephemeral disks on resize to large types. + (LP: #1686514) + Revert "tools/net-convert: fix argument order for render_network_state" + make deb: Add devscripts dependency for make deb. Cleanup + packages/bddeb. [Chad Smith] (LP: #1685935) + tools/net-convert: fix argument order for render_network_state + [Ryan Harper] (LP: #1685944) + openstack: fix log message copy/paste typo in _get_url_settings + [Lars Kellogg-Stedman] + unittests: fix unittests run on centos [Joshua Powers] + Improve detection of snappy to include os-release and kernel cmdline. + (LP: #1689944) + Add address to config entry generated by _klibc_to_config_entry. + [Julien Castets] (LP: #1691135) + sysconfig: Raise ValueError when multiple default gateways are present. + [Chad Smith] (LP: #1687485) + FreeBSD: improvements and fixes for use on Azure + [Hongjiang Zhang] (LP: #1636345) + Add unit tests for ds-identify, fix Ec2 bug found. + fs_setup: if cmd is specified, use shell interpretation. + [Paul Meyer] (LP: #1687712) + doc: document network configuration defaults policy and formats. + [Ryan Harper] + Fix name of "uri" key in docs for "cc_apt_configure" module + [Felix Dreissig] + tests: Enable artful [Joshua Powers] + nova-lxd: read product_name from environment, not platform. + (LP: #1685810) + Fix yum repo config where keys contain array values + [Dylan Perry] (LP: #1592150) + template: Update debian backports template [Joshua Powers] (LP: #1627293) + rsyslog: replace ~ with stop [Joshua Powers] (LP: #1367899) + Doc: add additional RTD examples [Joshua Powers] (LP: #1459604) + Fix growpart for some cases when booted with root=PARTUUID. + (LP: #1684869) + pylint: update output style to parseable [Joshua Powers] + pylint: fix all logging warnings [Joshua Powers] + CloudStack: Add NetworkManager to list of supported DHCP lease dirs. + [Syed] + net: kernel lies about vlans not stealing mac addresses, when they do + [Dimitri John Ledkov] (LP: #1682871) + ds-identify: Check correct path for "latest" config drive + [Daniel Watkins] (LP: #1673637) + doc: Fix example for resolve.conf configuration. + [Jon Grimm] (LP: #1531582) + Fix examples that reference upstream chef repository. + [Jon Grimm] (LP: #1678145) + doc: correct grammar and improve clarity in merging documentation. + [David Tagatac] + doc: Add missing doc link to snap-config module. [Ryan Harper] + snap: allows for creating cloud-init snap [Joshua Powers] + DigitalOcean: assign IPv4ll address to lowest indexed interface. + [Ben Howard] + DigitalOcean: configure all NICs presented in meta-data. [Ben Howard] + Remove (and/or fix) URL shortener references [Jon Grimm] (LP: #1669727) + HACKING.rst: more info on filling out contributors agreement. + util: teach write_file about copy_mode option + [Lars Kellogg-Stedman] (LP: #1644064) + DigitalOcean: bind resolvers to loopback interface. [Ben Howard] + tests: fix AltCloud tests to not rely on blkid (LP: #1636531) + OpenStack: add 'dvs' to the list of physical link types. (LP: #1674946) + Fix bug that resulted in an attempt to rename bonds or vlans. + (LP: #1669860) + tests: update OpenNebula and Digital Ocean to not rely on host + interfaces. + net: in netplan renderer delete known image-builtin content. + (LP: #1675576) + doc: correct grammar in capabilities.rst [David Tagatac] + ds-identify: fix detecting of maas datasource. (LP: #1677710) + netplan: remove debugging prints, add debug logging [Ryan Harper] + ds-identify: do not write None twice to datasource_list. + support resizing partition and rootfs on system booted without + initramfs. [Steve Langasek] (LP: #1677376) + apt_configure: run only when needed. (LP: #1675185) + OpenStack: identify OpenStack by product 'OpenStack Compute'. + (LP: #1675349) + GCE: Search GCE in ds-identify, consider serial number in check. + (LP: #1674861) + Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325) + Fix filesystem creation when using "partition: auto" + [Jonathan Ballet] (LP: #1634678) + ConfigDrive: support reading config drive data from /config-drive. + (LP: #1673411) + ds-identify: fix detection of Bigstep datasource. (LP: #1674766) + test: add running of pylint [Joshua Powers] + ds-identify: fix bug where filename expansion was left on. + advertise network config v2 support (NETWORK_CONFIG_V2) in features. + Bigstep: fix bug when executing in python3. [root] + Fix unit test when running in a system deployed with cloud-init. + Bounce network interface for Azure when using the built-in path. + [Brent Baude] (LP: #1674685) + cloudinit.net: add network config v2 parsing and rendering [Ryan Harper] + net: Fix incorrect call to isfile [Joshua Powers] (LP: #1674317) + net: add renderers for automatically selecting the renderer. + doc: fix config drive doc with regard to unpartitioned disks. + (LP: #1673818) + test: Adding integratiron test for password as list [Joshua Powers] + render_network_state: switch arguments around, do not require target + support 'loopback' as a device type. + Integration Testing: improve testcase subclassing [Wesley Wiedenmeier] + gitignore: adding doc/rtd_html [Joshua Powers] + doc: add instructions for running integration tests via tox. + [Joshua Powers] + test: avoid differences in 'date' output due to daylight savings. + Fix chef config module in omnibus install. [Jeremy Melvin] (LP: #1583837) + Add feature flags to cloudinit.version. [Wesley Wiedenmeier] + tox: add a citest environment + Further fix regression to support 'password' for default user. + fix regression when no chpasswd/list was provided. + Support chpasswd/list being a list in addition to a string. + [Sergio Lystopad] (LP: #1665694) + doc: Fix configuration example for cc_set_passwords module. + [Sergio Lystopad] (LP: #1665773) + net: support both ipv4 and ipv6 gateways in sysconfig. + [Lars Kellogg-Stedman] (LP: #1669504) + net: do not raise exception for > 3 nameservers + [Lars Kellogg-Stedman] (LP: #1670052) + ds-identify: report cleanups for config and exit value. (LP: #1669949) + ds-identify: move default setting for Ec2/strict_id to a global. + ds-identify: record not found in cloud.cfg and always add None. + Support warning if the used datasource is not in ds-identify's list. + tools/ds-identify: make report mode write namespaced results. + Move warning functionality to cloudinit/warnings.py + Add profile.d script for showing warnings on login. + Z99-cloud-locale-test.sh: install and make consistent. + tools/ds-identify: look at cloud.cfg when looking for ec2 strict_id. + tools/ds-identify: disable vmware_guest_customization by default. + tools/ds-identify: ovf identify vmware guest customization. + Identify Brightbox as an Ec2 datasource user. (LP: #1661693) + DatasourceEc2: add warning message when not on AWS. + ds-identify: add reading of datasource/Ec2/strict_id + tools/ds-identify: add support for found or maybe contributing config. + tools/ds-identify: read the seed directory on Ec2 + tools/ds-identify: use quotes in local declarations. + tools/ds-identify: fix documentation of policy setting in a comment. + ds-identify: only run once per boot unless --force is given. + flake8: fix flake8 complaints in previous commit. + net: correct errors in cloudinit/net/sysconfig.py + [Lars Kellogg-Stedman] (LP: #1665441) + ec2_utils: fix MetadataLeafDecoder that returned bytes on empty + apply the runtime configuration written by ds-identify. + ds-identify: fix checking for filesystem label (LP: #1663735) + ds-identify: read ds=nocloud properly (LP: #1663723) + support nova-lxd by reading platform from environment of pid 1. + (LP: #1661797) + ds-identify: change aarch64 to use the default for non-dmi systems. + Remove style checking during build and add latest style checks to tox + [Joshua Powers] (LP: #1652329) + code-style: make master pass pycodestyle (2.3.1) cleanly, currently: + [Joshua Powers] + manual_cache_clean: When manually cleaning touch a file in instance dir. + Add tools/ds-identify to identify datasources available. + Fix small typo and change iso-filename for consistency [Robin Naundorf] + Fix eni rendering of multiple IPs per interface + [Ryan Harper] (LP: #1657940) + tools/mock-meta: support python2 or python3 and ipv6 in both. + tests: remove executable bit on test_net, so it runs, and fix it. + tests: No longer monkey patch httpretty for python 3.4.2 + Add 3 ecdsa-sha2-nistp* ssh key types now that they are standardized + [Lars Kellogg-Stedman] (LP: #1658174) + reset httppretty for each test [Lars Kellogg-Stedman] (LP: #1658200) + build: fix running Make on a branch with tags other than master + EC2: Do not cache security credentials on disk + [Andrew Jorgensen] (LP: #1638312) + doc: Fix typos and clarify some aspects of the part-handler + [Erik M. Bray] + doc: add some documentation on OpenStack datasource. + OpenStack: Use timeout and retries from config in get_data. + [Lars Kellogg-Stedman] (LP: #1657130) + Fixed Misc issues related to VMware customization. [Sankar Tanguturi] + Fix minor docs typo: perserve > preserve [Jeremy Bicha] + Use dnf instead of yum when available + [Lars Kellogg-Stedman] (LP: #1647118) + validate-yaml: use python rather than explicitly python3 + Get early logging logged, including failures of cmdline url. - From 0.7.9 + doc: adjust headers in tests documentation for consistency. + pep8: fix issue found in zesty build with pycodestyle. + integration test: initial commit of integration test framework + [Wesley Wiedenmeier] + LICENSE: Allow dual licensing GPL-3 or Apache 2.0 [Jon Grimm] + Fix config order of precedence, putting kernel command line over system. + [Wesley Wiedenmeier] (LP: #1582323) + pep8: whitespace fix + Update the list of valid ssh keys. [Michael Felt] + network: add ENI unit test for statically rendered routes. + set_hostname: avoid erroneously appending domain to fqdn + [Lars Kellogg-Stedman] (LP: #1647910) + doc: change 'nobootwait' to 'nofail' in docs [Anhad Jai Singh] + Replace an expired bit.ly link in code comment. + user-groups: fix bug when groups was provided as string and had spaces + (LP: #1354694) + mounts: use mount -a again to accomplish mounts (LP: #1647708) + CloudSigma: Fix bug where datasource was not loaded in local search. + (LP: #1648380) + when adding a user, strip whitespace from group list [Lars Kellogg-Stedman] + (LP: #1354694) + fix decoding of utf-8 chars in yaml test + Replace usage of sys_netdev_info with read_sys_net (LP: #1625766) + fix problems found in python2.6 test. + OpenStack: extend physical types to include hyperv, hw_veb, vhost_user. + (LP: #1642679) + tests: fix assumptions that expected no eth0 in system. (LP: #1644043) + net/cmdline: Consider ip= or ip6= on command line not only ip= + (LP: #1639930) + Just use file logging by default (LP: #1643990) + Improve formatting for ProcessExecutionError [Wesley Wiedenmeier] + flake8: fix trailing white space + Doc: various documentation fixes [Sean Bright] + cloudinit/config/cc_rh_subscription.py: Remove repos before adding + [Brent Baude] + packages/redhat: fix rpm spec file. + main: set TZ in environment if not already set. [Ryan Harper] + Azure: No longer rely on walinux agent. (LP: #1538522) + disk_setup: Use sectors as unit when formatting MBR disks with sfdisk. + [Daniel Watkins] (LP: #1460715) + Add activate_datasource, for datasource specific code paths. (LP: #1611074) + systemd: cloud-init-local use RequiresMountsFor=/var/lib/cloud + (LP: #1642062) + systemd: cloud-init remove After=systemd-networkd-wait-online + systemd: cloud-init-local change Before basic to sysinit + pep8: fix style errors reported by pycodestyle 2.1.0 + systemd: drop both Wants and After local-fs.target + systemd: networking service adjustments. (LP: #1636912) + systemd: replace Before=basic.target, dbus.target with sysinit.target + (LP: #1629797) + doc: Add documentation on stages of boot. + doc: make the RST files consistently formated and other improvements. + Ec2: fix syntax and tox in previous commit. + Ec2: protect against non-dictionary in block-device-mapping. + doc: fixed example to not overwrite /etc/hosts [Chris Glass] + Doc: fix spelling / typos in ca_certs and scripts_vendor. + pyflakes: fix issue with pyflakes 1.3 found in ubuntu zesty-proposed. + net/cmdline: Further adjustments to ipv6 support [LaMont Jones] + (LP: #1621615) + Add coverage dependency to bddeb to fix package build. + doc: improve HACKING.rst file + dmidecode: Allow dmidecode to be used on aarch64 [Robert Schweikert] + AliYun: Add new datasource for Ali-Cloud ECS [kaihuan.pkh] + Add coverage collection to tox unit tests. [Joshua Powers] + cc_users_groups: fix remaing call to ds.normalize_user_groups [Ryan Harper] + disk-config: udev settle after partitioning in gpt format. (LP: #1626243) + unittests: do not read system /etc/cloud/cloud.cfg.d (LP: #1635350) + Add documentation for logging features. [Wesley Wiedenmeier] + Add support for snap create-user on Ubuntu Core images. [Ryan Harper] + Fix sshd restarts for rhel distros. [Jim Gorz] + OpenNebula: replace 'ip' parsing with cloudinit.net usage. + Fix python2.6 things found running in centos 6. + Move user/group functions to new ug_util file + DigitalOcean: enable usage of data source by default. + update Gentoo initscripts to run in the correct order [Matthew Thode] + MAAS: improve the main of datasource to look at kernel cmdline config. + tests: silence the Cheetah UserWarning about NameMapper C version. + systemd: Run cloud-init.service Before dbus.socket not dbus.target + [Daniel Watkins] (LP: #1629797) + systemd: run cloud-init.service Before dbus.service (LP: #1629797) + unittests: fix use of mock 2.0 'assert_called' when running make check + [Ryan Harper] + Improve module documentation and doc cleanup. [Wesley Wiedenmeier] + lxd: Update network config for LXD 2.3 [Stéphane Graber] + DigitalOcean: use meta-data for network configruation [Ben Howard] + ntp: move to run after apt configuration (LP: #1628337) + Decode unicode types in decode_binary [Robert Schweikert] + systemd: Ensure that cloud-init-local happens before NetworkManager + Allow ephemeral drive to be unpartitioned [Paul Meyer] + subp: add 'update_env' argument + net: support reading ipv6 dhcp config from initramfs [LaMont Jones] + (LP: #1621615, #1621507) + Adjust mounts and disk configuration for systemd. (LP: #1611074) + dmidecode: run dmidecode only on i?86 or x86_64 arch. [Robert Schweikert] + systemd: put cloud-init.target After multi-user.target (LP: #1623868)- add skip-argparse-on-python3.patch: don't depend on argparse for python3, it is builtin there (as of python 3.2, so the patch should be good enough)- python_sitelib does not seem to exist for non single-spec python modules, use python2_sitelib and python3_sitelib instead.- Drop python-cheetah as requirement + Cheetah is no maintained and cloud-init switches to Jinja2 as templating engine if Cheetah is not available - Drop argparse as dependency for Py3 build + argparse is built into Python- Modify cloud-init-finalbeforelogin.patch (bsc#1047363) + Support user processes running in coud-init-final to consume a large number of threads. - Modify cloud-init-service.patch (bsc#1055649) + Start after dbus.service, needed by hotnamectl - Modify cloud-init-handle-not-implemented-query.patch + print needs () for Python3 - Add cloud-init-spceandtabs-clean.patch + Fix inconsistent use of spaces and tabs in various files - Modify suseIntegratedHandler.patch + Fix mode setting passed to function for file writing - Set packag up to build with Python 3 for distros later than SLE 12- On Tumbleweed we need net-tools-deprecated to setup the network- add cloud-init-net-sysconfig-lp1665441.patch (lp#1665441)- Don't call insserv if we use systemd- Do not set mount options for ephemeral drive, use the defaults that are built into the code (bsc#930524)- Update fix-default-systemd-unit-dir.patch (bsc#1024709) + based on work by Thomas Abraham - Add cloud-init-handle-not-implemented-query.patch (boo#1017832)- Require net-tools for network setup- Configuration split (bsc#1016160)- fix syntax error in datasource LocalDisk (fix got somehow lost)- adjust license (as of 0.7.8 AGPL-3.0 was added)- fix unintentional edit in last change again- Modify suseIntegratedHandler.patch (bsc#998103) + Store previous hostname so update_hostname module does not overwrite manually set hostnames - cloud-init-python26.patch + Compatibility fixes with Python 2.6- fix the cloud.cfg split, cyclic non-versioned dependencies are bad. also fix changelog entries- add datasourceLocalDisk.patch: * Fix datasourceLocalDisk module in case directory exists but is empty.- Add Conflicts for otherproviders of cloud-init-config. - Add require for python-six (used by several modules)- Add LocalDisk datasource datasourceLocalDisk.patch [FATE#321107]- Reworked zypp_add_repos.diff to behave similar to zypper ar- Move cloud.cfg into an own sub-package, so that we can have a product specific version. [FATE#322039]- Add zypp_add_repos.diff to support repos for zypper [FATE#322038]- Modify suseIntegratedHandler.patch (bsc#1007529) + Fall back to the previous method of writing network information We have to work out upstream how to have distro specific renderer for sysconfig- Add cloud-init-sysconfig-netpathfix.patch (bsc#1007529) + Fix the default path for network scripts - Cosmetic changes to suseIntegratedHandler.patch- Update cloud-init-no-dmidecode-on-ppc64.patch (bsc#1005616) + aarch64 does support dmidecode- Update cloud-init-service.patch + Break another cycle this one in -final- Update cloud-init-service.patch + Better match upstream intend Ubuntu networking.service is equivalent to SUSE wicked, thus we cannot translate networking to network, but need to translate it to wicked- Update cloud-init-service.patch + We need the following order: - something brings networking fully up (in our case wicked) - cloud-init.service runs - network-online.target is reached- Update cloud-init-service.patch + The network must be up an running in order to get ssh key injected- Update cloud-init-service.patch + Had self reference and thus cloud-init.service was never executed which caused ssh key loading failure- Do not own /lib/udev to not conflict with udev rpm- Forward port suseIntegratedHandler.patch + Implement new abstract interfaces + Some minor implementation fixes- Appease the build service, differences between OBS and IBS, and own the directories- Fix package, udev rules should be in /usr for distros after SLES 11- add cloud-init-digital-ocean-datasource-enable-by-default.patch, cloud-init-digital-ocean-datasource.patch: add DigitalOcean support - run tests on build- Add cloud-init-handle-no-carrier.patch (boo#1003977) - Handle the exception when attempting to detect if the network device is up when it is not- Update cloud-init-service.patch (boo#999942) - Backport upstream commits 3705bb5964a and 6e45ffb21e96- Decoding error (boo#998843) + Added cloud-init-fix-unicode-handling-binarydecode.patch - Fix dependencies, depends on oauthlib instead of oauth- Fix dataSourceOpenNebula.patch, missing closing paren (boo#998836)- Fix typo in cloud-init-service.patch- update to version 0.7.8 (bsc#998103) + added cloud-init-net-eni.patch based on work by eblock - Using config-drive instead of metadata failed because the network translation to Ubuntu-style did not return gateway information to opensuse.py + added cloud-init-service.patch based on work by eblock - The service file cloud-init.service referenced networking.service which on SUSE is network.service + remove no_logic_change.patch included in updated upstream source + forward port suseIntegratedHandler.patch + forward port setupSUSEsysVInit.diff + forward port cloud-init-no-dmidecode-on-ppc64.patch + foward port dataSourceOpenNebula.patch + forward port fix-default-systemd-unit-dir.patch + forward port cloud-init-finalbeforelogin.patch + forward port cloud-init-python2-sigpipe.patch + SmartOS: more improvements for network configuration + add ntp config module [Ryan Harper] + ChangeLog: update changelog for previous commit. + Add distro tags on config modules that should have it. + NoCloud: fix bug providing network-interfaces via meta-data. (LP: 1577982) + ConfigDrive: recognize 'tap' as a link type. (LP: #1610784) + Upgrade to a configobj package new enough to work + MAAS: add vendor-data support (LP: #1612313) + DigitalOcean: use the v1.json endpoint [Ben Howard] + Get Azure endpoint server from DHCP client [Brent Baude] + Apt: add new apt configuration format [Christian Ehrhardt] + distros: fix get_primary_arch method use of os.uname [Andrew Jorgensen] + Fix Gentoo net config generation [Matthew Thode] + Minor cleanups to atomic_helper and add unit tests. + azure dhclient-hook cleanups + network: fix get_interface_mac for bond slave, read_sys_net for ENOTDIR + Generate a dummy bond name for OpenStack (LP: #1605749) + add install option for openrc [Matthew Thode] + Add a module that can configure spacewalk. + python2.6: fix dict comprehension usage in _lsb_release. + apt-config: allow both old and new format to be present. [Christian Ehrhardt] (LP: #1616831) + bddeb: add --release flag to specify the release in changelog. + salt minion: update default pki directory for newer salt minion. (LP: #1609899) + Fix typo in default keys for phone_home [Roland Sommer] (LP: #1607810) + apt config conversion: treat empty string as not provided. (LP: #1621180) + tests: cleanup tempdirs in apt_source tests + systemd: Better support package and upgrade. (LP: #1576692, #1621336) + remove obsolete .bzrignore + DataSourceOVF: fix user-data as base64 with python3 (LP: #1619394) + Allow link type of null in network_data.json [Jon Grimm] (LP: #1621968) from 0.7.7: + Digital Ocean: add datasource for Digital Ocean. [Neal Shrader] + expose uses_systemd as a distro function (fix rhel7) + fix broken 'output' config (LP: #1387340) + begin adding cloud config module docs to config modules (LP: #1383510) + retain trailing eol from template files (sources.list) when rendered with jinja (LP: #1355343) + Only use datafiles and initsys addon outside virtualenvs + Fix the digital ocean test case on python 2.6 + Increase the usefulness, robustness, configurability of the chef module so that it is more useful, more documented and better for users + Fix how '=' signs are not handled that well in ssh_utils (LP: #1391303) + Be more tolerant of ssh keys passed into 'ssh_authorized_keys'; allowing for list, tuple, set, dict, string types and warning on other unexpected types + Update to use newer/better OMNIBUS_URL for chef module + GCE: Allow base64 encoded user-data (LP: #1404311) [Wayne Witzell III] + GCE: use short hostname rather than fqdn (LP: #1383794) [Ben Howard] + systemd: make init stage run before login prompts shown [Steve Langasek] + hostname: on first boot apply hostname to be same as is written for persistent hostname. (LP: #1246485) + remove usage of dmidecode on linux in favor of /sys interface [Ben Howard] + python3 support [Barry Warsaw, Daniel Watkins, Josh Harlow] (LP: #1247132) + support managing gpt partitions in disk config [Daniel Watkins] + Azure: utilze gpt support for ephemeral formating [Daniel Watkins] + CloudStack: support fetching password from virtual router [Daniel Watkins] (LP: #1422388) + readurl, read_file_or_url returns bytes, user must convert as necessary + SmartOS: use v2 metadata service (LP: #1436417) [Daniel Watkins] + NoCloud: fix local datasource claiming found without explicit dsmode + Snappy: add support for installing snappy packages and configuring. + systemd: use network-online instead of network.target (LP: #1440180) [Steve Langasek] + Add functionality to fixate the uid of a newly added user. + Don't overwrite the hostname if the user has changed it after we set it. + GCE datasource does not handle instance ssh keys (LP: 1403617) + sysvinit: make cloud-init-local run before network (LP: #1275098) [Surojit Pathak] + Azure: do not re-set hostname if user has changed it (LP: #1375252) + Fix exception when running with no arguments on Python 3. [Daniel Watkins] + Centos: detect/expect use of systemd on centos 7. [Brian Rak] + Azure: remove dependency on walinux-agent [Daniel Watkins] + EC2: know about eu-central-1 availability-zone (LP: #1456684) + Azure: remove password from on-disk ovf-env.xml (LP: #1443311) [Ben Howard] + Doc: include information on user-data in OpenStack [Daniel Watkins] + Systemd: check for systemd using sd_booted symantics (LP: #1461201) [Lars Kellogg-Stedman] + Add an rh_subscription module to handle registration of Red Hat instances. [Brent Baude] + cc_apt_configure: fix importing keys under python3 (LP: #1463373) + cc_growpart: fix specification of 'devices' list (LP: #1465436) + CloudStack: fix password setting on cloudstack > 4.5.1 (LP: #1464253) + GCE: fix determination of availability zone (LP: #1470880) + ssh: generate ed25519 host keys (LP: #1461242) + distro mirrors: provide datasource to mirror selection code to support GCE regional mirrors. (LP: #1470890) + add udev rules that identify ephemeral device on Azure (LP: #1411582) + _read_dmi_syspath: fix bad log message causing unintended exception + rsyslog: add additional configuration mode (LP: #1478103) + status_wrapper in main: fix use of print_exc when handling exception + reporting: add reporting module for web hook or logging of events. + NoCloud: fix consumption of vendordata (LP: #1493453) + power_state_change: support 'condition' to disable or enable poweroff + ubuntu fan: support for config and installing of ubuntu fan (LP: #1504604) + Azure: support extracting SSH key values from ovf-env.xml (LP: #1506244) + AltCloud: fix call to udevadm settle (LP: #1507526) + Ubuntu templates: modify sources.list template to provide same sources as install from server or desktop ISO. (LP: #1177432) + cc_mounts: use 'nofail' if system uses systemd. (LP: #1514485) + Azure: get instance id from dmi instead of SharedConfig (LP: #1506187) + systemd/power_state: fix power_state to work even if cloud-final exited non-zero (LP: #1449318) + SmartOS: Add support for Joyent LX-Brand Zones (LP: #1540965) [Robert C Jennings] + systemd: support using systemd-detect-virt to detect container (LP: #1539016) [Martin Pitt] + docs: fix lock_passwd documentation [Robert C Jennings] + Azure: Handle escaped quotes in WALinuxAgentShim.find_endpoint. (LP: #1488891) [Dan Watkins] + lxd: add support for setting up lxd using 'lxd init' (LP: #1522879) + Add Image Customization Parser for VMware vSphere Hypervisor Support. [Sankar Tanguturi] + timezone: use a symlink rather than copy for /etc/localtime unless it is already a file (LP: #1543025). + Enable password changing via a hashed string [Alex Sirbu] + Added BigStep datasource [Alex Sirbu] + No longer run pollinate in seed_random (LP: #1554152) + groups: add defalt user to 'lxd' group. Create groups listed for a user if they do not exist. (LP: #1539317) + dmi data: fix failure of reading dmi data for unset dmi values + doc: mention label for nocloud datasource must be 'cidata' [Peter Hurley] + ssh_pwauth: fix module to support 'unchanged' and match behavior described in documentation [Chris Cosby] + quickly check to see if the previous instance id is still valid to avoid dependency on network metadata service on every boot (LP: #1553815) + support network configuration in cloud-init --local with support device naming via systemd.link. + FreeBSD: add support for installing packages, setting password and timezone. Change default user to 'freebsd'. [Ben Arblaster] + locale: list unsupported environment settings in warning (LP: #1558069) + disk_setup: correctly send --force to mkfs on block devices (LP: #1548772) + chef: fix chef install from gems (LP: #1553345) + systemd: do not specify After of obsolete syslog.target (LP: #1536964) + centos: Ensure that resolve conf object is written as a str (LP: #1479988) + chef: straighten out validation_cert and validation_key (LP: #1568940) + phone_home: allow usage of fqdn (LP: #1566824) [Ollie Armstrong] + cloudstack: Only use DHCPv4 lease files as a datasource (LP: #1576273) [Wido den Hollander] + Paths: fix instance path if datasource's id has a '/'. (LP: #1575938) [Robert Jennings] + Ec2: do not retry requests for user-data path on 404. + settings on the kernel command line (cc:) override all local settings rather than only those in /etc/cloud/cloud.cfg (LP: #1582323) + Improve merging documentation [Daniel Watkins] + apt sources: support inserting key/key-id only, custom sources.list, long gpg key fingerprints with spaces, and dictionary format (LP: #1574113) + SmartOS: datasource improvements and support for metadata service providing networking information. + Datasources: centrally handle 'dsmode' and no longer require datasources to "pass" if modules_init should be executed with network access. + ConfigDrive: improved support for networking information from a network_data.json or older interfaces formated network_config. + Change missing Cheetah log warning to debug [Andrew Jorgensen] + Remove trailing dot from GCE metadata URL (LP: #1581200) [Phil Roche] + support network rendering to sysconfig (for centos and RHEL) + write_files: if no permissions are given, just use default without warn. + user_data: fix error when user-data is not utf-8 decodable (LP: #1532072) + fix mcollective module with python3 (LP: #1597699) [Sergii Golovatiuk]- Add cloud-init-python2-sigpipe.patch (bsc#903449) + Restore SIGPIPE default handler when executing shell scripts- Add cloud-init-finalbeforelogin.patch (bsc#978048) + Ordering issue, avoid login prompt before cloud-init is finished- Update suseIntegratedHandler.patch (bsc#971275) + Properly handle the package_upgrade configuration option- Add dependency on jinja2 (bsc#948995,bsc#948996)- Add no_logic_change.patch to undo upstream logic changes introduced during style clean up- Properly write the routes file for static networks (bnc#920190) + modify suseIntegratedHandler.patch - Remove suseSetInitCmd.patch + is now integrated with suseIntegratedHandler.patch- pmtools only exist on Intel architecture (bnc#928552)- update to 0.7.6: - open 0.7.6 - Enable vendordata on CloudSigma datasource (LP: #1303986) - Poll on /dev/ttyS1 in CloudSigma datasource only if dmidecode says we're running on cloudsigma (LP: #1316475) [Kiril Vladimiroff] - SmartOS test: do not require existance of /dev/ttyS1. [LP: #1316597] - doc: fix user-groups doc to reference plural ssh-authorized-keys (LP: #1327065) [Joern Heissler] - fix 'make test' in python 2.6 - support jinja2 as a templating engine. Drop the hard requirement on cheetah. This helps in python3 effort. (LP: #1219223) - change install path for systemd files to /lib/systemd/system [Dimitri John Ledkov] - change trunk debian packaging to use pybuild and drop cdbs. [Dimitri John Ledkov] - SeLinuxGuard: remove invalid check that looked for stat.st_mode in os.lstat. - do not write comments in /etc/timezone (LP: #1341710) - ubuntu: provide 'ubuntu-init-switch' module to aid in systemd testing. - status/result json: remove 'end' entry which was always null - systemd: make cloud-init block ssh service startup to guarantee keys are generated. [Jordan Evans] (LP: #1333920) - default settings: fix typo resulting in OpenStack and GCE not working unless config explicitly provided (LP: #1329583) [Garrett Holmstrom]) - fix rendering resolv.conf if no 'options' are provided (LP: #1328953) - docs: fix disk-setup to reference 'table_type' [Rail Aliiev] (LP: #1313114) - ssh_authkey_fingerprints: fix bug that prevented disabling the module. (LP: #1340903) [Patrick Lucas] - no longer use pylint as a checker, fix pep8 [Jay Faulkner]. - Openstack: do not load some urls twice. - FreeBsd: fix initscripts and add working config file [Harm Weites] - Datasource: fix broken logic to provide hostname if datasource does not provide one - Improved and less verbose logging. - resizefs: first check that device is writable. - configdrive: fix reading of vendor data to be like metadata service reader. [Jay Faulkner] - resizefs: fix broken background resizing [Jay Faulkner] (LP: #1338614) - cc_grub_dpkg: fix EC2 hvm instances to avoid prompt on grub update. (LP: #1336855) - FreeBsd: support config drive datasource [Joseph bajin] - cc_mounts: support creating a swap file - Refresh addopenSUSEBase.patch - Refresh setupSUSEsysVInit.diff - Removed cloudinit-datasources.patch. Applied upstream - BuildRequires pkg-config. Needed to find correct systemd unit dir. - Add fix-default-systemd-unit-dir.patch . Use better default for systemd system unit dir.- Fix (bnc#919305 & bnc#918952) - Properly handle persistent network device names for OpenNebula + add dataSourceOpenNebula.patch - Properly set up network mode if interface config file + modified suseIntegratedHandler.patch- Require e2fsprogs for filesystem resizing- Remove Requires for python-yaml . There's already the right requirement for python-PyYAML- fixed syntax error in dmidecode on ppc64 patch (bnc#914920)/bin/shh01-ch3d 1717670988  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABC>>FGH>JKLM>OPQRSTUUUXYZ[\]^_`abcdefghijk>UUopq>stuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijmnopqrstuvwxyz23.3-150100.8.82.323.3-150100.8.82.323.3-150100.8.82.3         !!""""!!! ##$$$$$$$$$$$$$$$$$$#########%%&&&%%######### ''((('' ))))))))))))))))))))))))))))))))*******************************)++,,,,,++++)--...........----------//0/11222222222222221111111111111- 344444456789::;;;?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR"kW\Ksystemd-sysvcompatutf-85c36ee7338ebc7ba921b50878fabcd80df773c066db8db3452c0368fc23a9a8e?7zXZ !t/]G]"k%%1ƷmO8uރ {@[ꃟ*}Y8w#Ƞ _V%]mqBt}oJSSxޞ6λuz3d.r홻僟MH ޶$`6^"_xayX]F Ⅵl blaI#LE@ c*#Q+XktģGh~ e@/I5YGZK=ts(ԭ e4y,`Yg`25Ѱ#/PAa&) BO@:Ei@_1l_v [:o!RhbI HFxA3Bi~AFW:06Ҁa2e|WїƳp})RbBдT{/qF[\+b{VnyH׋Ok(AǣM,Q_i(["3Ҕ$]XH|8Vq4aG > VK=(0 U6 7SPx}RmM_1*],|# N+x^ڍR({]. paa!bvkւTT`AY[CHAOgy]4GswV}cpK9@ݧ T90 P ;f TβuoCh$h-G 1ac[,a@$&؏[@e_"97#~|O,~ʦS-_~QtY:%~FsjAFZp"ɍTю’{6ZiuuzLn*c 8>iPE~ۖ)dz3sV Xj𥳐9KHebSYpqNZ-bR6b3q6-٫ |tGV\p9xnjc{ċ*\ɑ3^as|Ȋd١Mn-Ǐ~M*c+U(b "'Ƈ/B ь0'HfB>Ohr'8[&%G'3Lyd Tui"!?r!D D3¾%!vMv(S!Э!g"h!Ĩ/V&BbSD:vO%"nɂ[{{(r𦅖8Mka%Ix3+L2ZM]-܃''ct XYIYVqKH:{hc˸rcB'4 ֆe4gwfd\?Rm Ыv}D]*F{[`ر)4rDotp@vBËhtQ&wQQDnj6E\'U4S9^+A`Zy)c.}x83`8?GsT |rx@Ҩl _ٳ~/Wi7G6xh 9z# >:& _bjS<"@x{Tss\ mj%5 /u${d%lLDt$7X4񮈆 2+ね`&CU4塑^AQOC86',$sq_? ݊CaQe.9]k-nIgJoO,QI6{PYے:6R2pn콯z5VgfvM|5D :dI5&DVi;Y$e*8XNGjC>" ?Ll:s\Kw\2cꃺ%ƛI/bnu~ݩV}L22gc ի,{tfJ?$ov-N*vh ȯJTAC4VB c 13i1Q6O6!V`lZVZPxN5 oR[2y>6q3fXQ򁱡\v|@MLJ(vʦ#m  %lZPV0 TGz0i = oBb|/)Nc ỿ.~@3! KITv◲\MCub6Tv-;ba|kꉂVAK:$=Ç0BOeBwD@U}CiCIgJ)>.Go}5r:\G:5D; 煍%+~lyB9/J֤ U̪QIs>8 ;@a#+jK ׺<`eW 4λRSfKLv4nAp't/{{>EQkha'VRu:'2ΝHm>4nL}& kP!IڪZCLSRƬT,F1ڡS>Z_{vv 3"eU*<(a u~36X:y_(:%6Jᯃu 9 gu*~*v`< c FP 5smNwrG sa-J \N 1ĎjtzR%w;y"%Xn(9^a [M<-F3QM,'[Nu# ˶>N5'@P[<^`~oHG,YqJabJ̿jX:O#Cg(A6J'Df >)ɧ٪8(o+Ua%1`De-{m.B lb3 3J<@AܾȎ?+_.%;:r+qӛ'J=dW2u\\]7 Ƅ/_QFe( dp?|K I3bK0& 9@b-/CrWF+`?[7l$ 8Ne}_6m7euGAܪ5.]HqY[+IàmEYz n=|I-8zk')2> '$eEoX_,nMOFLގE-.ܜseK9:y5 Qz Mcd8r 1`&4z>ڜW2~J.WT 󫴐`N"!e>2pRW\j4'iJu,[DyΘmad1]] H=уoEyIvh?U%P Q9N<"u7$GOfnٺ O0-0"5!pp8̧Y۽%S؆Bo=QeʓR#dw!Ik$1iQVd0%;:1A"vN!'òڹ\v&rdFG"A)x8 ݢy5!\速$dKyyاF%TQX/5C pB8()0wZ_θe6v[xWʑ9siUXZAlgD7Wp,HƘ0%IVe'ijTLAP\2й x~UFPln~Gj2CvŽ΀|b='-Ѹ8>0rTsfSBeEƝ`w6:c87FQx^LNMnA ::‹Jz7 Cr_% {Sc<'?mj-5eGT!qavTԦF:nHoQ׊Uotk~K{%7COٌͻnBY"_QcIH7: q o+QgђcOYS6N챞˕-)o{5婢w29h23)O?(zϔ oGØ_2*!XxUɏ(h7# $`VpZ+χuDzs8Yk"L89}jgh+dh=RByۄa-gzG=V3jC-(7Og:JN,S$/bU (.W7VI%A 1>mP&Ԑq5]&PçbPs(5 zL7*z7 b uLtϻ YÖִ+NKXcyTHYN M 6# uʨiRu3R&ZHʷ9/LIʇ+:kpV&|㠳,̕ɿ5Ϯ%bMNx_@oXC,kΙxA>@R8mwSOm|9# e_kƥCw;bÀ):xÿ7̢{75?{vh.s*` ahAo"_,\_m85Nߩ$]Xoz? T2򪪳-V.HCx;FO Ԁ9,jqi>9t'^֊t?1 Ȃ"#cȸ'|*N]6k"bKy~QVAE$;kNAH"S ̾B&2QV'8ȑI8;8cv/"ї$Pw05-AΧC컌Cy]J:GF>Z Wf(YЇ-@7 u.ek&q/y2CԲiaxO h+x=\f69NDgZ~ftE'?3³d+,PO"*M!rn,4Uǁ,|ыg$@Cs? x# TI)=X5wf85Tj)4䫞]]~5PgO4 'ry_f~ܲe5 IZt7A*b sݹ)2,'` VZ_Ylm5ktiܳ #cwoHHʭ?tꍤE_:f_(cu}ʘ J`NZ%L.ߎMuiOj~^Q>1V5.x Ei`l"-ff XpS_ l^ydywaNtR*vB|bWD &Gyek|[JCY-6(0 k͞d^Dc"տqyѬ*G8s%gkqxmڿd%J\B.O< U2Ȝރ8M8v"@ Dۖa=\b' 0%h ߴL({jP#p]!30(.q欤Ń/kG.`~ʍrEE*0Hcp| W)ԉ#Uه/[~wY=l)mTL? .}; ƱCP|'$2G*mi#%r孩$ߕ|fFKl 4#LE%w\^\HfYR|UueWO)u'9  Xjۯ縐w<(hGګ׺|SnEG:'7PIF2 օe 9hvexw5p*Fg_k h "dX5YCƦ7}e0h"Ϟ0?R{o[I0B9 ##o@f|,JI:t1ul^k s;7t5ь4 HO.P>o:ݱ=K/2VZ*p5c8M QWN_ą!+Yyq7yw+x?Ť3+NsaqJ,@ߊYM5kKB*UG2M=B=z0 D9^"7F(;uT oF,rt DJxﳚ H?텵XuqtzQyd|݃o[$.[>Dׅڋ$T%(7S+\L2sb[T6Yꞥ(w!{јPTY#W(pHO 6eʭ- ٬gFj}u3o`-_T< ; hf`KVӰHxLQ3HF,DXjHqi'¬3TjVw;H]z5'6+ȘٴWuZцnάǘ[& .LUWݐ6&5kF]''Q$Ŷifp4Tb@'6~ƒ%1dd¾\@`w3Enjӟ@#ryfd,:́ cњ|i>;NK cyT<ҙ6E^@Essy.Flh%ʩگvM'ͺ GMD.\/nҦٱV!SC[TmXk{b$Yv)=ΠLo_ -d1ݠK83;A}DOz_FP_ r؆,NNeKLeL`Q_GTN`c^wgvcxtųEwv;Fh94Ĝd89o=x~pkpcs=ф8R.x`xUmoLl@M+[Q[V#W?.(>S&4rr-E:_- N]1%}yWvk$kqgCAk>Mֵ61s,J8 / _ F?)!>SS)w\ u, aC4hjU|].],Aa`vYZ^؟))nfaR }x\ևQEdWe, uzsAŠ2GcVEqQA?oiry<Z{)0^[- HeQhxcԿȭiZϖ>qֶ^7lޫ&@OBtlz=?=m#ݘLh&TPG_/H5 OfyB63 &SFTQicWNrgt "_Sn"T|c)[X+7̜lԍ/MUTW"as|sA嚀aky+ c[B2-5È j ~/TVkMbM|Ldiz'[CWl{".fjJ,nVGgF'K$eà GMoELA$:s]MO}S$!R|7)owW9!j:5{5~X ++SƇ}ز Ɏxm\~ɷ?a) '̱P@DͲ骨w8imo50QM*VT뫎j7lW'w "ah.7Sd:TRkbWmŦLX-<Ҕ<Y6^6!žbgnp|O @{Qj\].Z- KvpN'~3x{>aYdDS:<=|6VHTa-o>kh-?S dx ǷKX$U̺!y[fe] wq-PYעAje9ÇH/ļ%r΋xN}cbrKRvٝ^-ҘVH;mJ<6eWƠOͻh⫘ 2G_qOP FVECxnc $nx^1v8BukVf2돥ja.#k T)vުD6W8 .(2o[NT0o74vuFƕh:8J$֘(mF$!@\wu&Ě{]}'?TBs͚MҁE7f^vC}xh"a/,Ad}2gh@I0a TGB"?)YVT__Xҿ6uϕ!,B=IV5c825kG8>S|c MyܷV٩:㉭k,2Iaҧs *"^OCn1_Vp\A}C31 .sr^<5%@(ت‚G-%! 80j<8f 4a]骖at!]nQŴ1Ȳ^qkaȘP uf<}09Fi& F.Z bd [!Zbf :?9gl6mf3j=ԪaA-MBWuޕb@ A0䚯}uquu֡!Pit 8UС9fR5KZ|=LX o2R˙P0fnxnIu@*wKac8ֲ5ԗ 7ovutӞOlpK--zu r "MϏ|cS}[SYg=6K-8YA! Zo=sN5(VZ]!7h0` >0ƑLEI>\ f%M(VG# f]Q U`H)Mˠsg.V@#!NiؑPB~\ 6;kM :tS7Y@|cވ񪰠#5J@4N3nY-.SAYr|Ӓk#W)*?x,J*U(ݜ! VD+)>W$BKyclRI˫V0qG#\\p^ ܓYt}G N&nX:{-L ;PKV:tL8瓭Mrz Tf>bAcoG {^kGT7vhF)ꅬ|4ۡI[Y|W|؍BNQkrr[2*&05B^B׈o '@* (}q֜5!vI-TSUo6DhVߢ~G"\; "@;"opRnK~{łdMۓ9v0tbW[ 2?@sl2%#mTVSSbp {١:tie^1:vqM=+DƹDY\ӳ$p(rP`urQTU;* vHq7i==5Vudv:fǰ 8i]i|VcK >sT8ձ Ff.~kƟ`A5kc4J|;;vğ8_Ys]7wNdf*1Iezտ@@Fyy*׎}Kl Mr+Lhqtύ%?l-F> J@)5{'mj)w='Za*/M2}?qz`5Xh9b%[J; NRË :C6yS8= 9lft,6hAt%Xme%og^O%']Nm)2lŬMP4%mRC>򅕑IFTѥ:ZDUpKS %*U)gEO<M]kUY-Ӿ_p(JFlY@7rEηWh6 8I]d:9D]C,i4b 4 Z7aU?:֤崫`r@ŵB)>ՊەXѪ/Tf@ ^m0Т'H=1#GږK|6BRlCŰ1˵ڑ2yLylVʷ;. Acj^0IZC[/|=׸l6C6VD+?Kn-Կ T95:eIBڧ:ó,9|hgtĽozT*%Mjև_/3::h٨[Wb:Ya޺CK`zÌO [4A`Bg+F {Pc.Gndՙ2޻wT=_ԗ1  >43A Oʴ]V31cmlS*KO>#x˺U 2ݳF %^#U]$`j[cH ܈?o "aWH;gMjs J^pqz0x2m!O ~b{^M15'=k>Jo shVl!!}ѐ qs#ޯ51B4!mzf)FCc|(Xyh_"PO94{And8ܵą.6'd-πYƝ>47E2QUFtfA GL'*jN :}ŢK5sDasGX Firܚz ˨p%֒AqbNݣ^o%=qNCX LAgmī({3)\_#j-GJt5>Zd mcC"W(+{!,lPD79\{l8vl=GH-"üPIs@7 A0=2* 2GwD*ite>G"]<vnaz:!u<:jQ{LTElP?%\юO2#E\ NHw"\GAh(2T[]:méѢ`m^_gֆRvXMq|?,v4GL\~U+"G㏎0E,\" c:Y+= 4du܎%WOs53a%ACwܘ#) ޞHHEM{k-t`!xQ-3B`?}p᢮zR#]k(!Iwqvp\ѕ U7`ؽ*4tRI5A80[F`C D9-*&ćѽzU/޶7 YZ