Statistics
| Branch: | Tag: | Revision:

root @ 1490a90c

# Date Author Comment
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 <>...

0c599ca0 11/14/2013 01:39 pm Jose A. Lopes

Add flag '--opcodes' to 'hs2py'

This is a transitional step before merging 'hs2py-constants' and
'hs2py'.

Signed-off-by: Jose A. Lopes <>
Reviewed-by: Michele Tartara <>

a0714140 11/14/2013 12:15 pm Helga Velroyen

man gnt-network: indicate that --network is mandatory

Despite the fact that the '--network' parameter of
'gnt-network add' is mandatory, it is listed in the man
page in parenthesis, which suggests that it is optional.
Fixing this to avoid user confusion....

e817723c 11/13/2013 05:04 pm Klaus Aehlig

Add missing Constructor for SetParamsMods

Disks and nics can not only be addressed by indices, but also
by name. Hence add a constructor for this case as well, to be
faithful to the python world.

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

edcad688 11/13/2013 02:25 pm Petr Pudlak

Ignore hlint warning "Error: Too strict if" in Server.hs

A previous patch [229da00] added an annotation for ignoring the warning,
but to the middle of a function, which doesn't compile. This patch moves
the annotation to the end of the function to correct the problem....

229da00f 11/13/2013 11:40 am Petr Pudlak

Ignore hlint warning "Error: Too strict if" in Server.hs

This warning appears only in newer versions of hlint (mine was v1.8.43),
and in this case it's reported incorrectly. The arguments to "showJSON"
have different types, therefore it's not possible to move "showJSON" in...

ff37391a 11/12/2013 06:29 pm Jose A. Lopes

Sort design docs alphabetically

Sort design docs alphabetically in Makefile.am and fix whitespace.

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

a50b5ba3 11/12/2013 06:28 pm Jose A. Lopes

Missing design docs from distribution

Fixes issue 609.

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

77a5f613 11/12/2013 06:10 pm Klaus Aehlig

Bump revision for 2.9.1

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

06ff8d5a 11/12/2013 06:10 pm Klaus Aehlig

Update NEWS and schedule release for 2.9.1

Now that issue 608 fixed, schedule a new release date
for 2.9.1.

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

ea07326b 11/12/2013 05:32 pm Helga Velroyen

Fixing rapi documentation wrt to storage types

This fixes a FIXME in the rapi documentation. The list of
storage types that can be queries for space information was
checked against the complete storage type set and not
against the set of storage types that actually support...

f92d9674 11/12/2013 04:37 pm Helga Velroyen

Fix retrieval of xen command in class method

This patch fixes issue 608. When introducing the
configurability of the xen toolstack in commit
8ef418bb92, the hypervisor api was accidentally changed
in a way that let to this error in KVM.

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

245c0610 11/12/2013 03:23 pm Klaus Aehlig

Document incompatible change of luxi

With the change to luxid handling job queue requests, we
also inherited the parsing semantics of luxid, i.e., a
request is only considered syntactically correct, if all
parts are. Document that we decided to consider this change...

c0827de8 11/12/2013 03:23 pm Klaus Aehlig

Adapt TestJobSubmission to new semantics of SubmitManyJobs

Historically, Ganeti would partially handle syntactically incorrect
luxi requests, if the outer structure was that of SubmitManyJobs
request. Moreover, this behavior was verified by a test. We changed to...

ec3b36c8 11/12/2013 03:23 pm Klaus Aehlig

Update future upgrade plans

Now that mandatory opcode fields are mandatory also on disk,
document that, once we use soft drains during upgrades, the disk
representation of the job queue needs to be updated by cfgupgrade
as well.

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

a9e1819b 11/12/2013 03:23 pm Klaus Aehlig

Add a constructor to BaseOpCode

In order to guarantee all mandatory slots to be present, add
a custom constructor to BaseOpCode adding those fields with
default value, instead of inheriting the constructor from
outils.ValidatedSlots.

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

e4236bbd 11/11/2013 10:29 pm Santi Raffa

FillDict: do not use exceptions for flow control

While it's generally better to beg for forgiveness than ask for
permission in Python, it's not a good idea to rely on exceptions to
model control flow, especially if the resulting code is simpler.

Signed-off-by: Santi Raffa <>...

a09639d1 11/11/2013 10:29 pm Santi Raffa

Remove hardcoded references to File, SharedFile templates

DTS_FILEBASED is a constant that exists and this commit makes sure
that it is used whenever sensible, rather than resorting to hardcoding
the pair of templates in very many files.

Signed-off-by: Santi Raffa <>...

2fd2c0fa 11/11/2013 07:53 pm Santi Raffa

