ganeti-local
10 years agoMerge branch 'stable-2.9' into stable-2.10
Thomas Thrainer [Wed, 19 Feb 2014 08:21:41 +0000 (09:21 +0100)]
Merge branch 'stable-2.9' into stable-2.10

* stable-2.8
  Fix integer overflow problem in hbal
  Add missing space

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

10 years agoMerge branch 'stable-2.8' into stable-2.9
Klaus Aehlig [Thu, 13 Feb 2014 16:04:09 +0000 (17:04 +0100)]
Merge branch 'stable-2.8' into stable-2.9

* stable-2.8
  Fix integer overflow problem in hbal
  Add missing space

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

10 years agoFix integer overflow problem in hbal
Michele Tartara [Thu, 13 Feb 2014 12:39:38 +0000 (13:39 +0100)]
Fix integer overflow problem in hbal

waitForJobs in src/Ganeti/Jobs.hs has an integer overflow that (at least on
amd64) causes it to break after waiting for ~10 minutes. This results in hbal
sleeping forever (when compiled with squeeze's ghc 6.12.1) or crashing (when
compiled with precise's ghc 7.4.1) whenever it has to wait ~10 minutes for a
jobset to complete.

Thanks to gjo@google.com for finding the bug and suggesting the fix.

Fixes Issue 717.

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

10 years agoAdd missing space
Michele Tartara [Thu, 13 Feb 2014 12:23:36 +0000 (12:23 +0000)]
Add missing space

Also, refactor the line to keep it under 80 chars.

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

10 years agoRevision bump for 2.10.0~rc3
Thomas Thrainer [Tue, 11 Feb 2014 08:45:58 +0000 (09:45 +0100)]
Revision bump for 2.10.0~rc3

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoUpdate NEWS file for 2.10.0~rc3
Thomas Thrainer [Tue, 11 Feb 2014 08:41:59 +0000 (09:41 +0100)]
Update NEWS file for 2.10.0~rc3

Mention changes between 2.10.0~rc2 and 2.10.0~rc3 and set the release
date to tomorrow.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoMerge branch 'stable-2.9' into stable-2.10
Klaus Aehlig [Mon, 10 Feb 2014 14:28:26 +0000 (15:28 +0100)]
Merge branch 'stable-2.9' into stable-2.10

* stable-2.9
  Revision bump for 2.9.4
  Set release date for 2.9.4
  Note UUID identification change in NEWS file
  Allow classic queries to use either names or UUIDs
  Document the change of noded's group in NEWS

Conflicts:
NEWS: take all stable-2.9 additions, effectively
    restoring the 2.9.4 entry, hence effectively
    reverting 78cb4606
configure.ac: ignore revision bump

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

10 years agoRevision bump for 2.9.4
Klaus Aehlig [Mon, 10 Feb 2014 12:26:45 +0000 (13:26 +0100)]
Revision bump for 2.9.4

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

10 years agoSet release date for 2.9.4
Klaus Aehlig [Mon, 10 Feb 2014 12:26:10 +0000 (13:26 +0100)]
Set release date for 2.9.4

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

10 years agoFix 'JobIdListOnly' type from 'List' to 'Map'
Jose A. Lopes [Fri, 7 Feb 2014 12:07:11 +0000 (13:07 +0100)]
Fix 'JobIdListOnly' type from 'List' to 'Map'

* This patch fixes a type discrepancy between the Haskell type
  'Ganeti.OpCodes.JobIdListOnly' and the Python type predicate
  'ganeti.ht.TJobIdListOnly', the former being a list and the latter a
  dictionary.

* Remove some whitespace

Signed-off-by: Jose A. Lopes <jabolopes@google.com>
Reviewed-by: Helga Velroyen <helgav@google.com>

10 years agoNote UUID identification change in NEWS file
Hrvoje Ribicic [Fri, 7 Feb 2014 12:31:08 +0000 (13:31 +0100)]
Note UUID identification change in NEWS file

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAllow classic queries to use either names or UUIDs
Hrvoje Ribicic [Thu, 6 Feb 2014 09:28:48 +0000 (09:28 +0000)]
Allow classic queries to use either names or UUIDs

When UUIDs are used in CLI commands, such addressing of objects fails
or succeeds inconsistently across object types. Worse yet, some calls
do not fail, but simply return no result. This is due to the way the
classical queries are handled in the Haskell code - a filter is built,
checking if the names match. If the names do not match, but the object
can still be retrieved through UUID, the query is successful, but there
is nothing to return.

This patch remedies the situation by extending the filter into an or
clause checking for either name or uuid. For objects that have no uuid
field, the name is reused, making the filter equivalent to the old one.

Works towards resolving issue 703.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoRemove NEWS entry for 2.9.4
Thomas Thrainer [Thu, 6 Feb 2014 11:00:58 +0000 (12:00 +0100)]
Remove NEWS entry for 2.9.4

Remove the NEWS entry for 2.9.4 temporarily until it actually gets
released. Otherwise check-news would complain about the unreleased
version below released ones.

The NEWS entry will be added back once 2.9.4 is released and the
corresponding commits are merged up to 2.10 again.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoDocument the change of noded's group in NEWS
Klaus Aehlig [Thu, 6 Feb 2014 10:14:25 +0000 (11:14 +0100)]
Document the change of noded's group in NEWS

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

10 years agoMerge branch 'stable-2.9' into stable-2.10
Thomas Thrainer [Thu, 6 Feb 2014 08:58:34 +0000 (09:58 +0100)]
Merge branch 'stable-2.9' into stable-2.10

* stable-2.9
  Make the LUInstanceCreate return node names, not UUIDs
  Document new handling of degraded instances in NEWS
  Gracefully handle degraded instances in verification
  Be aware of the degraded case when cleaning up an instance
  Document changes to file-based disks in NEWS
  Preserve disk basename on instance rename
  Update NEWS file
  Modify test to reflect RAPI operation changes
  Add QA tests for RAPI multi-instance allocation
  Fix multi-allocation RAPI method
  Assign unique filenames to filebased disks

* stable-2.8
  Fix execution group of NodeD

Conflicts:
NEWS (took both changes)
lib/config.py (trivial)
test/py/ganeti.cmdlib_unittest.py
          (manually reapplied changes to
           test/py/cmdlib/instance_unittest.py)

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoWorkaround for monitor bug related to greeting msg
Dimitris Aragiorgis [Mon, 3 Feb 2014 21:36:55 +0000 (23:36 +0200)]
Workaround for monitor bug related to greeting msg

QMP may return multiple greeting messages upon connection.
This is reported on qemu-devel. The fix is one-liner but
until it get's released this is a quick and dirty workaround
that flushes the client's buffer after getting the first
greeting message.

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 agohotplug: Verify if a command succeeded or not
Dimitris Aragiorgis [Mon, 3 Feb 2014 21:36:54 +0000 (23:36 +0200)]
hotplug: Verify if a command succeeded or not

Just after issuing _CallHoplugCommands() we invoke
_VerifyHotplugCommand() which parses `info pci` result
and searches for given PCI slot and device id.

If we previously had removed a device but it is still there
abort. Do the same if we had add a device but it is not found.

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 agohotplug: Call each qemu commmand with an own socat
Dimitris Aragiorgis [Mon, 3 Feb 2014 21:36:53 +0000 (23:36 +0200)]
hotplug: Call each qemu commmand with an own socat

Previously we issued one socat command with two "\n" separated
actions (e.g. netdev_add ...\ndevice_add...)

After having observed a strange monitor behavior [1] splitting
those commands and introducing a sleep time in between, may reduce
any race possibilities. Additionally it will be a step forward
parsing monitor output of each command and decide whether to
modify runtime files or raise a HotplugError.

This patch simply changes _CallHotplugCommand() to take a
list of commands and issue them separately. Introduces one second
sleep after each command and removes sleep from HotModDevice().

[1] https://groups.google.com/d/msg/ganeti-devel/hCQnmuqKtU0/UWGnw251cskJ

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 agoMerge branch 'stable-2.8' into stable-2.9
Klaus Aehlig [Wed, 5 Feb 2014 17:54:15 +0000 (18:54 +0100)]
Merge branch 'stable-2.8' into stable-2.9

* stable-2.8
  Fix execution group of NodeD

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Jose A. Lopes <jabolopes@google.com>

10 years agoFix execution group of NodeD
Michele Tartara [Wed, 5 Feb 2014 17:46:32 +0000 (17:46 +0000)]
Fix execution group of NodeD

The Node deamon was executed with the wrong gid (gnt-daemons) instead of the one
assigned to it by configure.ac.

Fixes Issue 707.

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

10 years agoMake the LUInstanceCreate return node names, not UUIDs
Hrvoje Ribicic [Mon, 3 Feb 2014 10:43:53 +0000 (10:43 +0000)]
Make the LUInstanceCreate return node names, not UUIDs

The LUInstanceCreate returned names instead of UUIDs in 2.6. Along the
way, the names were internally replaced with UUIDs, and the abstraction
leaked. This patch fixes the issue.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoupgrade: start daemons after ensure-dirs
Klaus Aehlig [Fri, 31 Jan 2014 09:40:27 +0000 (10:40 +0100)]
upgrade: start daemons after ensure-dirs

On upgrading a cluster, we only can rely on daemons starting
up cleanly, if all needed directories are generated first. So
ensure-dirs needs to be run first.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoupgrade design: ensure-dirs before starting daemons
Klaus Aehlig [Fri, 31 Jan 2014 09:45:39 +0000 (10:45 +0100)]
upgrade design: ensure-dirs before starting daemons

Align the automatic upgrade procedure with the manual upgrade
instructions and run ensure-dirs before starting the new daemons.
This is necessary, as only after ensuring that all needed directories
are present we can rely on the new daemons starting up cleanly.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoDocument new handling of degraded instances in NEWS
Klaus Aehlig [Thu, 30 Jan 2014 15:34:27 +0000 (16:34 +0100)]
Document new handling of degraded instances in NEWS

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoGracefully handle degraded instances in verification
Klaus Aehlig [Thu, 30 Jan 2014 15:30:00 +0000 (16:30 +0100)]
Gracefully handle degraded instances in verification

The current code assumes that every instance either is of type
diskless or has at least one disk. However, with the option to
remove individual disk degraded 0-disk non-diskless instances
can occur. While such instances usually are not useful, Ganeti
still should be operational in their presence.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoBe aware of the degraded case when cleaning up an instance
Klaus Aehlig [Thu, 30 Jan 2014 15:08:06 +0000 (16:08 +0100)]
Be aware of the degraded case when cleaning up an instance

In the case of a degraded file-based instance, the file storage directory
for that instance cannot be obtained by looking at the first disk. Use
the standard location, computed from first principles, in this case.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoFix network management section in admin.rst
Dimitris Aragiorgis [Thu, 30 Jan 2014 12:44:47 +0000 (14:44 +0200)]
Fix network management section in admin.rst

..and clarify that IPv6 info currently does not get used
by Ganeti it self.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Reviewed-by: Jose A. Lopes <jabolopes@google.com>

10 years agoAdapt release date for 2.10.0-rc2
Thomas Thrainer [Thu, 30 Jan 2014 15:14:54 +0000 (16:14 +0100)]
Adapt release date for 2.10.0-rc2

Postpone the rc2 release to Friday 31st.

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

10 years agoDocument changes to file-based disks in NEWS
Klaus Aehlig [Thu, 30 Jan 2014 11:54:14 +0000 (12:54 +0100)]
Document changes to file-based disks in NEWS

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoPreserve disk basename on instance rename
Klaus Aehlig [Thu, 30 Jan 2014 11:46:03 +0000 (12:46 +0100)]
Preserve disk basename on instance rename

For file-based instances, upon rename, the directory containing
the instance disks is moved. Therefore, the basename needs to
be preserved in this case. Fix this. Note that so far, this
worked by accident as before 94e252a3 file names used to be
"disk" followed by the index.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoRevision bump for 2.10.0-rc2
Thomas Thrainer [Wed, 29 Jan 2014 14:39:32 +0000 (15:39 +0100)]
Revision bump for 2.10.0-rc2

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Jose A. Lopes <jabolopes@google.com>

10 years agoUpdate NEWS file in preparation of 2.10.0rc2
Thomas Thrainer [Tue, 28 Jan 2014 14:03:32 +0000 (15:03 +0100)]
Update NEWS file in preparation of 2.10.0rc2

Include changes made in 2.8, 2.9 and in 2.10 in the NEWS file.

Signed-off-by: Thomas Thrainer <thomasth@google.com>
Reviewed-by: Jose A. Lopes <jabolopes@google.com>

10 years agoUpdate NEWS file
Hrvoje Ribicic [Tue, 28 Jan 2014 19:21:37 +0000 (19:21 +0000)]
Update NEWS file

This patch updates the NEWS file with NEWS of the bugfix, adding the
new 2.9.4 version in progress.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoModify test to reflect RAPI operation changes
Hrvoje Ribicic [Wed, 29 Jan 2014 13:04:57 +0000 (14:04 +0100)]
Modify test to reflect RAPI operation changes

A rlib2 unittest tested for the wrong behaviour, and this patch changes
the inputs and expected values to account for this.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd QA tests for RAPI multi-instance allocation
Hrvoje Ribicic [Tue, 28 Jan 2014 18:04:44 +0000 (18:04 +0000)]
Add QA tests for RAPI multi-instance allocation

The instance multi-allocation had no tests to detect its breakage, and
this patch fixes that.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix multi-allocation RAPI method
Hrvoje Ribicic [Tue, 28 Jan 2014 15:26:32 +0000 (15:26 +0000)]
Fix multi-allocation RAPI method

The OpInstanceMultiAlloc that the instances-multi-alloc RAPI method
uses accepts a list of OpInstanceCreate opcodes rather than a list of
dictionaries as provided by the method. This patch correctly constructs
the opcodes, allowing the RAPI call to work as expected.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd Network Management section in admin.rst
Dimitris Aragiorgis [Wed, 29 Jan 2014 10:42:51 +0000 (12:42 +0200)]
Add Network Management section in admin.rst

This section provides some basic info regarding gnt-network design,
adds a simple hands-on example and refers to external components
that gnt-network can interact with, in order instances will get
the desired configuration.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAssign unique filenames to filebased disks
Ilias Tsitsimpis [Tue, 28 Jan 2014 15:23:46 +0000 (17:23 +0200)]
Assign unique filenames to filebased disks

With the new format for cmdline arguments, the user is able to add a
disk to an instance at a specific index. But filebased disks' filenames
have the form "{0}/disk{1}" where '{0}' is the file_storage_dir and
'{1}' is the index of the disk. So if an instance has 3 disks and we
try to create a new one at index 1, the operation will fail because the
filename "{0}/disk1" already exists.

This patch fixes the above problem and also makes the naming of file and
shared disks uniform with other templates.

Signed-off-by: Ilias Tsitsimpis <iliastsi@grnet.gr>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoEnable network tags in Haskell code
Hrvoje Ribicic [Tue, 28 Jan 2014 10:19:47 +0000 (11:19 +0100)]
Enable network tags in Haskell code

Prior to the creation of the 2.10 branch, network tags were broken, and
the Haskell code introduced there mistakenly accepted this as the
desired functionality. This patch fixes this in a very simple way.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoMerge branch 'stable-2.9' into stable-2.10
Klaus Aehlig [Mon, 27 Jan 2014 12:23:52 +0000 (13:23 +0100)]
Merge branch 'stable-2.9' into stable-2.10

* stable-2.9
  Revision bump for 2.9.3
  Schedule 2.9.3 release
  Document fix of issue 691 in NEWS
  NEWS: fix typo in 2.8.4 release
  Fix 'hvparams' of '_InstanceStartupMemory' on hypervisors
  Add missing option to gnt-instance documentation
  Update NEWS file
  Fix disk_type error in hypervisor parameter documentation
  Update NEWS file: issue 687 and configure fix
  luxid: fix detection of master node in node query
  query: fix detection of master in _GetNodeRole()
  Break line longer than 80 chars in configure.ac
  Technical writing: improve documentation and glossary
  configure: allow detection of Sphinx 1.2+
  Remove deprecated _ERROR_DATA_KEY in QMP
  Technical writing: improve main documentation page
  Update the NEWS file with the Issue 640 fix
  Ensure that all the hypervisors exist in the config file
  Fix testEncodeInstance test input

* stable-2.8
  Version bump for 2.8.4 and NEWS update
  Update NEWS file with news about job cancellation bugfix
  Fix QA flakiness
  Linting fix: remove unused import
  Add missing parameter entry to man file
  Add QA test for job cancellation
  Add correct locking of master node to gnt-debug delay
  Add job id type assert to jqueue.py
  Add job id transformation/check to Luxi Python client
  Start-master/stop-master always fail if confd is disabled
  Improve backwards compatibility of Issue 649 fix
  Add missing NEWS entries from stable-2.8
  Change usb_devices separator to whitespace
  Add support for blktap2 file-driver
  Update opcodes test to include network tags
  Make network tags searchable
  Add network tag tests to QA
  Fix RAPI network tag handling
  Fix gnt-network list-tags

Conflicts:
NEWS
configure.ac
doc/index.rst
lib/constants.py
lib/hypervisor/hv_kvm.py
src/Ganeti/OpParams.hs
src/Ganeti/Query/Server.hs
test/hs/Test/Ganeti/OpCodes.hs
test/py/ganeti.hypervisor.hv_xen_unittest.py
test/py/ganeti.rpc_unittest.py
Resolution:
NEWS: take both additions
configure.ac: ignore revision bump
doc/index.rst: take stable-2.9 changes
lib/constants.py: ignore stable-2.9 changes, but redo
    7bc2c09762 in the new constants framework
(rest trivial)

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Hrvoje Ribicic <riba@google.com>

10 years agoHaskell style: explicit errors, visible in the type
Klaus Aehlig [Thu, 23 Jan 2014 12:46:05 +0000 (13:46 +0100)]
Haskell style: explicit errors, visible in the type

While it is already standard in the Ganeti code base, explicitly
document that we do not like Exceptions and use sum types instead.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoClarify spacing in record syntax
Klaus Aehlig [Thu, 16 Jan 2014 15:36:14 +0000 (16:36 +0100)]
Clarify spacing in record syntax

So far, our code base does not have a consistent way of spacing
records. To work towards more consistency, add a recommendation
into out style guide. We standardize on what seems most common
in the Haskell world and also is the dominant form in our code
base.

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

10 years agoImprove the point-free section of the style guide
Petr Pudlak [Thu, 9 Jan 2014 13:36:28 +0000 (14:36 +0100)]
Improve the point-free section of the style guide

Distinguish declaring functions in the point-free style and using
a very similar technique to avoid parentheses (which isn't technically
point-free).

Signed-off-by: Petr Pudlak <pudlak@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd code style document to documentation
Santi Raffa [Wed, 8 Jan 2014 16:02:10 +0000 (16:02 +0000)]
Add code style document to documentation

The Ganeti code style has been stored on the project wiki at:

  https://code.google.com/p/ganeti/wiki/StyleGuide
  https://code.google.com/p/ganeti/wiki/HaskellStyleGuide

This commit combines the two pages into an .rst file with minimal
formatting and language changes. Note that the style guide introduced
in this commit does not fit the code base in a number of ways,
including:

* Some Haskell files have lines longer than 78 characters
* Some Haskell files have trailing whitespace
* Some Python docstring initial sentences lack punctuation at the end

The decision to either change the offending lines to fit the guidelines,
to change the guidelines to fit the codebase or to simply ignore the
discrepancies is left for other commits to solve.

Signed-off-by: Santi Raffa <rsanti@google.com>
Signed-off-by: Petr Pudlak <pudlak@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoExport docs from wiki to repo
Jose A. Lopes [Mon, 27 Jan 2014 09:08:56 +0000 (10:08 +0100)]
Export docs from wiki to repo

Export documents about 'cluster keys replacement' and 'design file
based storage' from the wiki to the repository.

Signed-off-by: Jose A. Lopes <jabolopes@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoRevision bump for 2.9.3
Klaus Aehlig [Fri, 24 Jan 2014 10:42:08 +0000 (11:42 +0100)]
Revision bump for 2.9.3

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Jose Lopes <jabolopes@google.com>

10 years agoSchedule 2.9.3 release
Klaus Aehlig [Fri, 24 Jan 2014 10:41:44 +0000 (11:41 +0100)]
Schedule 2.9.3 release

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Jose Lopes <jabolopes@google.com>

10 years agoDocument fix of issue 691 in NEWS
Klaus Aehlig [Fri, 24 Jan 2014 10:32:59 +0000 (11:32 +0100)]
Document fix of issue 691 in NEWS

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Jose Lopes <jabolopes@google.com>

10 years agoNEWS: fix typo in 2.8.4 release
Guido Trotter [Thu, 23 Jan 2014 16:07:25 +0000 (17:07 +0100)]
NEWS: fix typo in 2.8.4 release

Signed-off-by: Guido Trotter <ultrotter@google.com>
Reviewed-by: Petr Pudlák <pudlak@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix 'hvparams' of '_InstanceStartupMemory' on hypervisors
Jose A. Lopes [Fri, 24 Jan 2014 00:24:51 +0000 (01:24 +0100)]
Fix 'hvparams' of '_InstanceStartupMemory' on hypervisors

Most hypervisors were calling '_InstanceStartupMemory' but not passing
the 'hvparams' keyword argument.  Actually, it is not necessary to
pass this argument given that it is an attribute in the instance
object, which is passed.  This patch removes the 'hvparams' arg all
together, fixes the function and the calls to it.

Fixes issue 691.

Signed-off-by: Jose A. Lopes <jabolopes@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd missing option to gnt-instance documentation
Hrvoje Ribicic [Thu, 23 Jan 2014 17:24:50 +0000 (18:24 +0100)]
Add missing option to gnt-instance documentation

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoUpdate NEWS file
Klaus Aehlig [Thu, 23 Jan 2014 15:40:02 +0000 (16:40 +0100)]
Update NEWS file

With the merge of stable-2.8 into stable-2.9, quite a few fixes
got inherited.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoMerge branch 'stable-2.8' into stable-2.9
Klaus Aehlig [Thu, 23 Jan 2014 13:24:08 +0000 (14:24 +0100)]
Merge branch 'stable-2.8' into stable-2.9

* stable-2.8
  Version bump for 2.8.4 and NEWS update
  Update NEWS file with news about job cancellation bugfix
  Fix QA flakiness
  Linting fix: remove unused import
  Add missing parameter entry to man file
  Add QA test for job cancellation
  Add correct locking of master node to gnt-debug delay
  Add job id type assert to jqueue.py
  Add job id transformation/check to Luxi Python client
  Start-master/stop-master always fail if confd is disabled
  Improve backwards compatibility of Issue 649 fix
  Add missing NEWS entries from stable-2.8
  Change usb_devices separator to whitespace

Conflicts:
NEWS: take both additions
configure.ac: ignore revision bump
lib/cmdlib/test.py: manually redo changes of stable-2.8
    on stable-2.9 version

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

10 years agoFix disk_type error in hypervisor parameter documentation
Hrvoje Ribicic [Thu, 23 Jan 2014 10:20:40 +0000 (10:20 +0000)]
Fix disk_type error in hypervisor parameter documentation

According to the code, presenting disks as paravirtual is supported on
both HVM and KVM, while IDE works only on KVM. This patch updates docs
to be accurate.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoVersion bump for 2.8.4 and NEWS update
Michele Tartara [Thu, 23 Jan 2014 08:52:42 +0000 (08:52 +0000)]
Version bump for 2.8.4 and NEWS update

Update the version number to 2.8.4 and insert the final details for this
release in the NEWS file, including the release date.

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

10 years agoRun drbdsetup syncer only on network attach
Hrvoje Ribicic [Thu, 9 Jan 2014 17:10:58 +0000 (17:10 +0000)]
Run drbdsetup syncer only on network attach

As late as DRBD 8.3.11, the drbdsetup syncer command has a bug causing
nodes to hang from time to time, requiring manual intervention to fix.
The use of the command cannot be avoided, but the incidence of use can
be reduced.

By invoking the command only when the network part of a DRBD device is
configured, activate-disks and similar commands can avoid invoking the
troublesome command. This patch does this by moving the invocation from
Assemble to _AssembleNet.

Works towards fixing issue 650.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Thomas Thrainer <thomasth@google.com>

10 years agoUpdate NEWS file with news about job cancellation bugfix
Hrvoje Ribicic [Mon, 20 Jan 2014 16:25:02 +0000 (17:25 +0100)]
Update NEWS file with news about job cancellation bugfix

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix QA flakiness
Hrvoje Ribicic [Mon, 20 Jan 2014 16:22:23 +0000 (17:22 +0100)]
Fix QA flakiness

The newly added job QA has some flakiness with respect to its use of
gnt-job watch. Fix this by waiting until the canceling status is
replaced with the canceled status, or a timeout is reached.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoLinting fix: remove unused import
Hrvoje Ribicic [Mon, 20 Jan 2014 15:30:05 +0000 (16:30 +0100)]
Linting fix: remove unused import

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoUpdate NEWS file: issue 687 and configure fix
Klaus Aehlig [Mon, 20 Jan 2014 13:12:38 +0000 (14:12 +0100)]
Update NEWS file: issue 687 and configure fix

Add entries to the NEWS file for the two user-visible changes that
happened since the last update: issue 687 got fixed, and configure
now supports Sphinx versions 1.2+.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoluxid: fix detection of master node in node query
Apollon Oikonomopoulos [Mon, 20 Jan 2014 12:55:26 +0000 (14:55 +0200)]
luxid: fix detection of master node in node query

Ganeti.Config.getNodeRole would rely on clusterMasterNode returning the
master node name, however clusterMasterNode returns the master node's
UUID. We fix this and a similar issue in Ganeti.Query.Node.nodeFields.

Together with 1ec34e26, this fixes issue #687.

Signed-off-by: Apollon Oikonomopoulos <apoikos@gmail.com>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd missing parameter entry to man file
Hrvoje Ribicic [Mon, 20 Jan 2014 12:06:45 +0000 (13:06 +0100)]
Add missing parameter entry to man file

The gnt-instance manual was lacking an entry for the vnc-password-file
hypervisor parameter. This patch adds one, and also some information on
the default value of the parameter.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd QA test for job cancellation
Hrvoje Ribicic [Thu, 16 Jan 2014 10:14:08 +0000 (10:14 +0000)]
Add QA test for job cancellation

This patch introduces a QA test in which a job is cancelled while
waiting.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd correct locking of master node to gnt-debug delay
Hrvoje Ribicic [Thu, 16 Jan 2014 12:08:18 +0000 (12:08 +0000)]
Add correct locking of master node to gnt-debug delay

The gnt-debug delay command required locks for all nodes except the
master - this patch fixes the issue by adding master to the locks
whenever needed.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd job id type assert to jqueue.py
Hrvoje Ribicic [Wed, 15 Jan 2014 13:51:01 +0000 (13:51 +0000)]
Add job id type assert to jqueue.py

While the changes introduced in previous patches should stop any job
id parameters reaching the queue as strings, add an assertion here to
catch any strings making it through.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoAdd job id transformation/check to Luxi Python client
Hrvoje Ribicic [Wed, 15 Jan 2014 13:48:51 +0000 (13:48 +0000)]
Add job id transformation/check to Luxi Python client

This patch adds checks to the Luxi client, making sure that job ids
are converted from strings to ints before being passed on, or that an
error is reported.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoquery: fix detection of master in _GetNodeRole()
Apollon Oikonomopoulos [Fri, 17 Jan 2014 15:32:38 +0000 (17:32 +0200)]
query: fix detection of master in _GetNodeRole()

Commit 1c3231aa changed the invocation of _GetNodeRole() to pass the
master node by UUID and not by name, but didn't change the
implementation to compare the nodes by name. As a result, the master
node (which is also a master candidate) would always fall through to the
second option and be marked as 'C' instead as 'M'.

We fix this by modifying the implementation of _GetNodeRole() to perform
the comparison by UUID and also change the respective tests to test the
new API.

Signed-off-by: Apollon Oikonomopoulos <apoikos@gmail.com>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoStart-master/stop-master always fail if confd is disabled
Jose A. Lopes [Fri, 17 Jan 2014 00:43:43 +0000 (01:43 +0100)]
Start-master/stop-master always fail if confd is disabled

In 'daemons/daemon-util.in', 'start-master' and 'stop-master' always
fail if confd is disabled.

Fixes issue 685.

Signed-off-by: Jose A. Lopes <jabolopes@gmail.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoInclude target node in hooks nodes for migration
Dimitris Aragiorgis [Fri, 10 Jan 2014 13:00:08 +0000 (15:00 +0200)]
Include target node in hooks nodes for migration

In case of DRBD, hooks run on both primary (source) and secondary
(target) nodes. To get the same behavior for DTS_EXT_MIRROR, where we
do not have secondary node, we should explicitly add target node to
hooks nodes during instance migration/failover.

CheckPrereq() of TLMigrateInstance runs before BuildHooksManager(),
thus target_node calculated by Iallocator is available under
self._migrater.target_node. Use this value instead of
self.op.target_node which can be None.

Update NEWS and related doc entries.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Signed-off-by: Michele Tartara <mtartara@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoFix configure dirs
Jose A. Lopes [Thu, 16 Jan 2014 18:33:53 +0000 (19:33 +0100)]
Fix configure dirs

Fix overridable configure directories, namely, --bindir, --sbindir,
and --mandir.

Variables 'bindir', 'sbindir', and 'mandir' are exported from
'configure.ac' to 'Makefile.am'. At first, it would seem to be
possible to do the following:

  MANDIR := $(mandir)
  ...
  mandir = $(versionedsharedir)$(datarootdir)/$(MANDIR)

However, this does not work in the output of 'configure' (i.e., the
'Makefile'), these variables will be reordered:

  mandir = $(versionedsharedir)$(datarootdir)/$(MANDIR)
  ...
  MANDIR := $(mandir)

As a result, 'MANDIR' will capture not the exported value from
'configure.ac' but the 'mandir' defined in the 'Makefile'.

The solution is explicitly export these variables from 'configure.ac'
with different names, namely, 'BINDIR', 'SBINDIR', and 'MANDIR':

  AC_SUBST([BINDIR], $bindir)
  AC_SUBST([SBINDIR], $sbindir)
  AC_SUBST([MANDIR], $mandir)

The rest is just fixing the paths and the symlinks in the 'Makefile'.

Signed-off-by: Jose A. Lopes <jabolopes@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoDocs: Update the version of ganeti-instance-debootstrap
Petr Pudlak [Fri, 17 Jan 2014 08:19:52 +0000 (09:19 +0100)]
Docs: Update the version of ganeti-instance-debootstrap

The installation manual used version 0.12, which had some bugs.
This patch updates it to the latest 0.14.

Signed-off-by: Petr Pudlak <pudlak@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoFix 'design-internal-shutdown' not being in a toctree
Jose A. Lopes [Thu, 16 Jan 2014 16:01:12 +0000 (17:01 +0100)]
Fix 'design-internal-shutdown' not being in a toctree

Signed-off-by: Jose A. Lopes <jabolopes@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoInstance shutdown doc from draft to partially implemented
Jose A. Lopes [Thu, 16 Jan 2014 13:54:50 +0000 (14:54 +0100)]
Instance shutdown doc from draft to partially implemented

Signed-off-by: Jose A. Lopes <jabolopes@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoBreak line longer than 80 chars in configure.ac
Klaus Aehlig [Mon, 13 Jan 2014 12:54:14 +0000 (13:54 +0100)]
Break line longer than 80 chars in configure.ac

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Jose Lopes <jabolopes@google.com>

10 years agoTechnical writing: improve documentation and glossary
Jose A. Lopes [Mon, 13 Jan 2014 12:37:06 +0000 (13:37 +0100)]
Technical writing: improve documentation and glossary

Improve structure and content on the main documentation page of Ganeti
and the glossary.

Signed-off-by: Betsy Beyer <bbeyer@google.com>
Reviewed-by: Jose A. Lopes <jabolopes@google.com>

10 years agoconfigure: allow detection of Sphinx 1.2+
Apollon Oikonomopoulos [Mon, 13 Jan 2014 12:12:14 +0000 (14:12 +0200)]
configure: allow detection of Sphinx 1.2+

The regular expression used for parsing the Sphinx version does not work
with Sphinx versions after 1.1, as reported in issue #502. The reason
for this is that upstream commit 8f28af8e2ed8[1] introduced proper
support for --version, which ganeti was already using but sphinx-build
was lacking (outputting generic usage information instead).

Since it seems that upstream has no reason to change the output format
again, we support the new versioning scheme with a strict-as-possible
match.

This fixes issue 502.

[1] https://bitbucket.org/birkenfeld/sphinx/commits/8f28af8e2ed8619087738d83b4f55e3db938a104

Signed-off-by: Apollon Oikonomopoulos <apoikos@gmail.com>
Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Klaus Aehlig <aehlig@google.com>

10 years agoRemove deprecated _ERROR_DATA_KEY in QMP
Dimitris Aragiorgis [Sat, 11 Jan 2014 16:48:18 +0000 (18:48 +0200)]
Remove deprecated _ERROR_DATA_KEY in QMP

Commit de253f14 of QEMU repo "BREAKS QMP's compatibility for
the error response" as it removes "data" key from qmp error
response messages.  To this end we only log "class" and "desc"
values of the message.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Signed-off-by: Stratos Psomadakis <psomas@grnet.gr>
Reviewed-by: Jose A. Lopes <jabolopes@google.com>

10 years agoRun postupgrade hook after upgrade
Klaus Aehlig [Fri, 10 Jan 2014 10:01:22 +0000 (11:01 +0100)]
Run postupgrade hook after upgrade

To allow for necessary last-moment adaptions, of the new cluster,
we run the post-upgrade hook of the target version, providing
the version we originally started from.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoProvide path to post-upgrade
Klaus Aehlig [Fri, 10 Jan 2014 10:05:46 +0000 (11:05 +0100)]
Provide path to post-upgrade

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoAdd an empty post-upgrade hook
Klaus Aehlig [Fri, 10 Jan 2014 09:43:03 +0000 (10:43 +0100)]
Add an empty post-upgrade hook

As 2.10 is the first version from which you can do automatic upgrades,
there is nothing to do when going to any other version in the 2.10
branch.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agodesign: support post-upgrade hooks
Klaus Aehlig [Fri, 10 Jan 2014 09:33:10 +0000 (10:33 +0100)]
design: support post-upgrade hooks

While the general policy for Ganeti is to just accept the situation
it finds after being upgraded from an older version, in some cases
additional actions might be necessary. So support a hook for doing
so.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoAlso add the current version to the intent-to-upgrade file
Klaus Aehlig [Fri, 10 Jan 2014 10:13:42 +0000 (11:13 +0100)]
Also add the current version to the intent-to-upgrade file

Our design states, that the intent-to-upgrade file contains "the current
version of ganeti, the version to change to, and the process ID". Make the
implementation fit with that design.

Signed-off-by: Klaus Aehlig <aehlig@google.com>
Reviewed-by: Petr Pudlak <pudlak@google.com>

10 years agoTechnical writing: improve main documentation page
Jose A. Lopes [Thu, 9 Jan 2014 15:50:11 +0000 (16:50 +0100)]
Technical writing: improve main documentation page

Improve structure and content on the main documentation page of
Ganeti.

Signed-off-by: Betsy Beyer <bbeyer@google.com>
Reviewed-by: Jose A. Lopes <jabolopes@google.com>

10 years agoImprove backwards compatibility of Issue 649 fix
Michele Tartara [Wed, 8 Jan 2014 14:01:24 +0000 (14:01 +0000)]
Improve backwards compatibility of Issue 649 fix

Commit e6e4ff4cf8d0100f331f94f7a27aa1e03a5d0e7d fixed Issue 649 by switching the
separator for usb_devices from comma to space. That solved the problem with
the command line, but RAPI was able to work with commas too, so, for backwards
compatibility we need to keep supporting that as well.

Also, in order to avoid changing the format of the config file, the default
internal representation is brought back to being comma-based, and it is changed
at the interface level (CLI or RAPI) before being passed on.

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

10 years agoAdd missing NEWS entries from stable-2.8
Michele Tartara [Tue, 7 Jan 2014 16:04:48 +0000 (16:04 +0000)]
Add missing NEWS entries from stable-2.8

Some fixes where pushed to the stable-2.8 branch without a corresponding NEWS
entry. This patch adds them.

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

10 years agoChange usb_devices separator to whitespace
Michele Tartara [Tue, 7 Jan 2014 15:05:54 +0000 (16:05 +0100)]
Change usb_devices separator to whitespace

The usb_devices parameter was using comma as a list separator, but this cannot
work because comma is already used as the hypervisor parameter separator.

Change it to use whitespace as a separator, in accordance to what already done
for the extra parameters.

The NEWS file is updated accordingly.

Fixes Issue 649.

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

10 years agoUpdate the NEWS file with the Issue 640 fix
Michele Tartara [Thu, 19 Dec 2013 18:29:24 +0000 (19:29 +0100)]
Update the NEWS file with the Issue 640 fix

Add an entry in the NEWS file describing the fix of Issue 640.

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

10 years agoEnsure that all the hypervisors exist in the config file
Michele Tartara [Thu, 19 Dec 2013 17:27:38 +0000 (18:27 +0100)]
Ensure that all the hypervisors exist in the config file

All the hypervisors are supposed to exist in the config file, but it might not
be so after upgrades from old versions. This patch ensures that all the missing
hypervisors are added with their default values to the config file.

Also, some tests are adapted, because now they receive the default values
instead of an empty dictionary when they are working using a minimal cluster
config as their input.

Fixes Issue 640.

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

10 years agoFix testEncodeInstance test input
Michele Tartara [Thu, 19 Dec 2013 17:13:13 +0000 (18:13 +0100)]
Fix testEncodeInstance test input

The input of the testEncodeInstance test was not adherent to the actual format
of the Ganeti configuration file: kvm has no HV_BLOCKDEV_PREFIX, and "hvparams"
inside an instance should only contain the values of the hypervisor parameters,
not the hypervisor name, which is already declared in the "hypervisor" field,
and which was not correctly aligned with the parameters in the "hvparams"
section.

All these problems are now fixed, and the assertions are changed accordingly.

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

10 years agoMerge branch 'stable-2.8' into stable-2.9
Klaus Aehlig [Mon, 16 Dec 2013 16:23:19 +0000 (17:23 +0100)]
Merge branch 'stable-2.8' into stable-2.9

* stable-2.8
  Add support for blktap2 file-driver
  Update opcodes test to include network tags
  Make network tags searchable
  Add network tag tests to QA
  Fix RAPI network tag handling
  Fix gnt-network list-tags

Conflicts:
lib/cmdlib/tags.py
test/py/ganeti.hypervisor.hv_xen_unittest.py
Resolution: manually apply the changes from stable-2.8 to
            the stable-2.9 code.

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

10 years agoVersion bump for 2.10.0~rc1
Thomas Thrainer [Mon, 16 Dec 2013 13:25:50 +0000 (14:25 +0100)]
Version bump for 2.10.0~rc1

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

10 years agoUpdate NEWS for 2.10.0 rc1 release
Thomas Thrainer [Mon, 16 Dec 2013 13:23:56 +0000 (14:23 +0100)]
Update NEWS for 2.10.0 rc1 release

Mention inherited changes as well as the (very few) changes made to
stable-2.10 since beta1.

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

10 years agoFix pylint 0.26.0/Python 2.7 warning
Thomas Thrainer [Mon, 16 Dec 2013 13:01:49 +0000 (14:01 +0100)]
Fix pylint 0.26.0/Python 2.7 warning

pylint 0.26.0 on Python 2.7 generates a warning on the string '\ ',
recommending to use the r prefix. This patch adds the missing prefix.

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

10 years agoUpdate INSTALL and devnotes for 2.10 release
Thomas Thrainer [Mon, 16 Dec 2013 12:44:47 +0000 (13:44 +0100)]
Update INSTALL and devnotes for 2.10 release

The following changes are made:
 * Add M4 as required dependency
 * Change reference to qemu-img package to qemu-utils
 * Never use `sudo` for easy_install (not used for apt-get neither)
 * Add libpcre3-dev as required package for Wheezy (otherwise linking
   fails)
 * Install sphinx from packages (easy_install would install an
   incompatible version on Wheezy)
 * Fix spelling error

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

10 years agoAdd support for blktap2 file-driver
Michele Tartara [Fri, 13 Dec 2013 13:26:23 +0000 (13:26 +0000)]
Add support for blktap2 file-driver

Newer Xen versions use blktap2 instead of blktap. This patch adds support
for it in Ganeti.

Fixes Issue 638.

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

10 years agoUpdate opcodes test to include network tags
Hrvoje Ribicic [Thu, 12 Dec 2013 15:33:04 +0000 (16:33 +0100)]
Update opcodes test to include network tags

This patch adds the network tags to the list of all other tag types
that can be tried in QuickCheck tests.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoMake network tags searchable
Hrvoje Ribicic [Fri, 13 Dec 2013 12:47:27 +0000 (12:47 +0000)]
Make network tags searchable

This patch adds the network tags to the tags searched by gnt-cluster
search-tags, and in the process cleans up the code slightly.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoAdd network tag tests to QA
Hrvoje Ribicic [Thu, 12 Dec 2013 15:36:04 +0000 (16:36 +0100)]
Add network tag tests to QA

The QA did not have a test for network tags until now, and this patch
remedies the situation.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoFix RAPI network tag handling
Hrvoje Ribicic [Mon, 16 Dec 2013 13:21:04 +0000 (14:21 +0100)]
Fix RAPI network tag handling

The network tags were absent from an if check used to actually list
tags. The patch fixes the oversight, and adds a proper error message in
case the issue occurs again for a new tag type.

Signed-off-by: Hrvoje Ribicic <riba@google.com>
Reviewed-by: Michele Tartara <mtartara@google.com>

10 years agoFix gnt-network list-tags
Dimitris Aragiorgis [Thu, 12 Dec 2013 13:04:11 +0000 (15:04 +0200)]
Fix gnt-network list-tags

Define network tags in haskell part.

This fixes issue 641.

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
Reviewed-by: Hrvoje Ribicic <riba@google.com>