Statistics
| Branch: | Tag: | Revision:

root @ e86c9deb

# Date Author Comment
e86c9deb 11/27/2013 11:37 am Helga Velroyen

Use hypervisor / storage information only when requested

So far, the node queries ignored the list of fields and
just requested all available information from the backend.
That means, for example if only hypervisor information is
requested, still the storage space calculation is...

ede6df3d 11/27/2013 11:37 am Helga Velroyen

Remove duplicate storage units in node query

This is a little performance tweak for the node queries.
So far, the query code mapped the disk templates to storage
units. It could happen that two disk templates were mapped
to the same storage unit and therefore the storage space...

dd3f81ab 11/26/2013 07:12 pm Klaus Aehlig

build_chroot: for wheezy install base64-bytestring via cabal

The version packaged in debian wheezy is less than the minimally
required version 1.0.0.0.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

6b95cc5e 11/26/2013 07:12 pm Klaus Aehlig

Document the minimal version of base64-bytestring required

There exist several versions of base64-bytestring; the interface we're
using is that of version 1.0.0.0 or higher.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

86a4a625 11/26/2013 06:34 pm Helga Velroyen

Use the generic query field test for network QA

Instead of just using sporadic 'gnt-network list' commands,
use the more exhaustive generic query test functions for
list and list-fields.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

97be88c8 11/26/2013 04:03 pm Helga Velroyen

Update design doc wrt to queries from non-masters

This patch updates the design document of the query
splitting with respect to the proposal of making it
possible to run queries from other nodes than the
master node.

Signed-off-by: Helga Velroyen <>...

c487adde 11/26/2013 04:03 pm Helga Velroyen

Mention removal of python queries in NEWS

This patch mentions the removal of the python queries in
the NEWS file, including the removal of the
--enable-split-queries option at configure time.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Klaus Aehlig <>

f5b765f0 11/26/2013 03:31 pm Klaus Aehlig

Make luxid job submission be defined by replication

When receiving jobs to be submitted, make luxid replicate them to all
master candidates and then return. The actual execution can be handled
asynchronously.

Signed-off-by: Klaus Aehlig <>...

493d6920 11/26/2013 03:31 pm Klaus Aehlig

Add function to enqueue jobs

Add a function that ensures that a given set of jobs gets executed at
the appropriate time. At the moment, this is still the simple
mechanism of handing over everything to masterd; but even at this
stage, it has the benefit of allowing to remove code duplication in...

ea128e20 11/26/2013 03:31 pm Klaus Aehlig

Add a function justBad to filter the Bad value of a list

In the same way as justOk allows to filter the Ok values,
add justBad to filter the Bad values. While there, simplify
the definition of justOk.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

9fd653a4 11/26/2013 03:31 pm Klaus Aehlig

Add wrapper to replicate many jobs

Add a convenience wrapper around replicateJob to replicate
many jobs to the master candidates.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

b5a96995 11/26/2013 03:31 pm Klaus Aehlig

Add function to replicate a job to the master candidates

As luxid will be handling the job queue soon, add a utility to
replicate jobs to all master candidates. Also log errors.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

835050f3 11/26/2013 03:31 pm Klaus Aehlig

Compress JobqueueUpdate RPCs

Noded understands compressed RPCs for updating files in the
(replicated) job queue. Make use of this feature.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

7afed8fe 11/26/2013 03:31 pm Klaus Aehlig

Add zlib and base64-bytestring as haskell dependencies

With luxid taking over more and more job management, replicating job
files should use the compressed option, as is currently done by masterd.
This requires gzip compression and base64 encoding available in haskell...

f7819050 11/26/2013 03:31 pm Klaus Aehlig

Release internal lock for serial file later

When allocating new jobs, the new serial is replicated among
all master candidates. To avoid races with a later job id
allocation, keep the internal lock till after the replication
attempt.

Signed-off-by: Klaus Aehlig <>...

9d049fb4 11/26/2013 03:30 pm Klaus Aehlig

Rename LuxiSocket to MasterSocket

Rename the constants to name the socket to connect masterd,
as the name LuxiSocket hints on luxid, which is different
from masterd.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

689fb902 11/26/2013 02:13 pm Helga Velroyen

Add gnt-network list to network QA

