ganeti-local
10 years agoAdd general storage parameters to node info call
Helga Velroyen [Tue, 25 Jun 2013 14:24:26 +0000 (16:24 +0200)]
Add general storage parameters to node info call

As described in the design doc about storage types,
we plan to generalize the RPC call "node info" wrt to
storage types. This patch extends the call by accepting
a list of storage units, that is not only identified
by storage type and identifier, but enhanced by additional
parameters. So far, only LVM storage has an additional
parameter, which is the 'exclusive storage' flag. This
patch enhances the backend code of the node info call
to be able to handle this change.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agobackend unit tests: remove unused imports and variables
Helga Velroyen [Tue, 25 Jun 2013 16:29:11 +0000 (18:29 +0200)]
backend unit tests: remove unused imports and variables

This patch removes some unused imports and an unused
variable of the backend unit test. No functional changes
otherwise.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoPrevent LV parser compile error
Michele Tartara [Mon, 1 Jul 2013 12:50:03 +0000 (14:50 +0200)]
Prevent LV parser compile error

The LV parser is not compiled correctly by more recent versions of GHC
because of more strict checks.

lvCommand is a surely non-empty list, but the compiler still refuses it
asking for explicitly management of the empty list case.

Instead of managing that case (that would be meaningless), the lvCommand
is split into lvCommand and lvParams, that can be used independently.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd htools shell test for VCPU handling
Bernardo Dal Seno [Mon, 1 Jul 2013 00:39:50 +0000 (02:39 +0200)]
Add htools shell test for VCPU handling

This tests that VCPUs used by both instances and node OS are correctly
accounted in allocation.

Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoLoad CPUs used by the node OS in htools
Bernardo Dal Seno [Fri, 28 Jun 2013 18:55:30 +0000 (20:55 +0200)]
Load CPUs used by the node OS in htools

A new field is added to the Node type, and it's used to initialize the used
CPUs field.

The signature of Node.create has been split among lines to match the
parameter list.

Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoExport CPUs used by the node OS
Bernardo Dal Seno [Fri, 28 Jun 2013 17:40:20 +0000 (19:40 +0200)]
Export CPUs used by the node OS

They are exported through the LUXI, RAPI, and IAllocator interfaces.

Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoHypervisors report CPUs used by the node OS
Bernardo Dal Seno [Fri, 28 Jun 2013 16:13:16 +0000 (18:13 +0200)]
Hypervisors report CPUs used by the node OS

The XenHypervisor's "dom0_cpus" parameter (introduced in 1d60fec6 but never
used) is renamed to "cpu_dom0" for consistency with other parameter
names. The analogous information is returned for the other hypervisors.

Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix docstrings for hypervisor functions returning node info
Bernardo Dal Seno [Fri, 28 Jun 2013 15:41:03 +0000 (17:41 +0200)]
Fix docstrings for hypervisor functions returning node info

The documentation was out-of-sync with the code.

Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd LV collector to the monitoring daemon
Michele Tartara [Tue, 25 Jun 2013 15:54:20 +0000 (15:54 +0000)]
Add LV collector to the monitoring daemon

Allow the monitoring daemon to use the LV data collector.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoAdd tests for the LV data collector
Michele Tartara [Tue, 25 Jun 2013 15:40:43 +0000 (15:40 +0000)]
Add tests for the LV data collector

This commit adds a few shelltests for the logical volume data collector.

Also, it performs some cleanup of the comments already present in the file:
given that the number of the tests should be changed manually, and this is
not being done properly, it is just removed.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoAdd LV data collector
Michele Tartara [Tue, 25 Jun 2013 13:10:23 +0000 (13:10 +0000)]
Add LV data collector

This commit adds the LV data collector.

Also, the lvCommand function was not providing the correct value as expected by
the readProcess function, so it was fixed.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoAdd tests for LVs parser
Michele Tartara [Wed, 19 Jun 2013 16:39:30 +0000 (16:39 +0000)]
Add tests for LVs parser

Add unit tests and Quickcheck tests for the LV parser.

Also, fix the alphabetic order of some imports in htest.hs.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoAdd function testing parsers with QuickCheck
Michele Tartara [Wed, 19 Jun 2013 16:40:58 +0000 (16:40 +0000)]
Add function testing parsers with QuickCheck

Parsing a string automatically generated by QuickCheck can be useful in many
cases. A function for doing this is added to the common test functions.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoAdd function for generating arbitrary UUID
Michele Tartara [Wed, 19 Jun 2013 09:31:00 +0000 (09:31 +0000)]
Add function for generating arbitrary UUID

