Statistics
| Branch: | Tag: | Revision:

root / src / Ganeti @ 2fce67b6

Name Size
  Block
  Confd
  Curl
  DataCollectors
  HTools
  Hypervisor
  Query
BasicTypes.hs 6.8 kB
Common.hs 13.3 kB
Compat.hs 1.4 kB
Config.hs 11.1 kB
Constants.hs.in 955 Bytes
Daemon.hs 14 kB
Errors.hs 6.2 kB
Hash.hs 1.8 kB
JQueue.hs 9.9 kB
JSON.hs 8.4 kB
Jobs.hs 3.3 kB
Logging.hs 4.5 kB
Luxi.hs 15.3 kB
Network.hs 3.5 kB
Objects.hs 21.1 kB
OpCodes.hs 16.6 kB
OpParams.hs 42.4 kB
Path.hs 3 kB
Rpc.hs 15.7 kB
Runtime.hs 5.4 kB
Ssconf.hs 4.8 kB
THH.hs 40.5 kB
Types.hs 15.9 kB
Utils.hs 14.8 kB
Version.hs.in 246 Bytes

Latest revisions

# Date Author Comment
544029d3 02/25/2013 08:05 pm Guido Trotter

HRoller: print only online nodes

To make the graphs work even when instances live on offline nodes (eg.
because we're offlining them just to exclude them, or because they have
instance still on them) we just filter them out at the end, when we're
going to print out the result....

2fce67b6 02/25/2013 08:05 pm Guido Trotter

HRoller: allow filtering by node group

Accept the -G option, and if it's passed require that it matches a
nodegroup, then only output nodes belonging to that group.

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

c4bf507b 02/25/2013 11:37 am Iustin Pop

Implement Export queries in Haskell

This is a simple query as it has only two fields, however it's the
first query that doesn't have a clear 'base' object and 1:1
correspondence between such objects and the results (groups, nodes and
networks do so).

We keep nodes as the 'base' object, since that's what we want to...

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....

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....

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....

da9e2aff 02/20/2013 06:47 pm Iustin Pop

Add two utility functions for handling Either lists

These two functions permit operating in bulk on only the Left or Right
values in the original list, then reassembling the list back in the
original order.

Signed-off-by: Iustin Pop <>
Reviewed-by: Michele Tartara <>

cc40185c 02/20/2013 06:47 pm Iustin Pop

Add a Ganeti-specific implementation of Curl Multi

As we want to be able to run queries against multiple nodes in
parallel, and furthermore in parallel with other work, we need to
implement the Curl Multi interface (see libcurl-multi(3)).

This patch adds a Ganeti-specific such implementation, to be used...

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,...

View revisions

Also available in: Atom