The QA for networks so far did not cover network queries
and as such issues with those could not be discovered.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

dabaa0b0 11/26/2013 02:02 pm Petr Pudlak

build_chroot: Add packages for JSON patching (used in QA)

These (optional) packages allow patching QA JSON configuration file (see
[e5398c3a]). While it's meant to be used on Buildbot, it can be useful
to have it installed locally too, for example for testing patches in a...

5c98b73e 11/26/2013 11:14 am Helga Velroyen

Instance queries: remove opcodes and LU

Removes the remains of the instance queries.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

64981f25 11/26/2013 11:14 am Helga Velroyen

Export and network queries: remove opcodes and LUs

Removes the remains of the export (aka backup) and network
queries.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

081dc516 11/26/2013 11:14 am Helga Velroyen

Group queries: remove opcodes and LUs

Removes the remains of the group query code.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

dde771ba 11/26/2013 11:14 am Helga Velroyen

Node queries: remove opcodes and LUs

Removes the remains of the node query code.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

38d18416 11/26/2013 11:14 am Helga Velroyen

Remove opcodes from haskell tests

Clears the haskell tests from the query opcodes that are no
longer needed.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

71dca138 11/26/2013 11:14 am Helga Velroyen

Make burnin use luxi queries

Burnin was still using some op queries. With this patch,
they are now replaced by luxi queries.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

b40c0e97 11/26/2013 11:14 am Helga Velroyen

Remove op queries from masterd

Masterd still had some 'if' branches for the queries that
used to be op queries, but are now luxi queries. This
patch removes them.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

2a02d6fe 11/26/2013 11:14 am Helga Velroyen

Remove instance query python code

This patch removes the python code for the instance
queries. So far, it replaces it by 'NotImplemented'
exceptions. In a later patch of this series, the
remaining part is remove completely.

Signed-off-by: Helga Velroyen <>...

20fb929a 11/26/2013 11:14 am Helga Velroyen

Make watcher use queries properly

The watcher did not yet use the query client to make
queries. This patch fixes that.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

9045e2c6 11/26/2013 11:14 am Helga Velroyen

Adjust console behavior wrt to operation state

Unlike its cli counterpart, the rapi console operation did
not properly take into account whether the instance is
actually running. This patch fixes this problem.

Signed-off-by: Helga Velroyen <>...

981224e9 11/26/2013 11:14 am Helga Velroyen

User query client necessary for instance queries

There were some places left when code querying for instance
information did not use the query client yet.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

96431562 11/26/2013 11:14 am Helga Velroyen

Switch to Haskell for group queries

This patch removes the group query implementation
in python in order to use the new Haskell implementation.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

fbde16f0 11/26/2013 11:13 am Helga Velroyen

Use query client when neccessary for group queries

This patch makes code use the query client for group
queries where necessary in order to remove the python
queries soon.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

fbeb41e6 11/26/2013 11:13 am Helga Velroyen

Switch to haskell for export (aka backup) queries

This patch removes the python implementation of export
(aka backup) queries. So far, it is replaced by
'NotImplemented' exceptions, but later in this series
it will be replaced completely.

Signed-off-by: Helga Velroyen <>...

44ffd981 11/26/2013 11:13 am Helga Velroyen

Switch to Haskell for network queries

This patch removes the python implementation of network
queries and replaces it with 'NotImplemented' exceptions.
It will be removed completely once all queries are
switched to Haskell.

Signed-off-by: Helga Velroyen <>...

862beeab 11/26/2013 11:13 am Helga Velroyen

Disable node query code

This patch removes the python query implementation for
nodes. So far, the code is replaced by 'NotImplemented'
exceptions, because the overall structure of query classes
can be removed more easily at once when all query
implementations are ready to be removed....

a9532fb0 11/26/2013 11:13 am Helga Velroyen

masterd: implement query via luxi

The master daemon so far still did queries via the python
implementation. This patch implements that it uses the
haskell implementation and removes the node queries from
the list of OP-queriable entities.

Signed-off-by: Helga Velroyen <>...

87747cda 11/26/2013 11:13 am Helga Velroyen

Make watcher use query clients

So far, the watcher was still issuing node queries
via the python implementation. This patche switches to
the haskell implementation.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