Add a function for generating arbitrary UUIDs to be used for QuickCheck tests.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoAdd LV parser
Michele Tartara [Fri, 7 Jun 2013 20:34:14 +0000 (20:34 +0000)]
Add LV parser

Add the parser for getting the information about the logical volumes in the
system.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoAdd design for LV data collector
Michele Tartara [Fri, 7 Jun 2013 20:14:17 +0000 (16:14 -0400)]
Add design for LV data collector

Add a section describing the logical volume data collector to the design
document for the monitoring agent.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoMinor fixes to monitoring design doc
Michele Tartara [Fri, 7 Jun 2013 20:09:56 +0000 (16:09 -0400)]
Minor fixes to monitoring design doc

Add a missing full stop, and fix a sentence about the storage collectors.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoFix documentation formatting issue
Michele Tartara [Tue, 4 Jun 2013 18:25:48 +0000 (14:25 -0400)]
Fix documentation formatting issue

One line was longer than 80 characters.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoAdd test for the --full-evacuation option
Klaus Aehlig [Wed, 26 Jun 2013 11:58:36 +0000 (13:58 +0200)]
Add test for the --full-evacuation option

In this example cluster, there are four pairs of nodes, each hosting
two instances. Each node has disk capacity for an additional instance.
Therefore, for normal online rolling reboots, there are two node groups,
of four nodes each, whereas for full evacuation, these have to be refined
to four groups, of two nodes each.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agohroller: option --full-evacuation
Klaus Aehlig [Thu, 27 Jun 2013 13:35:46 +0000 (15:35 +0200)]
hroller: option --full-evacuation

Add an option to hroller, to plan for full evacuation of the
nodes to be rebooted, i.e., also plan for replacement secondary
nodes for all instances on the node after migrating out instances
with this node as primary.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoExtract a partition functional
Klaus Aehlig [Thu, 27 Jun 2013 13:34:14 +0000 (15:34 +0200)]
Extract a partition functional

Separate the partitionNonRedundant function in hroller into a
general functional that partitions a list of nodes according
to some clearing strategy and the specialization of moving
non-redundant instances out. In this way, we don't have to
duplicate code when partitioning due to capacity of finding
new secondary nodes.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoExtract functional for greedily clearing nodes
Klaus Aehlig [Thu, 27 Jun 2013 10:58:15 +0000 (12:58 +0200)]
Extract functional for greedily clearing nodes

The method clearNodes in hroller greedily clears nodes of
non-redundant instances by moving them to a different node. This patch
separates the greedy clearing algorithm from the specialization to
non-redundant instances; in this way, we don't have to duplicate code
when supporting clearing nodes of secondaries.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoMake hroller not consider offline nodes for evacuation
Klaus Aehlig [Wed, 26 Jun 2013 12:51:24 +0000 (14:51 +0200)]
Make hroller not consider offline nodes for evacuation

When planing on where to evacuate the non-redundant instances
of the nodes to be rebooted, it doesn't make sense to consider
offline nodes. So add this restriction to hroller.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoUpdate comments in hroller code
Klaus Aehlig [Wed, 12 Jun 2013 09:42:24 +0000 (11:42 +0200)]
Update comments in hroller code

hroller schedules moves of instances to have rebooted nodes
free of instances with this node as primary. Update the comments
to reflect that this move planning is for non-redundant instances
only.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoClarify meaning of --print-moves in hroller man page
Klaus Aehlig [Wed, 26 Jun 2013 16:21:59 +0000 (18:21 +0200)]
Clarify meaning of --print-moves in hroller man page

When given the option --print-moves, hroller prints a list of
instance relocations after each reboot group. This sequential
presentation can lead to the wrong impression, that these are
all the moves to be carried out. Therefore, explicitly mention
the assumption that after each reboot of a group, all instances
are moved to their initial position.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoRemove obsolete TODO
Klaus Aehlig [Thu, 27 Jun 2013 13:59:15 +0000 (15:59 +0200)]
Remove obsolete TODO

Originally, hroller started as a tool for offline maintenance only.
There it made sense to warn about instances still running. By now,
default planning is to migrate instance off the nodes to be rebooted,
with options for other behavior (like pretending that all instances
will be shut down before the actual reboots start). In that scenario
instances running is the normal situation, not something to be warned
about.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoAllow customization of the chroot
Klaus Aehlig [Fri, 28 Jun 2013 11:44:34 +0000 (13:44 +0200)]
Allow customization of the chroot

As different users have different needs about the chroot, allow
customization in its build script. This is achieved as follows.
- The environment variable EXTRA_DEBIAN_PACKAGES is honored,
  and the packages named there are additionally installed in
  the chroot. This should cover the most common cases.
