Commit ba4d4ff4 authored by Klaus Aehlig's avatar Klaus Aehlig

Merge branch 'stable-2.12' into stable-2.13

* stable-2.12
  Bugfix in checkInstanceMove function in Cluster.hs
  Revision bump for 2.12.5
  Update the NEWS file for 2.12.5
  Update Xen documentation in install.rst
  Clarify need for the migration_port Xen param

Conflicts:
	NEWS: take both new entries
	configure.ac: keep version and revision of stable-2.13
Signed-off-by: 's avatarKlaus Aehlig <aehlig@google.com>
Reviewed-by: 's avatarPetr Pudlak <pudlak@google.com>
parents 49751954 991eb59c
......@@ -149,6 +149,50 @@ Fixes inherited from the 2.12 branch:
- Refuse to demote master from master capability (issue 1023)
Version 2.12.5
--------------
*(Released Mon, 13 Jul 2015)*
Incompatible/important changes
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- This release contains a fix for the problem that different encodings in
SSL certificates can break RPC communication (issue 1094). The fix makes
it necessary to rerun 'gnt-cluster renew-crypto --new-node-certificates'
after the cluster is fully upgraded to 2.12.5.
Fixed and improvements
~~~~~~~~~~~~~~~~~~~~~~
- Fixed Issue #1030: GlusterFS support breaks at upgrade to 2.12 -
switches back to shared-file
- Fixed Issue #1094 (see the notice in Incompatible/important changes):
Differences in encodings of SSL certificates can render a cluster
uncommunicative after a master-failover
- Fixed Issue #1098: Support for ECDSA SSH keys
- Fixed Issue #1100: Filter-evaluation for run-time data filter
- Fixed Issue #1101: Modifying the storage directory for the shared-file
disk template doesn't work
- Fixed Issue #1108: Spurious "NIC name already used" errors during
instance creation
- Fixed Issue #1114: Binding RAPI to a specific IP makes the watcher
restart the RAPI
- Fixed Issue #1115: Race between starting WConfD and updating the config
- Better handling of the "crashed" Xen state
- The ``htools`` now properly work also on shared-storage clusters
- Various improvements to the documentation have been added
Inherited from the 2.11 branch:
- Fixed Issue #1113: Reduce amount of logging on successful requests
Known issues
~~~~~~~~~~~~
- Issue #1104: gnt-backup: dh key too small
Version 2.12.4
--------------
......
......@@ -162,54 +162,24 @@ kernels. For KVM no reboot should be necessary.
Xen settings
~~~~~~~~~~~~
It's recommended that dom0 is restricted to a low amount of memory
(512MiB or 1GiB is reasonable) and that memory ballooning is disabled in
the file ``/etc/xen/xend-config.sxp`` by setting the value
``dom0-min-mem`` to 0, like this::
Depending on which toolstack you are using, the hypervisor parameter
``xen_cmd`` has to be set to the matching value, either ``xm`` or
``xl``.
(dom0-min-mem 0)
Some useful best practices for Xen are to restrict the amount of memory
dom0 has available, and pin the dom0 to a limited number of CPUs.
Instructions for how to achieve this for various toolstacks can be found
on the Xen wiki_.
For optimum performance when running both CPU and I/O intensive
instances, it's also recommended that the dom0 is restricted to one CPU
only. For example you can add ``dom0_max_vcpus=1,dom0_vcpus_pin`` to your
kernels boot command line and set ``dom0-cpus`` in
``/etc/xen/xend-config.sxp`` like this::
.. _wiki: http://wiki.xenproject.org/wiki/Xen_Project_Best_Practices
(dom0-cpus 1)
It is recommended that you disable xen's automatic save of virtual
It is recommended that you disable Xen's automatic save of virtual
machines at system shutdown and subsequent restore of them at reboot.
To obtain this make sure the variable ``XENDOMAINS_SAVE`` in the file
``/etc/default/xendomains`` is set to an empty value.
If you want to use live migration make sure you have, in the xen config
file, something that allows the nodes to migrate instances between each
other. For example:
.. code-block:: text
(xend-relocation-server yes)
(xend-relocation-port 8002)
(xend-relocation-address '')
(xend-relocation-hosts-allow '^192\\.0\\.2\\.[0-9]+$')
The second line assumes that the hypervisor parameter
``migration_port`` is set 8002, otherwise modify it to match. The last
line assumes that all your nodes have secondary IPs in the
192.0.2.0/24 network, adjust it accordingly to your setup.
If you want to run HVM instances too with Ganeti and want VNC access to
the console of your instances, set the following two entries in
``/etc/xen/xend-config.sxp``:
.. code-block:: text
(vnc-listen '0.0.0.0') (vncpasswd '')
You need to restart the Xen daemon for these settings to take effect::
$ /etc/init.d/xend restart
You may need to restart the Xen daemon for some of these settings to
take effect. The best way to do this depends on your distribution.
Selecting the instance kernel
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
......
......@@ -334,10 +334,10 @@ configurable globally (at cluster level):
migration\_port
Valid for the Xen PVM and KVM hypervisors.
This options specifies the TCP port to use for live-migration. For
Xen, the same port should be configured on all nodes in the
``@XEN_CONFIG_DIR@/xend-config.sxp`` file, under the key
"xend-relocation-port".
This options specifies the TCP port to use for live-migration when
using the xm toolstack. The same port should be configured on all
nodes in the ``@XEN_CONFIG_DIR@/xend-config.sxp`` file, under the
key "xend-relocation-port".
migration\_bandwidth
Valid for the KVM hypervisor.
......
......@@ -623,39 +623,42 @@ checkSingleStep force ini_tbl target cur_tbl move =
possibleMoves :: MirrorType -- ^ The mirroring type of the instance
-> Bool -- ^ Whether the secondary node is a valid new node
-> Bool -- ^ Whether we can change the primary node
-> Bool -- ^ Whether we alowed to move disks
-> (Bool, Bool) -- ^ Whether migration is restricted and whether
-- the instance primary is offline
-> Ndx -- ^ Target node candidate
-> [IMove] -- ^ List of valid result moves
possibleMoves MirrorNone _ _ _ _ = []
possibleMoves MirrorNone _ _ _ _ _ = []
possibleMoves MirrorExternal _ False _ _ = []
possibleMoves MirrorExternal _ False _ _ _ = []
possibleMoves MirrorExternal _ True _ tdx =
possibleMoves MirrorExternal _ True _ _ tdx =
[ FailoverToAny tdx ]
possibleMoves MirrorInternal _ False _ tdx =
possibleMoves MirrorInternal _ _ False _ _ = []
possibleMoves MirrorInternal _ False True _ tdx =
[ ReplaceSecondary tdx ]
possibleMoves MirrorInternal _ _ (True, False) tdx =
possibleMoves MirrorInternal _ _ True (True, False) tdx =
[ ReplaceSecondary tdx
]
possibleMoves MirrorInternal True True (False, _) tdx =
possibleMoves MirrorInternal True True True (False, _) tdx =
[ ReplaceSecondary tdx
, ReplaceAndFailover tdx
, ReplacePrimary tdx
, FailoverAndReplace tdx
]
possibleMoves MirrorInternal True True (True, True) tdx =
possibleMoves MirrorInternal True True True (True, True) tdx =
[ ReplaceSecondary tdx
, ReplaceAndFailover tdx
, FailoverAndReplace tdx
]
possibleMoves MirrorInternal False True _ tdx =
possibleMoves MirrorInternal False True True _ tdx =
[ ReplaceSecondary tdx
, ReplaceAndFailover tdx
]
......@@ -685,12 +688,8 @@ checkInstanceMove opts nodes_idx ini_tbl@(Table nl _ _ _) target =
primary_drained = Node.offline
. flip Container.find nl
$ Instance.pNode target
all_moves =
if disk_moves
then concatMap (possibleMoves mir_type use_secondary inst_moves
(rest_mig, primary_drained))
nodes
else []
all_moves = concatMap (possibleMoves mir_type use_secondary inst_moves
disk_moves (rest_mig, primary_drained)) nodes
in
-- iterate over the possible nodes for this instance
foldl' (checkSingleStep force ini_tbl target) aft_failover all_moves
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment