Iocage Versions Save

A FreeBSD jail manager written in Python 3

1.2

4 years ago

This new release brings out much needed updates to the existing 1.1 iocage users. It brings in NAT support, where you can have network connectivity for jails without exposing them to your local network. We have fixed a lot of bugs with respect to plugins and managing jails in general. For IPv6 users, this should be the most stable release so far. Thanks to all those who filed issues and the contributors that sent in pull requests, you lot are great ;)

HIGHLIGHTS

  • NAT Support
  • RCTL Support
  • Allowing specifying more choices for boolean properties i.e yes/1
  • Multiple repository support for plugins
  • Introducing lzma algorithm option for importing/exporting jails
  • Pre/post update hooks for plugin updates

Changelog

c3198327c892aad959fda1dbad64934f8f6fd63b (HEAD -> master, origin/master, origin/HEAD) Merge pull request #1047 from arslanhashmi/release 3be61b22911584263770a7e60acd1cac1fa98281 Relase changes 784086e0c4b0c46467e8db5d5416b090a6f575bb (HEAD -> master, origin/master, origin/HEAD) Merge pull request #1042 from iocage/NAS-103165 d8819868bba7043110544a0372e850a2d5a03b0e (origin/NAS-103165, NAS-103165) Abstract retrieving plugin default props 01c1240d0ec9554157b12a0ab20ac52b88249670 Merge pull request #1040 from iocage/NAS-103127 873a9d150fdcad858093624b185b46b9e36e4541 (origin/NAS-103127, NAS-103127) Generalize checking truthy props 7b7e2fc8fa42db0ac14d99f5190245bcfba8ae99 Automatically toggle network properties for plugins 17eeb05389bf17b6ce8b53b5192bf6961bef1ef4 Generalize truthy functions da4c3dd58c4ba33e39f8050ba90d047db4950a5b Merge pull request #1039 from iocage/NAS-103095 7d110fd9682303f1906c22933ff402a53a7e7618 (origin/NAS-103095, NAS-103095) Rollback if installing pkgs fail on update 3822e3874185c4939b195cf9f0bf47b5a3e74962 Fetch plugin directory after installing packages again on update 08b9b18f5ea598a192b7954e81c9243d7dccd1d3 Make sure new packagesite is respected 28019c989f0aea9283a816bd2b82c496ddf5dfbc Remove redundant usage of creating directories fe05113d3478815481af499a5b706de3b8bdfdf4 Remove unnecessary usage of ioc_json and fix a bug for non-existent function 633c9d810d976cea629b3a30c71dacfbf2f8a86c Only start jail if it's not already running b3b4c513b2d6fa598d1d5768324a051dafe8f841 Only stop jail if was started by iocage 612942462a3fa02983f8c9a8a463c7993df05f96 Merge pull request #1033 from badarotti/patch-1 f10f762c4b72df9060c371288c51a068959699fa (NAS-103010) Merge pull request #1034 from iocage/NAS-103026 3cccbce9e94e2a938c12da2fd6b18578a847862a (origin/NAS-103026, NAS-103026) Correctly list admin portal for DHCP/Static IP plugin jails 2255a34b8f5afe18bd29811be11d15cc7243165a Ensure plugin index exists 593181aa61b35d45a36eac33220a73fba6f47dc6 Update DF command in faq.rst 6d9c77f7691a98ff1b141b24f0db2928aadbdb38 Merge pull request #1031 from iocage/NAS-102987 0be5d7db3a005b42d39d1876be9b74e39b67d356 (origin/NAS-102987, NAS-102987) Add ability to retrieve default properties f66d9f0724daa03dc08cebc3f30b04abc7e97f82 Check if there are updates to install before invoking (#1027) 11e9f891cab411b7e17749f52d52ccd0e036ffc3 Merge pull request #1030 from iocage/NAS-102924 282a3e92932c36e584b943651e96008a28a4abc6 (origin/NAS-102924, NAS-102924) Ensure we don't fetch a release greater then host version ea9d5c72c7e8195e5529ac0c22c2c9212f41b1a2 Correctly list releases d970c91c99898099a33e9cda2e3f3743f1f3ef43 Merge pull request #1028 from iocage/NAS-102929 e64d343f3ef725e34eb0174c3ed5a4966d583d77 (origin/NAS-102929, NAS-102929) Improve error messages while cloning/pulling git repo 161b7c3cff0160877071c4ad03d000db5c36f5b3 Merge pull request #1024 from Corvan/docfix a738f5f5de19b3dfd6f5104f7fbe0d84af9ff062 add start behaviour to boot property in iocage(8) 147d2f269bd0592222781ed0cff8a015f00b1ee0 Merge pull request #1021 from iocage/ipv6 a0aff5354bc3f65ee0f05c4fc6a57fe68a2805d5 (ipv6) Correctly set scope id in ipv6 c827ad0590b35def55f391e4fb012efcee2a7a0a Merge pull request #1017 from iocage/NAS-102804 530ff8a5a02c1b66036d303a5c4123bef0ba9bc1 (NAS-102804) Ensure nat rules aren't missed c933509609a3c1be0a311974a5b452340ef72d57 fix broken commands (#1019) 056efd6cbca2364bd54f7bef80ced2a440173c2f Merge pull request #1016 from iocage/NAS-102815 96ed1871bd4b012974a3bb421f3bc7222f78e6f5 (NAS-102815) Update tests 911d049dfe0cf731de8f4ff133185c654f31bd02 Bug fix for ipfw nat forward rules b3205057f07ceace5f3e5bbdf32d72c2a5dc37cd Improve gateway warning 51d2a3b49af7f138b9f02ac72b0afd4b3a3f556b Correctly set default route for ipv6 310412f98662dce126d303fc3cf1a8189c1f3542 Rollback specific ipv6 changes d298ad4a2d554a756985e656e74eebe16e013f16 Merge pull request #1014 from iocage/NAS-102750 b7f2f6da06b76d683335f3e5ec4185291eb09443 Merge pull request #1013 from iocage/NAS-102772 1583621cc7ff0542552122843b39215215cff446 (NAS-102750) Update basejails configuration correctly 11c2825a25dda8ca7c471b6ca7f714ade7545766 (NAS-102772) Move json file to reflect plugin name d32de0b4973466246a1971556b228f863854bfb4 Merge pull request #1012 from iocage/NAS-102771 52370c432e8eacf6bdd18ca727770fe72b6a7335 Improve capability to guess plugin's name 7b1a1c145a6cdef213a09d8e3466132a64d6f0a6 (NAS-102771) Improve validation for nat default props ec247cf82d311fa4b7da8c1a2bc3b0271a32aae8 Merge pull request #1005 from iocage/NAS-102686 5c841860dca03c9b2b7729680069143469c04707 Merge pull request #1006 from iocage/NAS-102690 5e135fa6c96926d1b0a09a2cfc76f8303ace99f1 Create zfs snapshot for updates without space (#1007) 35b44d691fd67c0a84e71e5a64b0b2549b9b3688 (NAS-102686) Use name specified in plugin manifest for jail 26e93d0f61f278775363f0c2234d6729f2cdb6b3 Decouple retrieving plugin json file a4dee99376be0e5bcb3665acb5120091af7b278c (NAS-102690) Improve iocage get validation af621f1371c9a6536e4a59285e2c359f39a6186d Bug fix for absolute paths 80c9431e46eb75a96eb2e1b9812159effd7e01ad Ensure creation of plugins with --plugins flag 9b78b79456710bb18d5172039c9821f6d57147f0 Merge pull request #1003 from iocage/NAS-102661 d911e0715ede334389c06ac5b21995afed2944d4 Merge pull request #1002 from iocage/NAS-102662 b15709607f5c7fda38bc0b09f900bedc626bfbff (NAS-102661) Show system ip in admin portal 13c6aaf877b3c20b9843a7ba46845bcdc7bfeca3 (NAS-102662) Disallow running jails using same system ports 3c8678f4efa39779eae566416744e1d3a5dc83c0 Add common method to retrieve jails with configs 8e116406cc3358998af9a57666e61012dbec3a6c Merge pull request #1001 from iocage/NAS-102675 c9c848f69cf30e5f6276e9d7349a709cb01d53ad Merge pull request #1000 from iocage/NAS-102674 b3f4354a68971c724dcad703be5a677c2848ae38 (NAS-102675) Make sure bpf and nat are mutually exclusive 4772ec7165253ef67c1eb9aa8203d2ac328be24a (NAS-102674) Bug fix for nat forwards prop validation d94ddaf095b05b11768e8add527b129db20ee92e Merge pull request #999 from iocage/NAS-102625 38818a763f5b40410d6023d82ba36bf4c4c632bf (NAS-102625) Expose docurl property when listing plugins da333586b2948cbfa3ff4d8477cdc5b9cfd82645 (NAS-102613) Merge pull request #998 from iocage/NAS-102598 2c465419eae7dd132f8584e276fe6ce279baf9ea (NAS-102598) Remove old usages of post_upgrade 3ef5a7955a66fe06ff3f0c4bba17bc2d7ec21608 Update existing post update hook 2a4407f860cf34d61597a39c913c10f7ea0693cf Introduce pre update hook d566286139fe8196eab3e23a6a5e32e717ff964f Introduce a common method for running hooks 1f9a3ff5dc15f0f02ca6bfec0e5908d4a7d2b875 Allow IPv6 only jails on IPv6 only hosts (#961) a0621af4d974ae097366368c37979e9abaff8075 Merge pull request #991 from iocage/NAS-102512 387998b305361a3385feed84324358883ca08976 (NAS-102512) Correctly parse snapshot dataa 489cc97029e5bdee1b7b5dca5d3efd811a590aab Merge pull request #990 from iocage/NAS-102494 f6f6a9115ead8e928dcf7319194b719c86f6c383 (NAS-102494) Add support for specifying path for importing jail 37b8e8d76e5e37723edc16bde5f6448ecd10d296 Allow automatic discovery of jail image 0ffe18224e9cf746ec053d3cb65c5826f039d27c Expose compression algo in cli for importing jails 19ce0bfcd761753c5acbd1f1dd86d33822b3b7da Allow importing lzma based exported jails b79ca69eca82f54a91bcfd3d4fb4ede188a03dc7 Expose compression algo in cli for exporting jails 726158e00bc1eacef16a81632f74d5025fe7f7e6 Add ability to export jails with lzma compression 3fc0ab0281e408b678f300b5652c387e2a977069 Merge pull request #985 from iocage/NAS-102412 44b775de365f155a820cc26155fba659cbca7d80 (NAS-102412) Refactor listable classes namespace 070b12b15de5619b468dcf853fd79e4e163b3484 (origin/1.2-RELEASE, 1.2-RELEASE) Merge pull request #988 from iocage/NAS-102458 0d52429f1e430b2787dd817313e26f9b4c0085ee Merge pull request #989 from iocage/NAS-102459 c8bf8bf2bed901c4980ac950d9aefddd14eb6375 Merge pull request #987 from iocage/NAS-102448 1dc5470dbeaa1d4d75f6a5ce89709b8acb1c2f91 (NAS-102459) Devfs rulesets won't be correctly set for renamed plugins 658320f113ecee80eb46d87df4df714a5b82d56f (NAS-102458) Correctly parse plugin json path fc1ae92c0a6c9fbce3781ebcf95f784295d0281e (NAS-102448) Normalize fetching plugin artifact usages e71a6de68ae9bf4bc8d862ba6816274f1697f4a1 Allow file uri's for plugin artifact key 661e0a0b165480f88fc8e74d21eb6d555baf1e8d Merge pull request #986 from iocage/NAS-102442 45136b075d8e7f203ece91c13e53c05293370c7a (NAS-102442) Only change jail type if it's a template c3d154f8520df5710fc2dd90eb1ea393359f04f1 Ability to list remote releases cab72918bb05e0c342eb8ee4bd3045f9c0eba163 Expose new api for listing resources 540fa7ec22d60762ce6e245b0b5946398fd378da Add depth parameter to returning children datasets 866ee4746c519854cad741b07fe4d40365400a84 Add a method to return iocroot 772472f57226f414f64af44e255a0cdf5bc68494 Merge pull request #984 from iocage/NAS-102428 3362d5c27f65e1801c530b50dc23de8ea3cc4489 Refactor resource classes to be in separate files e124e1d0e01c022bbf78d7b85efc335e607dfe9c Handle iocroot non-existence gracefully d87e0126838ca5d74c6eee8d2eb0a0cdfec6305b (NAS-102428) Bug fixes while creating a plugin 35fb0a5adaceddad62c6d7dce5933cd2d07db3e0 Traceback when issuing invalid command (#979) c8bae0b5114f219b12b60442a5d2fbcdfb5e8bd3 Merge pull request #975 from iocage/NAS-102286 52c44dfdd6a860508d1e55a1ae0dd74e303b32fd (NAS-102286) Update plugin repository value when installing ea9dea4439d2318907ad7e71a0b1d5c794593788 Use correct git repository to retrieve plugin configuration bbdf6c1e581c387b5e0f611d52c80bc8b13c3221 Renamed plugins won't upgrade/update 2bd66af99b1a4f913a109d6497228edc6b9a2317 Add prop for plugin repository 43b2a3eb87d2ff677dfc3d13d68f6289117295b3 Merge pull request #973 from iocage/NAS-102286 7847f4b34da69f8c3d87e22dc54b5b18e5f74393 Remove old plugin index f97e10508105b0991235fe0e50a18aef4081f0ce Adapt iocage to abstract git repo for plugins b23345e6bf8a88c906c017eb13a3e6d0691d9184 Verify git repo against repo url before pull/clone operation 499ea52697a95f8bce40faf42f1df2af42c0bd31 Merge pull request #970 from iocage/NAS-102297 812c7b5b880581bd7e6ed9e67fb120048ec89492 Merge pull request #969 from iocage/NAS-102294 88273be30d096ad9773f60e0a73546da66458bec (NAS-102297) Bug fix for multiple ip's in vnet abf66f4bed8d139f1d7f5921257d524ac2436376 (NAS-102294) Bug fix for listing admin portal 697fc7d9eaa3e2388620a841c38ca240bf5b08f0 Merge pull request #967 from iocage/NAS-102274 9ad576b0e3af315827dac2a6af7ee619650e53e7 (NAS-102274) Update default json file 78fbe8c0e9c18b7f27e505c8ae585007bc697df5 Merge pull request #965 from iocage/NAS-100499 c72ed24f8438da6bb8efa8491363490f6b1bf491 (NAS-100499) Improve debugging logging while fetching plugins 179bef040f624f20521a8fa6a8528c1fff67fa75 Make consume and log function handle stderr 4803be9912014367cf5778f1b60bf1d2a2f9bb51 Merge pull request #964 from iocage/NAS-102260 337441360753d28359ff3ff5bcd8d41f7cc9c71d (NAS-102260) Bug fix for template jails 54ded7e674c290efa8f723c90710e5778a65b73b (fn/master) Merge pull request #960 from iocage/NAS-101249 8624fc8a21074d2c85dca39b6ff5bf4eb49a409b NAS-101743 / 11.3 / Use global variable INTERACTIVE instead of is_tty (#959) 7316da98ed9db2b27bb746f13bd0a403c6b23552 (NAS-101249) Bug fix for spaces in path names for fstab d63e711be1b39d3410452387f6676bd91bcb982e (origin/NAS-100901, NAS-102222, NAS-100901) Merge pull request #958 from iocage/NAS-102205 4068b26f171ccbcff9d74070541d0cf13b2ebbc4 Merge pull request #957 from iocage/NAS-102168 4dabc32bda89a1e2b240139b93911164a35daf3d (NAS-102205) Make sure plugin name prop is added to plugin jail e4bf036a795f7e66f2f9ffef7cbaee29703ae8ee Add prop for keeping track of plugin name 2a642b31f6fa4d877c2a75c24583df1cb5e6adf7 (NAS-102168) Normalize plugin fetch output 0916c66d05770605ad5ea5640bfc1ae175eddc77 We now bail out early if the jail doesn’t exist (#956) 47e251f74a26d78efde005de049a3611fdbd3d71 Merge pull request #953 from iocage/NAS-100704 432a0dd90746f701c2499c538d8a44450c2894fd (NAS-100704) Decouple cloning repo functionality 6673aa8dc63e9fc142853338479c9f16a5bdd91a Allow params for clone method 8ac39e54aed0451f372dcaaf04b692c7a031b1a9 Separete clone/pull git repo method 83fe89273bcbbc74e4e196cf3ae738659995722a Add unit tests for parsing pkg name b6fdf1f956c56bf52879cbdeb5338d579d9e7e07 Add method to retrieve plugin versions 89a63c83aa70da580c6548ce3597faab4a880bbd Merge pull request #955 from iocage/NAS-101922 06814f7fbc101cdad309ca52acef0da43227d5f8 (NAS-101922) Migrate iocage mountpoints 219b1858e905a1e4984736edfc82939911eca4da Merge pull request #947 from iocage/NAS-101833 40327cdb6afbbb725e452d2709887e1a221ffa00 NAS-102084 / 11.3 / Improve jail configuration checks (#948) dc12bfe520c9c8fc0b96fd65ae5279e32da4c09f (NAS-101833) Improve update error handling a69c9da82740af1c062e3c44bf98928a1d2ceb76 IP4 address is wrong for NAT jails (#951) 1de692f950455792336bcc8630637574d9a7f249 Set default route only if it is configured (#940) c589f7e56d2c709dca8f85fcadded0bb8a0dd4d3 Merge pull request #944 from iocage/NAS-101815 8034533e1675fb0cdd7acacf55ccbae5e8517598 (NAS-101815) Ensure release is always updated 5d73eddc11864144657dd2586689e23e715b9a01 Correctly set base jail release 551e14bdc6df3a8522f1e9403f9ce02dd246a500 Merge pull request #946 from iocage/NAS-102036 106d497cb7aa4106fa63824ae673f9cc5294f8fa Merge pull request #943 from iocage/NAS-101507 d888a16e4d155fec8dce50275de80c0ba3600f49 (NAS-102036) Allow running pkg with nat ddf5e7c640d0d21f473a3dabeb06e82c64a399dc Merge pull request #945 from iocage/NAS-102032 6f909d7e4fea5b7c65f0fa512f163dcaf2e2d944 (NAS-101507) Improve jail updates 917c0c3def581ad056d905a5ba4b92e764b94be4 (NAS-102032) Properly remove plugin index directory 4895733306c4ffbd688fd53e80aa12b14528b58d Merge pull request #942 from iocage/NAS-101625 c1bb8b3974baa2fe39717c71ae08d2049ff2fd20 (NAS-101625) Allow specifying jail name when fetching plugin 35834dc885ac213cb7ad80921a7525ed7c7edbbc Fix missing variable for plugin updates/upgrades (#941) 858bc579e1f8487f42376cef5efa298d6115a5ec Merge pull request #938 from iocage/NAS-101525 0a5d826161cb9d66835ae0264ad5c1a8809406f0 (NAS-101525) Validate while replacing fstab entry f3f3d1dea170a17177e1a27c170bc467504b0100 Allow dots in jail name (#935) 6474acdf65169e4cd6711d7144b9fe574d1c8397 Remove pcpu limit (#934) 4fe3770e574d64d607d9d5227309ee43d41b22b9 Merge pull request #933 from iocage/case_insensitive 967f127e529593b008c7d8b5b1e6b41127c3a15a (case_insensitive) Allow actions to be case insensitive in rctl 1de2df8d7fbde996f94c06de6aee78ee40b6d847 Allow case insensitive suffixes for rctl values (#930) 1d9efee81475faa011855776051602b5c0678957 Skip export/import tests by default (#931) 85ce7adc5c66493b185798b61f32971b76a87667 NAS-101668 / 11.3 / Split on both spaces and tabs for fstab (#929) 207e0a6eee67cb7f3bde582c4f68ee3285f2f5ba Do not test len of None (#923) 36932e45fc46f8e74f4b41f3c75ff41183ebf36d We should always clone/pull the index cff768f1b0cb2c1aeb96a8a0975bfa965f01e7af Merge pull request #922 from iocage/NAS-101350 3b19a5b1557129cc23bd0c90b9d2322af5c4d06c Merge pull request #928 from iocage/NAS-101560 52e6bf1a43d4e028c7e1c800f905415ea8b53a39 (NAS-101560) Warn users for bad perms 6fb42e4b7d3d4e686422a3ce0247a54090f1daaa NAS-101624 / 11.3 / Fix bad usage of plugin names (#927) 48b53e22721683d5b8e7b86ceadc7f28fa5fd426 NAS-101533 / 11.3 / Do not validate fstab unless we are adding a mountpoint (#926) ce967e2e0caded851ff2300fc1ed5b3b6a15f503 Proxy support for iocage (#921) 2d9250c247c2562d1e549a2bdf326863d46a8026 (NAS-101350) Correct default gateway setup 2ca31cb8a3990eab65627563368161489afba225 (NAS-101527) Fix regression: broken (#920) 390ed12952a4f9e8b4f5b14014a92ec9d8da6d01 Remove one level of try/except (#919) 671564e4920bcab198e251e49629ffd9a36a7806 NAS-101270 / 11.3 / Replace old fstab locations (#917) d287ca7d37ad4f3f5e244194edb96c5a09f40e2f Update docs to autodoc and include a Dash compatible docset (#918) 4c29dc20e2e4f2f35574f05e0cf80d1ed9c0f6b2 No longer needed 1dc979f4ef8fead00428d82e126cfe8d81bcbeca Fix fstabs (for real) with spaces and other bad characters (#909) 83b63f2944aacab093da8c8c5ff04a2c07f68a7c Convert truthy to int during 'iocage set' (#915) c473c2dbcdcb7489cb5d01c69c7f9fe6765aef7c Fix bad usage of nat_addr (#913) 006d38e7a191f67891af54991c0d54b39c8bdce1 typo fixed (and link to the freebsd debootstrap manpage added) (#910) 081db0738abca00eedcc4e11de843c01fb83c4f5 Use .replace('.', '_') here as well? (#907) 8bd731dbbd35902f5e74f650c2e9234b423937c7 Make clonebasejails actually basejails (#905) 2cc4aa48a73140570e798bfa9f06e7abab41d66a We're close to a RELEASE (#904) 61611bcc22f980aab196ea6243134ef2092f63a0 Show a nicer exception when a pool is lacking a mountpoint (#903) 7ce1c57968f70afdfe6872f9e17ce72eedd4ee88 Fix a few typos (#902) 24570a5c6a634421be7221f20fc50e0c0c3a3567 tkt-80697: Add NAT support to iocage (#897) 9ee0ce30d20ff171e49a0eca861397ff592f8094 Correctly fetch plugin supplied even if INDEX doesn't exist (#899) 83c92b8b42d9efb4d04fd7cc793a0d612543fb71 Plugin jails with placeholders in the PORTALADMIN may start automatically when executing 'iocage list -P' (#896) 26bb4aa0ade20272b190dc49442f8b13594b3401 Merge pull request #895 from iocage/issues/81498 776ecbb4359af4a3898249ec1d4f04a74d07ef68 (issues/81498) Safety check for mountpoint prop a4158267322774fd780e5119e3279dd1f3d7ad1e Change default open to io.open to handle unicode in freebsd-version (#886) 109f6ed224db3c73e5d20f15e13b222c6123189c iocage.8 updates March 2019 (#891) a09857be4f3ef411d0ffd08d4b49fb7267ae7cf8 tkt-76864: Split on tabs for fstab (#888) 1bf088acefc8a4b51cc59f85395e241cc4ddd35c tkt-77574: Add property localhost_ip (#884) 47d7c28ad2db76eaba797921555bbf68a476eb9b (issues/79284) tkt-78546: Don't die on plugin upgrade if snapshot exists (#887) 1e5339376f376945c365c7d2e5be045aee4b0ff9 tkt-77574: Add assign_localhost prop (#882) 054649eb3fa7778923fdec0483b6d270a0e36b28 Improve rctl/cpuset validation (#881) 9b2e8bc88b1bcb7397c656660e7e756ebbaf1d91 tkt-77377: Treat stdout being closed as not a tty (#880) 17b2486f5d6199f1269d716a681771c7c282b058 No longer ask for eol when fetching a missing RELEASE for plugins (#879) 1ef25ffa968441ba828472a81070e35d536d217f No longer start a jail when grabbing a plugin property unless forced (#878) 54f1a11a2d675069ae0bd7cf05eb1723393f8d94 Basejails are no longer clones by default (#877) 9beed86e7a8d382a5c3503e97641491e02bae116 Make this an optional attribute (#876) 04a0442c888321a48db36564c290d46bec241895 Check if jail is running before destroying it and if, don't attempt t… (#831) 27fc257624ed128491dfeecce583d54b4ae80dca Update document, include info on DHCP and MAC (#784) d8148ad7f28f86cfdf58a6e8b4d25895b127af24 You must set vnet=on to use VNET (#874) d4949f21ca25fc16c5b54eec3ff3cdb0be55fa8d tkt-75468: Require --force (-f) to start a jail when doing exec/console (#869) 4cd0cf77faa7cb6db1dc218a4e999af4f9cf032b Merge remote-tracking branch 'origin/master' 9a9ac923fc353c9b6f12ff4b11426beae0829804 We want the tests in sdist 549b2eef01bf7153e774df9eaa18311e43db6c36 Remove references to 'chroot' command from docs (#794) 62d22bae822804e4260f3a5b6e077d25bc514bc7 Add exec_created property (#868) ca04bf3083ec7b71f636c7b1246f015f5265eff1 Exclude tests from dist (#866) 64d6e8c7ead7b628338543357778560c220e51fe Create basejails as thickjails by default (#867) 567094ae19e38b2e05b519d09f8306413ab83478 Remove additional update snapshot from plugins (#865) ab5c8a2d68b41f19d9c34994594d6994ad1a3712 IOCAGE_PLUGIN_IP now works with DHCP (#864) c7110e195261430dbdbd41dfa935ab706fe13c7b tkt-72323: Drop dulwich dependency, add docurl support to ui.json for plugins (#862) 528f007e92f6e081614d8a09186c4831fc9f3e32 Add missing markup to man page. (#860) bf4ac46eccdf688803e846977709bfd4f7991c54 tkt-74874: Show debug output of jail(8) during start/stop with the -D flag (#859) e263da6ccc5ed435031bc9339827ec81b8028f2d Add debug option to CLI (#854) 4956ec87d362dfe519095ac04ce58a4c5d5d542b Merge pull request #852 from iocage/issues/74235 dc1fd05321f2d63a91a981509cd90bb2c2193148 Merge pull request #857 from iocage/issues/74623 db28a96dfb789eeb9f4cd20d2053ae19e70eecf9 (issues/74235) Add Cpuset support to Iocage 0744c943df387af248e412d0588fb22b3760b15c (issues/74623) Fix locale for logging handlers 536acddc0a1e60a9af88c2ae57374612ac58791f tkt-74281: Use hosts pkgs to remove pkgs for plugins (#851) 1016f92dca0344fe26681ae3ab7c10f5b4853e24 tkt-74253: Correct default bool props as well (#850) 19cc401d9ffc8b7635a3d3214e1ac5a07fe05428 tkt-74020: Remove unprotected devfs_rulesets (#849) 8e8e1b7942b71c459a96cf03e285e1a8ebb8e27d Bump to 1.2-BETA 820fccc92afa933bf427323068a2f242f5084732 Merge pull request #848 from iocage/issues/73560 5d1b68e9ef2ce472006a1639269a36009336e886 (issues/73560) RCTL for Iocage 8e052dcec5956c0a78d5379fd38bd37982b31560 (overhacked/master) tkt-73740: Add ip_hostname support to iocage (#847) dcb67ccb861e94ce815b71eff5cab1acc5e2cb80 Correct construct_truthy usage to use bitwise (#846) 8d17de3320a641481eec7f231938eea7a4003431 Merge pull request #845 from iocage/issues/ascii f29685076e3f75a7bee70f21589d05eb923e3f51 (issues/ascii) Correct Locale settings 21ca8ed3f90b23df10792f32b634558554da8e42 tkt-73236: Make booleans universal values (#842) a91c7e7bcce7f0496d261f7bf6105ed05a6ce312 tkt-72885: Force UTF-8 for stdout/stderr (#840) 462bd6a25dbe1d2cdfcd71a6a80c5c26b8186f4a tkt-72731: Allow regeneration of a new mac during clone (--newmac|-N) (#837) a59eefa8cec2144b5ba14ebe5c42c6bb495fdd31 Use sys-rc style output for set (#836) 18db213a82bcf574cac52bd345f3e899af3a0062 Return correct devfs_ruleset for get -a (#835) cbc436c5441468b202046e8635eeb637fc9ce73a tkt-72619: Create a snapshot for update (#834) f254ea5a07b7b009ccd4589af76fe8d2a3b92f6e tkt-70993: Fix hostid_strict_check property value (#833)