- More complicated customizations can be achieved by setting
  the environment variable CHROOT_FINAL_HOOK. This is the last
  command executed in the chroot; typically, it would be
  a call to a personal script.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>

10 years agobuild_chroot: fix duplicate install
Klaus Aehlig [Fri, 28 Jun 2013 13:53:20 +0000 (15:53 +0200)]
build_chroot: fix duplicate install

In the last change to the chroot build script, the
apt-get command 'install' was moved to the APT_INSTALL
macro; however, it was forgotten to remove it outside
the macro, causing an error, as there is no package
with name 'install'.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>

10 years agobuild_chroot: use APT_INSTALL macro for packet installation
Klaus Aehlig [Fri, 28 Jun 2013 12:33:55 +0000 (14:33 +0200)]
build_chroot: use APT_INSTALL macro for packet installation

In this way, it is easier to change all the apt calls in the chroot.
In particular, this patch fixes the missing -y option for the installation
of the tools needed to build debian packages.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoDon't exceed the standard PV size when growing a disk
Bernardo Dal Seno [Thu, 27 Jun 2013 20:44:49 +0000 (22:44 +0200)]
Don't exceed the standard PV size when growing a disk

With exclusive storage, PVs are supposed to be used only up to the
standard PV size.

Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoEnable disk growth with exclusive storage
Bernardo Dal Seno [Thu, 27 Jun 2013 16:37:36 +0000 (18:37 +0200)]
Enable disk growth with exclusive storage

Disk growth is now supported also with exclusive storage, so we let the
operation continue.

Enable disk growth test in qa also with exclusive storage.

Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoLimit the PVs used for disk growth with exclusive storage
Bernardo Dal Seno [Thu, 27 Jun 2013 16:08:15 +0000 (18:08 +0200)]
Limit the PVs used for disk growth with exclusive storage

The exclusive storage flag is passed along in the backend functions for
disk growth. LVM volumes handles the flag by reusing the same PVs, as disks
are constrained by the number of their spindles.

Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd exclusive_storage to blockdev_grow RPC
Bernardo Dal Seno [Thu, 27 Jun 2013 15:06:44 +0000 (17:06 +0200)]
Add exclusive_storage to blockdev_grow RPC

The flag is passed to the RPC, but it's still ignored by noded.

Signed-off-by: Bernardo Dal Seno <bdalseno@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoDesign doc for openvswitch support
Sebastian Gebhard [Fri, 28 Jun 2013 10:35:04 +0000 (12:35 +0200)]
Design doc for openvswitch support

This patch includes the design document for openvswitch support

Signed-off-by: Sebastian Gebhard <sege@fs.ei.tum.de>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoDocument vif-ganeti usage
Dimitris Aragiorgis [Wed, 26 Jun 2013 14:38:18 +0000 (17:38 +0300)]
Document vif-ganeti usage

In order to be able to use it as vif-script one has to
create a symbolic link inside /etc/xen/scripts pointing
to /usr/lib/ganeti/vif-ganeti and then add is a hypervisor
parameter.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoRefactor NIC configuration scripts
Dimitris Aragiorgis [Wed, 26 Jun 2013 14:38:16 +0000 (17:38 +0300)]
Refactor NIC configuration scripts

Add new script vif-ganeti that could be used instead of
default vif-bridge in order NIC customization can be more
flexible.

Extract common code from kvm-ifup and insert it in a new
file net-common that is being sourced by kvm-ifup and
vif-ganeti and located under package lib dir (/usr/lib/ganeti/).

Install vif-ganeti properly with make under /usr/lib/ganeti too.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoMake NIC setup more flexible in case of Xen
Dimitris Aragiorgis [Wed, 26 Jun 2013 14:38:15 +0000 (17:38 +0300)]
Make NIC setup more flexible in case of Xen

For every NIC write down a file that contains NIC's
info (MAC, mode, link, network details), that can
be sourced by any vif script.  The file location is:
/var/run/ganeti/xen-hypervisor/nic/<domname>/<nicidx>.

This file is created upon cfg file creation and before
starting the instance and can be sourced by an external
script. Before file creation ensure that all parent dirs
exist.

Cleanup NIC dir when removing config files. Upon Xen
configuration file removal, remove NIC dir as well.

Add new hv param vif_script that allows execution of
user defined networking script and overrides the one
xend is configured with in xend-config.sxp

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoUpdate design document for hroller
Klaus Aehlig [Fri, 28 Jun 2013 08:50:45 +0000 (10:50 +0200)]
Update design document for hroller

The requirement to be able to plan full node evacuation came up after
the initial design. So add a section describing the algorithm, if
full evacuation is requested.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoiallocator: storage processing accepts space_info structure
Helga Velroyen [Tue, 25 Jun 2013 12:47:56 +0000 (14:47 +0200)]
iallocator: storage processing accepts space_info structure