a51b19de 11/26/2013 11:13 am Helga Velroyen

Move GetClient() to runtime module

Soon both, the cli and the masterd, will use a luxi
client to run queries. The method to obtain and configure
the luxi client with the right address can be reused from
cli to masterd here. Therefore, this patch moves the...

89352544 11/26/2013 11:13 am Helga Velroyen

Implement 'QueryInstances' call in Haskell luxi server

While the command line uses the generic 'Query' call,
rapi calls 'QueryInstances'. 'QueryInstances' so far
was not fully implemented in the Haskell implementation
of the luxi server. This was discovered when trying to...

ec81293c 11/26/2013 11:13 am Helga Velroyen

Fix bug regarding node UUID in haskell node queries

When moving from python to haskell node queries, a bug
was discovered where a node's UUID was mistakenly
compared to a node's name. This indirectly caused the
cluster epo operation to fail, because it was not...

bc57fa8d 11/26/2013 11:13 am Helga Velroyen

Use a query client for node queries where necessary

To remove the node query's python implementation soon, this
patch makes all users of the queries call the haskell
implementation instead of the python one.

Signed-off-by: Helga Velroyen <>...

1211c6ed 11/26/2013 11:13 am Helga Velroyen

Remove --enable-split-query option

Switching from python to haskell queries, this patch
removes the option to dis/enable the haskell queries
at configure time.

Signed-off-by: Helga Velroyen <>
Reviewed-by: Hrvoje Ribicic <>

fd201010 11/26/2013 11:03 am Jose A. Lopes

Add Xen paused state as a Ganeti running state

The QA test 'TestClusterBurnin' pauses instances and the Xen state
domain 'paused' was not being handled properly by Ganeti because it
was not being classified as either a running or shutdown state. This
patch adds the 'paused' state to the set of running states by...

4757ccc4 11/25/2013 06:49 pm Klaus Aehlig

Fix wrong expectation in hsqueeze shelltest

The shelltests expected the wrong position of the -f option
as well. Fix this.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

81879d92 11/25/2013 05:50 pm Klaus Aehlig

hsqueeze: fix position of option in gnt-node power

hsqueeze can produce a shell script with the commands to squeeze
the cluster; in the script, fix the position of the '-f' option
in the 'gnt-node power' command.

Signed-off-by: Klaus Aehlig <>...

1e078ef3 11/22/2013 05:42 pm Klaus Aehlig

build_chroot: hard-code the version of blaze-builder

The newest version does not build on debian squeeze, so avoid
it beeing pulled in as a dependency.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Jose Lopes <>

d7c461b6 11/22/2013 04:16 pm Petr Pudlak

Fix broken TAGS generation

This file is used for development to point to code definitions. Apparently this
has been broken since Februrary [cc40185]. The improved version fixes the
problem and uses Exuberant Ctags <http://ctags.sourceforge.net/>. It uses...

e5398c3a 11/22/2013 03:48 pm Petr Pudlak

Add patching QA configuration files on buildbots

In order to work, it is necessary:
  • Write a JSON Patch to file "qa/qa-patch.json" in a source repository.
    (And be careful not to commit it!) The file must conform to RFC6902
    and describes what changes should be done to the QA JSON...
2ca1b52d 11/21/2013 03:45 pm Klaus Aehlig

Add missing spindles paramter to idisk

When spindles where added to Ganeti, apparently it was forgotten
to add the parameter to the Haskell data type as well. Do this now.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Petr Pudlak <>

9e448d7f 11/21/2013 03:45 pm Klaus Aehlig

Parse spindles as integer

The disk parameter "spindles", if present, has to be an integer.
Enforce this already when parsing the command line, instead of
passing around the string representation of that integer.

Signed-off-by: Klaus Aehlig <>...

a02dbfca 11/20/2013 05:05 pm Petr Pudlak

Add an IPv6 check for the QA test of custom SSH ports

If any of the nodes involved would be reached through IPv6, the test is
skipped. This is because the required testing setup using "iptables" is
suiteble only for IPv4 and doesn't work for IPv6 connections....

b3ad1889 11/19/2013 04:38 pm Klaus Aehlig

hsqueeze: describe option -C in the man page

The option -C was recently added to hsqueeze, but not documented in
the man page. Add the documentation now.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Helga Velroyen <>

