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

0.9.9

Pre-release
Pre-release
Compare
Choose a tag to compare
@skarekrow skarekrow released this 29 Jul 04:15
· 1931 commits to master since this 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`
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