This is a small refactoring to make the processing of
the storage space information not accept a node info
result, but the more specific space info structure instead.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoiallocator: get rid of MakeLegacyNodeInfo
Helga Velroyen [Tue, 25 Jun 2013 12:30:27 +0000 (14:30 +0200)]
iallocator: get rid of MakeLegacyNodeInfo

So far, the iallocator makes a node info call, converts
the result into a legacy node info structure and then
retrieves various values from it. This patch removes
the call to MakeLegacyNodeInfo completely, by letting the
consumers of the hypervisor info part of the result
retrieve that part from the result of the node info call
directly.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoiallocator: factor out instance memory summation
Helga Velroyen [Tue, 25 Jun 2013 12:15:58 +0000 (14:15 +0200)]
iallocator: factor out instance memory summation

The iallocator adjusts the free memory by a calculation
of how much memory is actually currently used by instances
on the node. This calculation is rather complicated and
deserves its own function to increase testability. No
functional changes in this patch otherwise.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoiallocator: extract storage info directly from node info
Helga Velroyen [Fri, 21 Jun 2013 11:54:06 +0000 (13:54 +0200)]
iallocator: extract storage info directly from node info

So far, the iallocator made a node info RPC call, converted
the result into a legacy node info format and then extracted
the storage information from that. This patch removes the
middle step of this procedure, skipping the legacy node info
usage.

In later patches, we will completely eliminate the need for
the legacy node info in iallocator.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoMake NodeInfo (hs) accept arbitrary storage types
Helga Velroyen [Fri, 14 Jun 2013 13:43:47 +0000 (15:43 +0200)]
Make NodeInfo (hs) accept arbitrary storage types

So far, the Haskell implementation of NodeInfo just
requests storage information about volume groups.
With this patch, storage info for abitrary storage
types can be requested.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoStorage utility functions for Haskell
Helga Velroyen [Thu, 13 Jun 2013 17:44:06 +0000 (19:44 +0200)]
Storage utility functions for Haskell

In order to extend the Haskell version of the NodeInfo
query, we need some utility functions to deal with
disk templates and storage types.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoiallocator: computation of storage data
Helga Velroyen [Fri, 21 Jun 2013 09:55:46 +0000 (11:55 +0200)]
iallocator: computation of storage data

This patch extracts the processing of the storage-related
data from the RPC call 'node_info' in a separate function
to increase testability. In addition, this patch contains
unit tests for this function.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agorpc.py: override default storage type in node info
Helga Velroyen [Fri, 21 Jun 2013 10:53:05 +0000 (12:53 +0200)]
rpc.py: override default storage type in node info

This patch changes the semantics of dealing with the result
of the RPC call "node_info" when converting them into a
LegacyNodeInfo. A legacy node info, can only hold storage
information about one storage type, which so far was always
LVM storage. With the recent changes in the RCP call
'node_info', a node info call returns storage info of several
storage types and not necessarily with lvm being the first
in the list. In order to be backward-compatible with tools
that assume that LVM storage is the only storage type, we
make sure, that MakeLegacyNode info can be called
requesting LVM info specifically. This is just an interim
solution to not break everything at once. The long-term
goal is to get rid of MakeLegacyNodeInfo completely.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoiallocator: factor out 'get_attr' method
Helga Velroyen [Fri, 21 Jun 2013 09:45:26 +0000 (11:45 +0200)]
iallocator: factor out 'get_attr' method

This patch extracts an inline 'get_attr' method to extract
data from the result of the RPC call 'node_info'. It was so
far an inline function in the middle of a bigger method, which made
the code hard to read.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoiallocator: prepare RPC call 'node_info'
Helga Velroyen [Fri, 21 Jun 2013 09:19:35 +0000 (11:19 +0200)]
iallocator: prepare RPC call 'node_info'

This patch does a small refactoring in the allocator. It extracts
the preparation and actual call of the 'node_info' call into a
separate function. This is done for better testability. No functional
changes otherwise.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoTypo in iallocator design doc
Helga Velroyen [Sun, 23 Jun 2013 12:47:43 +0000 (14:47 +0200)]
Typo in iallocator design doc

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix lint error
Thomas Thrainer [Wed, 26 Jun 2013 13:52:49 +0000 (15:52 +0200)]
Fix lint error

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoUnset LV name if no LVM disk templates are enabled
Thomas Thrainer [Wed, 26 Jun 2013 09:37:00 +0000 (11:37 +0200)]
Unset LV name if no LVM disk templates are enabled

