X-Git-Url: https://code.grnet.gr/git/ganeti-local/blobdiff_plain/d5fe5fa91bf6e2f152ac348bc29805d5c064f0b6..82437b280123d50fcab4f63e8ddfb79fdf6f6786:/NEWS diff --git a/NEWS b/NEWS index 5f07284..09fc29e 100644 --- a/NEWS +++ b/NEWS @@ -2,19 +2,37 @@ News ==== -Version 2.7.0 beta1 +Version 2.8.0 beta1 ------------------- *(unreleased)* +- The minimum Python version needed to run Ganeti is now 2.6. +- The :doc:`Remote API ` daemon now supports a command line flag + to always require authentication, ``--require-authentication``. It can + be specified in ``$sysconfdir/default/ganeti``. +- A new cluster attribute 'enabled_storage_types' is introduced. It will + be used to manage the storage types to be used by instances in the cluster. + Initially, it will be set to a list that includes lvm, file and sharedfile + if those are enabled. Additionally, it will include all storage types that + are currently used by instances. The order of storage types will be based + on Ganeti's history of supporting them. In the future, the first entry of + the list will be used as a default storage type on instance creation. + + +Version 2.7.0 beta1 +------------------- + +*(Released Wed, 6 Feb 2013)* + - ``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 now to be listed in - ``$sysconfdir/ganeti/file-storage-paths``. ``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 +- 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 @@ -23,12 +41,14 @@ Version 2.7.0 beta1 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(8)` has been slightly changed: now empty - lines and comment lines are ignored for better readability. -- The ``setup-ssh`` tool added in Ganeti 2.2 has been replaced. - ``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``. + :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``. - 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 @@ -37,6 +57,118 @@ Version 2.7.0 beta1 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. +- 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. +- 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 + ` 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. +- The functionality for allocating multiple instances at once has been + overhauled and is now also available through :doc:`RAPI `. +- Man pages can now be included when the documentation is built, in + which case the output is in ``doc/man-html``. The configure-time + option is ``--enable-manpages-in-doc``. Sphinx 1.0 or higher is + required. +- A new htool called ``hroller`` helps scheduling parallel shutdown of + nodes on clusters where all instances are shut down, but without ever + rebooting both primary and secondary node for an instance at the same + time. +- 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 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)`. +- 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)`. +- New ``exclusive-storage`` node parameter added. When it's set to true, + physical disks are assigned in an exclusive fashion to instances, as + documented in :doc:`Partitioned Ganeti `. + Currently, only instances using the ``plain`` disk template are + supported. +- 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)`. +- Instance renames of LVM-based instances will now update the LV tags + (which can be used to recover the instance-to-LV mapping in case of + emergencies) +- ``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 + + +Version 2.6.2 +------------- + +*(Released Fri, 21 Dec 2012)* + +Important behaviour change: hbal won't rebalance anymore instances which +have the ``auto_balance`` attribute set to false. This was the intention +all along, but until now it only skipped those from the N+1 memory +reservation (DRBD-specific). + +A significant number of bug fixes in this release: + +- Fixed disk adoption interaction with ipolicy checks. +- Fixed networking issues when instances are started, stopped or + migrated, by forcing the tap device's MAC prefix to "fe" (issue 217). +- Fixed the warning in cluster verify for shared storage instances not + being redundant. +- Fixed removal of storage directory on shared file storage (issue 262). +- Fixed validation of LVM volume group name in OpClusterSetParams + (``gnt-cluster modify``) (issue 285). +- Fixed runtime memory increases (``gnt-instance modify -m``). +- Fixed live migration under Xen's ``xl`` mode. +- Fixed ``gnt-instance console`` with ``xl``. +- Fixed building with newer Haskell compiler/libraries. +- Fixed PID file writing in Haskell daemons (confd); this prevents + restart issues if confd was launched manually (outside of + ``daemon-util``) while another copy of it was running +- Fixed a type error when doing live migrations with KVM (issue 297) and + the error messages for failing migrations have been improved. +- Fixed opcode validation for the out-of-band commands (``gnt-node + power``). +- Fixed a type error when unsetting OS hypervisor parameters (issue + 311); now it's possible to unset all OS-specific hypervisor + parameters. +- Fixed the ``dry-run`` mode for many operations: verification of + results was over-zealous but didn't take into account the ``dry-run`` + operation, resulting in "wrong" failures. +- Fixed bash completion in ``gnt-job list`` when the job queue has + hundreds of entries; especially with older ``bash`` versions, this + results in significant CPU usage. + +And lastly, a few other improvements have been made: + +- Added option to force master-failover without voting (issue 282). +- Clarified error message on lock conflict (issue 287). +- Logging of newly submitted jobs has been improved (issue 290). +- Hostname checks have been made uniform between instance rename and + create (issue 291). +- The ``--submit`` option is now supported by ``gnt-debug delay``. +- Shutting down the master daemon by sending SIGTERM now stops it from + processing jobs waiting for locks; instead, those jobs will be started + once again after the master daemon is started the next time (issue + 296). +- Support for Xen's ``xl`` program has been improved (besides the fixes + above). +- Reduced logging noise in the Haskell confd daemon (only show one log + entry for each config reload, instead of two). +- Several man page updates and typo fixes. Version 2.6.1 @@ -628,7 +760,7 @@ New features - Instance migration can fall back to failover if instance is not running. - Filters can be used when listing nodes, instances, groups and locks; - see *ganeti(7)* manpage. + see :manpage:`ganeti(7)` manpage. - Added post-execution status as variables to :doc:`hooks ` environment. - Instance tags are exported/imported together with the instance.