7295a6dc 11/19/2013 02:13 pm Hrvoje Ribicic

Allow the NIC VLAN to be set to an empty string

The NIC VLAN has previously not been modified via Haskell, causing the
INicParams class not to be used. With the recent job queue
refactorings, a modification definition is recorded, and for an empty
string (which is a legal default value) a crash happens. This patch...

32933325 11/19/2013 02:13 pm Hrvoje Ribicic

Add the aggregate NIC VLAN instance field

Allow the retrieval of the VLANs of all the NICs through nic.vlans.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

63f4bce5 11/19/2013 02:13 pm Hrvoje Ribicic

Add NIC VLAN field retrieval to Haskell queries

The field was added to Python queries in an earlier version, and now
has to be added to the Haskell queries as well.

Signed-off-by: Hrvoje Ribicic <>
Reviewed-by: Thomas Thrainer <>

6c005975 11/18/2013 02:53 pm Petr Pudlak

Show running times of whole test blocks

Similarly to simple tests, test blocks are now demarcated (in boldface)
and measured.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Jose A. Lopes <>

2129c5ff 11/18/2013 02:53 pm Petr Pudlak

Add more color options to QA

Allow combination of colors, background colors, bold, reverse video,
etc.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Jose A. Lopes <>

1490a90c 11/18/2013 02:53 pm Petr Pudlak

Add more thorough check for terminal color support to QA

It uses `tput` to check if the current terminal has enough colors.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Jose A. Lopes <>

36820089 11/15/2013 05:40 pm Klaus Aehlig

Add tests for hsqueeze commands

In the examples, pick a node that certainly has to be powered on or off,
respectively, and verify that the power command is there, as well
an appropriate migration command in the right position.

Signed-off-by: Klaus Aehlig <>...

268fb0bd 11/15/2013 05:40 pm Klaus Aehlig

hsqueeze: add option to show or save commands

Add an option to hsqueeze to show, or save in a file, the commands
that have to be carried out.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Hrvoje Ribicic <>

bbc6620d 11/15/2013 05:40 pm Klaus Aehlig

hsqueeze: when balancing also keep the move sequence

In hsqueeze, when computing the balancing sequence, also
remember the sequence of moves that lead there.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Hrvoje Ribicic <>

94a420ed 11/15/2013 05:39 pm Klaus Aehlig

Add function to get the moves between two configurations

Add a function that, given two adjacent cluster configurations of
a balancing sequence, computes the moves that led from the first
to the second configuration.

Signed-off-by: Klaus Aehlig <>...

b12a6a00 11/15/2013 05:39 pm Klaus Aehlig

In the list of involved nodes, drop "no secondary"

When grouping moves into jobs, a new job set is started, if the new
move involves a node also touched by a previous move. When computing
the list of involved nodes, the new primary and secondary nodes of the...

7c3a6391 11/15/2013 05:39 pm Klaus Aehlig

Move saving of a command list to CLI

Move the function that saves a list of a command in a file
to CLI.hs. In this way, it is reusable by other htools.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Hrvoje Ribicic <>

a4417db4 11/15/2013 04:49 pm Thomas Thrainer

Merge branch 'stable-2.10' into master

Merge branch 'stable-2.10' into master

  • stable-2.10
    Don't allow optional node parameters
    Move OVS node parameters to the right place
    Make NIC VLAN queryable
    Pass VLAN parameter correctly in moves
    Use constant instead of raw string...
adef95a2 11/15/2013 03:12 pm Thomas Thrainer

Merge branch 'stable-2.9' into stable-2.10

Merge branch 'stable-2.9' into stable-2.10

  • stable-2.9
    Bump revision for 2.9.1
    Update NEWS and schedule release for 2.9.1
    Fix retrieval of xen command in class method
    Fix docstring for ganeti.storage.filestorage_unittest.py...
0808e9d5 11/14/2013 05:40 pm Petr Pudlak

Add NodeGroup to InstanceConsoleInfoParams

Before, calls to `gnt-instance list -o console` with an instance on a
node with a custom SSH port failed because of missing group
configuration. This patch fixes the problem.

Signed-off-by: Petr Pudlak <>...

02911a56 11/14/2013 05:40 pm Petr Pudlak