If there are no LVM based disk templates enabled in QA, reset the LV
name after the corresponding gnt-cluster modify tests. Otherwise
gnt-cluster verify would complain about the missing volume group.

Also make sure that no disk templates requiring LVM are ever enabled
without actually providing a LV name.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoSkip drbd-usermode-helper test if DRBD is disabled
Thomas Thrainer [Wed, 26 Jun 2013 06:36:01 +0000 (08:36 +0200)]
Skip drbd-usermode-helper test if DRBD is disabled

Changing the drbd usermode helper in gnt-cluster modify fails if DRBD is
not installed on the nodes. Thus skip this test if DRBD is not in the
set of enabled disk templates.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd route to VCluster network in vcluster-setup
Thomas Thrainer [Tue, 25 Jun 2013 16:54:12 +0000 (18:54 +0200)]
Add route to VCluster network in vcluster-setup

This route is required on the Fedora test machine, as otherwise fping
would not work and hang forever.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoReplace tempfile by mktemp in QA code
Thomas Thrainer [Tue, 25 Jun 2013 15:26:13 +0000 (17:26 +0200)]
Replace tempfile by mktemp in QA code

The tempfile command only exists in Debian. In order to run the VCluster
QA also on Fedora, replace its use by mktemp.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoMerge branch 'stable-2.8' into master
Thomas Thrainer [Wed, 26 Jun 2013 07:57:25 +0000 (09:57 +0200)]
Merge branch 'stable-2.8' into master

* stable-2.8:
  gnt-cluster info (py): add enabled disk templates
  Version bump to 2.8.0~beta1
  Change version numbers in documentation
  Fix issue with python coverage tests
  Merge branch 'stable-2.7' into stable-2.8
  Disable python test if required libraries are missing
  Better specify what packages to install
  Improve install guide
  Fix typo in the documentation index
  Fix typos in the documentation index
  Update security document wrt confd access to SSL cert
  Add tools for building deb packages to build_chroot
  Improve the final message of build_chroot
  Make build_chroot self-contained

Conflicts:
configure.ac (trivial)
lib/cmdlib/instance_storage.py (trivial)

The version numbers changed in 'Change version numbers in documentation'
and 'Version bump to 2.8.0~beta1' were adapted to 2.9.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoMerge branch 'stable-2.7' into stable-2.8
Guido Trotter [Tue, 25 Jun 2013 07:53:07 +0000 (09:53 +0200)]
Merge branch 'stable-2.7' into stable-2.8

* stable-2.7:
  Provide the right fix for the kvm_extra parameter
  NEWS and version updates for 2.7.0~rc3
  kvm: don't pass whole extra as a single argument
  For node queries allow short forms of host names
  Provide a special filter for host names

Conflicts:
NEWS: trivial
configure.ac: trivial

Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoProvide the right fix for the kvm_extra parameter v2.7.0rc3
Guido Trotter [Tue, 25 Jun 2013 06:43:57 +0000 (08:43 +0200)]
Provide the right fix for the kvm_extra parameter

With the previous adjustment the arguments were boxed into one extra
array. This actually makes the parameter work (with the same caveats).

The manpage is also updated with the limitations.

Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoNEWS and version updates for 2.7.0~rc3
Guido Trotter [Mon, 24 Jun 2013 14:17:47 +0000 (16:17 +0200)]
NEWS and version updates for 2.7.0~rc3

Time for a new release.

Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agokvm: don't pass whole extra as a single argument
Guido Trotter [Mon, 24 Jun 2013 14:45:00 +0000 (16:45 +0200)]
kvm: don't pass whole extra as a single argument

If extra is longer than a single word passing it the way it was passed
won't work. Of course this solution is also only partial, as won't take
into account any form of quoting. :/

Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFor node queries allow short forms of host names
Klaus Aehlig [Fri, 21 Jun 2013 13:53:15 +0000 (15:53 +0200)]
For node queries allow short forms of host names

For node queries use the host-name filter instead of the simple
equality-based one.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>

10 years agoProvide a special filter for host names
Klaus Aehlig [Fri, 21 Jun 2013 13:51:00 +0000 (15:51 +0200)]
Provide a special filter for host names

For host names, usually short forms are used, e.g., node1 or node1.sub
instead of the full qualified node1.sub.example.com. Therefore comparing
node names only by equality is too restrictive. This patch provides an
alternative makeHostnameFilter to makeSimpleFilter suitable for comparing
host names.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>

10 years agognt-cluster info (py): add enabled disk templates
Helga Velroyen [Thu, 20 Jun 2013 09:44:16 +0000 (11:44 +0200)]
gnt-cluster info (py): add enabled disk templates

