FYI the just released devpi-server-2.2.1 fixed a problem in the initialization
code of replicas which prevented a replica to startup correctly.
best,
holger
--
about me: http://holgerkrekel.net/about-me/
contracting: http://merlinux.eu
Hi!
We have added two options to devpi-server which might help to reduce the
downtime during a devpi-server update.
The first one ``--hard-links`` is for exports. It creates hard-links to
releases and doc zips instead of copying the data. The usual OS specific
things apply. For most OS's the current server status and the export
destination needs to be in the same filesystem. The operation itself is
safe as long as no files in the export are modified, since they point to
the actual files of devpi-server. The export is a lot faster and
obviously needs way less space with that option instead of a regular
export. If the hard linking doesn't work, there will be an error very
early in the export process.
The second option ``--no-events`` is relevant for imports. When used, no
plugin hooks in devpi-web etc are called during import. Instead all the
events will be triggered once the server starts again. This massively
reduces the time needed for import. The downside is, that rendering of
descriptions, unpacking of documentation and the indexing of everything
happens step by step while the server is already running. Until all
events have been processed, the server is usable, but the mentioned
items are only available up to the currently processed event. So for a
while the search won't return everything and the docs won't all be
accessible.
The import still needs the full space as before. It's not possible to
use hard links for the import.
Regards,
Florian Schulze
devpi-{server-2.2,web-2.3,client-2.2}: plugins, wheel support, pypi compat
============================================================================
With devpi-server-2.2, devpi-web-2.3, devpi-client-2.2 you'll get a host of fixes
and improvements as well as some major new features for the private pypi system:
- refined devpi-server plugin architecture based on "pluggy", the plugin and hook
mechanism factored out from pytest.
- devpi-client "test" now support testing of universal wheels IFF you have have an sdist
alongside your wheel. python-specific wheels are not supported at this point.
- devpi client "refresh NAME" allows to force a refresh of a pypi package
from the command line.
- internal refactorings to allow future pypi compatibility (for when it
changes to SHA256 checksums). Also we use SHA256 checksumming ourselves now.
For many more changes and fixes, please see the respective CHANGELOG of the
respective packages.
UPGRADE note: devpi-server-2.2 requires to ``--export`` your 2.1
server state and then using ``--import`` with the new version
before you can serve your private packages through devpi-server-2.2.
UPGRADE note: if you use ``updatetrigger_jenkins``, you have to install
the devpi-jenkins plugin. You will get an error during import if you forget it.
For docs and quickstart tutorials see http://doc.devpi.net
many thanks to Florian Schulze who co-implemented many of the new features.
And special thanks go to the two companies who funded major parts of the above work.
have fun,
holger krekel, merlinux GmbH