Add a simple QA test for a group with a custom SSH port

The test is turned on by setting `"group-custom-ssh-port": true` in
the config.

Unlike `"ssh-port": ...` in "options", this is a single test that
doesn't affect the rest of the tests.

Signed-off-by: Petr Pudlak <>...

b337aeb4 11/14/2013 05:40 pm Petr Pudlak

Export `NodeAdd` and `NodeRemove` from qa_node

This is needed for testing SSH ports so that we can remove a node from
a group, add it to a group with a custom SSH port, and then undo the
change.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

e44b72bb 11/14/2013 05:40 pm Petr Pudlak

Allow QA node acquisition and group creation using `with`

For acquiring nodes use `with AcquireManyNodes(num): ...`. The nodes
will be released automatically.
For creating a new group use `with NewGroupCtx() as group: ...`. The
group will be removed automatically....

70e6a07e 11/14/2013 05:40 pm Petr Pudlak

Update NEWS with information about custom SSH ports

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

8cd19bec 11/14/2013 05:40 pm Petr Pudlak

Update custom SSH ports config when downgrading to 2.10

If SSH ports other than 22 are configured, abort the config downgrade,
as the operation would certainly fail. Otherwise just remove
ndparams/ssh_port from the configuration.

Signed-off-by: Petr Pudlak <>...

836ce0c8 11/14/2013 05:40 pm Petr Pudlak

Include ssh_port in the man page

Added to the other node parameters in ganeti.rst.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

ec7b6d63 11/14/2013 05:40 pm Petr Pudlak

Update QA to test custom SSH ports

This patch adds the `ssh-port` option. If set to a non-standard port,
the QA script sets up the default node group with this port, and before
running tests it adds `iptable` rules to all nodes so that the nodes
see each other's SSH servers as running on this port....

651ce6a3 11/14/2013 05:40 pm Petr Pudlak

Use custom SSH ports for other operations

In particular copyfile and renew-crypto.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

c42be2c0 11/14/2013 05:40 pm Petr Pudlak

Use configured SSH ports when connecting to a console

This is accomplished by passing the corresponding node group to
hv_*.py. Tests for hv_*.py that call GetInstanceConsole updated.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

33ffda6c 11/14/2013 05:40 pm Petr Pudlak

Update unit tests for custom SSH ports

The unit tests now include the configurations of SSH ports for node
groups/nodes.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

a9f33339 11/14/2013 05:40 pm Petr Pudlak

Use custom SSH ports in node groups when working with nodes

Calling `gnt-instance console` with a custom SSH port doesn't work yet.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

f2152285 11/14/2013 05:32 pm Petr Pudlak

Add "ndp/ssh_port" node group configuration parameter

The parameter is added to Haskell sources, from which the corresponding
Python code is generated.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

6b2a2942 11/14/2013 05:28 pm Petr Pudlak

Add a method retrieving `NodeGroup` objects by group name

Also add a method for the retrieval of "ndparams" (node parameters)
of groups, not just nodes.

Signed-off-by: Petr Pudlak <>
Reviewed-by: Hrvoje Ribicic <>

1de58759 11/14/2013 05:27 pm Helga Velroyen

group queries: test niceSort and remove FIXME

In an effort to get rid of the python queries soon, this
patch fixes a FIXME of the group queries regarding the
missing testing of niceSort in this context. Due to the
lack of actually weirdly named hostnames, this patch...

07e68848 11/14/2013 04:30 pm Thomas Thrainer

Don't allow optional node parameters

Ganeti does not support optional fields in parameters
(hypervisor-params, disk-params, etc.). OpenVSwitch related node
parameters were the exception to this rule, which caused numerous
problems related to import/export and (de-)serialization....

818e28cf 11/14/2013 04:30 pm Thomas Thrainer

Move OVS node parameters to the right place

OpenVSwitch node parameters were passed as separate command line flags.
This was not only inconsistent with all other parameters
(hypervisor-params, disk-params, ...), but also with the documented
behavior in the man pages....

9a03cffb 11/14/2013 04:30 pm Thomas Thrainer

Make NIC VLAN queryable

Add an additional query field which makes it possible to query for
VLANs of instance NICs.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Hrvoje Ribicic <>