This fixes issue 485. In the python implementation of
the cluster config info, the enabled_disk_templates
were missing.

Signed-off-by: Helga Velroyen <helgav@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>

10 years agoFix node modify QA tests for large cluster
Thomas Thrainer [Mon, 24 Jun 2013 09:10:25 +0000 (11:10 +0200)]
Fix node modify QA tests for large cluster

If the node count in a cluster exceeds the master candidate pool size
(which is 10 by default), it's no longer possible to remove the master
candidate role from a node without passing --auto-promote (even with
--force). This behavior is perfectly fine, but the TestModifyNode QA
test didn't account for this.

TestModifyNode is changed such that it first removes the master
candidate role from the tested node with --auto-promote. This will, in
big clusters, promote an additional node to a master candidate which
ensures that the following tests succeed.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoVersion bump to 2.8.0~beta1 v2.8.0beta1
Michele Tartara [Mon, 24 Jun 2013 09:38:26 +0000 (09:38 +0000)]
Version bump to 2.8.0~beta1

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoChange version numbers in documentation
Michele Tartara [Fri, 3 May 2013 09:11:33 +0000 (11:11 +0200)]
Change version numbers in documentation

Some of the documents have the version number of Ganeti. This commit updates
it in preparation for the 2.8 version bump.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoDoc for GlusterFS Ganeti Support
Weiwei Jia [Fri, 21 Jun 2013 13:28:39 +0000 (21:28 +0800)]
Doc for GlusterFS Ganeti Support

This patch adds a design document for introducing GlusterFS Support in Ganeti.

Signed-off-by: Weiwei Jia <harryxiyou@gmail.com>
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoFix issue with python coverage tests
Michele Tartara [Fri, 21 Jun 2013 16:15:35 +0000 (16:15 +0000)]
Fix issue with python coverage tests

The recently introduced check for python libraries required only for testing
(commit 27df5b736ef72b3b12c07f32d64dbac95fe7a5ba) was not correct. This
patch fixes the issue.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>

10 years agoMerge branch 'stable-2.7' into stable-2.8
Thomas Thrainer [Fri, 21 Jun 2013 14:49:51 +0000 (16:49 +0200)]
Merge branch 'stable-2.7' into stable-2.8

* stable-2.7:
  Add a warning about the restriction of gnt-node evacuate
  Fix permissions of the queue archive dir
  Fix daemon QA tests
  grow disk: call SetDiskID before blockdev_getsize
  Catch DeviceCreationError unhandled exceptions

Conflicts:
lib/cmdlib.py (due to the cmdlib split)
qa/qa_daemon.py (trivial)

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoCatch DeviceCreationError unhandled exceptions
Guido Trotter [Fri, 21 Jun 2013 13:23:28 +0000 (15:23 +0200)]
Catch DeviceCreationError unhandled exceptions

_CreateBlockDevInner is called twice in TLReplaceDisks. While this
should be fixed, right now this leaves the DeviceCreationError exception
unhandled, which causes a problem due to the fact that this exception
was never supposed to be sent over the wire. For 2.7 we just catch the
exception and convert it to an OpExecError, but we should later do a
more proper cleanup.

This addresses Issue 472.

Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agogrow disk: call SetDiskID before blockdev_getsize
Guido Trotter [Fri, 21 Jun 2013 09:19:44 +0000 (11:19 +0200)]
grow disk: call SetDiskID before blockdev_getsize

Missing this call caused blockdev_getsize to be called on the wrong
physical device, and fail.

This fixes Issue 497.

Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoFix daemon QA tests
Thomas Thrainer [Fri, 21 Jun 2013 09:12:17 +0000 (11:12 +0200)]
Fix daemon QA tests

TestInstanceConsecutiveFailures now leaves the test instance in the same
state it got it.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoDisable python test if required libraries are missing
Michele Tartara [Fri, 21 Jun 2013 10:51:58 +0000 (12:51 +0200)]
Disable python test if required libraries are missing

Some python libraries are only needed for the tests, but not for running
Ganeti. If those libraries are missing, just disable the Python tests.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoBetter specify what packages to install
Michele Tartara [Fri, 21 Jun 2013 08:49:48 +0000 (08:49 +0000)]
Better specify what packages to install

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoImprove install guide
Michele Tartara [Fri, 21 Jun 2013 08:28:14 +0000 (10:28 +0200)]
Improve install guide

Add command for updating the list of cabal packages, before starting
installing them.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix typo in the documentation index
Michele Tartara [Fri, 21 Jun 2013 07:51:39 +0000 (09:51 +0200)]
Fix typo in the documentation index

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix typos in the documentation index
Weiwei Jia [Fri, 21 Jun 2013 08:56:32 +0000 (16:56 +0800)]
Fix typos in the documentation index

