Ganeti 2.7.0 available
[Posted July 10, 2013 by n8willis]
| From: |
| Guido Trotter <ultrotter-AT-google.com> |
| To: |
| lwn-AT-lwn.net |
| Subject: |
| Fwd: Ganeti 2.7.0 released |
| Date: |
| Thu, 4 Jul 2013 15:41:04 +0200 |
| Message-ID: |
| <CADUU3JyJf_g7t5F95Er_iVwVhMHihzoO8cfZ=NPY+cz_FtwFLw@mail.gmail.com> |
---------- Forwarded message ----------
From: Guido Trotter <ultrotter@google.com>
Date: Thu, Jul 4, 2013 at 3:40 PM
Subject: Ganeti 2.7.0 released
To: Ganeti Users list <ganeti@googlegroups.com>
Hi,
We are happy to announce that Ganeti 2.7.0 has been released, with no
important changes from 2.7.0~rc3. Here is the NEWS file entry for 2.7:
Version 2.7.0
-------------
*(Released Thu, 04 Jul 2013)*
Incompatible/important changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Instance policies for disk size were documented to be on a per-disk
basis, but hail applied them to the sum of all disks. This has been
fixed.
- ``hbal`` will now exit with status 0 if, during job execution over
LUXI, early exit has been requested and all jobs are successful;
before, exit status 1 was used, which cannot be differentiated from
"job error" case
- Compatibility with newer versions of rbd has been fixed
- ``gnt-instance batch-create`` has been changed to use the bulk create
opcode from Ganeti. This lead to incompatible changes in the format of
the JSON file. It's now not a custom dict anymore but a dict
compatible with the ``OpInstanceCreate`` opcode.
- Parent directories for file storage need to be listed in
``$sysconfdir/ganeti/file-storage-paths`` now. ``cfgupgrade`` will
write the file automatically based on old configuration values, but it
can not distribute it across all nodes and the file contents should be
verified. Use ``gnt-cluster copyfile
$sysconfdir/ganeti/file-storage-paths`` once the cluster has been
upgraded. The reason for requiring this list of paths now is that
before it would have been possible to inject new paths via RPC,
allowing files to be created in arbitrary locations. The RPC protocol
is protected using SSL/X.509 certificates, but as a design principle
Ganeti does not permit arbitrary paths to be passed.
- The parsing of the variants file for OSes (see
:manpage:`ganeti-os-interface(7)`) has been slightly changed: now empty
lines and comment lines (starting with ``#``) are ignored for better
readability.
- The ``setup-ssh`` tool added in Ganeti 2.2 has been replaced and is no
longer available. ``gnt-node add`` now invokes a new tool on the
destination node, named ``prepare-node-join``, to configure the SSH
daemon. Paramiko is no longer necessary to configure nodes' SSH
daemons via ``gnt-node add``.
- Draining (``gnt-cluster queue drain``) and un-draining the job queue
(``gnt-cluster queue undrain``) now affects all nodes in a cluster and
the flag is not reset after a master failover.
- Python 2.4 has *not* been tested with this release. Using 2.6 or above
is recommended. 2.6 will be mandatory from the 2.8 series.
New features
~~~~~~~~~~~~
- New network management functionality to support automatic allocation
of IP addresses and managing of network parameters. See
:manpage:`gnt-network(8)` for more details.
- New external storage backend, to allow managing arbitrary storage
systems external to the cluster. See
:manpage:`ganeti-extstorage-interface(7)`.
- New ``exclusive-storage`` node parameter added, restricted to
nodegroup level. When it's set to true, physical disks are assigned in
an exclusive fashion to instances, as documented in :doc:`Partitioned
Ganeti <design-partitioned>`. Currently, only instances using the
``plain`` disk template are supported.
- The KVM hypervisor has been updated with many new hypervisor
parameters, including a generic one for passing arbitrary command line
values. See a complete list in :manpage:`gnt-instance(8)`. It is now
compatible up to qemu 1.4.
- A new tool, called ``mon-collector``, is the stand-alone executor of
the data collectors for a monitoring system. As of this version, it
just includes the DRBD data collector, that can be executed by calling
``mon-collector`` using the ``drbd`` parameter. See
:manpage:`mon-collector(7)`.
- A new user option, :pyeval:`rapi.RAPI_ACCESS_READ`, has been added
for RAPI users. It allows granting permissions to query for
information to a specific user without giving
:pyeval:`rapi.RAPI_ACCESS_WRITE` permissions.
- A new tool named ``node-cleanup`` has been added. It cleans remains of
a cluster from a machine by stopping all daemons, removing
certificates and ssconf files. Unless the ``--no-backup`` option is
given, copies of the certificates are made.
- Instance creations now support the use of opportunistic locking,
potentially speeding up the (parallel) creation of multiple instances.
This feature is currently only available via the :doc:`RAPI
<rapi>` interface and when an instance allocator is used. If the
``opportunistic_locking`` parameter is set the opcode will try to
acquire as many locks as possible, but will not wait for any locks
held by other opcodes. If not enough resources can be found to
allocate the instance, the temporary error code
:pyeval:`errors.ECODE_TEMP_NORES` is returned. The operation can be
retried thereafter, with or without opportunistic locking.
- New experimental linux-ha resource scripts.
- Restricted-commands support: ganeti can now be asked (via command line
or rapi) to perform commands on a node. These are passed via ganeti
RPC rather than ssh. This functionality is restricted to commands
specified on the ``$sysconfdir/ganeti/restricted-commands`` for security
reasons. The file is not copied automatically.
Misc changes
~~~~~~~~~~~~
- Diskless instances are now externally mirrored (Issue 237). This for
now has only been tested in conjunction with explicit target nodes for
migration/failover.
- Queries not needing locks or RPC access to the node can now be
performed by the confd daemon, making them independent from jobs, and
thus faster to execute. This is selectable at configure time.
- The functionality for allocating multiple instances at once has been
overhauled and is now also available through :doc:`RAPI <rapi>`.
There are no significant changes from version 2.7.0~rc3.
--
Guido Trotter
Ganeti Engineering
Google Germany GmbH
Dienerstr. 12, 80331, München
Registergericht und -nummer: Hamburg, HRB 86891
Sitz der Gesellschaft: Hamburg
Geschäftsführer: Graham Law, Katherine Stephens
Steuernummer: 48/725/00206
Umsatzsteueridentifikationsnummer: DE813741370