Instance manager 0.3 (Beta release) (Jul 18, 2006)
This is not a final release. Experimental releases should only be used for testing and development. Do not use these on production sites, and make sure you have proper backups before installing.
Mainly server side support: zeo, more backup/restore. Also standard optparse options.
For additional information about this project, please visit the project page .
Available downloads
Change log
2006-07-18 Reinout van Rees <reinout@zestsoftware.nl>
* src/instancemanager/utils.py: Added svn export support.
* setup.cfg: Released 0.3.
2006-07-18 Maurits van Rees <maurits@zestsoftware.nl>
* src/instancemanager/defaults.py: Fixed missing comma and wrong
order of actions in fresh and soft multiaction.
2006-07-17 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/instancemanager/actions.py,
src/instancemanager/actionutils.py: Refactor use of
InvokedInVolatileDir Exception: move it to actionutils and also
use it in class CreateInstanceAction.
2006-07-17 Russ Ferriday <russf@topia.com>
* src/instancemanager/actions.py: renamed avoidUsageWithinProductsDir()
to trapUsageWithinVolatileDir and raise exception. More generic approach
can be used with similar tests in ZEO handing. Ref. email with Mauritz.
2006-07-17 Reinout van Rees <r.van.rees@zestsoftware.nl>
* src/instancemanager/actions.py: Added forced full backup,
snapshot backup, snapshot restore and sync options to a new
--repozo action.
* src/instancemanager/actionutils.py: Refactored the backup and
restore actions in preparation for a more diverse repozo action.
* src/instancemanager/actions.py: Large-scale restructuring of the
way instancemanager handles options. I'm using python's optparse
module now. See "instancemanager -h" for a usage message.
Big change also: multi-actions. You can provide per-project
collections of actions grouped together under a single name. By
default, fresh and soft are provided.
2006-07-17 Russ Ferriday <russf@topia.com>
* src/instancemanager/actions.py: added avoidUsageWithinProductsDir()
to prevent occurrence of current dir being deleted and raising
unexplained IOError. Currently warns in the case the post execution
directory will be invalid.
* src/instancemanager/sources.py: trivial logging and comment change
2006-07-12 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/instancemanager/actions.py (CreateInstanceAction.run): Fixed
old TODO: Also check for current working dir being *below* the
instance dir before creating a new instance.
2006-07-12 Reinout van Rees <reinout@vanrees.org>
* src/instancemanager/actions.py: Added support for a zeo
server+client setup. If you add a use_zeo=True option to your
config, instancemanager will create a zeo server and a zeo client
for you. Copying an existing database will copy it to the zeo
server's var/ directory, then. There's an extra startzeo/stopzeo
command, also.
2006-07-10 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/instancemanager/quickreinstaller.py: Added FakeResponse as
this was needed by a product. That product still gives other
errors, but those should be unrelated.
2006-07-09 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/instancemanager/quickreinstaller.py,
src/instancemanager/actions.py, src/instancemanager/defaults.py :
Added config option 'generic_setup_profiles' to apply site
customizations with GenericSetup. Please test.
2006-07-08 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/instancemanager/sources.py: First check if target is symlink
before removing it. Previous implementation would remove the
contents of a symlink to a directory and then fail.
2006-07-06 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/instancemanager/actions.py: check for existence of
bin/zopectl.
* src/instancemanager/mainprogram.py: add performActionOnProject
function to remove some code duplication.
2006-07-02 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/instancemanager/defaults.py: Changed double archive_sources and
archive_basedir_template to their bundle variants.
2006-06-27 Russ Ferriday <russf@topia.com>
* replaced "tgz" with "archive" in config attribute names, while
maintaining compatibility with attribute names in existing config
files. Allowed non-gzipped archives, and refactored archive
expansion into one utility function.
2006-06-26 Reinout van Rees <reinout@isengrim.ddns.hightechcampus.nl>
* src/instancemanager/configuration.py: Patch by Russ Ferriday to
prevent copying of .pyc files to the .instancemanager config dir.
2006-06-22 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/instancemanager/sources.py: warn before removing a product
when switching to another version (e.g. symlink instead of tgz).
Also use removeTargetIfExists() when adding a tgz or symlink
source.
* src/instancemanager/configuration.py: sort the sources so the
order of product installation is clear: bundles first, then
singles.
2006-06-21 Maurits van Rees <m.van.rees@zestsoftware.nl>
* bash_completion, src/instancemanager/actions.py: Added fg action
to put the zope instance in the foreground. You first need to
stop it manually (e.g. with the stop action).
2006-06-21 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/instancemanager/mainprogram.py: loglevels in lowercase are
allowed now.
2006-06-20 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/mainprogram.py, src/sources.py: Added command line option to
set the log level for the log that is printed to standard out.
With help from Joris Slob.
2006-06-20 Maurits van Rees <m.van.rees@zestsoftware.nl>
* bash_completion: pretty functional now.
2006-06-19 Reinout van Rees <reinout@isengrim.ddns.hightechcampus.nl>
* src/instancemanager/mainprogram.py: Added project alias ALL that
performs the action (like 'stop') for all projects.
2006-06-08 Maurits van Rees <m.van.rees@zestsoftware.nl>
* src/quickreinstaller.py: Use request for making a new plone
site, which makes this work again. Also check if ATContentTypes
needs to be updated.
* src/sources.py: If a tgz source ends with 'zip' unzip it instead
of using tar.
2006-06-06 Reinout van Rees <r.van.rees@zestsoftware.nl>
* src/mainprogram.py: Corrected error on first startup: the config
dir is now being created.
* setup.py: Large-scale moving: putting instancemanager as a
directory inside src/ instead of having the files directly in
src. Also switched to using setuptools.
* setup.py: instancemanager is now easy-installable using
"easy_install instancemanager"!
2006-06-04 Jean-Paul Ladage <j.ladage@zestsoftware.nl>
* src/actions.py: Added restore action, which restores the last
available backup from the backup repository directory. This action
will also remove the temporary files: Data.fs.tmp, Data.fs.index
and Data.fs.lock.
* Refactored backup and restore action. For each project a
subdirectory is created inside the BackupsBaseDir.
2006-06-02 Jean-Paul Ladage <j.ladage@zestsoftware.nl>
* src/actions.py: Refactored the backup action, it now checks if
the target folder exists and will created it if missing. Also set
the PYTHONPATH using os.environ.
* refactored ParseArguments. you can now use either:
instancemanager <action> <project>
or
instancemanager <project> <action>
Also invalid projects or actions will be detected and will throw
a warning.
2006-06-01 Jean-Paul Ladage <j.ladage@zestsoftware.nl>
* src/actions.py: Added backupDatabase action which uses repozo.py
to make an online backup of the instance Data.fs
* src/configuration.py: Added a backupBaseDir method which returns
the backup_basedir_template variable from config. Also added
databasePath method which returns the full path to the instance
Data.fs
* src/defaults.py: Added the backup_basedir_template variable for
storing backups
2006-06-01 Reinout van Rees <reinout@vanrees.org>
* src/actions.py: Added loads more documentation.
* src/quickreinstaller.py: Removed the fake request and the not
quite elegant passing-along of REQUEST. Copied some boilerplate
code Daniel Nouri showed me yesterday (makerequest). Much
neater. Less code! :-)
* src/quickreinstaller.py: Re-added the fake request later on
because cmflinkchecker ruins later reinstalls otherwise. But I
re-added it just inside the actual product reinstall part, so the
code stays cleaner than it was before.
2006-05-01 Maurits van Rees <maurits@vanrees.org>
* src/quickreinstaller.py: Create a plone site with the name of
the config option plone_site_name if it does not exist yet. Needs
more eyeballs though.
* src/action.py, src/sources.py: addProduct() now checks if the
source for that product exists and for now just gives a warning if
it doesn't.
2006-05-29 Reinout van Rees <reinout@vanrees.org>
* src/quickreinstaller.py: Moved the fake request so that the
reinstall method also uses it. Needed for (at least)
textindexng3.
2006-05-29 Maurits van Rees <m.van.rees@zestsoftware.nl>
* bash_completion: Beginning of command completion in bash.