Fix docstring for ganeti.storage.filestorage_unittest.py

Signed-off-by: Santi Raffa <>
Signed-off-by: Klaus Aehlig <>
Reviewed-by: Klaus Aehlig <>

704b51ff 11/08/2013 07:00 pm Klaus Aehlig

Make masterd call luxid to write jobs to queue

As the responsibility for writing the job queue changed
to luxid, make masterd call to luxid when it is necessary
to write a job.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

e9cf6af0 11/08/2013 07:00 pm Klaus Aehlig

Set reason trail for derived opcodes

As the base parameters also includes the reason trail,
set it, if not set already, together with the other
base parameters in the case of an opcode expanding to
a list of opcodes.

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

94d6d0a3 11/08/2013 07:00 pm Klaus Aehlig

Make luxid handle SubmitManyJobs

Handle this request by writing the jobs to the
queue and inform masterd; masterd will then also
distribute the jobs to all master candidates.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

e5fba493 11/08/2013 07:00 pm Klaus Aehlig

Make luxid handle SubmitJob

As luxid is to take over responsibility for the job queue,
handle this request by writing the job to the queue and then
informing masterd; masterd will also distribute the job to
all master candidates.

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

1b94c0db 11/08/2013 07:00 pm Klaus Aehlig

Add the predicate of the queue being open

Adding jobs to the queue is only allowed if the queue
is not drained.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

e773a018 11/08/2013 07:00 pm Klaus Aehlig

Provide path to the queue drain file

Since luxid is going to write to the job queue,
it needs to honor drains of the queue as well.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

d9d1e541 11/08/2013 07:00 pm Klaus Aehlig

Add Luxi Request to pick up a job in the queue

During the transition to the new daemon layout, from step 2
onwards, luxid will write to the queue but masterd will trigger
the execution. Therefore, add a new luxi request to tell masterd
to pick up a job that has already been written to the queue....

e1235448 11/08/2013 07:00 pm Jose A. Lopes

Move Haskell constants to proper module

Move Haskell constants from module 'Ganeti.HsConstants', which was a
transitional module part of the Haskell to Python constant generation
infrastructure, to module 'Ganeti.Constants'.

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

74e15780 11/08/2013 07:00 pm Jose A. Lopes

Tear down Py2Hs constant infrastructure

Tear down Python to Haskell constant conversion infrastructure, which
includes eliminating the autotool 'convert-constants' and the Haskell
module, namely 'Ganeti.PyConstants', which held the converted
contants.

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

fcd70b89 11/08/2013 07:00 pm Klaus Aehlig

Factor out functionality to pickup a job from the queue

The current restart procedure for masterd includes functionality
to pick up a job from the queue and restart it, if it hasn't been
started before. Move this functionality into a separate function
to be able to have the enqueuing be done by luxid....

32b07c5f 11/08/2013 07:00 pm Klaus Aehlig

Provide means of locking a file

Two avoid two processes simultaneously accessing the same
on-file structure, like the job queue, file locks are used.
Therefore, provide this functionality in Haskell as well.

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

02926b4b 11/08/2013 07:00 pm Klaus Aehlig

Provide path to the queue lock file

To avoid several processes accessing the queue at the same time,
Ganeti locks the queue via a lock file on disk. Provide the path
to this file.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

b498ed42 11/08/2013 07:00 pm Klaus Aehlig

Provide a function to write jobs to disk

This function writes a (non-archived) job to disk. The file
name can be computed from the job id, which is part of the job.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

5523732b 11/08/2013 07:00 pm Jose A. Lopes

Hs2Py constants: additional module jstore

Add constants from additional modules ('ganeti.jstore') to the Haskell
to Python constant generation.

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

88ac4075 11/08/2013 07:00 pm Jose A. Lopes

Hs2Py constants: additional module errors

Add constants from module 'ganeti.errors' to the Haskell to Python
constant generation.

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

ae858516 11/08/2013 07:00 pm Klaus Aehlig

Provide means to allocate new job ids

Add utility functions to allocate new job ids by increasing
the value stored in the serial file. As this function is
used in a multi-threaded program, synchronize access over
an internal lock.

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

f5a67757 11/08/2013 07:00 pm Klaus Aehlig

Add function to get master candidates from configuration

With luxi daemon taking over part of the job queue management, it will
also be responsible for replicating the queue to all master candidates.
Therefore, add a function to extract the list of master candidates from...

a716edba 11/08/2013 07:00 pm Klaus Aehlig

Support RPC asking to replicate part of the job queue

To be able to replicate the job queue, in particular the serial,
luxid needs to be able to send the jobqueue_update RPC. So add
its definition.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

bf7ee7ad 11/08/2013 07:00 pm Klaus Aehlig

