- Jun 12, 2009
-
-
Iustin Pop authored
We modify Node.addPri/addSec to take into account the limits on instance adds.
-
- Jun 11, 2009
-
-
Iustin Pop authored
Two new min disk free ratio and max cpu usage attributes are added to the nodes. These will be used in the future to restrict allocation.
-
Iustin Pop authored
This removes some unused functions and imports to cleanup the warnings.
-
Iustin Pop authored
In a few places (e.g. tryRead or any printf call) it's a little bit hard to add the correct type signatures, but in the it is possible to fix these warnings (which can bite one in subtle cases).
-
Iustin Pop authored
This is just some cleanup of the node list output, adding pcpu/vcpu counters, and making the display slightly nicer.
-
- Jun 10, 2009
-
-
Iustin Pop authored
-
Iustin Pop authored
The cpu counters are update on primary instance adds/removes.
-
Iustin Pop authored
This patch adds cpu-count related attributes to nodes: - total cpus - cpus in use - ratio of virtual:physical cpus We also set correctly the cpu values at load time, but we don't do anything yet while moving instances around. The cpu ratio is shown in the cluster list.
-
Iustin Pop authored
This patch adds reading of vcpu count for instances, in preparation for using the vcpu ratio in cluster scoring.
-
Iustin Pop authored
IAllocator currently uses a wrong key name for reading the total disk space (‘disk_usage’ which was copied from RAPI, but the actual iallocator key is ‘disk_space_total’). This patch fixes that and also makes iallocator always use this key, instead of computing the size by itself—with Ganeti 2.0 this is key is always available.
-
- Jun 04, 2009
-
-
Iustin Pop authored
During a replace-primary instance move, on the real cluster the instance is temporarily started on the secondary, and as such we must check that the secondary node can hold it for this duration. Currently the code does not, and depending on cluster scoring it will put instances on such 'bad' secondaries (usually without enough memory). This patch fixes this by adding/removing the instance as a primary on the secondary node; and then using the result node as the new secondary. (Since we're in a monad, we could have just tried the allocation and dropped the result, but this is more clear).
-
- Jun 01, 2009
-
-
Iustin Pop authored
Currently tryAlloc/tryReloc do not return the new instance, as this is not needed for IAllocator alloc/reloc requests. However, for computing the space, the new instance is useful, so we modify these functions to return this information too. The patch also improves hspace to have (with default parameters) a parseable output.
-
Iustin Pop authored
-
Iustin Pop authored
And an alignment issue.
-
Iustin Pop authored
This patch makes sure that all references to the name of the software is ganeti-htools, not simply htools.
-
Iustin Pop authored
This doc-patch adds copyright and license information to (hopefully) all needed files.
-
Iustin Pop authored
This patch moves the test declaration into QC.hs, so that test.hs has to be modified only when we add a new test category.
-
Iustin Pop authored
-
Iustin Pop authored
These are generic enough to be used from multiple places, they belong better in Cluster.hs than in the hail source.
-
Iustin Pop authored
These two will be more generic than now, and belong somewhere else - Loader.hs is a generic module for data loading, thus we move them there.
-
Iustin Pop authored
Also replace a type with its synonim.
-
Iustin Pop authored
This patch does only doc build changes, doc changes and function move around (for more logical documentation). It should have no impact at all on the code.
-
Iustin Pop authored
-
Iustin Pop authored
This is more of an exercise in QuickCheck than strong testing.
-
Iustin Pop authored
This completes the removal started earlier byt removeing the need to pass the number of nodes to Node.buildPeers, which is now unused.
-
Iustin Pop authored
This patch adds a QuickCheck-based test infrastructure and initial tests based on it. The PeerMap module has a 100% coverage
☺️ Side-note: one has to read the source of QuickCheck to see how to use it (especially the Batch submodule), the docs are not enough…
-
- May 27, 2009
-
-
Iustin Pop authored
This patch removes some unused functions and does some cleanup of the remaining ones.
-
Iustin Pop authored
We remove some unused arguments (added way back for compatibility with Arrays, which we didn't use in the end). This makes the code clearer (and doesn't need the Ndx type to be an instance of Num).
-
Iustin Pop authored
-
Iustin Pop authored
Currently we (wrongly) use lookupNode to lookup instances, just because the name assoc list has the same type. This patch adds a separate function for it.
-
Iustin Pop authored
This is a first step towards full datatype renaming. That requires more changes, so at first we only want to document clearly what is a node index, what is an instance index, and what is a plain Int.
-
- May 26, 2009
-
-
Iustin Pop authored
This patch makes the Types module a base module, and Node/Instance ones import it, from the previous (opposite) situation. This will allow in the future to use newtypes for the index and name types.
-
Iustin Pop authored
The IAllocator source was copied from Rapi before the offline node fixes were made. This changes such that offline nodes are accepted correctly.
-
- May 25, 2009
-
-
Iustin Pop authored
Currently iallocator is broken when reading single-node instances (and with an ugly error message). This patch fixes this case, by marking them with secondary node “noSecondary” like the rest of the code.
-
Iustin Pop authored
Slash is a reserved char. Slash is a reserved char. Slash is a…
-
Iustin Pop authored
This patch implements filtering out of the offline/drained nodes and fixes a bug in IAllocator.hs parsing (similar to an older bug in Rapi.hs from where the code was copied).
-
Iustin Pop authored
This patch implements non-mirrored instance allocation, by allocating as secondary node “noSecondary”.
-
- May 24, 2009
-
-
Iustin Pop authored
This patch implements allocate for two node requests. One node requests can be done as soon as we have a valid allocateOn function for single nodes.
-
Iustin Pop authored
This patch completes the implementation of hail relocate. It maps all valid destination nodes through a ReplaceSecondary IMove, filters out the failed relocations, computes the resulting scores and picks the lowest one.
-
Iustin Pop authored
This patch implements a very stupid (and broken) version of hail ‘allocate’.
-