Skip to content
This repository has been archived by the owner on Apr 4, 2024. It is now read-only.

Releases: iocage/iocage

Release 1.2

26 Sep 07:27
c319832
Compare
Choose a tag to compare

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

c319832 (HEAD -> master, origin/master, origin/HEAD) Merge pull request #1047 from arslanhashmi/release
3be61b2 Relase changes
784086e (HEAD -> master, origin/master, origin/HEAD) Merge pull request #1042 from iocage/NAS-103165
d881986 (origin/NAS-103165, NAS-103165) Abstract retrieving plugin default props
01c1240 Merge pull request #1040 from iocage/NAS-103127
873a9d1 (origin/NAS-103127, NAS-103127) Generalize checking truthy props
7b7e2fc Automatically toggle network properties for plugins
17eeb05 Generalize truthy functions
da4c3dd Merge pull request #1039 from iocage/NAS-103095
7d110fd (origin/NAS-103095, NAS-103095) Rollback if installing pkgs fail on update
3822e38 Fetch plugin directory after installing packages again on update
08b9b18 Make sure new packagesite is respected
28019c9 Remove redundant usage of creating directories
fe05113 Remove unnecessary usage of ioc_json and fix a bug for non-existent function
633c9d8 Only start jail if it's not already running
b3b4c51 Only stop jail if was started by iocage
6129424 Merge pull request #1033 from badarotti/patch-1
f10f762 (NAS-103010) Merge pull request #1034 from iocage/NAS-103026
3cccbce (origin/NAS-103026, NAS-103026) Correctly list admin portal for DHCP/Static IP plugin jails
2255a34 Ensure plugin index exists
593181a Update DF command in faq.rst
6d9c77f Merge pull request #1031 from iocage/NAS-102987
0be5d7d (origin/NAS-102987, NAS-102987) Add ability to retrieve default properties
f66d9f0 Check if there are updates to install before invoking (#1027)
11e9f89 Merge pull request #1030 from iocage/NAS-102924
282a3e9 (origin/NAS-102924, NAS-102924) Ensure we don't fetch a release greater then host version
ea9d5c7 Correctly list releases
d970c91 Merge pull request #1028 from iocage/NAS-102929
e64d343 (origin/NAS-102929, NAS-102929) Improve error messages while cloning/pulling git repo
161b7c3 Merge pull request #1024 from Corvan/docfix
a738f5f add start behaviour to boot property in iocage(8)
147d2f2 Merge pull request #1021 from iocage/ipv6
a0aff53 (ipv6) Correctly set scope id in ipv6
c827ad0 Merge pull request #1017 from iocage/NAS-102804
530ff8a (NAS-102804) Ensure nat rules aren't missed
c933509 fix broken commands (#1019)
056efd6 Merge pull request #1016 from iocage/NAS-102815
96ed187 (NAS-102815) Update tests
911d049 Bug fix for ipfw nat forward rules
b320505 Improve gateway warning
51d2a3b Correctly set default route for ipv6
310412f Rollback specific ipv6 changes
d298ad4 Merge pull request #1014 from iocage/NAS-102750
b7f2f6d Merge pull request #1013 from iocage/NAS-102772
1583621 (NAS-102750) Update basejails configuration correctly
11c2825 (NAS-102772) Move json file to reflect plugin name
d32de0b Merge pull request #1012 from iocage/NAS-102771
52370c4 Improve capability to guess plugin's name
7b1a1c1 (NAS-102771) Improve validation for nat default props
ec247cf Merge pull request #1005 from iocage/NAS-102686
5c84186 Merge pull request #1006 from iocage/NAS-102690
5e135fa Create zfs snapshot for updates without space (#1007)
35b44d6 (NAS-102686) Use name specified in plugin manifest for jail
26e93d0 Decouple retrieving plugin json file
a4dee99 (NAS-102690) Improve iocage get validation
af621f1 Bug fix for absolute paths
80c9431 Ensure creation of plugins with --plugins flag
9b78b79 Merge pull request #1003 from iocage/NAS-102661
d911e07 Merge pull request #1002 from iocage/NAS-102662
b157096 (NAS-102661) Show system ip in admin portal
13c6aaf (NAS-102662) Disallow running jails using same system ports
3c8678f Add common method to retrieve jails with configs
8e11640 Merge pull request #1001 from iocage/NAS-102675
c9c848f Merge pull request #1000 from iocage/NAS-102674
b3f4354 (NAS-102675) Make sure bpf and nat are mutually exclusive
4772ec7 (NAS-102674) Bug fix for nat forwards prop validation
d94ddaf Merge pull request #999 from iocage/NAS-102625
38818a7 (NAS-102625) Expose docurl property when listing plugins
da33358 (NAS-102613) Merge pull request #998 from iocage/NAS-102598
2c46541 (NAS-102598) Remove old usages of post_upgrade
3ef5a79 Update existing post update hook
2a4407f Introduce pre update hook
d566286 Introduce a common method for running hooks
1f9a3ff Allow IPv6 only jails on IPv6 only hosts (#961)
a0621af Merge pull request #991 from iocage/NAS-102512
387998b (NAS-102512) Correctly parse snapshot dataa
489cc97 Merge pull request #990 from iocage/NAS-102494
f6f6a91 (NAS-102494) Add support for specifying path for importing jail
37b8e8d Allow automatic discovery of jail image
0ffe182 Expose compression algo in cli for importing jails
19ce0bf Allow importing lzma based exported jails
b79ca69 Expose compression algo in cli for exporting jails
726158e Add ability to export jails with lzma compression
3fc0ab0 Merge pull request #985 from iocage/NAS-102412
44b775d (NAS-102412) Refactor listable classes namespace
070b12b (origin/1.2-RELEASE, 1.2-RELEASE) Merge pull request #988 from iocage/NAS-102458
0d52429 Merge pull request #989 from iocage/NAS-102459
c8bf8bf Merge pull request #987 from iocage/NAS-102448
1dc5470 (NAS-102459) Devfs rulesets won't be correctly set for renamed plugins
658320f (NAS-102458) Correctly parse plugin json path
fc1ae92 (NAS-102448) Normalize fetching plugin artifact usages
e71a6de Allow file uri's for plugin artifact key
661e0a0 Merge pull request #986 from iocage/NAS-102442
45136b0 (NAS-102442) Only change jail type if it's a template
c3d154f Ability to list remote releases
cab7291 Expose new api for listing resources
540fa7e Add depth parameter to returning children datasets
866ee47 Add a method to return iocroot
772472f Merge pull request #984 from iocage/NAS-102428
3362d5c Refactor resource classes to be in separate files
e124e1d Handle iocroot non-existence gracefully
d87e012...

Read more

1.1

25 Jan 21:35
Compare
Choose a tag to compare
1.1

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

22 Dec 21:09
Compare
Choose a tag to compare
1.0

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
ca556...

Read more

0.9.10

23 Dec 03:25
Compare
Choose a tag to compare
0.9.10 Pre-release
Pre-release

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

30 Sep 05:19
Compare
Choose a tag to compare
0.9.9.2 Pre-release
Pre-release

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 da0f08a . - Add option -R to destroy, as per 7c6dd26 . - 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

01 Aug 19:36
Compare
Choose a tag to compare
0.9.9.1 Pre-release
Pre-release

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

29 Jul 04:15
Compare
Choose a tag to compare
0.9.9 Pre-release
Pre-release

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`
Re...
Read more

0.9.8.1

24 May 01:09
Compare
Choose a tag to compare
0.9.8.1 Pre-release
Pre-release

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

18 May 20:18
Compare
Choose a tag to compare
0.9.8 Pre-release
Pre-release

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

09 Mar 01:16
Compare
Choose a tag to compare
0.9.7 Pre-release
Pre-release

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