1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940
|
25.3
- chore(cc_rh_subscription): deprecate hyphenated fields, remove self.log
(#6470) [Mostafa Abdelwahab] (GH: 6370)
- feat(eni): support "ip route" if available instead of "route" (#6460)
[dermotbradley]
- test(distros): Convert test_hosts.py from unittest to pytest (#6481)
[GautamThorani]
- fix: preserve special permission bits (#6467) [deepsghimire]
- test: Convert test_registry.py from unittest to pytest (#6479)
[GautamThorani]
- test: fix integration for PROPOSED to run apt update prior to install
(#6477)
- feat(schema): add support for the not keyword (#6469)
[Mostafa Abdelwahab] (GH: 6468)
- fix: correct netplan renderer target (#6465)
- feat(hetzner): enable hotplug support and prepare IPv6 integration
(#6445) [Philipp Bender]
- fix(net-convert): respect output directory with netplan
- fix(bddeb): require exec permissions on temporary folder
- fix: properly quote commands in `do_as` function (#6400)
[Amirhossein Shaerpour] (GH: 6171)
- Optionalize bash completion. (#6441) [3405691582]
- docs(nocloud): Fix file schema examples (#6455) (GH: 5843)
- fix(systemd): revert auditd.service dependency (#6448)
- fix: bddeb tool needs distro debian param for package dependency lookup
- fix(test): raises match against an empty string will always pass
- fix(test): marks applied to fixtures have no effect
- test: refactor test_reporting.py to use only pytest (#6449)
[Chijioke Ibekwe]
- Update wait_for_cloud_init.rst to be more consistent about systemd usage
(#6442) [ExplGamma]
- fix: add OpenRC support to Meson build (#6426) [dermotbradley]
- feat(rh_subscription): new release_version field (#6347)
[Mostafa Abdelwahab] (GH: 6030)
- chore: bump isort version (#6446)
- net_convert.py: make some import failures not generate an error (#6399)
[dermotbradley]
- test: fix lru_cache test wrapper (#6443) (GH: 5869)
- docs(cc_raspberry_pi): Fix example4 (#6439) [Paul]
- test: refactor test_data.py to use only pytest (#6440) [Chijioke Ibekwe]
- tests: convert util.pathprefix2dict tests from unittest to pytest
(#6433) [Aamir]
- chore: hand off responsibilities (#6432)
- feat: support nmap in socket protocol (#6339) (GH: 6136)
- feat(cc_raspberry_pi): remove remote_gpio interface (#6429) [Paul]
- fix(docs): Fix typo in `fDQn` (#6420) [Vladimir Levin]
- Refresh dev docs for tests (#6428)
- fix(raspberry-pi-os): Update ntp client (#6425) [Paul]
- fixed defs types in cloud-init cmd devel make_mime (#6419) [abdulganiyy]
- test: remove CiTestCase fully (#6416)
- test: drop citestcase from test_reporting_hyperv.py (#6413)
- test: drop citestcase from net/test_init.py (#6410)
- test: drop citestcase from test_version.py (#6415)
- fix: read-dependencies syntax error on regex (#6326)
- doc: add testing links to doc/rtd Development headings (#6326)
- chore: update developer specfile and build for opensuse (#6326)
- chore: update developer specfile redhat/fedora and dependencies (#6326)
- chore: drop yaml validation target, covered in unittests (#6326)
- chore: update debian developer packaging template (#6326)
- fix: add apt-get update before development pkg install (#6326)
- chore!: switch to meson.build due to PEP632 (#6326) (LP: #1978328)
- chore: render vlan, bond, bridge mac properly in network state (#6397)
[Shreenidhi Shedi]
- chore: replace all mailing-list references with GH Discussions
- chore: replace all IRC references with matrix
- fix: fixed defs types in cloud-init analyze show (#6353) [abdulganiyy]
- chore(tox): align check_format's pylint folder targets (#6414)
- test: drop citestcase from net/test_network_state.py (#6402)
- test: drop citestcase from net/test_dhcp.py (#6401)
- chore(ci): bump pylint version, fix test failures (#6408)
- chore(ci): fix cloud-init test failures from new pylint (#6407)
- chore(ci): bump versions for black, ruff, and mypy (#6406)
- doc: change `jammy` to `noble` (#6398) [Amirhossein Shaerpour]
- test: drop citestcase from t* tests (#6379)
- fix: add missing test mock (#6395)
- test: drop citestcase net_freebsd (#6374)
- test: drop citestcase from test_util.py (#6387)
- Add 'to: default' support in network state (#6391) [Shreenidhi Shedi]
- test: drop citestcase from s* tests (#6378)
- test: drop citestcase from r, s and u sources (#6373)
- test: drop citestcase from v sources (#6372)
- test: drop citestcase from n and o sources (#6363)
- fix: make tools/tox-venv with current versions of tox (#6365)
[Scott Moser]
- test: skip gpg dependency test on questing (#6388)
- feat(networkd): add support for rendering bridge devices (#6349)
[Shreenidhi Shedi]
- cloud-init-hotplugd: remove use of "exec" and unnecessary exit (#6357)
[dermotbradley] (GH: 6351)
25.2
- fix: Ensure 822 template renders correctly on Debian (#6381) (GH: 6380)
- test: support systemctl try-reload-or-restart messaging alternatives
(#6377)
- test: increase 2nd disk size for disk setup tests (#6376)
- feat(clean): Add a new clean option to clean fstab entries (#6348)
[Ani Sinha]
- test: handle TMPDIR != "/tmp" (#6356) [Dan Bungert]
- fix: add openeuler hosts template to avoid cloud-init service failures
(#6328) [xqs]
- test: increase timeout on test_clean_package_install (#6362)
- test: relax checks on authorized keys (#6361)
- fix: Correct v2 ENI route and dns rendering (#6331)
- test: drop citestcase from i sources (#6346)
- test: drop citestcase from g and h sources (#6344)
- test: drop citestcase from c and d sources (#6336)
- test: drop citestcase from al* sources tests (#6318)
- disk_setup: Optionally use 'sfdisk' for GPT [Vitaly Kuznetsov] (GH: 5797)
- disk_setup: Fully support full GPT partition GUIDs [Vitaly Kuznetsov]
- fix(ENI): render keys with hyphens (#6333) (GH: 5234)
- fix: fixed defs types in cloudinit analyze dump (#6343) [abdulganiyy]
- feat(networkd): support vlan and bond rendering (#6324)
[Shreenidhi Shedi]
- fix(analyze-boot): use monotonic clock for containers #6322
[Mostafa Abdelwahab] (GH: 5773)
- clean: do not attempt to find datasource when cache has been cleaned
(#6325) [Ani Sinha]
- test: drop citestcase from azure_helper tests (#6335)
- chore: remove unused target arg from Activator.available
- chore: add typing to cloudinit.net.eni
- feat(azure): Implement the clean callback for DataSourceAzure (#6321)
[Amy Chen]
- feat(oracle): set keep_configuration to true for iscsi instances [a-dubs]
- feat(network): add keep_configuration setting to v1 [a-dubs]
- doc: Document how to wait for cloud-init
- doc: Document changed systemd order in 24.4
- fixed defs types in cloudinit analyze (#6308) [abdulganiyy]
- ci: downgrade LXD to fix integration tests (#6340)
- test: drop citestcase from azure source test (#6320)
- fix: catch and log exception during pip upgrade in ansible pull (#6301)
[Mostafa Abdelwahab] (GH: 6074)
- test: drop citestcase from some config tests
- fix: GCE datasource query issue (#3398) (#6279)
[ludovictual-system-u] (GH: 3398)
- test: drop citestcase from distro tests (#6317)
- test: drop citestcase from rest of config tests (#6314)
- ci: update patch checking to use current supported releases (#6315)
- test: drop FilesystemMockingTestCase (#6294) (GH: 5760)
- test: ensure image setup only runs once, even for xdist
- test: turn reaper into a fixture
- test: refactor obtaining session args into new function
- test: simplify passing of lxd_setup callback
- test: drop citestcase from analyze tests (#6312)
- test: drop FilesystemMockingTestCase in netconfig (#6290)
- test: expose tests.unittests.ditros._get_distro (#6290)
- doc: detailed examples of openstack config alternatives for non-x86
images (#6303)
- test: drop FilesystemMockingTestCase in smartos (#6291)
- test: drop some FilesystemMockingTestCases (#6284)
- docs: clarify what #include can include (#6309)
- doc(ssdlc): Add hardening page (#6297)
- docs: Document network device table and limitations (#6187)
[Bryan Fraschetti]
- fix: allow downstreams to strip invalid MTU (#6246) (GH: 6239)
- test: drop FilesystemMockingTestCase from cc tests (#6282)
- docs: use correct jinja content-type (#6296) (GH: 6027)
- test: drop ResponsesTestCase (#6277)
- test: Consolidate use of paths fixture (#6289)
- test: pytestify test_vmware.py (#6288) [Mostafa Abdelwahab]
- feat(ca_certs): Add CentOS support (#6287) [Kees Bakker]
- feat(wsl): Reuse metadata as Landscape installation_request_id (#6200)
[Carlos Nihelton]
- test: drop / pytestify ResourceUsingTestCase (#6276)
- docs(mounts): Correct fs-freq reference to fs_freq (#6262)
[ibrahim-mojalled] (GH: 6210)
- test: pytestify ds_identify tests (#6274)
- test: pytestify t/u/test_log.py (#6275)
- feat(hetzner): integrate private networks metadata (#6224)
[Thomas Boerger]
- test: pytestify cloudinit.s.helpers.netlink tests (#6273)
- Release 25.1.4
- Release 25.1.3
- fix: strict disable in ds-identify on no datasources found (LP: #2069607)
- test: add integration test to install cloud-init from clean state (#6260)
- docs: provide example3 for PAM and ssh_pwauth behavior (#27)
- fix: Make hotplug socket writable only by root (#25)
- fix: Don't attempt to identify non-x86 OpenStack instances (LP: #2069607)
- doc: update discourse release schedule link (#6263)
- doc: update discourse link
- chore: log URL when retrying 503s (#6264)
- test: add option to keep instance on error (#6241)
- eni.py: ensure that a "dns" entry is not rendered in interfaces file
(#6253) [dermotbradley]
- feat(azure): improve handling for reading VM ID (#6199) [Chris Patterson]
- fix: remove unnecessary 'Wants' from cloud-init-main.service (#6255)
- test: use latest version of LXD in integration tests (#6249)
- docs: include missing --seed flags in clean CLI (#6244) [Faizan Alam]
- ec2: Improve metadata retrieval by iterating all interfaces (#6233)
[yukariatlas] (GH: 6232)
- feat: Add Raspberry Pi OS support (#5827) [Paul]
- feat(azure): add interface to dhcp_log_func (#6238) [Chris Patterson]
- fix: fix untyped-defs on tests/unittests and cloudinit/sources (#6230)
[Ritvikj23]
- test: pre-fetch instance id when logging from reaper (#6234)
- feat: Add subnet metric support for netplan (#6222) [Artsiom]
- test: remove FilesystemMockingTestCase from test_cc_apk_configure.py
(#6226)
- fix: make 'cloud-init --all-stages' work interactively (#6211)
- test: remove FilesystemMockingTestCase from test_util.py (#6220)
- test: remove FilesystemMockingTestCase from test_dmi.py (#6219)
- docs: merge "Availability" and "Supported distros" pages (#6217)
[Jacob C. Chin]
- fix: ansible-pull multiple playbooks on older ansible ver < 2.12 (#6218)
- docs: remove monospace formatting from SSH section heading (#6215)
[Chad Dougherty]
- fix: no traceback on command line missing subcommand (#6214)
[Robert Schweikert]
- feat: Change ansible pull module type from dict to list (#6010)
[Amirhossein Shaerpour]
- test(apt): add questing versiong for hello pkg (#6213)
- docs: Use Noble for examples instead of Jammy (#6209) [Aarni Koskela]
- feat(ca_certs): add rocky to rhel distro overrides (#6208)
[Lukas Friedhoff]
- docs: ensure proper 'sudo' representation (#6196) (GH: 6195)
- fix(net): ignore udevadm failures when enumerating nics (#6185)
[Chris Patterson]
- Release 25.1.2 (#6197)
- revert "chore: Deprecate partially supported system config (#5515)"
(LP: #2100232)
- fix: copr builds of CentOS9 require CRB and baseurl in centos.repo
(#6192)
- chore: add fedora package build support for run-container and read-deps
(#6174)
- test: drop fixed xfail tests
- fix: simplify MAAS check logic
- feat(azure): allow unspecified user name (#6177) [Chris Patterson]
- fix: stop reporting error if cloud-init receives signal (#6159)
(GH: 6151)
- Fix: Add Ephemeral Network for CloudStackLocal DS (#6144)
[Bryan Fraschetti] (GH: 6143)
- docs: clarify examples for network addresses/gateway (#6186)
[Dan Bungert]
- fix: setup.py doesn't match AmazonLinux CPE 2.2 releases (#6173)
- fix: ensure MAAS datasource retries on failure (#6167) (LP: #2106671)
- cloud.cfg.tmpl: do not enable cc_reset_rmc for Alpine Linux (#6170)
[dermotbradley]
- tests: ibm avoid schema validation for DataSourceNone on ibm (#6168)
- tests: ibm fix apt and ds-id testing (#6168)
- test: fix integration test on new lxd versions (#6164)
- tests: ibm correct logged message. Invalid schema: vendor-data (#6163)
- tests: ibm expect invalid vendor-data in stderr (#6160)
- tests: ibm expect invalid vendor-data in stderr (#6158)
- tests: fix ibm expected warnings on invalid vendor-data schema (#6157)
- fix: drop udev remove action in hotplug (#6152) [yukariatlas]
- chore: remove reference to refresh_rmc_and_interface module (#6156)
[Ani Sinha]
- chore: reorder iface filters & log on inherited MAC (#6140)
[Wesley Hershberger]
- fix(azure): update ReportableErrorUnhandledException (#6133)
[Ksenija Stanojevic]
- chore: make auditd wait for cloud-init-local.service (#6138)
[Robert Schweikert]
- chore: allow custom pkg-config binary path (#6118)
[Alexandre Burgoni] (GH: 6099)
- fix: rename "reload-or-try-restart" to "try-reload-or-restart" (#6142)
[sxt1001]
- chore: make lint interpreter configurable (#6121) [Robert Schweikert]
- fix: ensure system sshd_config is not overwritten (#6105) [Sludge]
- fix(oracle): properly detect ipv6 only for private ULA addresses (#6123)
[Alec Warren]
- feat(oracle): downgrade warning log about falling back to imds (#6134)
[Alec Warren]
- Release 25.1.1 (#6120)
- chore: remove remaining references to .github-cla-signers (#6116)
- fix(cli): wrong usage output when invalid arg in subcommand (#6115)
[Dillon] (GH: 4609)
- fix(Azure): don't reraise FileNotFoundError during ephemeral setup
(#6113)
- fix(azure): handle unexpected exceptions during obtain_lease() (#6092)
[Ksenija Stanojevic]
- feat: add callback for datasources to clean config changes (#6100)
[Ani Sinha]
- chore: Fix untyped-defs on tests/unittests/config (#6104) [Vlad Apostol]
- chore: switch to has-signed-canonical-cla GH action (#6109)
- Allow to set mac_address for VLAN subinterface (#6081)
[jumpojoy] (GH: 5364)
- change retry sleep for wireserver (#6107) [Ksenija Stanojevic]
- test: pytestify cc_chef tests, add migration test
- chef
- chef: migrate files in old config directories for backups and cache
- fix: correct the path for Chef's backups (#5994)
- test: replace version check with has_netplanlib() (#6106)
- feat(vmware): Support network events (#6063) [Andrew Kutz]
- test: correctly mock fallback nic in openstack tests (#6101)
- fix: Remove erroneous EC2 reference from 503 warning (#6077)
- test: update keys_to_console timeout (#6087)
- test: move to has_netplanlib() in test_networking.py (#6089)
- fix: NM reload and bring up individual network conns (#6073) [Ani Sinha]
- ci(oracle): fix issue installing cloud-init on custom image creation
(#6084) [Alec Warren]
- test: decouple netplan integrations from libnetplan SRU (#6085)
- test: warning on users/groups test is version specific (#6078)
- test: fix errors in custom datasource networking (#6076)
- test: ensure software-properties-common properly removed (#6080)
- test: remove script death check from test_signal_handler.py (#6079)
- test: ensure NoCloud networking works on plucky (#6072)
- fix: stop warning on dual-stack request failure (#6044)
- test: Add integration test for signal handling warnings/errors (#6037)
- feat(azure): format ReportableErrorImdsInvalidMetadata without repr
(#6052) [Ksenija Stanojevic]
- docs: v1.cloud_name section typo (#6070) [Jack Bernhardt]
- fix: install_method: pip cannot find ansible-pull command path (#6021)
[Hasan Aliyev] (GH: 5720)
- fix: Fix DataSourceAliYun exception_cb signature (#6068) (GH: 6066)
- fix: Update OauthUrlHelper to use readurl exception_cb signature
(GH: 6065)
- test: add OauthUrlHelper tests
- test: Remove CiTestCase from test_url_helper.py
- test: pytestify test_url_helper.py
- test: check for correct logrotate config (#6060)
- test: don't fail test if ppa has no uploads (#6059)
- test: make users/groups warning test release aware (#6056)
- fix: when get_session_cloud() fails, _SESSION_CLOUD isn't set (#6051)
- chore: Sort .gitignore
- chore: Add new entries to gitignore and glob more
- fix: track more removed modules (#6043)
25.1.4
- fix: disable cloud-init when non-x86 environments have no DMI-data and
no strict datasources detected (LP: #2069607) (CVE-2024-6174)
25.1.3
- docs: provide example3 for PAM and ssh_pwauth behavior (#27)
- fix: Make hotplug socket writable only by root (#25) (CVE-2024-11584)
- fix: Don't attempt to identify non-x86 OpenStack instances (LP: #2069607)
(CVE-2024-6174)
25.1.2
- fix: ensure MAAS datasource retries on failure (#6167)
25.1.1
- test: pytestify cc_chef tests, add migration test
- chef: migrate files in old config directories for backups and cache
- fix: correct the path for Chef's backups (#5994)
- fix(Azure): don't reraise FileNotFoundError during ephemeral setup (#6113)
- fix(azure): handle unexpected exceptions during obtain_lease() (#6092)
[Ksenija Stanojevic]
- Allow to set mac_address for VLAN subinterface (#6081)
[jumpojoy] (GH: 5364)
- fix: Remove erroneous EC2 reference from 503 warning (#6077)
- fix: NM reload and bring up individual network conns (#6073) [Ani Sinha]
- fix: stop warning on dual-stack request failure (#6044)
- fix: install_method: pip cannot find ansible-pull command path (#6021)
[Hasan Aliyev] (GH: 5720)
- fix: Fix DataSourceAliYun exception_cb signature (#6068) (GH: 6066)
- fix: Update OauthUrlHelper to use readurl exception_cb signature
(GH: 6065)
- test: add OauthUrlHelper tests
- test: Remove CiTestCase from test_url_helper.py
- test: pytestify test_url_helper.py
- fix: track more removed modules (#6043)
25.1
- ci: fix post-merge packaging CI (#6038)
- feat(azure): Fix imds-based ssh_pwauth (#6002) [Ksenija Stanojevic]
- ci: check for sorted patches (#6036)
- feat: aliyun datasource support crawl metadata at once (#5942)
[jinkangkang]
- docs: document /usr merge breaking change (#6032)
- test: Add integration test for /var mounts (#6033)
- test: Ensure pre-24.2 custom modules work (#6034)
- doc: Update references to older keys (#6022) [Pedro Ribeiro]
- fix: untyped-defs in tests/unittests/{config, net, sources} (#6023)
[Romain]
- fix: don't reference PR in post-merged CI (#6019)
- chore: explicitly skip broken ansible integration tests (#5996) [a-dubs]
- tests(oracle): fix test_install_missing_deps apt race condition (#5996)
[a-dubs]
- test(oracle): fix test_ubuntu_drivers_installed (#5996) [a-dubs]
- test(oracle): fix test_frequency_override integration test (#5996)
[a-dubs]
- chore: add type hint to IntegrationCloud's cloud_instance field (#5996)
[a-dubs]
- test(oracle): fix modules/test_lxd.py::test_storage_lvm on noble (#5996)
[a-dubs]
- commit 9e591fff266be9d4c83f74ec02a717b74993304d [a-dubs]
- net/sysconfig: do not remove all existing settings of
/etc/sysconfig/network (#5991) [Ani Sinha] (GH: 5990)
- fix: remove wrong return when checking if network necessary (#6013)
- fix: typing for rsyslog, ubuntu_pro, power_state_change (#5985)
[MostafaTarek124eru]
- fix: Retry on OpenStack HTTP status codes (#5943) [weiyang] (GH: 5687)
- fix: Ensure fqdn is treated as string in get_hostname_fqdn (#5993)
[MKhatibzadeh] (GH: 5989)
- feat(vmware): Convert imc network config to v2 (#5937) [PengpengSun]
- ci: add upstream post-merge test
- ci: check if upstream commit causes ubuntu patch conflicts
- ci: organize cla tests together
- test: eliminate obsolete cases, add non-error case
- chore: remove redundant manual schema validation
- doc: clarify subiquity docs
- chore: cleanup `len' usage (#5956) [Shreenidhi Shedi]
- Fix: GCE _get_data crashes if DHCP lease fails (#5998) [Bryan Fraschetti]
- Fixes GH-5997
- fix: correct the path for Chef's cache (#5994)
[MostafaTarek124eru] (GH: 5090)
- fix: Run ansible with run_user instead of root for distro install_method
(#5986) [Amirhossein Shaerpour] (GH: 4092)
- fix: retry AWS hotplug for async IMDS (#5995) (GH: 5373)
- feat(integration_tests): add optional INSTANCE_TYPE setting (#5988)
[Alec Warren]
- feat(integration-tests): set boto3 and botocore to INFO to prevent
log spamming [a-dubs]
- ci: add 'tox -e integration-tests-fast' command [a-dubs]
- chore: Add feature flag for manual network waiting (#5977)
- Release 24.4.1
- fix: Use /usr/lib/ rather than /lib in packaging code (#5970)
- Use log_with_downgradable_level for user password warnings (#5927)
[Ani Sinha]
- doc: change to hyphenated keys (#5909) (GH: 5555)
- fix: Wait for udev on openstack (#5947) [Robert Schweikert] (GH: 4125)
- test: disambiguate resource cleanup from test failure (#5926)
- fix: use program name of netcat as installed by upstream, "nc" (#5933)
(#5933) [Andreas K. Hüttel]
- ci: bump canonical/setup-lxd to version v0.1.2 (#5948)
- feat(cc_chef): Allow change of Chef configuration file (#5925)
[Sean Smith]
- docs: fix typo in generated file in LXD tutorial (#5941) [Pavel Shpak]
- feat: Identify Samsung Cloud Platform as OpenStack (#5924) [us0310306]
- fix: don't deadlock when starting network service with systemctl (#5935)
- feat: Custom keys for apt archives (#5828) [Bryan Fraschetti] (GH: 5473)
- test: improve test initialization error path (#5920)
- chore: improve logging when lxd detection fails (#5919)
- fix: Add "manual" to allowed subnet types (#5875)
[Math Marchand] (GH: 5769)
- fix: remove bad ssh_svcname setting for Gentoo/OpenRC (#5918)
[Andreas K. Hüttel]
- feat(gentoo): Add compatibility for Gentoo with systemd (#5918)
[Andreas K. Hüttel]
- fix(ovf): no warning should be log when rpctool found no value (#5915)
[PengpengSun] (GH: 5914)
- Move DS VMware to be in front of DS OVF (#5912) [PengpengSun] (GH: 4030)
- ci: Add proper 'Breaks: ' to integration testing simple deb (#5923)
- chore: Add akhuettel to CLA signers file (#5917) [Andreas K. Hüttel]
- chore: eliminate calls at import time (#5889) (GH: 5344)
- test: Add pyserial to test-requirements.txt (#5907)
- test: Allow unknown size in growpart test (#5876)
- doc: Update tutorials [Sally]
- fix: bump azure key size to 3072 (#5841)
24.4.1
- fix: Ensure _should_wait_via_user_data() handles all user data types (#5976)
- fix: Don't log error in wait_for_url (#5972)
- feat(url_helper): Retry on 503 error (#5938)
- fix: Don't break modules that use get_meta_doc() (#5953)
- refactor: Pass deprecation log args as tuple (#5953)
- fix: uninstall custom signal handlers before shutdown (#5913)
24.4
- test: Ensure unit ordering in ftp tests includes downstream units (#5892)
- test: re-decrement expected webhook events (#5894)
- test: allow relative path in apt-get test (#5891)
- Fix metric setting of nmconnection for rhel (#5878) [Amy Chen]
- chore: remove unused code(#5887)
- feat(ephemeral): replace old has_url_connectivity() with new
_check_connectivity_to_imds() [a-dubs]
- feat(oracle): add true single stack ipv6 support [a-dubs]
- feat(ephemeral): refactor ephemeralIP and add ipv6 connectivity check
[a-dubs]
- test: Decrement expected webhook events (#5888)
- chore: remove `--docs` option from `cloud-init schema` (#5857) (GH: 5756)
- test: pytestify "tests/unittests/config/test_cc_timezone.py" (#5885)
[Mahesh Ghumare]
- ci: bump integration tests to use plucky
- test: add grub_dpkg to inactive modules
- test: move default behavior tests into their own module
- test(apt): add plucky version for hello pkg (#5883)
- Docs: improved mermaid diagram for better visibility. Add "MaheshG11"
as contributor (#5874) [Mahesh Ghumare] (GH: 5837)
- fix(ntp): Fix RockyLinux OS support (#5864) [Sid Shukla]
- chore(jsonschema): migrate from deprecated Validator.iter_errors (#5856)
- chore: remove deprecation warning getting jsonschema's version (#5856)
- chore: use filter arg for tar.extractall (#5856)
- chore: remove __init__ from pytest test class (#5856)
- chore: do not test element's truth value directly (#5856)
- chore: migrate from deprecated datetime.datetime.utcfromtimestamp (#5856)
- chore: migrate from deprecated datetime.datetime.utcnow() (#5856)
- chore: set recursive=False for ensure_dir if parent path is "/" (#5816)
[sxt1001]
- ci: fix broken daily dependencies (#5867)
- ci: fix packaging tests (#5865)
- feat(vultr): add override for network interface detection (#5847)
[Andrew Davis]
- feat(networkd): Support RequiredForOnline option (#5852) [Dan McGregor]
- Prevent NM from handling DNS when network interfaces have DNS config
(#5846) [Ani Sinha]
- fix(smartos): Add `addrconf` IPv6 support (#5831)
[blackhelicoptersdotnet]
- freebsd: adjust to match the new pyyaml package name (#5844)
[Gonéri Le Bouder]
- fix: disable grub-dpkg by default (#5840)
- fix(openbsd): Enable sysv init scripts in OpenBSD build script (#5790)
[Hyacinthe Cartiaux] (LP: 4036, #1992853)
- test: Fix duplicate judgment conditions in password generation (#5835)
[sxt1001]
- chore: don't render non-templated unit files (#5830)
- chore: simplify and standardize cloud-final.service (#5830)
- chore: simplify Conflicts=shutdown.target (#5830)
- chore: remove redundant Before=NetworkManager.service (#5830)
- chore: remove unnecessary systemd settings (#5830)
- chore: eliminate redundant ordering dependencies (#5819)
- fix: fix ordering cycle for distros with default deps (#5819) (GH: 5755)
- test: unbreak pytest-xdist (#5829)
- feat: Conditionally remove networkd online dependency on Ubuntu (#5772)
- feat: Ensure random passwords contain multiple character types (#5815)
[sxt1001] (GH: 5814)
- docs: split example page into example library (#5645) [Sally]
- doc: clarify workarounds required for single process changes (#5817)
- chore: add 3.13 to PR CI runs, 3.14 to scheduled (#5825)
- fix: Render v2 bridges correctly on network-manager with set-name
(#5740) (GH: 5717)
- test: add no_thinpool unit test (#5802)
- chore: split lxd init config into separate function (#5802)
- test: pytestify test_cc_lxd.py (#5802)
- fix: Correctly handle missing thinpool in cc_lxd (#5802)
- fix: Render bridges correctly for v2 on sysconfig with set-name (#5674)
(GH: 5574)
- tests(minimal): rsyslog not in minimal images expect warning (#5811)
- tests(lxd): avoid failure on multiple calls to --show-log (#5811)
- chore: update netplan import semantics and related tests (#5805)
(GH: 5804)
- lint: fix untyped-defs on /tests/unittest/cmd (#5800) [iru]
- test: actually use devel release and verify_clean_boot enhancements
(#5801)
- feat(locale): locales install on minimal images when cfg requests (#5799)
- feat(byobu): support byobu install on minimal images when cfg requests
(#5799)
- chore: Use devel release and no sbuild in integration CI (#5798)
- test: Update integration tests from netplan backport (#5796)
- test: add get_syslog_or_console for minimal images without syslog (#5793)
- chore: Remove resize_root_tmp from cloud.cfg.tmpl (#5795) (GH: 5786)
- docs: Fix field name from `contents` to `content` (#5787) [Igor Akkerman]
- chore: bump pycloudlib to required version (#5792)
- fix: avoid deprecation logs for calling cli stages (#5770) (GH: 5726)
- tests: bump pycloudlib deps to include gce bug fix for id str (#5783)
- fix(test): convert use p.gce.instance.id instead of instance_id (#5783)
- fix(network-manager): bond properties and network schema (#5768)
[Denis Kadyshev]
- Fix metric setting for ifcfg network connections for rhel (#5777)
[Ani Sinha] (GH: 5776)
- fix(akamai): handle non-string user data in base64 decoding (#5751)
[Jesse Alter]
- fix(ci): do not auto stale issues (#5775)
- Make pytest more verbose for easier debugging (#5778) [Ani Sinha]
- ci: fix tox.ini pytest cmd to use cloudinit dir for coverage reporting
(#5774) [Alec Warren]
- tests: add OS_IMAGE_TYPE setting to allow for minimal tests (#5682)
- test(hotplug): Simplify test_multi_nic_hotplug (#5763)
- test(hotplug): increase nc timeout (#5763)
- test: pytestify test_main.py (#5758)
- test(ec2-dual-stack): fix int-test (#5762)
- test: make verify_clean_boot really respect return code (#5761)
- test: bump timeout in test_order (#5759)
- docs: Properly document the cc_ubuntu_autoinstall module (#5757)
- docs: fix WSL tutorial (#5752) (GH: 5746)
- test: make verify_clean_boot respect return code by environment (#5754)
- feat(integration_test): add CLOUD_INIT_PKG setting (#5739)
- fix(ci): fix packaging check merge operation (#5750)
- doc: do not document user.meta-data key (#5745)
- test: avoid undocumented lxd key (#5748)
- test: Refactor test_cc_set_hostname.py and test_cc_ntp.py (#5727)
- chore: update docs URLs to cloud-init.io (#5741)
- test: fix timer logging change expected logs (#5734)
- fix: type annotations for several modules (#5733)
- chore: add timer to io and string manipulation code
- feat: add log package and performance module
- remove newline injected for cloud-init status --wait (#5700)
[Andrew Nelson] (GH: 5863)
- test: webhook require_deprecation msg on 24.3 (#5731)
- test: fix test_nocloud message typo introduced by 313390f8 (#5731)
- test: Fix test_log_message_on_missing_version_file (#5730)
- tests: assert info level warnings instead of require_deprecation
- tests: fix test to ignore_warnings not require Used fallback ds
- chore: clean up pytest warnings (#5721)
- tests(pro): bump pycloudlib add noble release to pro tests (#5719)
- fix(hotplugd.socket): remove basic.target as dependency (#5722)
(LP: #2081124)
- ci: fix integration test positional argument (#5718)
- Create datasource for CloudCIX (#1351) [BrianKelleher]
- ci: colorize output (#5716)
- fix(schema): Allow for locale: false in schema add tests (#5647)
- ci: fix packaging patch check (#5713)
- chore: clean up old pickle workaround (#5714)
- fix: force sftp cleanup when done with instance (#5698)
- test(hotplug): reenable vpc test in focal (#5492)
- chore: fix typing of userdata_raw (#5710)
- fix(NetworkManager): Fix network activator (#5620)
- fix: lxd do not check for thinpool kernel module (#5709)
- docs: fix typo in docstring (#5708)
- Scaleway: Force on-link: true for static networks (#5654)
[Louis Bouchard] (LP: 5523, #2073869)
- fix: Invalid "seedfrom" in NoCloud system configuration (#5701)
- tests: pytestify test_nocloud.py (#5701)
- test: make verify_clean_boot respect return code by series (#5695)
- fix: use cross-distro netcat name (#5696)
- ci: fix labeler (#5697)
- chore(actions): add packaging label for any branches modifying debian/*
(#5693)
- test: add verify_clean_boot() calls alongside verify_clean_log() (#5671)
- test: add deprecation support to verify_clean_boot (#5671)
- doc: remove misleading warning (#5681)
- chore: Prefer other methods over $INSTANCE_ID (#5661)
- ci: fix packaging test when no patches (#5680)
- chore: fix tip-ruff and update to latest version (#5676)
- chore: make ansible test serial (#5677)
- feat(ec2): Bump url_max_timeout to 240s from 120s. (#5565)
[Robert Nickel]
- chore: fix typo in requirements.txt (#5637)
- feat: make pyserial an optional dependency (#5637)
- chore: bump ci dependency versions (#5660)
- chore: drop broken optimization (#5666)
24.3.1
- test: add test coverage for iproute2 commands (#5651)
- fix(netops): fix ip addr flush command (#5651) (GH: 5648)
24.3
- docs: Clarify v2 set-name behavior (#5639)
- fix: properly handle blank lines in fstab (#5643)
- fix: cc_user_groups incorrectly assumes "useradd" never locks password
field (#5355) [dermotbradley]
- tests: assert cloud-init user-data cert is the only root cert (#5641)
- feat: add automation for ubuntu/* branches asserting quilt patches apply
(#5622)
- fix(sources/wsl): no error with empty .cloud-init dir (SC-1862) (#5633)
- feat(azure): add PPS support for azure-proxy-agent (#5601)
[Ksenija Stanojevic]
- fix(tests): use instance.clean/restart instead of clean --reboot (#5636)
- test: fix cmd/test_schema int test (#5629)
- test: fix test_honor_cloud_dir int test (#5627)
- docs: alphabetize dsname lookup table. update comment to create the csv
(#5624)
- docs: new datasources should update reference/ds_dsname_map (#5624)
- test: fix ca_certs int test (#5626)
- chore: update schema docs to use RST bold for config key names (#5562)
- fix(doc): italics around deprecation prefix, description bolds key names
(#5562)
- feat(doc): add env vars to debug config module doc builds (#5562)
- fix(doc): doc of nested objects under JSON schema items.oneOf (#5562)
- fix(doc): object type check if patternProperties or properties (#5562)
- doc(schema): schema descriptions should end with trailing stop (#5562)
- fix(wsl): Properly assemble multipart data (#5538) [Carlos Nihelton]
- feat: collect-logs improvements (#5619)
- tests: fix test_ca_certs.py for gcp (#5621)
- fix(nm): Ensure bond property name formatting matches schema definition
(#5383) [Curt Moore]
- Update behavior of base bond interface with NetworkManager (#5385)
[Curt Moore]
- ci: Drop Python 3.6 and 3.7 (#5607)
- chore(black): Bump version (#5607)
- chore(mypy): Fix failures on newer versions of mypy (#5607)
- chore(tox.ini): Simplify configuration, fix minor bugs (#5607)
- chore(mypy): Lint log module (#5607)
- fix(systemd): Correct location of installed drop-in files(#5615)
[Noah Meyerhans]
- fix(btrfs): Version parsing (#5618)
- docs: Remove unnecessary section, add feature flag page (#5617)
- docs: Drop Python 3.6 and 3.7 support (#5617)
- chore: explain other use of oauth (#5616)
- chore(actions): add doc label for any doc related subdir file matches
(#5602)
- doc: Add misc links, improve wording (#5595)
- doc(boot): Make first boot a dedicated page (#5595)
- doc: Describe all stages in a single process (#5595)
- chore: Deprecate old commands in help output (#5595)
- chore: add comment explaining the NetworkManager may-fail setting
(#5598) [Ani Sinha]
- Revert "fix(vmware): Set IPv6 to dhcp when there is no IPv6 addr
(#5471)" (#5596) [PengpengSun]
- fix: read_optional_seed to set network-config when present (#5593)
- feat(snap): avoid refresh on package_upgrade: true and refresh.hold
(#5426)
- fix: Fix tests which have outdated strings (#5585)
- fix: Fix ftp failures (#5585)
- doc: improve integration testing configuration instructions (#5556)
[Alec Warren]
- azure: check azure-proxy-agent status (#5138) [Ksenija Stanojevic]
- refactor: refactor and fix mypy in DataSourceIBMCloud.py (#5509)
[Alec Warren]
- fix: Update default LXD meta-data with user meta-data (#5584)
- chore: Fix log message in url_helper.py (#5583)
- fix: nocloud no fail when network-config absent (#5580)
- feat: Single process optimization (#5489)
- chore: Add helper, refactor utilities into separate module (#5573)
- refactor: update handle function of cc_mounts (#5498)
- fix: Integration tests (#5576)
- fix(NoCloudNet): Add network-config support (#5566)
- feat: Eliminate redundant configuration reads (#5536)
- fix(actions): correct typo in cloudinit/config/schemas/ match (#5570)
- fix: add host template for AOSC (#5557) [Yuanhang Sun]
- chore(debian): Remove vestigial postinst and preinst code (#5569)
- fix(actions): doc labeler needs all clause instead of default any (#5568)
- docs: Overhaul user data formats documentation (#5551)
- chore: Deprecate ENI as an input configuration format (#5561)
- doc: improve drop-in custom modules (#5548)
- doc(NoCloud): Categorize the different configuration types (#5521)
- doc(autoinstall): Remove incorrect statements, be more direct (#5545)
- chore: remove unneeded doc-lint tox env config (#5547)
- fix(doc-spelling): config spelling_word_list_filename (#5547)
- doc(modules): add section to wrap modules' doc (#5550)
- doc: Update docs on boothooks (#5546)
- fix: doc auto label to consider schema json changes as doc PRs (#5543)
- feat(schema): add chef_license schema enum (#5543)
- doc: add diagram with boot stages (#5539)
- docs: improve qemu command line (#5540) [Christian Ehrhardt]
- fix: auto label doc PRs (#5542)
- fix(wsl): Put back the "path" argument to wsl_path in ds-identify
(#5537) [Carlos Nihelton]
- test: fix test_kernel_command_line_match (#5529)
- test: fix no ds cache tests (#5529)
- fix(azurelinux): Change default usr_lib_exec path (#5526) [Minghe Ren]
- feat: Support URI sources in `write_files` module (#5505)
[Lucas Ritzdorf]
- add openeuler to distros in cc_spacewalk.py (#5530) [sxt1001]
- feat(wsl): Special handling Landscape client config tags (#5460)
[Carlos Nihelton]
- chore: Deprecate partially supported system config (#5515)
- chore: Improve detection logging for user clarity (#5515)
- fix(ds-identify): Detect nocloud when seedfrom url exists (#5515)
- refactor: logs.py add typing and small misc refactors (#5414)
- refactor: logs.py pathlib changes (#5414)
- refactor: replace verbosity with log levels in logs.py (#5414)
- feat: Add trace-level logger (#5414)
- chore(formatting): fix squashed commit test formatting (#5524)
- fix: Clean cache if no datasource fallback (#5499)
- Support setting mirrorlist in yum repository config (#5522) [Ani Sinha]
- doc(OFV): Document how to configure cloud-init (#5519)
- fix: Update DNS behavior for NetworkManager interfaces (#5496)
[Curt Moore]
- Fix configuration of DNS servers via OpenStack (#5384) [Curt Moore]
- test: Unconditionally skip test_multi_nic_hotplug_vpc (#5503)
- tests: revert expectation of exit 2 from cloud-init init --local (#5504)
- fix(test): Fix ip printer for non-lxd (#5488)
- feat(systemd): convert warning level message to deprecation (#5209)
- test: allow verify_clean_boot to ignore all or specific tracebacks
(#5209)
- test: Don't fail tests which call cloud-init as a command (#5209)
- feat(systemd): Warn user of unexpected run mode (#5209)
- fix: add schema rules for 'baseurl' and 'metalink' in yum repo config
(#5501) [Ani Sinha]
- Set MTU for bond parent interface (#5495) [Curt Moore]
- refactor: util.mounts to handle errors (#5490)
- refactor: util.get_proc_env to work with strs (#5490)
- typing: fix check_untyped_defs in cloudinit.util (#5490)
- test: Add missing assert to test_status.py (#5494)
- test: Ensure mkcert executable in ftp tests (#5493)
- test: pytestify and cleanup test_cc_mounts.py (#5459)
- fix(vmware): Set IPv6 to dhcp when there is no IPv6 addr (#5471)
[PengpengSun]
- fix(openbsd): fix mtu on newline in hostname files (#5412) [Tobias Urdin]
- feat(aosc): Add 'AOSC OS' support (#5310) [Yuanhang Sun]
24.2
- test: Fix no default user in test_status.py (#5478)
- fix: correct deprecated_version=22.2 for users.sudo
- test: Add jsonschema guard in test_cc_ubuntu_pro.py (#5479)
- fix(test): Fix pycloudlib types in integration tests (#5350)
- fix(test): Fix ip printing for non-lxd instances (#5350)
- chore(mypy): Drop unused missing import exclusions (#5350)
- type: Add stub types for network v1/v2 config (#5350)
- chore: Auto-format network jsonschema in ci (#5350)
- fix(tox): Update tox.ini (#5350)
- chore(typing): Remove type ignores and casts (#5350)
- refactor(typing): Remove unused code paths (#5350)
- fix(typing): Add / update type annotations (#5350)
- fix(typing): Remove type annotation for unused variable (#5350)
- fix(typing): Remove invalid type annotations (#5350)
- ci(mypy): Set default follow_imports value (#5350)
- test: Update integration tests to pass on focal (#5476)
- tests: update ubuntu_pro test to account for info-level deprecations
(#5475)
- tests: update nocloud deprecation test for boundary version (#5474)
- fix(rh_subscription): add string type to org (#5453)
- tests: integration tests aware of features.DEPRECATION_INFO_BOUNDARY
- tests: update keyserver PPA key fur curtin-dev (#5472)
- test: Fix deprecation test failures (#5466)
- chore: fix schema.py formatting (#5465)
- fix: dont double-log deprecated INFOs (#5465)
- fix(test): Mock version boundary (#5464)
- fix(schema): Don't report changed keys as deprecated (#5464)
- test: fix unit test openstack vlan mac_address (#5367)
- fix: Ensure properties for bonded interfaces are properly translated
(#5367) [Curt Moore]
- fix(schema): permit deprecated hyphenated keys under users key (#5456)
- fix: Do not add the vlan_mac_address field into the VLAN object (#5365)
[Curt Moore]
- doc(refactor): Convert module docs to new system (#5427) [Sally]
- test: Add unit tests for features.DEPRECATION_INFO_BOUNDARY (#5411)
- feat: Add deprecation boundary support to schema validator (#5411)
- feat: Add deprecation boundary to logger (#5411)
- fix: Gracefully handle missing files (#5397) [Curt Moore]
- test(openstack): Test bond mac address (#5369)
- fix(openstack): Fix bond mac_address (#5369) [Curt Moore]
- test: Add ds-identify integration test coverage (#5394)
- chore(cmdline): Update comments (#5458)
- fix: Add get_connection_with_tls_context() for requests 2.32.2+ (#5435)
[eaglegai]
- fix(net): klibc ipconfig PROTO compatibility (#5437)
[Alexsander de Souza] (LP: #2065787)
- Support metalink in yum repository config (#5444) [Ani Sinha]
- tests: hard-code curtin-dev ppa instead of canonical-kernel-team (#5450)
- ci: PR update checklist GH- anchors to align w/ later template (#5449)
- test: update validate error message in test_networking (#5436)
- ci: Add PR checklist (#5446)
- chore: fix W0105 in t/u/s/h/test_netlink.py (#5409)
- chore(pyproject.toml): migrate to booleans (#5409)
- typing: add check_untyped_defs (#5409)
- fix(openstack): Append interface / scope_id for IPv6 link-local metadata
address (#5419) [Christian Rohmann]
- test: Update validation error in test_cli.py test (#5430)
- test: Update schema validation error in integration test (#5429)
- test: bump pycloudlib to get azure oracular images (#5428)
- fix(azure): fix discrepancy for monotonic() vs time() (#5420)
[Chris Patterson]
- fix(pytest): Fix broken pytest gdb flag (#5415)
- fix: Use monotonic time (#5423)
- docs: Remove mention of resolv.conf (#5424)
- perf(netplan): Improve network v1 -> network v2 performance (#5391)
- perf(set_passwords): Run module in Network stage (#5395)
- fix(test): Remove temporary directory side effect (#5416)
- Improve schema validator warning messages (#5404) [Ani Sinha]
- feat(sysconfig): Add DNS from interface config to resolv.conf (#5401)
[Ani Sinha]
- typing: add no_implicit_optional lint (#5408)
- doc: update examples to reflect alternative ways to provide `sudo`
option (#5418) [Ani Sinha]
- fix(jsonschema): Add missing sudo definition (#5418)
- chore(doc): migrate cc modules i through r to templates (#5313)
- chore(doc): migrate grub_dpkg to tmpl add changed/deprecation (#5313)
- chore(json): migrate cc_apt_configure and json schema indents (#5313)
- chore(doc): migrate ca_certs/chef to template, flatten schema (#5313)
- chore(doc): migrate cc_byobu to templates (#5313)
- chore(doc): migrate cc_bootcmd to templates (#5313)
- fix(apt): Enable calling apt update multiple times (#5230)
- chore(VMware): Modify section of instance-id in the customization config
(#5356) [PengpengSun]
- fix(treewide): Remove dead code (#5332) [Shreenidhi Shedi]
- doc: network-config v2 ethernets are of type object (#5381) [Malte Poll]
- Release 24.1.7 (#5375)
- fix(azure): url_helper: specify User-Agent when using headers_cb with
readurl() (#5298) [Ksenija Stanojevic]
- fix: Stop attempting to resize ZFS in cc_growpart on Linux (#5370)
- doc: update docs adding YAML 1.1 spec and jinja template references
- fix(final_message): do not warn on datasourcenone when single ds
- fix(growpart): correct growpart log message to include value of mode
- feat(hotplug): disable hotplugd.socket (#5058)
- feat(hotlug): trigger hotplug after cloud-init.service (#5058)
- test: add function to push and enable systemd units (#5058)
- test(util): fix wait_until_cloud_init exit code 2 (#5058)
- test(hotplug): fix race getting ipv6 (#5271)
- docs: Adjust CSS to increase font weight across the docs (#5363) [Sally]
- fix(ec2): Correctly identify netplan renderer (#5361)
- tests: fix expect logging from growpart on devent with partition (#5360)
- test: Add v2 test coverage to test_net.py (#5247)
- refactor: Simplify collect_logs() in logs.py (#5268)
- fix: Ensure no subp from logs.py import (#5268)
- tests: fix integration tests for ubuntu pro 32.3 release (#5351)
- tests: add oracular's hello package for pkg upgrade test (#5354)
- growpart: Fix behaviour for ZFS datasets (#5169) [Mina Galić]
- device_part_info: do not recurse if we did not match anything (#5169)
[Mina Galić]
- feat(alpine): add support for Busybox adduser/addgroup (#5176)
[dermotbradley]
- ci: Move lint tip and py3-dev jobs to daily (#5347)
- fix(netplan): treat netplan warnings on stderr as debug for cloud-init
(#5348)
- feat(disk_setup): Add support for nvme devices (#5263)
- fix(log): Do not warn when doing requested operation (#5263)
- Support sudoers in the "/usr/usr merge" location (#5161)
[Robert Schweikert]
- doc(nocloud): Document network-config file (#5204)
- fix(netplan): Fix predictable interface rename issue (#5339)
- cleanup: Don't execute code on import (#5295)
- fix(net): Make duplicate route add succeed. (#5343)
- fix(freebsd): correct configuration of IPv6 routes (#5291) [Théo Bertin]
- fix(azure): disable use-dns for secondary nics (#5314)
- chore: fix lint failure (#5320)
- Update pylint version to support python 3.12 (#5338) [Ani Sinha]
- fix(tests): use regex to avoid focal whitespace in jinja debug test
(#5335)
- chore: Add docstrings and types to Version class (#5262)
- ci(mypy): add type-jinja2 stubs (#5337)
- tests(alpine): github trust lxc mounted source dir cloud-init-ro (#5329)
- test: Add oracular release to integration tests (#5328)
- Release 24.1.6 (#5326)
- test: Fix failing test_ec2.py test (#5324)
- fix: Check renderer for netplan-specific code (#5321)
- docs: Removal of top-level --file breaking change (#5308)
- fix: typo correction of delaycompress (#5317)
- docs: Renderers/Activators have downstream overrides (#5322)
- fix(ec2): Ensure metadata exists before configuring PBR (#5287)
- fix(lxd): Properly handle unicode from LXD socket (#5309)
- docs: Prefer "artifact" over "artefact" (#5311) [Arthur Le Maitre]
- chore(doc): migrate cc_byobu to templates
- chore(doc): migrate cc_bootcmd to templates
- chore(doc): migrate apt_pipelining and apk_configure to templates
- tests: in_place mount module-docs into lxd vm/container
- feat(docs): generate rtd module schema from rtd/module-docs
- feat: Set RH ssh key permissions when no 'ssh_keys' group (#5296)
[Ani Sinha]
- test: Avoid circular import in Azure tests (#5280)
- test: Fix test_failing_userdata_modules_exit_codes (#5279)
- chore: Remove CPY check from ruff (#5281)
- chore: Clean up docstrings
- chore(ruff): Bump to version 0.4.3
- feat(systemd): Improve AlmaLinux OS and CloudLinux OS support (#5265)
[Elkhan Mammadli]
- feat(ca_certs): Add AlmaLinux OS and CloudLinux OS support (#5264)
[Elkhan Mammadli]
- docs: cc_apt_pipelining docstring typo fix (#5273) [Alex Ratner]
- feat(azure): add request identifier to IMDS requests (#5218)
[Ksenija Stanojevic]
- test: Fix TestFTP integration test (#5237) [d1r3ct0r]
- feat(ifconfig): prepare for CIDR output (#5272) [Mina Galić]
- fix: stop manually dropping dhcp6 key in integration test (#5267)
[Alec Warren]
- test: Remove some CiTestCase tests (#5256)
- fix: Warn when signal is handled (#5186)
- fix(snapd): ubuntu do not snap refresh when snap absent (LP: #2064300)
- feat(landscape-client): handle already registered client (#4784)
[Fabian Lichtenegger-Lukas]
- doc: Show how to debug external services blocking cloud-init (#5255)
- fix(pdb): Enable running cloud-init under pdb (#5217)
- chore: Update systemd description (#5250)
- fix(time): Harden cloud-init to system clock changes
- fix: Update analyze timestamp uptime
- fix(schema): no network validation on netplan systems without API
- fix(mount): Don't run cloud-init.service if cloud-init disabled (#5226)
- fix(ntp): Fix AlmaLinux OS and CloudLinux OS support (#5235)
[Elkhan Mammadli]
- tests: force version of cloud-init from PPA regardless of version (#5251)
- ci: Print isort diff (#5242)
- test: Fix integration test dependencies (#5248)
- fix(ec2): Fix broken uuid match with other-endianness (#5236)
- fix(schema): allow networkv2 schema without top-level key (#5239)
[Cat Red]
- fix(cmd): Do not hardcode reboot command (#5208)
- test: Run Alpine tests without network (#5220)
- docs: Add base config reference from explanation (#5241)
- docs: Remove preview from WSL tutorial (#5225)
- chore: Remove broken maas code (#5219)
- feat(WSL): Add support for Ubuntu Pro configs (#5116) [Ash]
- chore: sync ChangeLog and version.py from 24.1.x (#5228)
- bug(package_update): avoid snap refresh in images without snap command
(LP: #2064132)
- ci: Skip package build on tox runs (#5210)
- chore: Fix test skip message
- test(ec2): adopt pycloudlib public ip creation while launching instances
- test(ec2): add ipv6 testing for multi-nic instances
- test(ec2): adopt pycloudlib enable_ipv6 while launching instances
- feat: tool to print diff between netplan and networkv2 schema (#5200)
[Cat Red]
- test: mock internet access in test_upgrade (#5212)
- ci: Add timezone for alpine unit tests (#5216)
- fix: Ensure dump timestamps parsed as UTC (#5214)
- docs: Add WSL tutorial (#5206)
- feature(schema): add networkv2 schema (#4892) [Cat Red]
- Add alpine unittests to ci (#5121)
- test: Fix invalid openstack datasource name (#4905)
- test: Fix MAAS test and mark xfail (#4905)
- chore(ds-identify): Update shellcheck ignores (#4905)
- fix(ds-identify): Prevent various false positives and false negatives
(#4905)
- Use grep for faster parsing of cloud config in ds-identify (#4905)
[Scott Moser] (LP: #2030729)
- tests: validate netplan API YAML instead of strict content (#5195)
- chore(templates): update ubuntu universe wording (#5199)
- Deprecate the users ssh-authorized-keys property (#5162)
[Anders Björklund]
- doc(nocloud): Describe ftp and ftp over tls implementation (#5193)
- feat(net): provide network config to netplan.State for render (#4981)
- docs: Add breaking datasource identification changes (#5171)
- fix(openbsd): Update build-on-openbsd python dependencies (#5172)
[Hyacinthe Cartiaux]
- fix: Add subnet ipv4/ipv6 to network schema (#5191)
- docs: Add deprecated system_info to schema (#5168)
- docs: Add DataSourceNone documentation (#5165)
- test: Skip test if console log is None (#5188)
- fix(dhcp): Enable interactively running cloud-init init --local (#5166)
- test: Update message for netplan apply dbus issue
- test: install software-properties-common if absent during PPA setup
- test: bump pycloudlib to use latest version
- test: Update version of hello package installed on noble
- test: universally ignore netplan apply dbus issue (#5178)
- chore: Remove obsolete nose workaround
- feat: Add support for FTP and FTP over TLS (#4834)
- feat(opennebula): Add support for posix shell
- test: Make analyze tests not depend on GNU date
- test: Eliminate bash dependency from subp tests
- docs: Add breaking changes section to reference docs (#5147) [Cat Red]
- util: add log_level kwarg for logexc() (#5125) [Chris Patterson]
- refactor: Make device info part of distro definition (#5067)
- refactor: Distro-specific growpart code (#5067)
- test(ec2): fix mocking with responses==0.9.0 (focal) (#5163)
- chore(safeyaml): Remove unicode helper for Python2 (#5142)
- Revert "test: fix upgrade dhcp6 on ec2 (#5131)" (#5148)
- refactor(net): Reuse netops code
- refactor(iproute2): Make expressions multi-line for legibility
- feat(freebsd): support freebsd find part by gptid and ufsid (#5122)
[jinkangkang]
- feat: Determining route metric based on NIC name (#5070) [qidong.ld]
- test: Enable profiling in integration tests (#5130)
- dhcp: support configuring static routes for dhclient's unknown-121
option (#5146) [Chris Patterson]
- feat(azure): parse ProvisionGuestProxyAgent as bool (#5126)
[Ksenija Stanojevic]
- fix(url_helper): fix TCP connection leak on readurl() retries (#5144)
[Chris Patterson]
- test: pytest-ify t/u/sources/test_ec2.py
- Revert "ec2: Do not enable dhcp6 on EC2 (#5104)" (#5145) [Major Hayden]
- fix: Logging sensitive data
- test: Mock ds-identify systemd path (#5119)
- fix(dhcpcd): Make lease parsing more robust (#5129)
- test: fix upgrade dhcp6 on ec2 (#5131)
- net/dhcp: raise InvalidDHCPLeaseFileError on error parsing dhcpcd lease
(#5128) [Chris Patterson]
- fix: Fix runtime file locations for cloud-init (#4820)
- ci: fix linkcheck.yml invalid yaml (#5123)
- net/dhcp: bump dhcpcd timeout to 300s (#5127) [Chris Patterson]
- ec2: Do not enable dhcp6 on EC2 (#5104) [Major Hayden]
- fix: Fall back to cached local ds if no valid ds found (#4997)
[PengpengSun]
- ci: Make linkcheck a scheduled job (#5118)
- net: Warn when interface rename fails
- ephemeral(dhcpcd): Set dhcpcd interface down
- Release 24.1.3
- chore: Handle all level 1 TiCS security violations (#5103)
- fix: Always use single datasource if specified (#5098)
- fix(tests): Leaked mocks (#5097)
- fix(rhel)!: Fix network boot order in upstream cloud-init
- fix(rhel): Fix network ordering in sysconfig
- feat: Use NetworkManager renderer by default in RHEL family
- fix: Allow caret at the end of apt package (#5099)
- test: Add missing mocks to prevent bleed through (#5082)
[Robert Schweikert]
- fix: Ensure network config in DataSourceOracle can be unpickled (#5073)
- docs: set the home directory using homedir, not home (#5101)
[Olivier Gayot] (LP: #2047796)
- fix(cacerts): Correct configuration customizations for Photon (#5077)
[Christopher McCann]
- fix(test): Mock systemd fs path for non-systemd distros
- fix(tests): Leaked subp.which mock
- fix(networkd): add GatewayOnLink flag when necessary (#4996) [王煎饼]
- Release 24.1.2
- test: fix `disable_sysfs_net` mock (#5065)
- refactor: don't import subp function directly (#5065)
- test: Remove side effects from tests (#5074)
- refactor: Import log module rather than functions (#5074)
- fix: Fix breaking changes in package install (#5069)
- fix: Undeprecate 'network' in schema route definition (#5072)
- refactor(ec2): simplify convert_ec2_metadata_network_config
- fix(ec2): fix ipv6 policy routing
- fix: document and add 'accept-ra' to network schema (#5060)
- bug(maas): register the correct DatasourceMAASLocal in init-local
(#5068) (LP: #2057763)
- ds-identify: Improve ds-identify testing flexibility (#5047)
- fix(ansible): Add verify_commit and inventory to ansible.pull schema
(#5032) [Fionn Fitzmaurice]
- doc: Explain breaking change in status code (#5049)
- gpg: Handle temp directory containing files (#5063)
- distro(freebsd): add_user: respect homedir (#5061) [Mina Galić]
- doc: Install required dependencies (#5054)
- networkd: Always respect accept-ra if set (#4928) [Phil Sphicas]
- chore: ignore all cloud-init_*.tar.gz in .gitignore (#5059)
- test: Don't assume ordering of ThreadPoolExecutor submissions (#5052)
- feat: Add new distro 'azurelinux' for Microsoft Azure Linux. (#4931)
[Dan Streetman]
- fix(gpg): Make gpg resilient to host configuration changes (#5026)
- Sync 24.1.1 changelog and version
- DS VMware: Fix ipv6 addr converter from netinfo to netifaces (#5029)
[PengpengSun]
- packages/debian: remove dependency on isc-dhcp-client (#5041)
[Chris Patterson]
- test: Allow fake_filesystem to work with TemporaryDirectory (#5035)
- tests: Don't wait for GCE instance teardown (#5037)
- fix: Include DataSourceCloudStack attribute in unpickle test (#5039)
- bug(vmware): initialize new DataSourceVMware attributes at unpickle
(#5021) (LP: #2056439)
- fix(apt): Don't warn on apt 822 source format (#5028)
- fix(atomic_helper.py): ensure presence of parent directories (#4938)
[Shreenidhi Shedi]
- fix: Add "broadcast" to network v1 schema (#5034) (LP: #2056460)
- pro: honor but warn on custom ubuntu_advantage in /etc/cloud/cloud.cfg
(#5030)
- net/dhcp: handle timeouts for dhcpcd (#5022) [Chris Patterson]
- fix: Make wait_for_url respect explicit arguments
- test: Fix scaleway retry assumptions
- fix: Make DataSourceOracle more resilient to early network issues
(#5025) (LP: #2056194)
- chore(cmd-modules): fix exit code when --mode init (#5017)
- feat: pylint: enable W0201 - attribute-defined-outside-init
- refactor: Ensure no attributes defined outside __init__
- chore: disable attribute-defined-outside-init check in tests
- refactor: Use _unpickle rather than hasattr() in sources
- chore: remove unused vendordata "_pure" variables
- chore(cmd-modules): deprecate --mode init (#5005)
- tests: drop CiTestCase and convert to pytest
- bug(tests): mock reads of host's /sys/class/net via get_sys_class_path
- fix: log correct disabled path in ds-identify (#5016)
- tests: ec2 dont spend > 1 second retrying 19 times when 3 times will do
- tests: openstack mock expected ipv6 IMDS
- bug(wait_for_url): when exceptions occur url is unset, use url_exc
(LP: #2055077)
- feat(run-container): Run from arbitrary commitish (#5015)
- tests: Fix wsl test (#5008)
- feat(ds-identify): Don't run unnecessary systemd-detect-virt (#4633)
- chore(ephemeral): add debug log when bringing up ephemeral network
(#5010) [Alec Warren]
- release: sync changelog and version (#5011)
- Cleanup test_net.py (#4840)
- refactor: remove dependency on netifaces (#4634) [Cat Red]
- feat: make lxc binary configurable (#5000)
- docs: update 404 page for new doc site and bug link
- test(aws): local network connectivity on multi-nics (#4982)
- test: Make integration test output more useful (#4984)
24.1.7
- fix(ec2): Correctly identify netplan renderer (#5361)
24.1.6
- fix(ec2): Ensure metadata exists before configuring PBR (#5287)
- fix: Check renderer for netplan-specific code (#5321)
- test: Fix failing test_ec2.py test (#5324)
24.1.5
- fix(package_update): avoid snap refresh in images without snap command
(LP: #2064132)
24.1.4
- fix(dhcpcd): Make lease parsing more robust (#5129)
- net/dhcp: raise InvalidDHCPLeaseFileError on error parsing dhcpcd lease
(#5128) [Chris Patterson]
- fix: Fix runtime file locations for cloud-init (#4820)
- net/dhcp: bump dhcpcd timeout to 300s (#5127) [Chris Patterson]
- net: Warn when interface rename fails
- ephemeral(dhcpcd): Set dhcpcd interface down
- test: Remove side effects from tests (#5074)
- refactor: Import log module rather than functions (#5074)
24.1.3
- fix: Always use single datasource if specified (#5098)
- fix: Allow caret at the end of apt package (#5099)
24.1.2
- test: Don't assume ordering of ThreadPoolExecutor submissions (#5052)
- refactor(ec2): simplify convert_ec2_metadata_network_config
- tests: drop CiTestCase and convert to pytest
- bug(tests): mock reads of host's /sys/class/net via get_sys_class_path
- fix: Fix breaking changes in package install (#5069)
- fix: Undeprecate 'network' in schema route definition (#5072)
- fix(ec2): fix ipv6 policy routing
- fix: document and add 'accept-ra' to network schema (#5060)
- bug(maas): register the correct DatasourceMAASLocal in init-local
(#5068) (LP: #2057763)
24.1.1
- fix: Include DataSourceCloudStack attribute in unpickle test (#5039)
- bug(vmware): initialize new DataSourceVMware attributes at unpickle (#5021)
- fix(apt): Don't warn on apt 822 source format (#5028)
- fix: Add "broadcast" to network v1 schema (#5034)
- pro: honor but warn on custom ubuntu_advantage in /etc/cloud/cloud.cfg (#5030)
- net/dhcp: handle timeouts for dhcpcd (#5022)
- fix: Make wait_for_url respect explicit arguments
- bug(wait_for_url): when exceptions occur url is unset, use url_exc
- test: Fix scaleway retry assumptions
- fix: Make DataSourceOracle more resilient to early network issues (#5025)
- tests: Fix wsl test (#5008)
24.1
- fix: Don't warn on vendor directory (#4986)
- apt: kill spawned keyboxd after gpg cmd interaction
- tests: upgrade tests should only validate current boot log
- net/dhcp: fix maybe_perform_dhcp_discovery check for interface=None
[Chris Patterson]
- doc(network-v2): fix section nesting levels
- fix(tests): don't check for clean log on minimal image (#4965) [Cat Red]
- fix(cc_resize): Don't warn if zpool command not found (#4969)
(LP: #2055219)
- feat(subp): Make invalid command warning more user-friendly (#4972)
- docs: Remove statement about device path matching (#4966)
- test: Fix xfail to check the dhcp client name (#4971)
- tests: avoid console prompts when removing gpg on Noble
- test: fix test_get_status_systemd_failure
- fix: Remove hardcoded /var/lib/cloud hotplug path (#4940)
- refactor: Refactor status.py (#4864)
- test: Use correct lxd network-config keys (#4950)
- test: limit temp dhcp6 changes to < NOBLE (#4942)
- test: allow downgrades when install debs (#4941)
- tests: on noble, expect default /etc/apt/sources.list
- tests: lxd_vm early boot status test ordered After=systemd-remount-fs
(#4936)
- tests: pro integration tests supply ubuntu_advantage until pro v32
(#4935)
- feat(hotplug): add cmd to enable hotplug (#4821)
- test: fix test_combined_cloud_config_json (#4925)
- test: xfail udhcpc on azure (#4924)
- feat: Implement the WSL datasource (#4786) [Carlos Nihelton]
- refactor(openrc): Improve the OpenRC files (#4916) [dermotbradley]
- tests: use apt install instead of dpkg -i to install pkg deps
- tests: inactive module rename ubuntu_advantage to ubuntu_pro
- test: fix tmpdir in test_cc_apk_configure (#4914)
- test: fix jsonschema version checking in pro test (#4915)
- feat(dhcp): Make dhcpcd the default dhcp client (#4912)
- feat(Alpine) cc_growpart.py: fix handling of /dev/mapper devices (#4876)
[dermotbradley]
- test: Retry longer in test_status.py integration test (#4910)
- test: fix kernel override test (#4913)
- chore: Rename sysvinit/gentoo directory to sysvinit/openrc (#4906)
[dermotbradley]
- doc: update ubuntu_advantage references to pro
- chore: rename cc_ubuntu_advantage to cc_ubuntu_pro (SC-1555)
- feat(ubuntu pro): deprecate ubuntu_pro key in favor of ubuntu_advantage
- feat(schema): support ubuntu_pro key and deprecate ubuntu_advantage
- test: fix verify_clean_log (#4903)
- test: limit test_no_hotplug_triggered_by_docker to stable releases
- tests: generalize warning Open vSwitch warning from netplan apply (#4894)
- fix(hotplug): remove literal quotes in args
- feat(apt): skip known /etc/apt/sources.list content
- feat(apt): use APT deb822 source format by default
- test(ubuntu-pro): change livepatch to esm-infra
- doc(ec2): fix metadata urls (#4880)
- fix: unpin jsonschema and update tests (#4882)
- distro: add eject FreeBSD code path (#4838) [Mina Galić]
- feat(ec2): add hotplug as a default network update event (#4799)
- feat(ec2): support instances with repeated device-number (#4799)
- feat(cc_install_hotplug): trigger hook on known ec2 drivers (#4799)
- feat(ec2): support multi NIC/IP setups (#4799)
- feat(hotplug): hook-hotplug is now POSIX shell add OpenRC init script
[dermotbradley]
- test: harden test_dhcp.py::test_noble_and_newer_force_client
- test: fix test_combined_cloud_config_json (#4868)
- feat(apport): Disable hook when disabled (#4874)
- chore: Add pyright ignore comments (#4874)
- bug(apport): Fix invalid typing (#4874)
- refactor: Move general apport hook to main branch (#4874)
- feat(bootspeed)!: cloud-config.service drop After=snapd.seeded
- chore: update CI package build to oldest supported Ubuntu release focal
(#4871)
- test: fix test_cli.test_valid_userdata
- feat: handle error when log file is empty (#4859) [Hasan]
- test: fix test_ec2_ipv6
- fix: Address TIOBE abstract interpretation issues (#4866)
- feat(dhcp): Make udhcpc use same client id (#4830)
- feat(dhcp): Support InfiniBand with dhcpcd (#4830)
- feat(azure): Add ProvisionGuestProxyAgent OVF setting (#4860)
[Ksenija Stanojevic]
- test: Bring back dhcp6 integration test changes (#4855)
- tests: add status --wait blocking test from early boot
- tests: fix retry decorator to return the func value
- docs: add create_hostname_file to all hostname user-data examples
(#4727) [Cat Red]
- fix: Fix typos (#4850) [Viktor Szépe]
- feat(dhcpcd): Read dhcp option 245 for azure wireserver (#4835)
- tests(dhcp): Add udhcpc client to test matrix (#4839)
- fix: Add types to network v1 schema (#4841)
- docs(vmware): fixed indentation on example userdata yaml (#4854)
[Alec Warren]
- tests: Remove invalid keyword from method call
- fix: Handle systemctl when dbus not ready (#4842) (LP: #2046483)
- fix(schema cli): avoid netplan validation on net-config version 1
- tests: reduce expected reports due to dropped rightscale module
- tests(net-config): add awareness of netplan on stable Ubuntu
[Gilbert Gilb's]
- feat: fall back to cdrom_id eject if eject is not available (#4769)
[Cat Red]
- fix(packages/bddeb): restrict debhelper-compat to 12 in focal (#4831)
- tests: Add kernel commandline test (#4833)
- fix: Ensure NetworkManager renderer works without gateway (#4829)
- test: Correct log parsing in schema test (#4832)
- refactor: Remove cc_rightscale_userdata (#4813)
- refactor: Replace load_file with load_binary_file to simplify typing
(#4823)
- refactor: Add load_text_file function to simplify typing (#4823)
- refactor: Change variable name for consistent typing (#4823)
- feat(dhcp): Add support for dhcpcd (#4746)
- refactor: Remove unused networking code (#4810)
- test: Add more DNS net tests
- BREAKING CHANGE: Stop adding network v2 DNS to global DNS
- doc: update DataSource.default_update_events doc (#4815)
- chore: do not modify instance attribute (#4815)
- test: fix mocking leaks (#4815)
- Revert "ci: Pin pytest<8.0.0. (#4816)" (#4815)
- test: Update tests for passlib (#4818)
- fix(net-schema): no warn when skipping schema check on non-netplan
- feat(SUSE): reboot marker file is written as /run/reboot-needed (#4788)
[Robert Schweikert]
- test: Cleanup unwanted logger setup calls (#4817)
- refactor(cloudinit.util): Modernize error handling, add better warnings
(#4812)
- ci: Pin pytest<8.0.0. (#4816)
- fix(tests): fixing KeyError on integrations tests (#4811) [Cat Red]
- tests: integration for network schema on netplan systems (#4767)
- feat(schema): use netplan API to validate network-config (#4767)
- chore: define CLOUDINIT_NETPLAN_FILE static var (#4767)
- fix: cli schema config-file option report network-config type (#4767)
- refactor(azure): replace BrokenAzureDataSource with reportable errors
(#4807) [Chris Patterson]
- Fix Alpine and Mariner /etc/hosts templates (#4780) [dermotbradley]
- tests: revert #4792 as noble images no longer return 2 (#4809) [Cat Red]
- tests: use client fixture instead of class_client in cleantest (#4806)
- tests: enable ds-idenitfy xfail test LXD-kvm-not-MAAS-1 (#4808)
- fix(tests): failing integration tests due to missing ua token (#4802)
[Cat Red]
- Revert "Use grep for faster parsing of cloud config in ds-identify
(#4327)"
- tests: Demonstrate ds-identify yaml parsing broken
- tests: add exit 2 on noble from cloud-init status (#4792)
- fix: linkcheck for ci to ignore scaleway anchor URL (#4793)
- feat: Update cacerts to support VMware Photon (#4763)
[Christopher McCann]
- fix: netplan rendering integrations tests (#4795) [Cat Red]
- azure: remove cloud-init.log reporting via KVP (#4715) [Chris Patterson]
- feat(Alpine): Modify ds-identify for Alpine support and add OpenRC
init.d script (#4785) [dermotbradley]
- doc: Add DatasourceScaleway documentation (#4773) [Louis Bouchard]
- fix: packaged logrotate file lacks suffix on ubuntu (#4790)
- feat(logrotate): config flexibility more backups (#4790)
- fix(clean): stop warning when running clean command (#4761) [d1r3ct0r]
- feat: network schema v1 strict on nic name length 15 (#4774)
- logrotate config (#4721) [Fabian Lichtenegger-Lukas]
- test: Enable coverage in integration tests (#4682)
- test: Move unit test helpers to global test helpers (#4682)
- test: Remove snapshot option from install_new_cloud_init (#4682)
- docs: fix cloud-init single param docs (#4682)
- Alpine: fix location of dhclient leases file (#4782) [dermotbradley]
- test(jsonschema): Pin jsonschema version (#4781)
- refactor(IscDhclient): discover DHCP leases at distro-provided location
(#4683) [Phsm Qwerty]
- feat: datasource check for WSL (#4730) [Carlos Nihelton]
- test: Update hostname integration tests (#4744)
- test: Add mantic and noble releases to integration tests (#4744)
- refactor: Ensure internal DNS state same for v1 and v2 (#4756)
- feat: Add v2 route mtu rendering to NetworkManager (#4748)
- tests: stable ubuntu releases will not exit 2 on warnings (#4757)
- doc(ds-identify): Describe ds-identify irrespective of distro (#4742)
- fix: relax NetworkManager renderer rules (#4745)
- fix: fix growpart race (#4618)
- feat: apply global DNS to interfaces in network-manager (#4723)
[Florian Apolloner]
- feat(apt): remove /etc/apt/sources.list when deb22 preferred (#4740)
- chore: refactor schema data as enums and namedtuples (#4585)
- feat(schema): improve CLI message on unprocessed data files (#4585)
- fix(config): relocate /run to /var/run on BSD (canonical#4677)
[Mina Galić]
- fix(ds-identify): relocate /run on *BSD (#4677) [Mina Galić]
- fix(sysvinit): make code a bit more consistent (#4677) [Mina Galić]
- doc: Document how cloud-init is, not how it was (#4737)
- tests: add expected exit 2 on noble from cloud-init status (#4738)
- test(linkcheck): ignore github md and rst link headers (#4734)
- test: Update webhook test due to removed cc_migrator module (#4726)
- fix(ds-identify): Return code 2 is a valid result, use cached value
- fix(cloudstack): Use parsed lease file for virtual router in cloudstack
- fix(dhcp): Guard against FileNotFoundError and NameError exceptions
- fix(apt_configure): disable sources.list if rendering deb822 (#4699)
(LP: #2045086)
- docs: Add link to contributing to docs (#4725) [Cat Red]
- chore: remove commented code (#4722)
- chore: Add log message when create_hostname_file key is false (#4724)
[Cat Red]
- fix: Correct v2 NetworkManager route rendering (#4637)
- azure/imds: log http failures as warnings instead of info (#4714)
[Chris Patterson]
- fix(setup): Relocate libexec on OpenBSD (#4708) [Mina Galić]
- feat(jinja): better jinja feedback and error catching (#4629)
[Alec Warren]
- test: Fix silent swallowing of unexpected subp error (#4702)
- fix: Move cloud-final.service after time-sync.target (#4610)
[Dave Jones] (LP: #1951639)
- feat(log): Make logger name more useful for __init__.py
- chore: Remove cc_migrator module (#4690)
- fix(tests): make cmd/devel/tests work on non-GNU [Mina Galić]
- chore: Remove cmdline from spelling list (#4670)
- doc: Document boot status meaning (#4670)
- doc: Set expectations for new datasources (#4670)
- ci: Show linkcheck broken links in job output (#4670)
- dmi: Add support for OpenBSD (#4654) [Mina Galić]
- ds-identify: fake dmidecode support on OpenBSD (#4654) [Mina Galić]
- ds-identify: add OpenBSD support in uname (#4654) [Mina Galić]
- refactor: Ensure '_cfg' in Init class is dict (#4674)
- refactor: Make event scope required in stages.py (#4674)
- refactor: Remove unused argument (#4674)
- chore: Move from lintian to a sphinx spelling plugin (#3639)
- fix(doc): Fix spelling errors found by sphinxcontrib-spelling (#3639)
- ci: Add Python 3.13 (#4567)
- Add AlexSv04047 to CLA signers file (#4671) [AlexSv04047]
- fix(openbsd): services & build tool (#4660) [CodeBleu]
- tests/unittests: add a new unit test for network manager net activator
(#4672) [Ani Sinha]
- Implement DataSourceCloudStack.get_hostname() (#4433) [Phsm Qwerty]
- net/nm: check for presence of ifcfg files when nm connection files
are absent (#4645) [Ani Sinha]
- doc: Overhaul debugging documentation (#4578)
- doc: Move dangerous commands to dev docs (#4578)
- doc: Relocate file location docs (#4578)
- doc: Remove the debugging page (#4578)
- fix(util): Fix boottime to work on OpenBSD (#4667) [Mina Galić]
- net: allow dhcp6 configuration from generate_fallback_configuration()
[Ani Sinha]
- net/network_manager: do not set "may-fail" to False for both ipv4 and
ipv6 dhcp [Ani Sinha]
- feat(subp): Measure subprocess command time (#4606)
- fix(python3.13): Fix import error for passlib on Python 3.13 (#4669)
- style(brpm/bddeb): add black and ruff for packages build scripts (#4666)
- copr: remove TODO.rst from spec file
- fix(packages/brpm): correct syntax error and typo
- style(ruff): fix tip target
- config: Module documentation updates (#4599)
- refactor(subp): Remove redundant parameter 'env' (#4555)
- refactor(subp): Remove unused parameter 'target' (#4555)
- refactor: Remove 'target' boilerplate from cc_apt_configure (#4555)
- refactor(subp): Re-add return type to subp() (#4555)
- refactor(subp): Add type information to args (#4555)
- refactor(subp): Use subprocess.DEVNULL (#4555)
- refactor(subp): Remove parameter 'combine_capture' (#4555)
- refactor(subp): Remove unused parameter 'status_cb' (#4555)
- fix(cli): fix parsing of argparse subcommands (#4559)
[Calvin Mwadime] (LP: #2040325)
- chore!: drop support for dsa ssh hostkeys in docs and schema (#4456)
- chore!: do not generate ssh dsa host keys (#4456) [shixuantong]
23.4.4
- fix(nocloud): smbios datasource definition
- tests: Check that smbios seed works
- fix(source): fix argument boundaries when parsing cmdline (#4825)
23.4.3
- fix: Handle systemctl when dbus not ready (#4842)
(LP: #2046483)
23.4.2
- fix: Handle invalid user configuration gracefully (#4797)
(LP: #2051147)
23.4.1
- fix: Handle systemctl commands when dbus not ready (#4681)
23.4
- tests: datasourcenone use client.restart to block until done (#4635)
- tests: increase number of retries across reboot to 90 (#4651)
- fix: Add schema for merge types (#4648)
- feat: Allow aliyun ds to fetch data in init-local (#4590) [qidong.ld]
- azure: report failure to eject as error instead of debug (#4643)
[Chris Patterson]
- bug(schema): write network-config if instance dir present (#4635)
- test: fix schema fuzzing test (#4639)
- Update build-on-openbsd dependencies (#4644) [CodeBleu]
- fix(test): Fix expected log for ipv6-only ephemeral network (#4641)
- refactor: Remove metaclass from network_state.py (#4638)
- schema: non-root fallback to default paths on perm errors (# 4631)
- fix: Don't loosen the permissions of the log file (#4628)
- Revert "logging: keep current file mode of log file if its stricter
than the new mode (#4250)"
- ephemeral: Handle link up failure for both ipv4 and ipv6 (#4547)
- fix(main): Don't call logging too early (#4595)
- fix: Remove Ubuntu-specific kernel naming convention assertion (#4617)
- fix(log): Do not implement handleError with a self parameter (#4617)
- fix(log): Don't try to reuse stderr logger (#4617)
- feat: Standardize logging output to stderr (#4617)
- chore: Sever unmaintained TODO.rst (#4625)
- test: Skip failing tests
- distros: Add suse
- test: Add default hello package version (#4614)
- fix(net): Improve DHCPv4 SUSE code, add test
- net: Fix DHCPv4 not enabled on SUSE in some cases [bin456789]
- fix(schema): Warn if missing dependency (#4616)
- fix(cli): main source cloud_config for schema validation (#4562)
- feat(schema): annotation path for invalid top-level keys (#4562)
- feat(schema): top-level additionalProperties: false (#4562)
- test: ensure top-level properties tests will pass (#4562)
- fix(schema): Add missing schema definitions (#4562)
- test: Fix snap tests (#4562)
- azure: Check for stale pps data from IMDS (#4596) [Ksenija Stanojevic]
- test: Undo dhcp6 integration test changes (#4612)
- azure: update diagnostic from warning level to debug [Chris Patterson]
- azure/imds: remove limit for connection errors if route present (#4604)
[Chris Patterson]
- [enhancement]: Add shellcheck to CI (#4488) [Aviral Singh]
- chore: add conventional commits template (#4593)
- Revert "net: allow dhcp6 configuration from
generate_fallback_configuration()" (#4607)
- azure: workaround to disable reporting IMDS failures on Azure Stack
[Chris Patterson]
- cc_apt_pipelining: Update docs, deprecate options (#4571)
- test: add gh workflows on push to main, update status badges (#4597)
- util: Remove function abs_join() (#4587)
- url_helper: Remove unused function retry_on_url_exc() (#4587)
- cc_resizefs: Add bcachefs resize support (#4594)
- integration_tests: Support non-Ubuntu distros (#4586)
- fix(cmdline): fix cmdline parsing with MAC containing cc:
- azure/errors: include http code in reason for IMDS failure
[Chris Patterson]
- tests: cloud-init schema --system does not return exit code 2
- github: allow pull request to specify desired rebase and merge
- tests: fix integration test expectations of exit 2 on schema warning
- tests: fix schema test expected cli output Valid schema <type>
- fix(schema cli): check raw userdata when processed cloud-config empty
- azure: report failure to host if ephemeral DHCP secondary NIC (#4558)
[Chris Patterson]
- man: Document cloud-init error codes (#4500)
- Add support for cloud-init "degraded" state (#4500)
- status.json: Don't override detail key with error condition (#4500)
- status: Remove duplicated data (#4500)
- refactor: Rename exported_errors in status.json (#4500)
- test: Remove stale status.json value (#4500)
- tools/render-template: Make yaml loading opt-in, fix setup.py (#4564)
- Add summit digest/trip report to docs (#4561) [Sally]
- doc: Fix incorrect statement about `cloud-init analyze`
- azure/imds: ensure new errors are logged immediately when retrying
(#4468) [Chris Patterson]
- Clarify boothook docs (#4543)
- boothook: allow stdout/stderr to emit to cloud-init-output.log
- summit-notes: add 2023 notes for reference in mailinglist/discourse
- fix: added mock to stop leaking journalctl that slows down unit test
(#4556) [Alec Warren]
- tests: maas test for DataSourceMAASLocal get_data
- maas tests: avoid using CiTest case and prefer pytest.tmpdir fixture
- MAAS: Add datasource to init-local timeframe
- Ensure all tests passed and/or are skipped
- Support QEMU in integration tests
- fix(read-dependencies): handle version specifiers containing [~!]
- test: unpin pytest
- schema: network-config optional network key. route uses oneOf (#4482)
- schema: add cloud_init_deepest_matches for best error message (#4482)
- network: warn invalid cfg add /run/cloud-init/network-config (#4482)
- schema: add network-config support to schema subcommand (#4482)
- Update version number and merge ChangeLog from 23.3.3 into main (#4553)
- azure: check for primary interface when performing DHCP (#4465)
[Chris Patterson]
- Fix hypothesis failure
- subp: add a log when skipping a file for execution for lack of exe
permission (#4506) [Ani Sinha]
- azure/imds: refactor max_connection_errors definition (#4467)
[Chris Patterson]
- chore: fix PR template rendering (#4526)
- fix(cc_apt_configure): avoid unneeded call to apt-install (#4519)
- comment difference between sysconfig and NetworkManager renderer (#4517)
[Ani Sinha]
- Set Debian's default locale to be c.UTF-8 (#4503) (LP: #2038945)
- Convert test_debian.py to pytest (#4503)
- doc: fix cloudstack link
- doc: fix development/contributing.html references
- doc: hide duplicated links
- Revert "ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen
(#4281)" (#4511) (LP: #2039453)
- Fix the missing mcopy argument [Vladimir Pouzanov]
- tests: Add logging fix (#4499)
- Update upgrade test to account for dhcp6
- Remove logging of PPID path (#4502)
- Make Python 3.12 CI test non-experimental (#4498)
- ds-identify: exit 2 on disabled state from marker or cmdline (#4399)
- cloud-init-generator: Various performance optimizations (#4399)
- systemd: Standardize cloud-init systemd enablement (#4399)
- benchmark: benchmark cloud-init-generator independent of ds-identify
(#4399)
- tests/integration_tests: add cloud-init disablement coverage (#4399)
- doc: Describe disabling cloud-init using an environment variable (#4399)
- fix: cloud-init status --wait broken with KERNEL_CMDLINE (#4399)
- azure/imds: retry on 429 errors for reprovisiondata (#4470)
[Chris Patterson]
- cmd: Don't write json status files for non-boot stages (#4478)
- ds-identify: Allow disable service and override environment (#4485)
[Mina Galić]
- Update DataSourceNWCS.py (#4496) [shell-skrimp]
- Add r00ta to CLA signers file
- Fix override of systemd_locale_conf in rhel [Jacopo Rota]
- ci(linkcheck): minor fixes (#4495)
- integration test fix for deb822 URI format (#4492)
- test: use a mantic-compatible tz in t/i/m/test_combined.py (#4494)
- ua: shift CLI command from ua to pro for all interactions
- pro: avoid double-dash when enabling inviddual services on CLI
- net: allow dhcp6 configuration from generate_fallback_configuration()
(#4474) [Ani Sinha]
- tests: apt re.search to match alternative ordering of installed pkgs
- apt: doc apt_pkg performance improvement over subp apt-config dump
- Tidy up contributing docs (#4469) [Sally]
- [enhancement]: Automatically linkcheck in CI (#4479) [Aviral Singh]
- Revert allowing pro service warnings (#4483)
- Export warning logs to status.json (#4455)
- Fix regression in package installation (#4466)
- schema: cloud-init schema in early boot or in dev environ (#4448)
- schema: annotation of nested dicts lists in schema marks (#4448)
- feat(apport): collect ubuntu-pro logs if ubuntu-advantage.log present
(#4443)
- apt_configure: add deb822 support for default sources file (#4437)
- net: remove the word "on instance boot" from cloud-init generated config
(#4457) [Ani Sinha]
- style: Make cloudinit.log functions use snake case (#4449)
- Don't recommend using cloud-init as a library (#4459)
- vmware: Fall back to vmtoolsd if vmware-rpctool errs (#4444)
[Andrew Kutz]
- azure: add option to enable/disable secondary ip config (#4432)
[Ksenija Stanojevic]
- Allow installing snaps via package_update_upgrade_install module (#4202)
- docs: Add cloud-init overview/introduction (#4440) [Sally]
- apt: install software-properties-common when absent but needed (#4441)
- sources/Azure: Ignore system volume information folder while scanning
for files in the ntfs resource disk (#4446) [Anh Vo]
- refactor: Remove unnecessary __main__.py file
- style: Drop vi format comments
- cloudinit.log: Use more appropriate exception (#4435)
- cloudinit.log: Don't configure NullHandler (#4435)
- commit 6bbbfbbb030831c72b5aa2bba9cb8492f19d56f4
- cloudinit.log: Remove unnecessary module function and variables (#4435)
- cloudinit.log: Remove unused getLogger wrapper (#4435)
- cloudinit.log: Standardize use of cloudinit's logging module (#4435)
- Remove unnecessary logging wrapper in Cloud class (#4435)
- integration test: allow pro service warnings (#4447)
- integration tests: fix mount indentation (#4445)
- sources/Azure: fix for conflicting reports to platform (#4434)
[Chris Patterson]
- docs: link the cloud-config validation service (#4442)
- Fix pip-managed ansible on pip < 23.0.1 (#4403)
- Install gnupg if gpg not found (#4431)
- Add "phsm" as contributor (#4429) [Phsm Qwerty]
- cc_ubuntu_advantage: do not rely on uaclient.messages module (#4397)
[Grant Orndorff]
- tools/ds-identify: match Azure datasource's ds_detect() behavior (#4430)
[Chris Patterson]
- Refactor test_apt_source_v1.py to use pytest (#4427)
- sources: do not override datasource detection if None is in list (#4426)
[Chris Patterson]
- feat: check for create_hostname_file key before writing /etc/hostname
(SC-1588) (#4330) [Cat Red]
- Pytestify apt config test modules (#4424)
- upstream gentoo patch (#4422)
- Work around no instance ip (#4419)
- Fix typing issues in subp module (#4401)
- net: fix ipv6_dhcpv6_stateful/stateless/slaac configuration for rhel
(#4395) [Ani Sinha]
- Release 23.3.1
- apt: kill dirmngr/gpg-agent without gpgconf dependency (LP: #2034273)
- integration tests: fix mount indentation (#4405)
- Use grep for faster parsing of cloud config in ds-identify (#4327)
[Scott Moser] (LP: #2030729)
- doc: fix instructions on how to disable cloud-init from kernel command
line (#4406) [Ani Sinha]
- doc/vmware: Update contents relevant to disable_vmware_customization
[PengpengSun]
- Bring back flake8 for python 3.6 (#4394)
- integration tests: Fix cgroup parsing (#4402)
- summary: Update template parameter descriptions in docs [MJ Moshiri]
- Log PPID for better debugging (#4398)
- integration tests: don't clean when KEEP_* flags true (#4400)
- clean: add a new option to clean generated config files [Ani Sinha]
- pep-594: drop deprecated pipes module import
23.3.3
- Fix pip-managed ansible on pip < 23.0.1 (#4403)
23.3.2
- Revert "ds-identify/CloudStack: $DS_MAYBE if vm running on vmware/xen (#4281)"
(#4511) (LP: #2039453)
23.3.1
- apt: kill dirmngr/gpg-agent without gpgconf dependency (LP: #2034273)
- integration tests: Fix cgroup parsing (#4402)
23.3
- 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]
- Release 23.2.2 (#4300)
- 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=<release>-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
- Release 23.2.1 (#4207) (LP: #2025180)
- 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ć]
23.2.2
- Fix NoCloud kernel commandline key parsing (#4273) (Fixes: #4271)
(LP: #2028562)
- Fix reference before assignment (#4292) (Fixes: #4288) (LP: #2028784)
23.2.1
- nocloud: Fix parse_cmdline detection of nocloud-net datasource (#4204)
(Fixes: 4203) (LP: #2025180)
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]
- Add frantisekz as contributor (#2087) [František Zatloukal]
- Send dhcp-client-identifier for InfiniBand ports (#2043) [Waleed Mousa]
- cc_ansible: complete the examples and doc (#2082) [Yves]
- contributor: add bdrung
- 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)
- Release 23.1.1 (#2052)
- 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]
23.1.2
- Make user/vendor data sensitive and remove log permissions
(LP: #2013967) (CVE-2023-1786)
23.1.1
- source: Force OpenStack when it is only option (#2045)
- sources/azure: fix regressions in IMDS behavior (#2041)
[Chris Patterson]
23.1
- 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]
22.4.2
- status: handle ds not defined in status.json (#1876) (LP: #1997559)
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
22.4
- 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_<module>.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)
22.3.4
- Fix Oracle DS primary interface when using IMDS (LP: #1989686)
22.3.3
- Fix Oracle DS not setting subnet when using IMDS (LP: #1989686)
22.3.2
- azure: define new attribute for pre-22.3 pickles (#1725)
- sources/azure: ensure instance id is always correct (#1727)
22.3.1
- Fix v2 interface matching when no MAC (LP: #1986551)
- test: reduce number of network dependencies in flaky test (#1702)
- docs: publish cc_ubuntu_autoinstall docs to rtd (#1696)
- net: Fix EphemeraIPNetwork (#1697) [Alberto Contreras]
- test: make ansible test work across older versions (#1691)
- Networkd multi-address support/fix (#1685) [Teodor Garzdin]
- make: drop broken targets (#1688)
- net: Passthough v2 netconfigs in netplan systems (#1650)
[Alberto Contreras] (LP: #1978543)
- NM ipv6 connection does not work on Azure and Openstack (#1616)
[Emanuele Giuseppe Esposito]
- Fix check_format_tip (#1679) [Alberto Contreras]
- DataSourceVMware: fix var use before init (#1674)
[Andrew Kutz] (LP: #1987005)
- rpm/copr: ensure RPM represents new clean.d dir artifacts (#1680)
- test: avoid centos leaked check of /etc/yum.repos.d/epel-testing.repo
(#1676)
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]
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)
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-<cloud-type> 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]
21.4
- 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)
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]
21.2
- 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]
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)
20.4.1
- Revert "ssh_util: handle non-default AuthorizedKeysFile config (#586)"
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]
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)
20.2
- 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)
20.1
- 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)
19.4
- 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 Red Hat 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
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)
19.2:
- 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)]
19.1:
- 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)]
- 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.
18.5:
- 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)
18.4:
- 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.
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)
- 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)
18.2:
- 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]
18.1:
- 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)
17.2:
- ds-identify: failure in NoCloud due to unset variable usage.
(LP: #1737704)
- tests: fix collect_console when not implemented [Joshua Powers]
- ec2: Use instance-identity doc for region and instance-id
[Andrew Jorgensen]
- tests: remove leaked tmp files in config drive tests.
- setup.py: Do not include rendered files in SOURCES.txt
- SUSE: remove delta in systemd local template for SUSE [Robert Schweikert]
- tests: move to using tox 1.7.5
- OVF: improve ds-identify to support finding OVF iso transport.
(LP: #1731868)
- VMware: Support for user provided pre and post-customization scripts
[Maitreyee Saikia]
- citest: In NoCloudKVM provide keys via metadata not userdata.
- pylint: Update pylint to 1.7.1, run on tests/ and tools and fix
complaints.
- Datasources: Formalize DataSource get_data and related properties.
- cli: Add clean and status subcommands
- tests: consolidate platforms into specific dirs
- ec2: Fix sandboxed dhclient background process cleanup. (LP: #1735331)
- tests: NoCloudKVMImage do not modify the original local cache image.
- tests: Enable bionic in integration tests. [Joshua Powers]
- tests: Use apt-get to install a deb so that depends get resolved.
- sysconfig: Correctly render dns and dns search info.
[Ryan McCabe] (LP: #1705804)
- integration test: replace curtin test ppa with cloud-init test ppa.
- EC2: Fix bug using fallback_nic and metadata when restoring from cache.
(LP: #1732917)
- EC2: Kill dhclient process used in sandbox dhclient. (LP: #1732964)
- ntp: fix configuration template rendering for openSUSE and SLES
(LP: #1726572)
- centos: Provide the failed #include url in error messages
- Catch UrlError when #include'ing URLs [Andrew Jorgensen]
- hosts: Fix openSUSE and SLES setup for /etc/hosts and clarify docs.
[Robert Schweikert] (LP: #1731022)
- rh_subscription: Perform null checks for enabled and disabled repos.
[Dave Mulford]
- Improve warning message when a template is not found.
[Robert Schweikert] (LP: #1731035)
- Replace the temporary i9n.brickies.net with i9n.cloud-init.io.
- Azure: don't generate network configuration for SRIOV devices
(LP: #1721579)
- tests: address some minor feedback missed in last merge.
- tests: integration test cleanup and full pass of nocloud-kvm.
- Gentoo: chmod +x on all files in sysvinit/gentoo/
[ckonstanski] (LP: #1727126)
- EC2: Limit network config to fallback nic, fix local-ipv4 only
instances. (LP: #1728152)
- Gentoo: Use "rc-service" rather than "service".
[Carlos Konstanski] (LP: #1727121)
- resizefs: Fix regression when system booted with root=PARTUUID=
(LP: #1725067)
- tools: make yum package installation more reliable
- citest: fix remaining warnings raised by integration tests.
- citest: show the class actual class name in results.
- ntp: fix config module schema to allow empty ntp config (LP: #1724951)
- tools: disable fastestmirror if using proxy [Joshua Powers]
- schema: Log debug instead of warning when jsonschema is not available.
(LP: #1724354)
- simpletable: Fix get_string method to return table-formatted string
(LP: #1722566)
- net: Handle bridge stp values of 0 and convert to boolean type
- tools: Give specific --abbrev=8 to "git describe"
- network: bridge_stp value not always correct (LP: #1721157)
- tests: re-enable tox with nocloud-kvm support [Joshua Powers]
- systemd: remove limit on tasks created by cloud-init-final.service.
[Robert Schweikert] (LP: #1717969)
- suse: Support addition of zypper repos via cloud-config.
[Robert Schweikert] (LP: #1718675)
- tests: Combine integration configs and testcases [Joshua Powers]
- Azure, CloudStack: Support reading dhcp options from systemd-networkd.
[Dimitri John Ledkov] (LP: #1718029)
- packages/debian/copyright: remove mention of boto and MIT license
- systemd: only mention Before=apt-daily.service on debian based distros.
[Robert Schweikert]
- Add missing simpletable and simpletable tests for failed merge
- Remove prettytable dependency, introduce simpletable [Andrew Jorgensen]
- debian/copyright: dep5 updates, reorganize, add Apache 2.0 license.
[Joshua Powers] (LP: #1718681)
- tests: remove dependency on shlex [Joshua Powers]
- AltCloud: Trust PATH for udevadm and modprobe.
- DataSourceOVF: use util.find_devs_with(TYPE=iso9660) (LP: #1718287)
- tests: remove a temp file used in bootcmd tests.
17.1:
- 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-<distro> 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.
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)
0.7.8:
- 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)
0.7.7:
- open 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]
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
- DigitalOcean & GCE: fix get_hostname consistency
0.7.5:
- open 0.7.5
- Add a debug log message around import failures
- add a 'debug' module for easily printing out some information about
datasource and cloud-init [Shraddha Pandhe]
- support running apt with 'eatmydata' via configuration token
apt_get_wrapper (LP: #1236531).
- convert paths provided in config-drive 'files' to string before writing
(LP: #1260072).
- Azure: minor changes in logging output. ensure filenames are strings (not
unicode).
- config/cloud.cfg.d/05_logging.cfg: provide a default 'output' setting, to
redirect cloud-init stderr and stdout /var/log/cloud-init-output.log.
- drop support for resizing partitions with parted entirely (LP: #1212492).
This was broken as it was anyway.
- add support for vendordata in SmartOS and NoCloud datasources.
- drop dependency on boto for crawling ec2 metadata service.
- add 'Requires' on sudo (for OpenNebula datasource) in rpm specs, and
'Recommends' in the debian/control.in [Vlastimil Holer]
- if mount_info reports /dev/root is a device path for /, then convert
that to a device via help of kernel cmdline.
- configdrive: consider partitions as possible datasources if they have
theh correct filesystem label. [Paul Querna]
- initial freebsd support [Harm Weites]
- fix in is_ipv4 to accept IP addresses with a '0' in them.
- Azure: fix issue when stale data in /var/lib/waagent (LP: #1269626)
- skip config_modules that declare themselves only verified on a set of
distros. Add them to 'unverified_modules' list to run anyway.
- Add CloudSigma datasource [Kiril Vladimiroff]
- Add initial support for Gentoo and Arch distributions [Nate House]
- Add GCE datasource [Vaidas Jablonskis]
- Add native Openstack datasource which reads openstack metadata
rather than relying on EC2 data in openstack metadata service.
- SmartOS, AltCloud: disable running on arm systems due to bug
(LP: #1243287, #1285686) [Oleg Strikov]
- Allow running a command to seed random, default is 'pollinate -q'
(LP: #1286316) [Dustin Kirkland]
- Write status to /run/cloud-init/status.json for consumption by
other programs (LP: #1284439)
- Azure: if a reboot causes ephemeral storage to be re-provisioned
Then we need to re-format it. (LP: #1292648)
- OpenNebula: support base64 encoded user-data
[Enol Fernandez, Peter Kotcauer]
0.7.4:
- fix issue mounting 'ephemeral0' if ephemeral0 was an alias for a
partitioned block device with target filesystem on ephemeral0.1.
(LP: #1236594)
- fix DataSourceAzure incompatibility with 2.6 (LP: #1232175)
- fix power_state_change config module so that example works. Improve
its documentation and add reference to 'timeout'
- support apt-add-archive with 'cloud-archive:' format. (LP: #1244355)
- Change SmartOS verb for availability zone (LP: #1249124)
- documentation fix for boothooks to use 'cloud-init-per'
- fix resizefs module by supporting kernels that do not have
/proc/PID/mountinfo. (LP: #1248625) [Tim Daly Jr.]
- fix 'make rpm' by removing 0.6.4 entry from ChangeLog (LP: #1241834)
0.7.3:
- fix omnibus chef installer (LP: #1182265) [Chris Wing]
- small fix for OVF datasource for iso transport on non-iso9660 filesystem
- determine if upstart version is suitable for
'initctl reload-configuration' (LP: #1124384). If so, then invoke it.
supports setting up instance-store disk with partition table and filesystem.
- add Azure datasource.
- add support for SuSE / SLES [Juerg Haefliger]
- add a trailing carriage return to chpasswd input, which reportedly
caused a problem on rhel5 if missing.
- support individual MIME segments to be gzip compressed (LP: #1203203)
- always finalize handlers even if processing failed (LP: #1203368)
- support merging into cloud-config via jsonp. (LP: #1200476)
- add datasource 'SmartOS' for Joyent Cloud. Adds a dependency on serial.
- add 'log_time' helper to util for timing how long things take
which also reads from uptime. uptime is useful as clock may change during
boot due to ntp.
- prefer growpart resizer to 'parted resizepart' (LP: #1212492)
- support random data seed from config drive or azure, and a module
'seed_random' to read that and write it to /dev/urandom.
- add OpenNebula Datasource [Vlastimil Holer]
- add 'cc_disk_setup' config module for paritioning disks and creating
filesystems. Useful if attached disks are not formatted (LP: #1218506)
- Fix usage of libselinux-python when selinux is disabled. [Garrett Holmstrom]
- multi_log: only write to /dev/console if it exists [Garrett Holmstrom]
- config/cloud.cfg: add 'sudo' to list groups for the default user
(LP: #1228228)
- documentation fix for use of 'mkpasswd' [Eric Nordlund]
- respect /etc/growroot-disabled file (LP: #1234331)
0.7.2:
- add a debian watch file
- add 'sudo' entry to ubuntu's default user (LP: #1080717)
- fix resizefs module when 'noblock' was provided (LP: #1080985)
- make sure there is no blank line before cloud-init entry in
there are no blank lines in /etc/ca-certificates.conf (LP: #1077020)
- fix sudoers writing when entry is a string (LP: #1079002)
- tools/write-ssh-key-fingerprints: use '-s' rather than '--stderr'
option (LP: #1083715)
- make install of puppet configurable (LP: #1090205) [Craig Tracey]
- support omnibus installer for chef [Anatoliy Dobrosynets]
- fix bug where cloud-config in user-data could not modify system_info
settings (LP: #1090482)
- fix CloudStack DataSource to use Virtual Router as described by
CloudStack documentation if it is available by searching through dhclient
lease files. If it is not available, then fall back to the default
gateway. (LP: #1089989)
- fix redaction of password field in log (LP: #1096417)
- fix to cloud-config user setup. Previously, lock_passwd was broken and
all accounts would be locked unless 'system' was given (LP: #1096423).
- Allow 'sr0' (or sr[0-9]) to be specified without /dev/ as a source for
mounts. [Vlastimil Holer]
- allow config-drive-data to come from a CD device by more correctly
filtering out partitions. (LP: #1100545)
- setup docs to be available on read-the-docs
https://cloudinit.readthedocs.org/en/latest/ (LP: #1093039)
- add HACKING file for information on contributing
- handle the legacy 'user:' configuration better, making it affect the
configured OS default user (LP: #1100920)
- Adding a resolv.conf configuration module (LP: #1100434). Currently only
working on redhat systems (no support for resolvconf)
- support grouping linux distros into "os_families". This allows a module
to operate on the family (redhat or debian) rather than the distro (ubuntu,
debian, fedora, rhel) (LP: #1100029)
- fix /etc/hosts writing when templates are used (LP: #1100036)
- add package versioning logic to package installation
functionality (LP: #1108047)
- fix documentation for write_files to correctly list 'permissions'
rather than 'perms' (LP: #1111205)
- cloud-init-container.conf: ensure /run/network before running ifquery
- DataSourceNoCloud: allow user-data and meta-data to be specified
in config (LP: #1115833).
- improve debian support in sysvinit scripts, package build scripts, and
split sources.list template to be distro specific.
- support for resizing btrfs root filesystems [Blair Zajac]
- fix issue when writing ssh keys to .ssh/authorized_keys (LP: #1136343)
- upstart: cloud-init-nonet.conf trap the TERM signal, so that dmesg or other
output does not get a 'killed by TERM signal' message.
- support resizing partitions via growpart or parted (LP: #1136936)
- allow specifying apt-get command in distro config ('apt_get_command')
- support different and user-suppliable merging algorithms for cloud-config
(LP: #1023179)
- use python-requests rather than urllib2. By using recent versions of
python-requests, we get https support (LP: #1067888).
- make apt-get invoke 'dist-upgrade' rather than 'upgrade' for
package_upgrade. (LP: #1164147)
- improvements for systemd with Fedora 18
- workaround 2.6 kernel issue that stopped blkid from showing /dev/sr0
- add new, backwards compatible merging syntax so merging of cloud-config
can be more useful.
0.7.1:
- sysvinit: fix missing dependency in cloud-init job for RHEL 5.6
- config-drive: map hostname to local-hostname (LP: #1061964)
- landscape: install landscape-client package if not installed.
only take action if cloud-config is present (LP: #1066115)
- cc_landscape: restart landscape after install or config (LP: #1070345)
- multipart/archive. do not fail on unknown headers in multipart
mime or cloud-archive config (LP: #1065116).
- tools/Z99-cloud-locale-test.sh: avoid warning when user's shell is
zsh (LP: #1073077)
- fix stack trace when unknown user-data input had unicode (LP: #1075756)
- split 'apt-update-upgrade' config module into 'apt-configure' and
'package-update-upgrade-install'. The 'package-update-upgrade-install'
will be a cross distro module.
- Cleanups:
- Remove usage of paths.join, as all code should run through util helpers
- Fix pylint complaining about tests folder 'helpers.py' not being found
- Add a pylintrc file that is used instead options hidden in 'run_pylint'
- fix bug where cloud-config from user-data could not affect system_info
settings [revno 703] (LP: #1076811)
- for write fqdn to system config for rh/fedora [revno 704]
- add yaml/cloud config examples checking tool [revno 706]
- Fix the merging of group configuration when that group configuration is a
dict => members. [revno 707]
- add yum_add_repo configuration module for adding additional yum repos
- fix public key importing with config-drive-v2 datasource (LP: #1077700)
- handle renaming and fixing up of marker names (LP: 1075980) [revno 710]
this relieves that burden from the distro/packaging.
- group config: fix how group members weren't being translated correctly
when the group: [member, member...] format was used (LP: #1077245)
- sysconfig: fix how the /etc/sysconfig/network should be using the fully
qualified domain name instead of the partially qualified domain name
which is used in the ubuntu/debian case (LP: #1076759)
- fix how string escaping was not working when the string was a unicode
string which was causing the warning message not to be written
out (LP: #1075756)
- for boto > 0.6.0 there was a lazy load of the metadata added, when
cloud-init runs the usage of this lazy loading is hidden and since that lazy
loading will be performed on future attribute access we must traverse the
lazy loaded dictionary and force it to full expand so that if cloud-init
blocks the ec2 metadata port the lazy loaded dictionary will continue
working properly instead of trying to make additional url calls which will
fail (LP: #1068801)
- use a set of helper/parsing classes to perform system configuration
for easier test. (/etc/sysconfig, /etc/hostname, resolv.conf, /etc/hosts)
- add power_state_change config module for shutting down stystem after
cloud-init finishes. (LP: #1064665)
0.7.0:
- add a 'exception_cb' argument to 'wait_for_url'. If provided, this
method will be called back with the exception received and the message.
- utilize the 'exception_cb' above to modify the oauth timestamp in
DataSourceMAAS requests if a 401 or 403 is received. (LP: #978127)
- catch signals and exit rather than stack tracing
- if logging fails, enable a fallback logger by patching the logging module
- do not 'start networking' in cloud-init-nonet, but add
cloud-init-container job that runs only if in container and emits
net-device-added (LP: #1031065)
- search only top level dns for 'instance-data' in
DataSourceEc2 (LP: #1040200)
- add support for config-drive-v2 (LP:#1037567)
- support creating users, including the default user.
[Ben Howard] (LP: #1028503)
- add apt_reboot_if_required to reboot if an upgrade or package installation
forced the need for one (LP: #1038108)
- allow distro mirror selection to include availability-zone (LP: #1037727)
- allow arch specific mirror selection (select ports.ubuntu.com on arm)
LP: #1028501
- allow specification of security mirrors (LP: #1006963)
- add the 'None' datasource (LP: #906669), which will allow jobs
to run even if there is no "real" datasource found.
- write ssh authorized keys to console, ssh_authkey_fingerprints
config module [Joshua Harlow] (LP: #1010582)
- Added RHEVm and vSphere support as source AltCloud [Joseph VLcek]
- add write-files module (LP: #1012854)
- Add setuptools + cheetah to debian package build dependencies (LP: #1022101)
- Adjust the sysvinit local script to provide 'cloud-init-local' and have
the cloud-config script depend on that as well.
- Add the 'bzr' name to all packages built
- Reduce logging levels for certain non-critical cases to DEBUG instead of the
previous level of WARNING
- unified binary that activates the various stages
- Now using argparse + subcommands to specify the various CLI options
- a stage module that clearly separates the stages of the different
components (also described how they are used and in what order in the
new unified binary)
- user_data is now a module that just does user data processing while the
actual activation and 'handling' of the processed user data is done via
a separate set of files (and modules) with the main 'init' stage being the
controller of this
- creation of boot_hook, cloud_config, shell_script, upstart_job version 2
modules (with classes that perform there functionality) instead of those
having functionality that is attached to the cloudinit object (which
reduces reuse and limits future functionality, and makes testing harder)
- removal of global config that defined paths, shared config, now this is
via objects making unit testing testing and global side-effects a non issue
- creation of a 'helpers.py'
- this contains an abstraction for the 'lock' like objects that the various
module/handler running stages use to avoid re-running a given
module/handler for a given frequency. this makes it separated from
the actual usage of that object (thus helpful for testing and clear lines
usage and how the actual job is accomplished)
- a common 'runner' class is the main entrypoint using these locks to
run function objects passed in (along with there arguments) and there
frequency
- add in a 'paths' object that provides access to the previously global
and/or config based paths (thus providing a single entrypoint object/type
that provides path information)
- this also adds in the ability to change the path when constructing
that path 'object' and adding in additional config that can be used to
alter the root paths of 'joins' (useful for testing or possibly useful
in chroots?)
- config options now avaiable that can alter the 'write_root' and the
'read_root' when backing code uses the paths join() function
- add a config parser subclass that will automatically add unknown sections
and return default values (instead of throwing exceptions for these cases)
- a new config merging class that will be the central object that knows
how to do the common configuration merging from the various configuration
sources. The order is the following:
- cli config files override environment config files
which override instance configs which override datasource
configs which override base configuration which overrides
default configuration.
- remove the passing around of the 'cloudinit' object as a 'cloud' variable
and instead pass around an 'interface' object that can be given to modules
and handlers as there cloud access layer while the backing of that
object can be varied (good for abstraction and testing)
- use a single set of functions to do importing of modules
- add a function in which will search for a given set of module names with
a given set of attributes and return those which are found
- refactor logging so that instead of using a single top level 'log' that
instead each component/module can use its own logger (if desired), this
should be backwards compatible with handlers and config modules that used
the passed in logger (its still passed in)
- ensure that all places where exception are caught and where applicable
that the util logexc() is called, so that no exceptions that may occur
are dropped without first being logged (where it makes sense for this
to happen)
- add a 'requires' file that lists cloud-init dependencies
- applying it in package creation (bdeb and brpm) as well as using it
in the modified setup.py to ensure dependencies are installed when
using that method of packaging
- add a 'version.py' that lists the active version (in code) so that code
inside cloud-init can report the version in messaging and other config files
- cleanup of subprocess usage so that all subprocess calls go through the
subp() utility method, which now has an exception type that will provide
detailed information on python 2.6 and 2.7
- forced all code loading, moving, chmod, writing files and other system
level actions to go through standard set of util functions, this greatly
helps in debugging and determining exactly which system actions cloud-init
is performing
- adjust url fetching and url trying to go through a single function that
reads urls in the new 'url helper' file, this helps in tracing, debugging
and knowing which urls are being called and/or posted to from with-in
cloud-init code
- add in the sending of a 'User-Agent' header for all urls fetched that
do not provide there own header mapping, derive this user-agent from
the following template, 'Cloud-Init/{version}' where the version is the
cloud-init version number
- using prettytable for netinfo 'debug' printing since it provides a standard
and defined output that should be easier to parse than a custom format
- add a set of distro specific classes, that handle distro specific actions
that modules and or handler code can use as needed, this is organized into
a base abstract class with child classes that implement the shared
functionality. config determines exactly which subclass to load, so it can
be easily extended as needed.
- current functionality
- network interface config file writing
- hostname setting/updating
- locale/timezone/ setting
- updating of /etc/hosts (with templates or generically)
- package commands (ie installing, removing)/mirror finding
- interface up/down activating
- implemented a debian + ubuntu subclass
- implemented a redhat + fedora subclass
- adjust the root 'cloud.cfg' file to now have distrobution/path specific
configuration values in it. these special configs are merged as the normal
config is, but the system level config is not passed into modules/handlers
- modules/handlers must go through the path and distro object instead
- have the cloudstack datasource test the url before calling into boto to
avoid the long wait for boto to finish retrying and finally fail when
the gateway meta-data address is unavailable
- add a simple mock ec2 meta-data python based http server that can serve a
very simple set of ec2 meta-data back to callers
- useful for testing or for understanding what the ec2 meta-data
service can provide in terms of data or functionality
- for ssh key and authorized key file parsing add in classes and util
functions that maintain the state of individual lines, allowing for a
clearer separation of parsing and modification (useful for testing and
tracing)
- add a set of 'base' init.d scripts that can be used on systems that do
not have full upstart or systemd support (or support that does not match
the standard fedora/ubuntu implementation)
- currently these are being tested on RHEL 6.2
- separate the datasources into there own subdirectory (instead of being
a top-level item), this matches how config 'modules' and user-data
'handlers' are also in there own subdirectory (thus helping new developers
and others understand the code layout in a quicker manner)
- add the building of rpms based off a new cli tool and template 'spec' file
that will templatize and perform the necessary commands to create a source
and binary package to be used with a cloud-init install on a 'rpm'
supporting system
- uses the new standard set of requires and converts those pypi requirements
into a local set of package requirments (that are known to exist on RHEL
systems but should also exist on fedora systems)
- adjust the bdeb builder to be a python script (instead of a shell script)
and make its 'control' file a template that takes in the standard set of
pypi dependencies and uses a local mapping (known to work on ubuntu) to
create the packages set of dependencies (that should also work on
ubuntu-like systems)
- pythonify a large set of various pieces of code
- remove wrapping return statements with () when it has no effect
- upper case all constants used
- correctly 'case' class and method names (where applicable)
- use os.path.join (and similar commands) instead of custom path creation
- use 'is None' instead of the frowned upon '== None' which picks up a large
set of 'true' cases than is typically desired (ie for objects that have
there own equality)
- use context managers on locks, tempdir, chdir, file, selinux, umask,
unmounting commands so that these actions do not have to be closed and/or
cleaned up manually in finally blocks, which is typically not done and
will eventually be a bug in the future
- use the 'abc' module for abstract classes base where possible
- applied in the datasource root class, the distro root class, and the
user-data v2 root class
- when loading yaml, check that the 'root' type matches a predefined set of
valid types (typically just 'dict') and throw a type error if a mismatch
occurs, this seems to be a good idea to do when loading user config files
- when forking a long running task (ie resizing a filesytem) use a new util
function that will fork and then call a callback, instead of having to
implement all that code in a non-shared location (thus allowing it to be
used by others in the future)
- when writing out filenames, go through a util function that will attempt to
ensure that the given filename is 'filesystem' safe by replacing '/' with
'_' and removing characters which do not match a given whitelist of allowed
filename characters
- for the varying usages of the 'blkid' command make a function in the util
module that can be used as the single point of entry for interaction with
that command (and its results) instead of having X separate implementations
- place the rfc 8222 time formatting and uptime repeated pieces of code in the
util module as a set of function with the name 'time_rfc2822'/'uptime'
- separate the pylint+pep8 calling from one tool into two indivudal tools so
that they can be called independently, add make file sections that can be
used to call these independently
- remove the support for the old style config that was previously located in
'/etc/ec2-init/ec2-config.cfg', no longer supported!
- instead of using a altered config parser that added its own 'dummy' section
on in the 'mcollective' module, use configobj which handles the parsing of
config without sections better (and it also maintains comments instead of
removing them)
- use the new defaulting config parser (that will not raise errors on sections
that do not exist or return errors when values are fetched that do not
exist) in the 'puppet' module
- for config 'modules' add in the ability for the module to provide a list of
distro names which it is known to work with, if when ran and the distro
being used name does not match one of those in this list, a warning will be
written out saying that this module may not work correctly on this
distrobution
- for all dynamically imported modules ensure that they are fixed up before
they are used by ensuring that they have certain attributes, if they do not
have those attributes they will be set to a sensible set of defaults instead
- adjust all 'config' modules and handlers to use the adjusted util functions
and the new distro objects where applicable so that those pieces of code can
benefit from the unified and enhanced functionality being provided in that
util module
- fix a potential bug whereby when a #includeonce was encountered it would
enable checking of urls against a cache, if later a #include was encountered
it would continue checking against that cache, instead of refetching (which
would likely be the expected case)
- add a openstack/nova based pep8 extension utility ('hacking.py') that allows
for custom checks (along with the standard pep8 checks) to occur when
running 'make pep8' and its derivatives
- support relative path in AuthorizedKeysFile (LP: #970071).
- make apt-get update run with --quiet (suitable for logging) (LP: #1012613)
- cc_salt_minion: use package 'salt-minion' rather than 'salt' (LP: #996166)
- use yaml.safe_load rather than yaml.load (LP: #1015818)
0.6.3:
- add sample systemd config files [Garrett Holmstrom]
- add Fedora support [Garrent Holstrom] (LP: #883286)
- fix bug in netinfo.debug_info if no net devices available (LP: #883367)
- use python module hashlib rather than md5 to avoid deprecation warnings.
- support configuration of mirror based on dns name ubuntu-mirror in
local domain.
- support setting of Acquire::HTTP::Proxy via 'apt_proxy'
- DataSourceEc2: more resilliant to slow metadata service
- config change: 'retries' dropped, 'max_wait' added, timeout increased
- close stdin in all cloud-init programs that are launched at boot
(LP: #903993)
- revert management of /etc/hosts to 0.6.1 style (LP: #890501, LP: #871966)
- write full ssh keys to console for easy machine consumption (LP: #893400)
- put INSTANCE_ID environment variable in bootcmd scripts
- add 'cloud-init-per' script for easily running things with a given frequency
- replace cloud-init-run-module with cloud-init-per
- support configuration of landscape-client via cloud-config (LP: #857366)
- part-handlers now get base64 decoded content rather than 2xbase64 encoded
in the payload parameter. (LP: #874342)
- add test case framework [Mike Milner] (LP: #890851)
- fix pylint warnings [Juerg Haefliger] (LP: #914739)
- add support for adding and deleting CA Certificates [Mike Milner]
(LP: #915232)
- in ci-info lines, use '.' to indicate empty field for easier machine reading
- support empty lines in "#include" files (LP: #923043)
- support configuration of salt minions (Jeff Bauer) (LP: #927795)
- DataSourceOVF: only search for OVF data on ISO9660 filesystems (LP: #898373)
- DataSourceConfigDrive: support getting data from openstack config drive
(LP: #857378)
- DataSourceNoCloud: support seed from external disk of ISO or vfat
(LP: #857378)
- DataSourceNoCloud: support inserting /etc/network/interfaces
- DataSourceMaaS: add data source for Ubuntu Machines as a Service (MaaS)
(LP: #942061)
- DataSourceCloudStack: add support for CloudStack datasource [Cosmin Luta]
- add option 'apt_pipelining' to address issue with S3 mirrors
(LP: #948461) [Ben Howard]
- warn on non-multipart, non-handled user-data [Martin Packman]
- run resizefs in the background in order to not block boot (LP: #961226)
- Fix bug in Chef support where validation_key was present in config, but
'validation_cert' was not (LP: #960547)
- Provide user friendly message when an invalid locale is set
[Ben Howard] (LP: #859814)
- Support reading cloud-config from kernel command line parameter and
populating local file with it, which can then provide data for DataSources
- improve chef examples for working configurations on 11.10 and 12.04
[Lorin Hochstein] (LP: #960564)
0.6.2:
- fix bug where update was not done unless update was explicitly set.
It would not be run if 'upgrade' or packages were set to be installed
- fix bug in part-handler code, that prevented working part-handlers
(LP: #739694)
- fix bug in resizefs cloud-config that would cause trace based on
failure of 'blkid /dev/root' (LP: #726938)
- convert dos formated files to unix for user-scripts, boothooks,
and upstart jobs (LP: #744965)
- fix bug in seeding of grub dpkg configuration (LP: #752361) due
to renamed devices in newer (natty) kernels (/dev/sda1 -> /dev/xvda1)
- make metadata urls configurable, to support eucalyptus in
STATIC or SYSTEM modes (LP: #761847)
- support disabling byobu in cloud-config
- run cc_ssh as a cloud-init module so it is guaranteed to run before
ssh starts (LP: #781101)
- make prefix for keys added to /root/.ssh/authorized_keys configurable
and add 'no-port-forwarding,no-agent-forwarding,no-X11-forwarding'
to the default (LP: #798505)
- make 'cloud-config ready' command configurable (LP: #785551)
- make fstab fields used to 'fill in' shorthand entries configurable
This means you do not have to have 'nobootwait' in the values
(LP: #785542)
- read /etc/ssh/sshd_config for AuthorizedKeysFile rather than
assuming ~/.ssh/authorized_keys (LP: #731849)
- fix cloud-init in ubuntu lxc containers (LP: #800824)
- sanitize hosts file for system's hostname to 127.0.1.1 (LP: #802637)
- add chef support (cloudinit/CloudConfig/cc_chef.py) (LP: ##798844)
- do not give trace on failure to resize in lxc container (LP: #800856)
- increase the timeout on url gets for "seedfrom" values (LP: #812646)
- do not write entries for ephemeral0 on t1.micro (LP: #744019)
- support 'include-once' so that expiring or one-time use urls can
be used for '#include' to provide sensitive data.
- support for passing public and private keys to mcollective via cloud-config
- support multiple staticly configured network devices, as long as
all of them come up early (LP: #810044)
- Changes to handling user data mean that:
* boothooks will now run more than once as they were intended (and as
bootcmd commands do)
* cloud-config and user-scripts will be updated from user data every boot
- Fix issue where 'isatty' would return true for apt-add-repository.
apt-add-repository would get stdin which was attached to a terminal
(/dev/console) and would thus hang when running during boot. (LP: 831505)
This was done by changing all users of util.subp to have None input unless
specified
- Add some debug info to the console when cloud-init runs.
This is useful if debugging, IP and route information is printed to the
console.
- change the mechanism for handling .ssh/authorized_keys, to update entries
rather than appending. This ensures that the authorized_keys that are
being inserted actually do something (LP: #434076, LP: #833499)
- log warning on failure to set hostname (LP: #832175)
- upstart/cloud-init-nonet.conf: wait for all network interfaces to be up
allow for the possibility of /var/run != /run.
- DataSourceNoCloud, DataSourceOVF : do not provide a default hostname.
This way the configured hostname of the system will be used if not provided
by metadata (LP: #838280)
- DataSourceOVF: change the default instance id to 'iid-dsovf' from 'nocloud'
- Improve the OVF documentation, and provide a simple command line
tool for creating a useful ISO file.
0.6.1:
- fix bug in fixing permission on /var/log/cloud-init.log (LP: #704509)
- improve comment strings in rsyslog file tools/21-cloudinit.conf
- add previous-instance-id and previous-datasource files to datadir
- add 'datasource' file to instance dir
- add setting of passwords and enabling/disabling of PasswordAuthentication
for sshd. By default no changes are done to sshd.
- fix for puppet configuration options (LP: #709946) [Ryan Lane]
- fix pickling of DataSource, which broke seeding.
- turn resize_rootfs default to True
- avoid mounts in DataSourceOVF if 'read' on device fails
'mount /dev/sr0' for an empty virtual cdrom device was taking 18 seconds
- add 'manual_cache_clean' option to select manual cleaning of
the /var/lib/cloud/instance/ link, for a data source that might
not be present on every boot
- make DataSourceEc2 retries and timeout configurable
- add helper routines for apt-get update and install
- add 'bootcmd' like 'runcmd' to cloud-config syntax for running things early
- move from '#opt_include' in config file format to conf_d.
ie, now files in /etc/cloud.cfg.d/ is read rather than reading
'#opt_include <filename>' or '#include <filename>' in cloud.cfg
- allow /etc/hosts to be written from hosts.tmpl. which allows
getting local-hostname into /etc/hosts (LP: #720440)
- better handle startup if there is no eth0 (LP: #714807)
- update rather than append in puppet config [Marc Cluet]
- add cloud-config for mcollective [Marc Cluet]
0.6.0:
- change permissions of /var/log/cloud-init.log to accomodate
syslog writing to it (LP: #704509)
- rework of /var/lib/cloud layout
- remove updates-check (LP: #653220)
- support resizing / on first boot (enabled by default)
- added support for running CloudConfig modules at cloud-init time
rather than cloud-config time, and the new 'cloud_init_modules'
entry in cloud.cfg to indicate which should run then.
The driving force behind this was to have the rsyslog module
able to run before rsyslog even runs so that a restart would
not be needed (rsyslog on ubuntu runs on 'filesystem')
- moved setting and updating of hostname to cloud_init_modules
this allows the user to easily disable these from running.
This also means:
- the semaphore name for 'set_hostname' and 'update_hostname'
changes to 'config_set_hostname' and 'config_update_hostname'
- added cloud-config option 'hostname' for setting hostname
- moved upstart/cloud-run-user-script.conf to upstart/cloud-final.conf
- cloud-final.conf now runs runs cloud-config modules similar
to cloud-config and cloud-init.
- LP: #653271
- added writing of "boot-finished" to /var/lib/cloud/instance/boot-finished
this is the last thing done, indicating cloud-init is finished booting
- writes message to console with timestamp and uptime
- write ssh keys to console as one of the last things done
this is to ensure they don't get run off the 'get-console-ouptut' buffer
- user_scripts run via cloud-final and thus semaphore renamed from
user_scripts to config_user_scripts
- add support for redirecting output of cloud-init, cloud-config, cloud-final
via the config file, or user data config file
- add support for posting data about the instance to a url (phone_home)
- add minimal OVF transport (iso) support
- make DataSources that are attempted dynamic and configurable from
system config. changen "cloud_type: auto" as configuration for this
to 'datasource_list: [ "Ec2" ]'. Each of the items in that list
must be modules that can be loaded by "DataSource<item>"
- add 'timezone' option to cloud-config (LP: #645458)
- Added an additional archive format, that can be used for multi-part
input to cloud-init. This may be more user friendly then mime-multipart
See example in doc/examples/cloud-config-archive.txt (LP: #641504)
- add support for reading Rightscale style user data (LP: #668400)
and acting on it in cloud-config (cc_rightscale_userdata.py)
- make the message on 'disable_root' more clear (LP: #672417)
- do not require public key if private is given in ssh cloud-config
(LP: #648905)
|