1.1

5 years ago

Shortly after the release of 1.0, we have another new release! This fixes some bad nagging bugs that were found since 1.0, and as far as this release goes, we don't have another validated bug in the tracker! Should be the most stable iocage release yet, as we also have even more tests to ensure less breakage. Thanks to all those who filed issues and the contributors that sent in pull requests, you lot are great ;)

Highlights

  • Can fix corrupt fstabs with fstab -e now
  • Variety of fstab fixes
  • Non-standard RELEASE naming schemes are now supported
  • Fixed upgrade not allowing input or editors
  • Two new flags to clean, --debug(-d) and --images(-i)
  • Bug fixes for IP aliases in shared mode
  • More flexible plugin upgrades in regards to naming of plugin
  • Use jail(8) for networking instead of our own parsing (Fixes many small issues!)
  • allow.vmm property was added
  • Makefile improvements

Changelog

aa25cd8 Apply some source fstab validation when the fs type is nullfs (#829) e62503b Allow fixing broken fstabs with edit (#830) 9de27b6 Allow replacing an fstab with a different source and same destination (#827) a331b51 Uppercase the RELEASE specified during create (#826) 1cc8be6 Migrate ip4 and ip6 from none to disable (#825) da82221 Fix renaming templates (#824) 036ac7b Allow non-standard -RELEASE naming schemes (#823) 1fc6d24 Fix erroneous template messages on creation failure (#822) 4bb844c Add interactive upgrade variable (#817) 9e67859 Change this to fit the rest (#820) 996e212 Merge pull request #818 from iocage/issues/makefile 16d3825 Improve Makefile 679b567 Add --debug(-d) and --images(-i) flag to clean (#797) 0f7062b Require a mountpoint on parent iocage dataset (#811) 4c7f705 Improve exception handling (#802) b1c9fd1 Bug fix for ip aliases df9aad4 Fix for sorting with ip (#803) 48c88dc The dragons have gone back into their caves fa102a3 Bug fix for jail ips (#804) 1fc1a82 Updated man page with hostid_strict_check option. (#798) 9454400 Honor jail user with exec (#796) 7592abb Add Validation for ip addresses (#792) 97796dd Correct net property ip4/ip6 to valid jail(8) opts (#791) c7b509b Jail Configuration Class (#782) f9554ad Throw unjailed exceptions with IOCExec (#789) 0945845 Add More Tests (#759) e2aab52 BUG: SYSV settings are ignored (#785) 3ef5138 Removing an fstab entry wrote an incorrect file (#788) 4da31dc Add default interface to ip(4|6)_addr if alias doesn't exist (#781) 0c9233f Silence jail during destroy/clean (#780) c1b0b59 Improve exception handling for listing (#775) 539fab0 Add ignore exceptions flag (#776) a09c10d Check Release exists (#777) 6c37f65 Check for Faulted Pools (#778) 03206b2 Fix various Tracebacks for non-root users (#774) f149122 Bump copyrights to 2019 e8f27f6 If a plugin's MANIFEST cannot be found directly, we glob for it (#773) 67d36eb Add allow.vmm jail parameter (#767) 68212cf Catch a missing location, bump netifaces dep 0a87636 Bump to 1.1 PRERELEASE 4b62a06 Leverage jail(8) for shared IP networking behaviour (#770) a22bb44 Bug fix for Upgrade (#762) 0140855 Change travis over to new flatten modules for before

1.0

5 years ago

It's official! The iocage rewrite is now at 1.0. Big thanks to all the users who filed issues and contributors that submitted pull requests as well! This was a massive release (yet again) that has over 350 commits. Apparently Holiday releases are a thing, as iocage's last release was a full year ago. Whoops! We'll be more nimble on releases going forwards. Patch notes below!

Highlights

  • Add DEFAULT support for ip4_addr
  • Property checking when using set/create
  • VNET interfaces are by default epair0b in jails now (works around a Plex bug)
  • Add DHCP information to start process
  • Add support for not supplying interface to VNET during creation
  • Plugin Update/Upgrade support added
  • Can get jails --jid(-j) or --state(-s) now
  • Added vnet_interfaces property, this passes interfaces directly into the jail
  • During execution events we now clean the environment
  • Added IOCAGE_HOSTNAME and IOCAGE_NAME to start environment for exec_* props
  • latest|LATEST support for fetch to always grab the latest RELEASE
  • Fix processing flags with pkg
  • 2x+ improvement to fetch speed
  • --thickjail(-T)s are back!
  • vnet_default_interface property added, this will add the specified interface to an automatic bridge0 for VNET
  • hostid_strict_check property added to make sure jails only run on the host they are meant to (For migrations and such)
  • Add help to all commands instead of just --help
  • Remove chroot
  • Branch support for plugins
  • Added debug command
  • HTTP/HTTPs are now the default fetch protocols.
  • allow_mlock added as a property
  • rtsold/rtsol support for IPv6
  • --keep_jail_on_failure(-k) support for plugins that may experience a failure that requires debugging
  • allow_tun is a custom property that will unhide tun devices in the jail
  • Handle corrupt default configurations now, we use in memory defaults if that is the case
  • Rewrite how devfs_ruleset are generated, fixing lots of bugs with dhcp + other combos
  • Simplify dhcp support to just dhcp=on for all interfaces, or per interface ip4_addr=NIC|DHCP
  • Start jail silently during exec if it's not running
  • allow_mount_fusefs property added, allows mounting and unmounting fusefs filesystems in FreeBSD 12.0 or later
  • Fix hostname generation in rc.conf and /etc/hosts
  • Add thin configuration support! Now jails only have the bare minimum + user properties when created. This allows for easy movement to inherit defaults on different boxes. This is the new default.
  • Added --thickconfig(-C)uration support to create to retain old behavior.
  • Added support for a default rc.conf file in the iocage root that jails will use instead of builtin boilerplate
  • VNET nics are now created with a period in their name on the host
  • Template jails have had a variety of bugs fixed
  • Allow clones and templates to be thickjails
  • Correctly set MTU on all vnet interfaces

...and many others! Full changelog below:

Changelog

4cf4c63 Fix typo and cleanup exception 0ba86d7 Travis e25ca80 Allow clones/templates to be created as thickjails a58389b Fix setting thickjails as a template or cloning them 65bad4a Add More tests (#740) 6110ffe tkt-65421: Fix snapremove (#745) 0face4e Return a more verbose error message on plugin failure (#739) 1a1195a Initial commit fir cirrus-ci 7ce45da tkt-62547: No longer start network services explicitly (#734) 38c9da7 tkt-63801: Check snapshot exists before destroying (#735) 548a786 Fix travis and all flake8 errors (#733) 8a73125 tkt-64899: Rewrite IOCZFS to use subprocess calls (#731) 6522b2f Supply a files list to IOCFetch with create (#732) 3e6c265 Fix mismatching RELEASEs being fetched, and a couple other bugs (#729) 4435732 Properly set mtu on all vnet interfaces (#722) 10d16ef Fix listing non-standard RELEASE naming schemes (#725) 3650e2a Fix creating additional epairs (#721) 95db4e3 Grab doc.txz by default for RELEASEs under 12.0-R (#720) 8aa3f43 tkt-64143: Only capitalize fetch RELEASE if everything is default (#724) 30769f0 Check for exec=on when issuing update/upgrade (#723) af9e342 Cleanup some fetch code, improve error message 6b26ffe Remove extra space in downloading fetch message eab18d0 Fix a few more remaining fetch bugs c4068fd Remove unused missing for fetch 2530fff Don't extract if the user doesn't have a MANIFEST and uses custom server 8b928c9 Fix a few issues in extraction/downloading code c2a72f3 Remove doc.txz from default files 2f28401 Use periods instead of colons for nic name 3c38801 Don't add all parameters to start f411c85 Fix 'iocage fetch' sorting (#716) a830cae Remove unneeded conditional d83016f Add templates to quick listing 5966920 Do not create default configuration if checking datasets aeed930 Nicer! ff7cf76 Bug fix for template jails (#714) 71ab39a Destroy Network related setup on stop (#713) 704b5c2 Add missing pathlib.Path for freebsd_version 964bd34 Fix self.default_config not always existing 75665cb Re-set self.rc on restart 8988de3 Catch version 12 too 5409e34 Catch users using old vnet_default_interface prop value of none 5920c62 Default to auto for vnet_default_interface bbc971f Fix bad conditional on default rc.conf usage a926b5b Use default rc.conf file instead of builtin boilerplate b927b29 Check for malformed fstab lines b82abea Reads nicer! 16981c8 Raise DHCP error if DHCP not configured (#709) 32926d3 Allow auto to be set for vnet_default_interface 8bc55f2 Remove unneeded code f54ab49 Properly install requirements.txt 5bfb19f Bump py-libzfs to latest 4cc8ec2 Massive refactor of ioc_fstab c363f0b Create new exception class for inheritance. 8f49bfc Join multiline error messages with logit 648fe63 Remove unused line fe289db Bug fix for always creating jails with name and count flags (#708) d9fa7dd Bug fix for iocage fetch (#706) 531a5cf Address even more @sonicaj concerns 96e008f Remove identical if statement 75878aa Errrrr 31c8e53 Address more @sonicaj review dbf507c Remove unused self.zfs instance per @sonicaj review abb7ff6 Add thick configuration for creation of jails and plugins ef5c493 Remove unneeded comment 5b5d4b9 Break ioc_json into more classes ecc887f Fixed bug: get non-existing keys from conf (#701) 9c3a530 Move progress out of update_progress for fetch 70b1a4a Unneeded cloned_release property kept around with thick jails db2c377 Destroy leftover snapshot for thick jail creation 9cf753b Fix pkglist and no IP options fallout with thin configuration 035344e Fix hostname in rc.conf and /etc/hosts generation b1738d4 Move updating basejails to base module ioc_fetch 84bb1cd Correctly mount basejail and umount basejails during cloning 07a2815 Update now correctly updates the release property with the patch level 28dde0a FIx get -r c4016ac Show devfs ruleset when starting and return correct one 42400ac Use the first item for dicts sent to get recursive 93ed523 Add basejail header to long list da4fec1 Allow listing only basejails with -B e7a945c Fix bad path being sent to upgrade af3c119 Remove backup tests fd252a7 Use en_US.UTF-8 or users LANG by default for console/exec 7600461 Need 'type' for plugins e851782 Fix tests and default configuration loading in ioc_json 82b909b Missed an instance 3b986ef Fix lack of writing json if json_load returned True db7d6f4 Correct typo e1fa1be Correctly add bpf to devfs rules, change creation warnings for props 9a78f6e Skip checking configuration if the versions match 903feb6 Remove unnecessary notes variable 356b419 Fallback to using the jails freebsd_version if the RELEASE one fails 8ad2703 Write partial configurations by default b3da684 Set templates to read/write for json writing and back to readonly 2e919c3 Add enumeration to internal sorting for RELEASEs 08297a4 Make import more robust with handling naming 313a75b Add missing return for setting default prop 76338a3 Use default gateway for mac_prefix or generate one d6a503a Drop "zero dependency" from description (#686) 54e909e Fixed error message for corrupted default.json (ticket 56364). (#685) 618ecd2 Fix bad indent 8df370e Fixed bug: do not umount path if fstab entry is not found (#684) 3196d84 Allow dots in the name for 'iocage console' (issue 677) (#683) 5ac562b Optionally allow mounting fusefs from within the jail. (#681) 20a2166 Fix quirks with 'iocage help' (#679) ae5b3f7 Add accept_rtadv and autoconf to jail nic when accept_rtadv is set 7e280c3 Fix debug for corrupt jails ab5b620 Warn about dhcp/accept_rtadv during create if required props are missing 14abfe6 spotted by @jsegaert 1938c35 Properly set rtsold during creation 3c15843 Include templates in debug 5571a2b Continue on corrupt jail configurations 82294e4 Debugs now correctly start fresh f033d1c Bump to RC ee8700d Handle corrupt default configurations 4bfc357 Rewrite this more succinctly courtesy of @danjacques a769ad7 Always generate a devfs ruleset for a jail 01ea597 There's nothing to see here! ca361b4 Rewrite how devfs_rulesets are generated be04e26 Fixed sorting jails at iocage get -r (#675) a7b2cbb Add dnspython to reqs 5d41714 Raise proper exception for old invalid Mac addresses (#667) cec5562 fixes confusion with on/off and yes/no (#673) cd7a162 Quietly start jail if needed when running 'iocage exec' (#672) 25be572 Add TERM to default clean envs be09bae Made changes to iocage docs. Came from ticket48768. (#663) ea461c8 adds 'thickjail' to jailtypes.rst (#666) 7e90343 Simplify config upgrades a6ecf00 Skip RELEASE checking for EMPTY jails ec2ad76 Delete jails for all exceptions in case of jail failure by default (#664) d0b358a Catch any exceptions trying to load freebsd-version during check_config ad68af0 Ignore callback for exceptions eb8675f Use Exec interface for basejail upgrades b9868e7 Have Upgrade use Exec interface 2f284c8 Improve DNS exception for Plugins 8f5760f Do not silence plugin property setting ca556e8 More Exec work 9a69abd We now call the bridge_cmd if the variable is added 60912b7 Don't raise a pkg error if it succeeds after the first install c46a90b if 'vnet_default_interface' is set to 'none' no host interface will be added to the bridge (#655) e53b9d9 Add support for placeholders in adminportal (#659) e5896eb Make Exec a generator 3f0f53b Simplify Exec rework, make CommandFailed return an iterable 11cbf92 Add back the DNS checks from the jail side for plugins acdfeca Avoid false positive with EOL notice on jail updates 0c92956 iocage console hangs (#653) e77d606 Fixed building py-libzfs after updating (#651) 7fb5cbe Added package dnspython (#645) 52116ac Large rework to Exec interface 01a4cb0 3.6 -> 3 (#641) 83ee041 And these! 4f279e9 3.6 -> 3 68e40ac Update py-libzfs ea3ea42 Add failed_dhcp for this error 3f13c16 This commit adds support for a default none value for vnet_default_interface property 8336701 Make default interface for vnet customizable 612caeb Improve validation for VNET MAC Fields dec6ebb Bug fix for listing jails ec8c393 Improve support for dots in jailname (#629) a80a402 We want the jails fstab in debug 65d27aa Decomplicate things and just use pool/iocage as mount 32621b2 Fix Traceback when pkg-static install fails (#627) 1b2f1f4 exec_clean now affects exec as expected. 7b54a55 Catch by @william-gr 705b203 Allow unhiding tun devices with a custom prop "allow_tun" c5473ff Fixed bug: setting ZFS properties via 'iocage set' raised exception (#624) 18238cf Make default interface for vnet customizable (#623) 781ca7c Fix exec_pre|post stop f6b9c3b Fixed bug: Jail fails to start when depends jail is already running (#608) (#622) e31c1b8 Fixed iocage list multiple IP4 addresses (#621) 0aef5eb keep_jail_on_failure should be a flag 9321111 Add rtsold support df8a175 Yeah, once is enough for the pkg error 5aadc93 Let's add the string version of the exception too bee2974 Tighten up reusage of code for retry 84e760f It's not even Monday! d30883c Remove debug, add better messages. d6576a8 What! No sys.exit. c0e92ad Retry on pkg and pkg install failures d587f62 Bug fix for installing packages (#607) 1000163 Do not set allow.mlock when userland < 12.0 (#619) 0b78341 Add "allow_mlock" as a new property (#617) 3c82c82 Fix wrong property in doc c529278 @william-gr noted we should probably have a couple nice defaults c6dd02e Be a better env...izen. Less pollution! 8add7b9 Merge pull request #37 from freenas/ticket-47085 b7674c7 Use a specific exception for pool activation issues 1abefcf Fix devfs rules that have a bracket e965a98 Don't use ifconfig -f inet:cidr to extract IP/Mask... (#515) 72b0f16 Fix branch name for plugin repo (#614) 0374d7e Flag debug as rootcmd (#613) 48d1da8 Test variable before splitting again, honor IP only for plugin install e3dd2ea Potential Bug fix for jail creation 3a36b86 Improved error handling 65b6b96 Silence! 3819406 Updates to iocage.8: (#612) 9558798 Let's use the right variable e43301e Remove duplicate variable 88590ff Fixed a bug in fstab bfe2051 Correctly create aliases for shared IP jails that don't specify iface 9dd0c5e Fix debug not being as useful as it should be for non-running jails f54c8b0 adds thickjail feature to man (#604) bfd56ae Initialize reference to repo after succesful porcelain.pull() (#606) 624de0d Merge pull request #17 from freenas/ticket-41694 56ab46f fixes BUG, return was one level high (#603) 85dbb8d Fix usage of git@ repos 8d2cd72 Update py-libzfs c5dd9c6 Only show one interface for the plugin IP 8cfe862 Fix a couple issues with devfs generation b017e5b Change devfs rule generation c0c28a2 Read output one more time after is finished (#601) 83b1769 Fix callback usage in lib/iocage 62c48b5 Prevent CPU from spinning on plugin tasks 99ba2a5 Make some plugin exec changes to hopefully address FreeNAS #42018 78245a3 Fix Makefile names 637b993 Be less nice for plugin pkg's clogging up stdout 399a9fa We want file, not http when specified 8d66f4d Creating duplicate plugins now name them plugin_NUM 462fbec Add a debug command 1f97a09 Fix a couple typos 0c44acf Bump copyright year (better late then never?) b575eaa Refactor callback method, c15be3d Flatten Python module names (#592) 624e913 Check DNS for plugins def88a2 Remove exit_on_error 62f33b0 Always Force unmount Datasets when renaming (#590) b814bb8 Check release upon create (#589) 7477b50 Strip subnet of IP4_ADDR when building plugin's portal URL (#586) 140e17e Trrrrravis 0365d91 Check host release for plugins c640433 Travis 414a61a Use branches with plugins fbab332 Use branches with plugins 3c5615f DNS/SRV/Host fixes 9aadffa We want unix acl's on iocage's datasets 585d7a8 Travis cd7e099 Fix: Check for host release being less than during interactive fetch dc77f54 Fix sorting issues (#582) cba10a7 Fix typo: 'matiching' should be 'matching' (#576) 117d31d Travis 7425621 Don't rely on porcelain for cloning repo 68539e7 Fix validation of 'set template' (#574) 71dff6e Fix bad destroy target for export af413b7 Fix repo message 1fe388f Rename templates (#570) cf4c0da Fix issue with iocage list when showing short uuids (#572) 66e75ba subprocess.check_call() raises CalledProcessError if the returncode is not equal to zero. The CalledProcessError object then has the return code in the returncode attribute. (#571) 2dc9e5d use absolute paths to omit chdir in ioc_start (#568) 387983f Allow 'iocage CMD help' as well 962ec2c Proper error reporting when ran on datasets with exec=off (#566) ec15598 Do not allow setting DHCP while a jail is running. 2af32de Jail needs to stop before changing jail_zfs* properties (#562) 854672f Recompress iocage.8 (#564) ee27664 Ignore exception when trying to unmount datasets that do not exist (#561) a994c8f Added forced stop (#553) de4ce34 Fixed Cython package name (#551) a45ef09 Improve exception handling when renaming jails (#550) 2593d90 Add documentation for the depends property: (#549) 8c891fa Make renaming jails more robust (#547) e4112c7 Removed chroot usage (#545) 8224755 execute pip via python3.6 -m pip in Makefile (#543) fbf861b Chroot command removed (#542) b6109c2 Bump versioning 63b7976 add "hosid_strickt_check" as a new value (#538) 2980c9d Iocage doc update (#522) 45ee8e1 Link to the project webside (#537) a697526 prevents iocage from adding hostinterface to bridge (#530) 7a6c0f0 Move up check for empty jail to fix issue 512 (#531) 1d23d7f adds thickjail-feature, thick jails are copies of the release, not cl… (#516) 9c4dd9a Fix for defect 526 & typo (#527) 1908813 Travis 9f33af4 Give a nicer error for SRV and DNSSEC 1c7eccc Allow listing only official plugins and fetching only official plugins ccaeec8 Show official plugins as official 095081a Massively improve fetch speed and display 811e42e Handle no IOCAGE_SKIP environment more gracefully 0271b76 Add vnet_interfaces to creation config 40d8e43 Fix clean with releases 4b01745 Don't process flags with iocage pkg (#509) 30a7ffa Fix for issue 507 (#508) b4bce09 Remove DS_Store files (#504) a3e3c28 Iocage doc update (#501) 599c2ea Properly remove interfaces from host when dhcp jail is stopped f44a681 Correctly remove all dangling mounts and jids for clean f8506e3 Fix bad split giving an incorrect jail name for later dc080b2 Travis! 465263f Iocage doc updates (#500) 7cd60d7 Allow create to use -r latest d1ec2b7 Added section on setting iocage environment variables (#497) f036959 Iocage man page updated. (#496) 12a56ad Travis. f5c101e Allow latest|LATEST for -r in fetch 4718685 Add a couple variables to started environment for scripting d0abb29 Add "vnet_interfaces" as a new property b17c5eb Issue 476 (#493) fc7995c We now add "b" to renamed interfaces afbe70c Added chapter about fetching/managing plugins. (#492) fbbdd73 Updated iocage docs: Added install chapter, organized, fixed. (#490) c9e7d9d Please travis overlord cca4378 Allow passing "-s" or "-j" to get c86d378 Do not falsely report zfs exceptions when creating template (#485) 643a9b7 Create current docs about ezjail migration (#489) 757cefb Deleted one of the 'bridge1'. 'bridge1' was optional;caused confusion. Issue #404 (#488) dff205d Elaborated on the network adapter 'warning' message. Issue #404 (#487) 65a6bc5 Fix .Xr tag (#484) 1aac02f Updated the 'updating/upgrading jail' section. (#486) a948e03 Don't fatally exit if the dataset exists during fetch 5155411 Better duplicate check for mountpoints 2c32c7f Tell the user the configuration cannot be loaded 5a3a2c1 Add plugin update/upgrade d93a100 Add support for no interface to list 959ec20 Allow not specifying interface for vnet baebfbf Minor change 6556e18 Add DHCP information to start 27a08d4 Actually set the new jail's DEFAULT interface 16e9cca We now rename jail vnet interfaces 52f8674 Revert "We now no longer rename interfaces in the jail" 60ca64a Add "DEFAULT" support for ip4_addr a941b75 We now no longer rename interfaces in the jail b9ba150 Add jails name to /etc/hosts 54cb608 Fix destroy when origin is empty e867005 Return a property for plugins again 0ca60d4 Install ca_root_nss package if the user has a secure packagesite 75d6d9a Fix listing remote and remote plugins a698111 Fix setting vnet while a jail is running 1251078 Log a message instead of an exception for FreeNAS rc with no active pool a40c067 Sanitize IP addresses on set d0b8858 Update rc.d script 68fd4da Constantly prompt for fetch dialog until EXIT, exit, q or Q 8efc8f9 Don't assume the sys.prefix is /usr/local (#455) 16bca53 Fix snaplist for non-long operations 17ba05e Fix clone destruction not destroying the snapshots 4371184 Fix unique mac generation for clone 67199cd Start 1.0 ALPHA

0.9.10

6 years ago

Changelog

1303924 Fix wrong order of zfs mounts for start 0a3cb47 Fix FreeNAS API missing env bf96ae3 Parse CLI for set correctly b3441cc Update py-libzfs to unbreak HardenedBSD 3f36a58 Be less strict 43b2a8e Allow clonejails for update ab06153 Show snapshot name in creation b6905b2 Add IOCAGE_SKIP environment variable 53e3fcc Allow silence via API for fetch ab4db73 Correctly identiy a missing configuration 5c7f7d2 Fix short UUID legacy migration a89059f Replace stale entries in legacy migrated jails 9ad2de9 Fix jail_zfs_dataset not being renamed during legacy migration 8a2cdd3 Update gitignore 4292b3c Provide correct error message when jail exists for template creation cd3aa82 Add missing develop jail type check 537baf9 Merge remote-tracking branch 'origin/master' 25354e0 Check if RELEASE is parseable and exists before fetching 88f63d2 Update advanced-use.rst (#445) 534ccd3 Add fstab R | --replace to the manual page (#446) 5d6e4b9 Drop pygit2 dependency c53c820 Allow replacing by index with fstab a4cf741 Let's not exit. 166775b Skip checking datasets for rc. 0d3949a Move logging to main a90d03e Update py-libzfs e186781 Misc improvements for building from git (#436) 7783dd6 Fix listing admin portal if DHCP jail isn't running 610f849 Fix list --long when a plugin exists d8aa944 (origin/rework-lib) Create plugins with lowercase name 754121f Show admin portal in local plugin listing 4cfd7b7 Fix bad test if user supplies None da04fcc Append icon_path in the returned list 0cdc3a0 Add basejail support to upgrade Closes #50 08c0ca9 Fix snaplist --long 9c2531f Don't cast to float if an empty jail 3274e18 Remove dependency on tqdm b8c9013 Yeah...or we can just cast them instead. 3f2e77b Use math module for floating comparison 7ac1e8f Port upgrade to API 8a48cab Review and update iocage.8, iocage.8.gz: (#403) d015c69 Fix plugin listing 57e7b54 Remove a couple more bare except clauses 557ffa8 Please travis overlord 1bd3dbd Remove ftp from fetch 9c217ff Add listing to fetch API 2562ce2 Fix upgrade using a bad value a77bc7e Bump to 0.9.10 RC cbddbae Small optimization cda617a Fix breakage for upgrade from upstream change Also added silent and callback support for upgrade, in addition we now change the configuration file to not update kernels, as those aren't possible in a jail. 53830ac Let's use the local freebsd-update if self.verify is False Another stab at #88 6067769 Missed a spot with self.verify in fetch Closes #88 5e89fdc Move update to API, add updating support for basejails 86b184a chore: Add neovim to gitignore 9eab753 Return a list for remote releases 52aa76d Merge branch 'master' of github.com:iocage/iocage fce5265 Return after remote listing e36124d Merge pull request #395 from wxcafe/master 3a3f3d0 Adds [-c | --count] flag documentation to clone subcommand e61a4ed adds zsh completion to iocage (#394) fb7c7c9 duplicate [-f | --force] option in create (#391) 87e1889 Add state to get all c36f0c8 Remove unused argument for df aa1f411 Improve message to user if no RELEASEs are found during fetch 3b53659 Make export more robust 46275d7 Fix local fetching a15d4cd Bump to 0.9.10 ALPHA fb641a2 Update requirements-dev.txt 591a228 Update requirements.txt ccb8ee6 Create requirements-dev.txt 7cb5d88 Remove libzfs from requirements.txt 044ff3a Add cython to requirements.txt b66e767 Merge pull request #372 from iocage/iocage_ports b1164cc I have renamed sysutils/py3-iocage to sysutils/iocage on FreeBSD.

0.9.9.2

6 years ago

Big Changes

  • Name migration is more robust
  • New rename subcommand - iocage rename foo bar
  • Use pkg from the host instead of the jails (one less pkg)
  • Fix updating jails
  • Add release checks for commands that should worry
  • DHCP support
  • Fix upgrading jails
  • Add —recursive to destroy
  • Add sorting to snaplist (Sorts by CREATED by default)
  • Fix children detection for templates in destroy
  • Show VNET information for start and stop
  • Disable Colors by default (can be enabled by setting the environment variable IOCAGE_COLOR to TRUE)
  • Allow “.” in jail names
  • Shows full jail name if not a UUID in list, no matter the mode.

Full changelog

Fix if jail has snapshots for name migration, also cleanup our snapshots. Make name migration more robust. better error message Reword migrate to make usecase more specific Check for KeyError on exception with fetch Fix whitespace, courtesy of @rterbush Fixed attribute error when no release is specified on the CLI Fix syntax error in Makefile Fix start release check Fix raising exceptions if fileno() didn't exist Fix upgrade release check Fix fetch release check Merge pull request #364 from MvBCoding/issue_363-fdescfs-fixes Fix instructions on how to setup fdescfs in fstab and how to mount it manually. Check if this is a git repo before doing this. Add requirements.txt Add "return_msg" to exec API Reverting 700 perms...again. Add documentation for new rename subcommand: (#358) Refactor import run markdownlint-cli on *.md (#355) Fix spelling error Update README Remove debug Create jails with 700 perms Add argument limit to rename, please travis overlords. We also want children to have jailed off for rename Sync py-libzfs Add rename subcommand Remove unused import Speed up update Change pkg to call pkg from the host Fix update not using the correct RELEASE Fix release check with update and upgrade Revert create jails with 700 perms Remove existing localtime if host_time is yes Create jails with 700 perms. In addition, we set it each start Customize the start message Refuse to start if the host's release is not greater than target Refuse to fetch if the host's release is not greater than target Refuse to upgrade if the host's release is not greater than target Whitespace! Fix fallout from stderr changes in destroy Remove unused variable "cloned_release" is not applicable to most legacy jail types Allow DHCP for fetching plugins. The plugin authors want freedom, they get it! Call sh with "-e" for plugins. Catch the error. Return boolean for error code in "ioc_exec" Remove obsolete tag instance from debian.rst, update html build files: - Review all .rst source files for obsolete instances of tag. - Replace tag use in debian.rst. - Other found instances are in sections explicitly marked as LEGACY iocage and are accurate to those sections. - Rebuild html files and update. - Build testing: no errors or warnings. Replace outdated tag= element from README.md: Replaced with -n flag. Update iocage.8: - Add option -s to snaplist, as per da0f08ac271f25510054f6060fc85d74a0cee5fb . - Add option -R to destroy, as per 7c6dd268d536a1f277254f5a1914c3824195d219 . - Update document date. - Update snaplist syntax a bit. - Add Stefan Gronke to AUTHORS. - Build test: appears solid. - Update .gz file. - Review man page for obsolete tag, tag=, no instances found. Use the jails "freebsd-version" for upgrade Unjail jailed dataset before converting to template We are already running, unneeded now Allow DHCP and pkglist Restore missing **kwargs for fetch Fix build, forgotten apostrophe and comma in the latest commit. We should make this more project oriented instead of personal. Only specify ip[46].addr on jail command line if set (#336) Pet flake Add --recursive flag to destroy Fold snapshot into API Add sorting to snaplist Sort snaplist by CREATED Templates are now readonly Fix bad syntax Use nicer error messages in "ioc_fetch" for users Fix child detection for templates during destroy exit instead of return for partial prompt in destroy Merge remote-tracking branch 'origin/master' Show VNET configuration and teardown during start and stop Allow destroying jails with legacy mounted root/root path (#330) Pet flake Log to stderr if calling from the CLI. Add cffi to pin list, pin others Bump to 0.25.1 and use less than Remove unneeded message now Fix update using cloned_release instead of release Check if root before grabbing DHCP address Add tips about color mode to manpage and .rst docs: - Add admonition box about toggling colors to basic-use.rst. - Add entry to HINTS section of manpage to show how to toggle colors. - Build test: no errors. - Update compressed manpage. By default disable colors. Fix build in CURRENT by chasing libzfs Revert the simpler version commit, it breaks short flags. Pet flake again Fix host_user and jail_user both being set for exec Don't allow boot to start empty or templates Show IP information for DHCP jails in list Respect users devfs_ruleset for DHCP if they specify besides 4. Merge remote-tracking branch 'origin/master' Replace fstab entries for basejails going from TAG to NAME Fix stopping jails before TAG migration to NAME Update manpage and html build files: (#320) Pet flake Only add default interface if dhcp == "on" Forgot to set the configuration for dhcp migration Add DHCP support Bail out faster from ioc-start Add todo for get API: Have get return a dict for jails and their properties. Silence plugins returning properties. Forgot these for jails with "." Be a little less excited to throw the running exception for migration Replace "." in a jails name when starting, and accessing anything by jls Fix "quassel-core" not being fetchable with plugins. Allow "." in create name for jails Show the full jail name if it's not a UUID named jail Fix bad usage for tqdm

0.9.9.1

6 years ago

Changes

  • Fix jail migration from TAGs to NAME if you have children datasets under /data and prevent continuing if the jail is running.

0.9.9

6 years ago

Big features

  • No more TAGs, you now use --name
  • Add depends property. This allows you to require another jail to start before this one, or multiple. It’s space delimited. This also nests, so if those jails have depends, they will be started as well. Example: iocage set depends=“foo bar” baz
  • Add batch cloning to clone EXAMPLE: iocage clone JAIL -c 10 tag=“foo” PROP PROP PROP
  • Add default property support to get
  • Add a --quick | -q option to list
  • Add -l|--list flag to fstab
  • Add automatic bridge creation for vnet during start.

Plus a ton of fixes! Full commit log below

Fix `destroy`ing jails that are missing configurations.
Use logging module for this message.
Fold `destroy` into API
Rewrite `df` to use libzfs, fold into API
fix rstrip removing chars from command names
skip duplicate listing of jails when using list command
get jail origin from libzfs when listing all jails
remove unused jail_root and ()
Pet flake8.
Speed up `create` by an order of magnitude.
Speed up `destroy` as well
Annnnnd speed up `clean`
Make flake8 script more useful. We don’t want the next commit to be OK because it has the same number of errors as the previous. It’s still a regression.
Make flake8 script less verbose.
That didn’t work as intended. It still went to head, this should work.
Make git fetch quiet in flake8.
Be more strict, we should be at 0.
Oh shell….my old friend. I did not miss you.
Make this a variable, as I’ll eventually be reusing it soon.
Ok, back to 0.9.9-ALHPA
A simpler `version` call.
We are always called “iocage”.
We just want newer then this. Closes #156
Use users `enforce_statfs` setting if `jail_dataset` is on.
Move this little guy
Allow user configurable defaults. The file lives in the root of the iocage dataset as `defaults.json`. It will be recreated with sane defaults if it does not exist. If you wish to change a default property, issue `iocage set prop=value default`
Whoops! Fix `create` with count.
Good old flake!
Add `depends` property. This allows you to require another jail to start before this one, or multiple. It’s space delimited. This also nests, so if those jails have depends, they will be started as well. Example: iocage set depends=“foo bar” baz
Check for root before we update the plugin index, as user may be running list. Reported by: Ken Moore
Change `list —plugins` behavior Previously it listed the entries from the JSON file that, it now shows you what plugin jails you have installed. The previous behavior can be achieved with `list —plugins —remote` Reported by: Ken Moore
Add libgit2 to Makefile.
What was I thinking…
Preserve `rc.conf` with clones and templates. Idea suggested by @kitten77 (Thanks!) Closes #159
SYNTAX CHANGE: Allow specifying `—name` for `—plugins` and `—plugin-file`. Both mechanisms are largely the same, except the former relies on the —name to exist in the INDEX, the latter is used for developers testing their plugins and aren’t confident in putting them in the INDEX, or don’t want them to live there at all. In the case of `—plugin-file`, you can either supply a full path or just the name of the plugin like `btsync` and it will autocompute the rest of the path to that JSON file, and add the file extension as well. EXAMPLE: `iocage fetch --plugins --name btsync ip4_addr=“IF|IP”` or `iocage fetch —plugin-file --name btsync ip4_addr=“IF|IP”` or `iocage fetch —plugin-file --name /iocage/.plugin_index/btsync.json ip4_addr=“IF|IP”` Closes #158
Clarify `fetch`’s information a bit more.
Remove unneeded import from `fetch`
Don’t silence `EXCEPTION` log type.
Remove unneeded extra line
Make killing a jail during creation more robust. Including making sure `destroy` and `clean` can handle the fallout.
Errrr why did I do this.
Show a table for listing remote plugins, unless not using a header is specified. Respects long for header only
Fold `export` into API
Fold `import` into API
Fold `fstab` into API
Should probably add copyright to all these files as well.
Fix flake8 stuff, why these had extra whitespace and all the others didn’t we may never know.
Fold `fetch` into the API
Add `verboselogs` dependency We’re using this for another set of colors for now, but can extend it in the future if we ever do add a verbose flag.
Add an actual fdescfs message thanks to testing @kevinmeziere’s machine at BSDCan. He was having upwards of 20 seconds for any operation, and this was the source of the frustration. I have a blurb on the README, but I think iocage should be in your face and annoying until you do this. Saves many headaches.
Missing comma
Die appropriately if a pipe is cutoff from us. Closes #172
Fix duplicate RELEASEs causing fun in `iocage fetch -h` Closes #167
Properly destroy a jail if the property is invalid. Closes #170
Catch an exception while destroying a downloaded RELEASE. Closes #169
If the exec_* on `stop` is multiple commands, the previous method wouldn’t find a real program. This is still a bit optimistic, as it assumes the commands given are executable. This could be added if it becomes a problem later, but for now it will simply be naive. Closes #176
Forgot this comment
Set a default root_dir for http fetches, assumes standard layout of "ftp/releases/ARCH” Closes #166
We will now add MANFIEST to the missing list if it’s indeed missing. Closes #168
Fix setting `template=no` Closes #179
Speed up batch creation of jails `iocage create -c INTEGER` and simplify.
Add batch cloning to `clone` EXAMPLE: `iocage clone JAIL -c 10 tag=“foo” PROP PROP PROP
Simplify these exceptions
Remove accidental debug
Fold `get` into API
Elaborate more on this WARNING.
Use API for `pkg`
Fold `restart` into API
I sprechen English.
Add LICENSE support to plugins
Add comment to soft_restart method in API
Convert `rollback` into using libzfs, and fold into API.
Whitespace!
Use FreeNAS for upstream
- Python3.6 now is the default Python3 version in portstree.
Remove base directories inside the created basejail during creation.
Typo :)
lol.
Allow setting `template=yes` during `create`. Closes #187
Be more specific with setting (template) for name
Allow setting template during creation if a duplicate tag was detected
Show "-" if IP6 addr is "none" in `list`
Wrong check for jail's origin template
Show a nicer template in list
Check for UUIDs before creation from jail templates.
Warn users who try to add an fstab entry that's too long
Allow setting a manual name instead of the UUID for a dataset
We will try the name for plugins if pkg doesn't exist.
Create CODE_OF_CONDUCT.md
allow starting multiple network interfaces (#197)
Alter domainname to host_domainname (#171) (#196)
Show `exec` output in real time
Do another more exact match if duplicate jails are found
- From now on iocage can be installed via pkg(8).
- Note that iocage pre-built package is available for FreeBSD 10 or above.
Restore missing `--name` behavior for `--plugins`
Fix trying to get a license if the plugin didn't have one.
Allow silencing `exec` output
Silence `exec` output during plugin creation
use hashlib.md5() to generate mac addresses
Use logging for this exception
Fold `set` into API
add auto-confirm option for `create` subcommand (#203)
Fix up last PR
Woops!
Convert `snaplist` to libzfs, add "--long" flag and fold into API.
Remove unneeded import from `snaplist`
remove 0x prefix from second mac address
Fix mac_b address construction
Restore behavior of settable mac_prefix
Stop adding _1 to `clone`s when there shouldn't be one.
Fix test for `host_time` and if the file doesn't exist, just return.
Create missing `defaults.json` during `set` invocation as well.
Fix missing attribute in error with missing jail during cloning.
Clarify stance on cloning templates, convert some errors to nicer logs.
Allow specifying `uuid` and `name` for `clone`.
Add help text for option [--force, -f]. (#219)
Don't allow `activate` on a UNAVAIL pool.
Don't set "no" on UNAVAIL pools during `activate` loop.
This should be exiting on 1
Don't clone the UUID as the TAG if it was a "name" created jail.
Improve finding the UUID for TAGs
Throw a helpful error currently until we rewrite this bit.
Restore `get -p`
Check to see if a jail is actually supplied to `get`.
Add default property support to `get`
Check for invalid characters in name during `create`
Check if the jail is running during `rollback`
Add help text to create.py
Add missing help text to destroy options: (#227)
Add in missing help text and skarekrow's fixes:
Try to mount jail datasets if unmounted
Correct `create` help text.
Convert this to an exception
Try to match templates by tag as well.
Convert these to exceptions
Be a bit less greedy in the template check, give proper exception too
Properly fill in text for `fetch` on FreeNAS and HardenedBSD
Add a `--quick | -q` option to `list`
differentiate between IPv4 and IPv6 configurations (#233)
Pet flake.
Add exception for missing file with quick `list`.
Quack.
Improve these messages formatting.
Improve `fetch` message
Revert this as it complicates catching it.
Make the `exit` in "ioc_common" contain something useful
Allow skipping `stop` in "destroy_parse_datasets"
Speed up `df`
API CHANGE: Fold `destroy` into API
Fix two Sphinx build errors:
Fix Sphinx build error: (#241)
Comment out _static line to fix build error. (#240)
Add requested change:
Add missing --count help text (#243)
Review index.rst (#248)
enable/disable rtsold when setting ip6_addr (#237)
We don't want to iterate on every dataset more then once
Rewrite networking.rst: (#249)
Fix bad invocation
Remove TAG from `ioc_stop`
Remove TAG from `ioc_start`
Remove TAG from `ioc_list`
Remove TAG from `ioc_json`
Fix `import` and `export`
Remove TAG from `ioc_fstab`
Fix plugin stuff and remove TAG from `ioc_fetch`
Remove TAG from `ioc_exec`
Remove TAG from `ioc_destroy`
Remove TAG from `ioc_create` and simplify a bunch of things
New sort method for `name` instead of `uuid` or `tag`.
Remove TAG from `upgrade`
Remove TAG from `update`
Remove TAG from `snapshot`
Remove TAG from `snapremove`
Skip jails for `set`
Fix `migrate`, remove TAG support and add migration for that
Change sort to `name` for `list`
Skip jail list for `get` remove TAG support
Remove TAG from `df`, skip jails
Fixed `create` exception, remove TAG, update doc
Remove TAG from `clone`
Skip jails for `chroot`
Fix `create` test
Fix `start` test
Fix `stop` test
Fix `set` test
Fix `get` test
Fix `list` test
***** Removed TAGs from iocage *****
Please the travis overlord.
Fix `clone`
Remove debug and don't die if the "data" dataset doesn't exist.
Fix `get` all with default jails
Fix `get` pool
Allow removing colors from iocage
Add `-l|--list` flag to `fstab`
Rewrite basic-use.rst: (#247)
Alter docs style a little: (#266)
Rework faq.rst (#258)
Rewrite known-issues.rst (#257)
Rewrite debian.rst (#256)
Rewrite templates.rst (#254)
Update best-practices.rst (#253)
Rewrite jailtypes.rst (#252)
Review advanced-use.rst (#242)
Create sha256 checksums for exported zips.
Convert raising exceptions for "ioc_image" to logging method
Catch an exception if the property does not have an "=" to split with.
Fix `get -r`
Allow multiple properties to be set at once for a jail.
Don't move forward in `upgrade` if the RELEASE is the same as the jails
Convert these to exceptions
Fix a typo preventing `rc` for `stop`
Add starting message to `rc` for `start`
Remove old TAGs from message
Initial review of iocage.8 (#195)
Remove jailpackage from index (#269)
Delete jail-package.rst (#270)
Improve sorting behavior for NAME
Give scarier warnings for destroying jails and RELEASEs.
Update version in docs
Update doc in README
Update index.rst
Add test for partial matches with `destroy`
 Fix traceback for iocage update
Fix bad path for `destroy` child test.
Only extract during local `fetch` if it's not MANIFEST
Check if release is None for local `fetch`
Exit on 1 for these errors.
Add empty list for `destroy`
Allow hyphens in jail names
Fix `df`
Exit on 1 when template doesn't exist during `create`
Adjust agogo theme slightly: (#280)
Check if the files are relative before `fetch` extraction
Remove duplicate IP check on jail start
Allow setting ip(4|6)_addr without an interface name (#287)
Fix setting template during `create`.
ensure templates have correct type on creation (#291)
fix name validation: names should be > 0 char (#292)
Issue #50 - Add basejail update warning:
Bail out in checking JSON if `release` key is missing
Fix indentation error in `upgrade`
Fix `fetch` displaying RELEASEs
Fix typo in message.
Fix setting template configuration type with `pkglist` during `create`
Remove unused variables.
Add automatic bridge creation for vnet during `start`.
Bump to 0.9.9 RELEASE

0.9.8.1

6 years ago

Changes

  • Use a default value for mac_prefix if the key doesn't exist.
  • Don't raise an exception if the jailed dataset doesn't exist for 1.7.4 legacy jails
  • Fix some types in migrate
  • Fix missing overlay for plugins being fatal
  • Show correct error on pkg install for plugins

0.9.8

7 years ago

Changes

  • Fix listing HTTP releases.
  • Allow disabling EOL check for fetch
  • fstab now mounts and umounts when called if the jail is running.
  • Allow the user to edit the fstab manually with iocage fstab -e JAIL
  • Add chroot command.
  • Add comment property back in.
  • Make non-valid properties fatal during create.
  • Add --uuid option to create
  • Avoid using console_scripts (faster iocage initialization)
  • Set the default UTF-8 locale for the user if they don't specify one.
  • Make heuristic for finding bridge mtu a little more robust Example: iocage fetch -r 11.0-RELEASE -F base.txz -F doc.txz
  • API CHANGE: Allow specifying files to fetch instead of the default hardcoded list.
  • Don't enforce default limits on resources
  • Conversion started to libzfs (speed improvements all around)
  • Allow a user to destroy a jail when no configuration exists.
  • Check for suffix on setting a quota, and bail on no configuration file.
  • If boot is specified during create, start the jail.
  • Add new color logging module (Color for terminal, none for logs.) Example: iocage destroy -r 11.0-RELEASE
  • Allow destroying RELEASE. The new behavior will just deactivate any pool that you did not specify. This mimcs what the force flag did, but having to supply a flag for the desired behavior was annoying. This fixes that.
  • Simplify activate and remove redundant deactivate. Fixes FreeNAS compatibility.
  • updateno longer uses a staticfreebsd-update` binary. Fixes FreeNAS compatibility.
  • upgradeno longer uses a staticfreebsd-update` binary.
  • Create a general purpose API module for iocage
  • Fix duplicate jail entries being returned, run pep8 and break out some functions.
  • Fix rc for start and stop.
  • Fix activate logging.
  • Fix showing an error message on start or stop if no jail is supplied.
  • Add set_fib support.
  • Fix activate if property doesn't exist.
  • Check for ZFS before initializing anything. (Thanks @jhixson74!)
  • Blacklist "freenas-boot" from automatic zpool activation.
  • Fix automatic RELEASE fetching for HardenedBSD.
  • Add date to iocage logfile, also print INFO logs to stdout, others to stderr. This will allow you to change the location of the iocage logfile, instead of the default /var/log/iocage.log
  • Allow setting an environment variable IOCAGE_LOGFILE. This should make connection errors more obvious.
  • Add .connect() to ftp fetching(Thanks @william-gr!)
  • Fix templates with df.
  • Fix non-existant freebsd-version when creating off a template.
  • Add IP6 to list -l Example: iocage list -s "uuid" or iocage list -s "uuid" -lh
  • Add sorting to list.
  • Allow non-interactive tty for upgrade and update.
  • Fix splitting IP6 addresses.
  • Fix stop with IP addresses that specify options.
  • Fix rollback when the mountpoint was not just "/iocage".
  • Fix basejail creation with templates. Example: iocage fstab -a JAIL /the/dir
  • Allow easy fstab mounts.
  • Use new library for start
  • Use new library for stop
  • Add compressed man page and install it with setup.py
  • Fix tag deletion on destroy.
  • Fix import and export with different iocroot's instead of "/iocage"
  • Errrrr we actually want to continue on plugin files. Reported by Kris Moore
  • Show admin portal if the plugin specifies it in the ui.json.
  • Fix bad split logic for plugin parsing.
  • Catch SIGINT for create.
  • Add --noupdate to tests for fetch.
  • Do not try to set IP on a vnet jail while it is running.
  • Allow HardenedBSD usage with pytest easier.
  • Implement prestart, poststart, prestop and poststop
  • Fix plugin creation
  • Fix bad replacement that ended up breaking basejails.
  • Fix basejail creation for HardenedBSD
  • Disable using FreeBSD repo when creating a plugin.
  • Don't use a hardcoded SRV and DNSSEC url/name for fetching plugins
  • Strip out subnet mask for admin portal.
  • Fix templates overriding jails when they share the same tag.
  • Actually show the returned property for plugins.
  • Add readonly key support to plugins
  • Show stdout when fetching a plugin
  • Allow properties to be specified in plugin JSON now.
  • Have plugins use boot=on by default.
  • Allow setting ip4_addr or ip6_addr to "none".
  • Bail out if IP's are in use when starting a jail. This was partially functional before, but not made obvious. In addition it did not function for HardenedBSD.
  • Allow the user to just hit enter to use the host's RELEASE if applicable.
  • Add kmod support for plugins.
  • Show proper release for plugins.
  • Add sigint handling for plugins.
  • Set self.release again for plugins, this allows us to fetch missing releases.
  • Add a message telling the user we will try to download the RELEASE.
  • Allow specifying all the custom fetch variables to --plugins It worked with the old, but not very ideal. This will use the equivalent -STABLE if possible.
  • HardenedBSD support for plugins.
  • Fix creating basejails on HardenedBSD.
  • Improve error message for missing plugin JSON.
  • Hopefully fix some plugins blocking command output.
  • Fix VNET jails and the IP check.
  • Fix clean not removing IP addresses.
  • Add activate to iocage API
  • Add chroot to iocage API
  • Add clean to iocage API
  • Add cleaning RELEASEs.
  • Be less optimistic with activate. Also fix bug when no zpool has been activated.
  • Add clone subcommand.
  • Make sure jail isn’t running before being cloned.
  • Implement pygit2

0.9.7

7 years ago

Changes

  • Python 3.6 and up only
  • Migrate jailed datasets
  • Migrate hack88 jails
  • Fix tags for short UUIDs
  • Fix zpool activation from old iocage
  • Fix starting and stopping ALL from trying to use a nonexistent index.
  • Automatically fetch RELEASEs if they don’t exist when specified during creation.
  • More resiliance to FTP timeouts
  • Add -U —update/-NU —noupdate for fetch to disable updating to the latest patchlevel.
  • We now validate property values
  • Fix stopping the network too early
  • Allow ZFS props to be set during creation and with set.
  • Improve activate robustness and code coverage (Thanks @lpefferkorn!)
  • Fix stopping with IP4 addresses.
  • Use boot priority for start and stop ALL
  • Add basejails to create (iocage create -b)
  • Fix not checking if the pkglist is JSON
  • A big split to tests for functional and unit tests (Thanks again @lpefferkorn!)
  • Add empty jail creation (iocage create -e)
  • Open character special devices (/dev/stdout, etc) in write mode instead of append.
  • Fix greedy prop checking for templates
  • Make sure no children are running during any template operation.
  • Check SRV and DNSSEC responses if installing packages during creation
  • Add IPv6 support for VNET (Thanks @joachimmathes)

API Changes

  • Add “skip” key to json_convert_from_zfs
  • Add “update” key to ioc_fetch
  • Add “cli” key to ioc_json
  • ioc_list now returns objects instead of handling the printing