Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti / Rpc.hs @ 346c3037

History | View | Annotate | Download (15.8 kB)

# Date Author Comment
ccf17aa3 09/20/2013 04:02 pm Jose A. Lopes

Move 'StorageField' to 'Ganeti.Types'

Move 'StorageField' to 'Ganeti.Types' in order to break the
circularity of 'Ganeti.Rpc' and be able to generate constants from
this Haskell data type.

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

6dc0cb59 09/12/2013 02:01 pm Jose A. Lopes

Add 'daemonsPorts' and related constants

  • add 'daemonsPorts' and related constants used in the construction of
    the 'Map' that maps each daemon to its corresponding protocol and
    port. This breaks constant 'daemonsPortsGanetiNoded' which is
    automatically generated from the Python dictionary 'DAEMONS_PORTS'...
c832f7e9 07/16/2013 10:29 am Klaus Aehlig

Merge branch 'stable-2.8' into master

  • stable-2.8
    Change method dispatch in ClientOps to enforce luxi.REQ_ALL
    Allow modify_etc_hosts to be changed
    Add --modify-etc-hosts option for CLI tools
    Add luxiReqQueryNetworks to LuxiOp
    Log received message at debug level...
c393abbf 07/11/2013 02:42 pm Michele Tartara

Log RPC errors from inside executeRpcCall

executeRpcCall is the function to be used for executing RPCs, so it makes sense
to use it as the single point for logging all thte RPC call errors.

Fixes Issue 293.

Signed-off-by: Michele Tartara <>...

a246ce76 07/11/2013 02:41 pm Michele Tartara

Factor out the logRpcErrors function

This function can be useful to multiple RPC calls, therefore it is moved
to the file containing the common RPC functions.

Also, it is made more generic by changing its signature.

Signed-off-by: Michele Tartara <>...

212b66c3 07/02/2013 01:53 pm Helga Velroyen

Turn 'exclusive_storage' into storage parameter (hs)

This is the haskell implementation of my patch "Extend RPC call
'node_info' by storage parameters". It turns the 'exclusive
storage' flag into a storage parameter of the LVM storage types.
Besides that, this patch moves some types into the Types.hs....

f43c898d 07/01/2013 02:40 pm Bernardo Dal Seno

Export CPUs used by the node OS

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

Signed-off-by: Bernardo Dal Seno <>
Reviewed-by: Klaus Aehlig <>

32389d91 06/14/2013 02:43 pm Helga Velroyen

Refactor NodeInfo RPC regarding storage reporting

The NodeInfo RPC call is refactored to handle now more than
just storage reporting for volume groups.

Since NodeInfo now returns storage space information not
necessarily for volume groups, but also for other storage...

0f0f6d7d 06/14/2013 02:42 pm Helga Velroyen

Add storage type to NodeInfo result

So far, the storage information returned from RPC call
NodeInfo contained only information about volume groups.
In order to extend the storage reporting to other storage
type, we include another field "type" in the result of...

030ab01a 06/12/2013 10:18 am Helga Velroyen

Add hvparams to RPC call 'node_info'

This patch adds the hvparams parameter to the RPC call
'node_info'. It also adjusts the related code in noded.py
and Query/Node.hs

Signed-off-by: Helga Velroyen <>
Reviewed-by: Thomas Thrainer <>

4b92e992 05/21/2013 03:13 pm Helga Velroyen

RPC 'node_info': <storage_type,key> instead of vg_names

This replaces the field 'vg_names' in the RPC call of 'node info' by
'storage_units'. A storage unit is a tuple <storage_type,key>
and a generalization of a vg_name. The list of vg names is replaced by...

842515dd 02/25/2013 11:36 am Iustin Pop

Add export_list RPC call definitions

This is straightforward, as the call has no parameters and a very simple return type.

Signed-off-by: Iustin Pop <>
Reviewed-by: Guido Trotter <>

08f7d24d 02/25/2013 11:36 am Iustin Pop

Improve TemplateHaskell code to support empty objects

Currently, an empty objects will generate warnings as the arguments of
various functions are unused. By adding conditional code for this, we
can support generation of empty objects, e.g. like needed in Rpc code....

8920fa09 02/20/2013 06:47 pm Iustin Pop

Switch the RPC module over to the multi interface

This replaces the very-basic parMap of IO actions (fully serialised,
as parMap won't work here), to the multi interface.

This makes a simple "time gnt-node list" on a 6-node cluster go from
3.2s to ~0.9s, and allows even better parallelisation - before,...

9c0a27d0 02/20/2013 06:47 pm Iustin Pop

Simplify RPC error cases

This patch removes the node from the RPC error constructurs
CurlLayerError and OfflineNodeError. The rationale is that we anyway
return tuples (node, result), and removing this duplication allows
simplified signatures/calls in the execution of RPC calls....

85f6a869 02/20/2013 06:47 pm Iustin Pop

Reduce duplication of curl options computation

Some curl option are request-specific, but not node specific: e.g. rpc
timeout, etc. The patch changes the HttpClientRequest type so that we
can pre-seed such options, instead of rebuilding the list in each
individual request execution....

1ca709c1 02/20/2013 06:47 pm Iustin Pop

Switch the curl bindings from optional to required

Currently, we support curl being optional via some sporting exercises:
ifdefs in the code, data types that represent 'Curl is disabled'
state, etc. However, with the future work on RPC, we would have to
even make the dependencies list conditional on it, etc. This is too...

3add7574 12/24/2012 11:38 pm Iustin Pop

Rename htools/ to src/

Per offline discussions, this is the first patch of the
renames. Tested with "make distcheck", seems to work fine.

The only change outside of the renaming is a bit of simplification in
the .gitignore rules; otherwise, simply s/htools/src/....