LGTM

On Mon, 27 Apr 2015 at 14:29 'Klaus Aehlig' via ganeti-devel <
[email protected]> wrote:

>
>
> commit 9385baad06e9a242f6a77b98a1adbe2d1ea1bda6
> Merge: b110fcb 9492dac
> Author: Klaus Aehlig <[email protected]>
> Date:   Mon Apr 27 14:13:39 2015 +0200
>
>     Merge branch 'stable-2.15' into master
>
>     * stable-2.15
>       Document dedicated allocation changes in NEWS
>       Prepare release of 2.15.0~beta1
>       Add design doc for 2.15
>
>     * stable-2.14
>       Add self to top-level functions that were moved to a class
>       Remove whitespace in empty line
>       Improve tests for adding and modifying disks
>       Group all the disk modification checks together
>       Group disk provider checks with other mod checks
>       Refactor disk_provider checks into helper function
>
>     * stable-2.13
>       Fix sample 2.12 configuration
>       NodeSshRemoveKey: Add retries for updating the target node
>       SSH file manager: properly name assertion function
>       Unittests: Simplify generating a master candidate node
>       RemoveNodeSshKey: use retries when updating other nodes
>       AddNodeSshKey: retries for all non-master nodes
>       AddNodeSshKey: retry when target node not reachable
>       Remove obsolete constant SSHS_RENAME
>       Simplify testdata setup and teardown
>       Consider offline nodes when removing SSH keys
>       Consider offline nodes in NodeSshKeyAdd
>       Use SSH file manager for unittests removing keys
>       Use SSH file manager in key adding unit tests
>       Introduce (testutils) SSH file manager
>       Only delete old node keys in one-key-setup
>       Add debug comments to RenewCrypto
>       Fix renewing master node's SSH key
>       Create CHROOT directory before copy COMP_FILENAME
>       Add missing design document to Makefile.am
>
>     * stable-2.12
>       When assigning UUIDs to disks, do so recursively
>       Fix sample 2.11 configuration
>       Include hypervisor parameters in SSConf
>       Add SSConf keys for hypervisor parameters
>       Use Hypervisor as the key in ClusterHvParams
>       Re-remove final config update in renew-crypto
>       Fix string formatting in private object representation
>       Fix the computation of the list of reserved IP addresses
>       Increase number of retries for daemon RPCs
>
>     * stable-2.11
>       Update configure file to version 2.11.7
>       Update NEWS file for 2.11.7 release
>       Add logging to RenewCrypto
>       Fix format string for gnt-network info
>       Replace textwrapper.wrap by a custom version for networks
>       Add SSL improvements to NEWS file
>
>     * stable-2.10
>       Update tag limitations
>       Fix typos in doc/design-storagetypes.rst
>       Make getFQDN prefer cluster protocol family
>       Add version of getFQDN accepting preferences
>       Make getFQDN honor vcluster
>
>     Conflicts:
>         NEWS
>         test/py/testutils/config_mock.py
>     Resolution:
>         take both additions
>     Semantical conflict:
>         configure.ac: ignore suffix bump
>
>     Signed-off-by: Klaus Aehlig <[email protected]>
>
> diff --cc NEWS
> index 2153b50,02fb603..c6a86d8
> --- a/NEWS
> +++ b/NEWS
> @@@ -2,16 -2,10 +2,16 @@@ New
>   ====
>
>
>  +Version 2.16.0
>  +--------------
>  +
>  +*(unreleased)*
>  +
>  +
> - Version 2.15.0
> - --------------
> + Version 2.15.0 beta1
> + --------------------
>
> - *(unreleased)*
> + *(Released Thu, 23 Apr 2015)*
>
>   Incompatible/important changes
>   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> diff --cc test/py/testutils/config_mock.py
> index 5c06d62,0ca0dc7..4cb485f
> --- a/test/py/testutils/config_mock.py
> +++ b/test/py/testutils/config_mock.py
> @@@ -860,26 -860,8 +860,32 @@@ class ConfigMock(config.ConfigWriter)
>       self._UnlockedReleaseDRBDMinors(instance.uuid)
>       self._UnlockedCommitTemporaryIps(ec_id)
>
>  +  def _UnlockedAddDisk(self, disk):
>  +    disk.UpgradeConfig()
>  +    self._ConfigData().disks[disk.uuid] = disk
>  +    self._ConfigData().cluster.serial_no += 1 # pylint: disable=E1103
>  +    self._UnlockedReleaseDRBDMinors(disk.uuid)
>  +
>  +  def _UnlockedAttachInstanceDisk(self, inst_uuid, disk_uuid, idx=None):
>  +    instance = self._UnlockedGetInstanceInfo(inst_uuid)
>  +    if idx is None:
>  +      idx = len(instance.disks)
>  +    instance.disks.insert(idx, disk_uuid)
>  +    instance_disks = self._UnlockedGetInstanceDisks(inst_uuid)
>  +    for (disk_idx, disk) in enumerate(instance_disks[idx:]):
>  +      disk.iv_name = "disk/%s" % (idx + disk_idx)
>  +    instance.serial_no += 1
>  +    instance.mtime = time.time()
>  +
>  +  def AddInstanceDisk(self, inst_uuid, disk, idx=None, replace=False):
>  +    self._UnlockedAddDisk(disk)
>  +    self._UnlockedAttachInstanceDisk(inst_uuid, disk.uuid, idx)
>  +
>  +  def AttachInstanceDisk(self, inst_uuid, disk_uuid, idx=None):
>  +    self._UnlockedAttachInstanceDisk(inst_uuid, disk_uuid, idx)
> ++
> +   def GetDisk(self, disk_uuid):
> +     """Retrieves a disk object if present.
> +
> +     """
> +     return self._ConfigData().disks[disk_uuid]
>
> --
> Klaus Aehlig
> Google Germany GmbH, Dienerstr. 12, 80331 Muenchen
> Registergericht und -nummer: Hamburg, HRB 86891
> Sitz der Gesellschaft: Hamburg
> Geschaeftsfuehrer: Graham Law, Christine Elizabeth Flores
>

Reply via email to