Provide function to obtain the unique element of a list

This version of 'the' properly lives in the 'Result' monad,
as opposed to traditional one calling 'error'. The reason
why it is 'Bad' that not precisely one element is returned
is given as argument....

cef3f99f 11/08/2013 07:00 pm Klaus Aehlig

Provide method to read job serial number

This methods allows reading the maximal job serial number from
disk.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

1c1132f4 11/08/2013 07:00 pm Klaus Aehlig

Provide convenience function to create Job from op-codes

This function handles the pure part of generating a job,
i.e., assuming the job id already assigned and not setting
time stamps.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

62933497 11/08/2013 07:00 pm Klaus Aehlig

Add function to resolve dependencies in meta op code

When queueing many jobs, the dependencies between them need to
be resolved with the knowledge of their respective job id.
Lift the computation of the absolute dependency to the level
of MetaOpCodes.

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

966ea086 11/08/2013 06:59 pm Klaus Aehlig

Add function to compute the absolute id of a dependency

SubmitManyJobs also accepts jobs with dependencies given as
relative ids. Together with the absolute id of the job, once
assigned, the dependency can be resolved. Add a function doing
this computation....

4b49a72b 11/08/2013 06:59 pm Klaus Aehlig

Provide a convenience method to optain a QueuedOpCode

When generating jobs from sequences of op-codes, it is necessary
to wrap op-codes into queued form.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

5badb3e7 11/08/2013 06:59 pm Klaus Aehlig

Add utility function tryAndLogIOError

This function allows to use 'IO a' objects in a safe
way, using the 'try' function; the outcome is reported
as a 'Result'. IOErrors are logged and the result is
'Bad', while in the case of no errors, a result-yielding...

67620dff 11/08/2013 06:59 pm Jose A. Lopes

Hs2Py constants: additional module qlang

Add constants from additional modules ('ganeti.qlang') to the Haskell
to Python constant generation.

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

710f5ae2 11/08/2013 06:59 pm Klaus Aehlig

Provide utility to atomically write a file

To keep our on-file data consistent at any moment, we change
file contents by atomically replacing the file with a new one.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

fbb05686 11/08/2013 06:57 pm Jose A. Lopes

Hs2Py constants: additional module luxi

Add constants from additional modules ('ganeti.luxi') to the Haskell
to Python constant generation.

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

3a036be7 11/08/2013 06:57 pm Jose A. Lopes

Remove module 'ganeti.constants' from 'convert-constants'

Given that there are no more constants in 'ganeti.constants' to
convert to Haskell, this module import and conversion logic can be
removed from the autotool 'convert-constants'.

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

3cb9bd38 11/08/2013 06:57 pm Jose A. Lopes

Fix reference to vcs version in query server

Fix reference to vcs version in query server to take its value from
the Haskell constant in 'Ganeti.Version' instead of using the constant
generated from Python.

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

8ee9a4f0 11/08/2013 06:57 pm Jose A. Lopes

Eliminate unused constants

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

ccdcdc5f 11/08/2013 06:57 pm Jose A. Lopes

Use configure constants instead of generated

Replace uses of the generated 'AF_INET*' constants with the constants
in Haskell's 'AutoConf'.

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

b5a3b24a 11/08/2013 06:57 pm Jose A. Lopes

Hs2Py constants: add 'UUID_REGEX'

Add constant 'UUID_REGEX' to the Haskell to Python constant
generation.

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

2df8f530 11/08/2013 06:57 pm Jose A. Lopes

Add 'AF_INET*' constants to Haskell's 'AutoConf'

Add 'AF_INET*' constants to the Haskell 'AutoConf' module, which
requires extending the 'm4' invocation with additional substitutions,
in the 'Makefile' target for 'src/AutoConf.hs'.

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

08a8acda 11/08/2013 06:57 pm Jose A. Lopes

Python autotool to print socket constants

Add Python script to autotools which prints socket related constants.
These constants are a transitional solution for eliminating the Python
to Haskell constant generation given that the final solution will
require a change in the configuration and, therefore, postponed to...

712dc831 11/08/2013 06:55 pm Klaus Aehlig

Undo revision bump

Before releasing 2.9.2, we still have issue 608 to fix; if
no release date is set, we still have to be at the lower
version.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>

3ff2cf55 11/08/2013 06:23 pm Petr Pudlak

Design document for custom SSH ports

See issue 235. It turned out the feature is a bit more complex than expected,
hence this design doc.

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

1df9bcd1 11/08/2013 05:49 pm Klaus Aehlig

Postpone release of 2.9.1

...until issue 608 is fixed.

Signed-off-by: Klaus Aehlig <>
Reviewed-by: Michele Tartara <>