6d9e3ec5 11/14/2013 04:30 pm Thomas Thrainer

Pass VLAN parameter correctly in moves

Fix the assignment of a wrong value to the VLAN and name parameters of
NICs during instance moves.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Hrvoje Ribicic <>

dfc3afd9 11/14/2013 04:30 pm Thomas Thrainer

Use constant instead of raw string

Use the appropriate constant instead of a raw string.

Signed-off-by: Thomas Thrainer <>
Reviewed-by: Hrvoje Ribicic <>

0d3f52da 11/14/2013 03:10 pm Jose A. Lopes

Fix instance info

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

24c530df 11/14/2013 03:10 pm Jose A. Lopes

Add QA tests for instance shutdown detection

Add QA tests for instance shutdown detection with Xen PVM and HVM
hypervisors.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

70f25a49 11/14/2013 03:10 pm Jose A. Lopes

Fix class methods in KVM hypervisor

Several methods in KVM hypervisor behave like 'classmethods', however,
they did not have the '@classmethod' annotation. This patch adds
'@classmethod' annotations to several of these methods with the goal
of making '_StopInstance' available to the QA. This step is necessary...

d2e4e099 11/14/2013 03:10 pm Jose A. Lopes

Update tests

Update hypervisor unit tests.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

e52e0ddc 11/14/2013 03:09 pm Jose A. Lopes

Watcher cleans user shutdown domains

Update watcher to destroy shutdown domains when it detects that a
domain is in the state 'USER_down'. This requires adding logic
similar to that of restart instance, that is tracking the number of
cleanup attempts in the watcher's state and give up if a given number...

55c87175 11/14/2013 03:09 pm Jose A. Lopes

Haskell instance queries report 'USER_down'

Update instance queries on the Haskell codebase to report 'USER_down',
similarly to the Python instance queries.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

9982754c 11/14/2013 03:09 pm Jose A. Lopes

Python instance queries report 'USER_down'

Update instance queries on the Python codebase to report 'USER_down'
in the situation where the user has shutdown a Xen domain but Ganeti
still marks this domain as 'ADMIN_up' in its configuration file.

Signed-off-by: Jose A. Lopes <>...

9c71582f 11/14/2013 03:09 pm Jose A. Lopes

Prevent instance start when user down

Prevent starting a given instance when that instance has been shutdown
by the user, given that the instance must be first properly shutdown.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

9d22cc90 11/14/2013 03:09 pm Jose A. Lopes

Xen handle domain shutdown

Update Xen backend to properly recognize when a domain has been
shutdown by the user and to properly cleanup a shutdown domain when
Ganeti requests Xen to stop this domain.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

9158a1dd 11/14/2013 03:09 pm Jose A. Lopes

Add instance state 'USER_down'

Add instance state 'USER_down' which is a state used in reporting only
and it represents the situation in which the user has shutdown the
instance but Ganeti's configuration still has this instance marked as
'ADMIN_up'.

Signed-off-by: Jose A. Lopes <>...

931419e5 11/14/2013 03:09 pm Jose A. Lopes

Preserve Xen domain after shutdown

Change Xen domain configuration to preserve the domain state after
shutdown, as opposed to automatic reboot, which is the default
behaviour.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

14933c17 11/14/2013 03:08 pm Jose A. Lopes

Add Haskell hypervisor instance state

Add 'InstanceState' datatype which is the Haskell counterpart of the
Python type 'HvInstanceState'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

a3f0f306 11/14/2013 03:08 pm Jose A. Lopes

Add Python hypervisor instance state

Add 'HvInstanceState' which represents the state of an instance
(either 'running' or 'shutdown') and fix the remaining hypervisor
backends to return a value of this type. Before this patch, each
backend was returning their own value, some were returning strings,...

270df828 11/14/2013 03:08 pm Jose A. Lopes

Fix typo in documentation

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Hrvoje Ribicic <>

88a0e24b 11/14/2013 01:39 pm Jose A. Lopes

Merge 'hs2py-constants' into 'hs2py'

Merge code of 'hs2py-constants' into 'hs2py', which requires adding
flag '--constants', and merge target 'src/hs2py-constants' into
'src/hs2py' in 'Makefile.am', also updating dependencies and
variables.

Signed-off-by: Jose A. Lopes <>...