This patch fixes some typos in the documentation index.

Signed-off-by: Weiwei Jia <harryxiyou@gmail.com>
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoUpdate security document wrt confd access to SSL cert
Michele Tartara [Thu, 20 Jun 2013 13:11:57 +0000 (13:11 +0000)]
Update security document wrt confd access to SSL cert

The fact that confd has been given access to the server.pem certificate
needs to be described in the security document.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix permissions of the queue archive dir
Guido Trotter [Thu, 20 Jun 2013 16:35:40 +0000 (18:35 +0200)]
Fix permissions of the queue archive dir

The permissions were set to 0740, but of course being a directory the
correct permissions are 0750.

Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoAdd a warning about the restriction of gnt-node evacuate
Klaus Aehlig [Thu, 20 Jun 2013 14:53:31 +0000 (16:53 +0200)]
Add a warning about the restriction of gnt-node evacuate

Even though gnt-node evacuate should be able to evacuate all instances
at once, this currently is not the case. Add a warning about this deficit
for the time being.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoAdd gnt-node migrate to QA
Thomas Thrainer [Thu, 20 Jun 2013 15:03:08 +0000 (17:03 +0200)]
Add gnt-node migrate to QA

Make it possible to optionally run gnt-node migrate during QA.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoConvert instance indices to UUIDs in configuration
Thomas Thrainer [Fri, 14 Jun 2013 12:56:45 +0000 (14:56 +0200)]
Convert instance indices to UUIDs in configuration

cfgupgrade replaces the occurences of instance names (where they are
used as index) with the instance UUID.

It also supports the inverse replacement, so downgrades are
supported too.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoIndex instances by their UUID
Thomas Thrainer [Tue, 11 Jun 2013 15:05:41 +0000 (17:05 +0200)]
Index instances by their UUID

No longer index instances by their name but by their UUID in the cluster
config. This change changes large parts of the code, as the following
adjustments were necessary:
 * Change the index key to UUID in the configuration and the
   ConfigWriter, including all methods.
 * External interfaces (command line interface, IAllocator interface,
   hook scripts, etc.) are kept stable.
 * Instance UUID's are resolved in ExpandNames and then stored in the
   OpCode. This allows to check for instance renames if the OpCode is
   reloaded after a cluster restart. This check is currently only done
   for single instance parameters.
 * Instance locking unfortunately can't use instances UUID as
   identifiers. The reasons is that new instances (which have no UUID
   yet) have to be locked as well, so the instance name is used.
 * Variable names are renamed to follow the following pattern:
   - Suffix is 'inst' or 'insts': Variable holds Instance objects
   - Suffix is 'name' or 'names': Variable holds Instance names
   - Suffix is 'uuid' or 'uuids': Variable holds Instance UUID's
 * Tests are adapted.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoNode-UUID related cleanup
Thomas Thrainer [Mon, 10 Jun 2013 11:59:40 +0000 (13:59 +0200)]
Node-UUID related cleanup

Some variables which hold node UUID's are renamed to reflect their
indent better.
Use cfg.GetNodeName(uuid) instead of cfg.GetNodeInfo(uuid).name where
appropriate.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd tools for building deb packages to build_chroot
Michele Tartara [Thu, 20 Jun 2013 12:55:54 +0000 (14:55 +0200)]
Add tools for building deb packages to build_chroot

The chroot only had tools for building and testing Ganeti, but not for
building its Debian packages. They are added by this commit.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix wrong assert
Thomas Thrainer [Thu, 20 Jun 2013 12:15:35 +0000 (14:15 +0200)]
Fix wrong assert

An assert wrongly verified that the node name instead of the node UUID
is in the set of locked nodes. This patch fixes this.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoImprove the final message of build_chroot
Michele Tartara [Thu, 20 Jun 2013 09:29:25 +0000 (09:29 +0000)]
Improve the final message of build_chroot

Give more precise instructions on the next steps to actually run the
chroot.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoMake build_chroot self-contained
Michele Tartara [Thu, 20 Jun 2013 08:57:24 +0000 (08:57 +0000)]
Make build_chroot self-contained

The configuration file are included in build_chroot, and are
automatically created by the script if it is not able to find them
already in the directory pointed by $DATA_DIR.

Note that the configuration file directory is cleaned if it's temporary,
but it is left untouched if it was esplicitly specified by the user.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix testGetHvDefaults testcase
Thomas Thrainer [Thu, 20 Jun 2013 11:16:59 +0000 (13:16 +0200)]
Fix testGetHvDefaults testcase

The introduction of the migration_mode parameter to the fake hypervisor
broke the testGetHvDefaults. This patch fixes this by taking the default
parameters of the fake hypervisor into account.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix instance add for missing node specs
Thomas Thrainer [Thu, 20 Jun 2013 10:55:40 +0000 (12:55 +0200)]
Fix instance add for missing node specs

Don't pass None to cfg.GetNodeNames. Instead, only resolve the node
names if it's sure that the UUID list is valid.

This fixes issue 495.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoMerge branch 'stable-2.8' into master
Klaus Aehlig [Thu, 20 Jun 2013 11:38:28 +0000 (13:38 +0200)]
Merge branch 'stable-2.8' into master

* stable-2.8
  In tiered allocation, cut non-promising shrinking tries
  Add confd user to masterd group

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoSkip Xen monitoring QA for non-Xen clusters
Thomas Thrainer [Thu, 20 Jun 2013 07:21:18 +0000 (09:21 +0200)]
Skip Xen monitoring QA for non-Xen clusters

Instead of asserting that the Xen instance status collector fails for
non-Xen clusters just skip the test completely.
Otherwise QA would fail for non-Xen hypervisors if Xen happens to be
installed on the cluster as well.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoAdd support to migration_mode in fake HV
Thomas Thrainer [Wed, 19 Jun 2013 15:45:33 +0000 (17:45 +0200)]
Add support to migration_mode in fake HV

The fake hypervisor pretends to support migration, but did not support
the migration_mode parameter yet. As this parameter is required during
instance migrations, support for it is added in this patch.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoAdapt VCluster script to current situation
Thomas Thrainer [Wed, 19 Jun 2013 15:22:33 +0000 (17:22 +0200)]
Adapt VCluster script to current situation

vcluster-setup is adapted to the current Ganeti command line arguments.
Also, a bug for diskless instances in qa_instance is fixed.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

11 years agoCheck DRBD status in cluster verify
Thomas Thrainer [Tue, 18 Jun 2013 14:34:18 +0000 (16:34 +0200)]
Check DRBD status in cluster verify

If the status of DRBD disks is degraded or in a faulty state, issue an
error in cluster verify.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

11 years agoAdd confd user to masterd group
Michele Tartara [Wed, 19 Jun 2013 14:51:57 +0000 (14:51 +0000)]
Add confd user to masterd group

The server.pem file is 0440 (materd_uid, masterd_gid) and cannot be
accessed by confd.

This patch contains a workaround for 2.8.0~beta1 (adding conf to the
masterd group in the user setup tool, and remembering the users to
actually execute that tool while upgrading).

This partially fixes Issue 292.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

11 years agoIn tiered allocation, cut non-promising shrinking tries
Klaus Aehlig [Wed, 19 Jun 2013 16:43:21 +0000 (18:43 +0200)]
In tiered allocation, cut non-promising shrinking tries

The heuristics for tiered allocation has been improved in that it
chooses to shrink such a resource next where by shrinking only this
resource a valid allocation can be made, if such a resource exists.
In order to decide whether such a resource exists, all potential
sizes of this resource are verified. We can improve performance by
cutting, as soon a potential allocation of an instance is no longer
blocked on this resource.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>

11 years agoMerge branch 'stable-2.8' into master
Klaus Aehlig [Wed, 19 Jun 2013 10:11:50 +0000 (12:11 +0200)]
Merge branch 'stable-2.8' into master

* stable-2.8
  (no changes)

* merged from stable-2.7
  More agressively line break man pages

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

11 years agoVersion bump to 2.9.0~alpha1
Michele Tartara [Wed, 19 Jun 2013 08:24:01 +0000 (08:24 +0000)]
Version bump to 2.9.0~alpha1

Bump the version number to 2.9.0~alpha1.

This also requires updating version numbers in cfgupgrade tool.

Furthermore, a data file for test representing a 2.8 configuration had the
version number set to 2.7 in order to prevent tests failing while the current
branch was artificially kept behind its actual version number. Now that alpha
versions are possible, it can be moved back to 2.8 as it was supposed to be.

Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

11 years agoMerge branch 'stable-2.7' into stable-2.8
Klaus Aehlig [Wed, 19 Jun 2013 09:02:53 +0000 (11:02 +0200)]
Merge branch 'stable-2.7' into stable-2.8

* stable-2.7
  More agressively line break man pages

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

11 years agoFix reference to NodeInfo.name
Thomas Thrainer [Wed, 19 Jun 2013 07:00:56 +0000 (09:00 +0200)]
Fix reference to NodeInfo.name

This fixes a bug introduced during the move from node names to node
UUIDs as indexes.

Also, a typo is corrected.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>