- Jun 01, 2009
-
-
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
-
Iustin Pop authored
This splits the current “clean” rule into proper clean (cleaning of build artifacts) and maintainer-clean (cleaning of distributed files). This should make it better for Debian packaging.
-
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
Also replace tabs in an older entry with spaces.
-
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
This patch fixes the relocate-to-primary-node problem, and doesn't mark the excluded nodes as offline anymore (we don't use them anyway, so let's not use a different/fake cluster state).
-
Iustin Pop authored
Slash is a reserved char. Slash is a reserved char. Slash is a…
-
Iustin Pop authored
-
Iustin Pop authored
-
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
-
Iustin Pop authored
This patch implements non-mirrored instance allocation, by allocating as secondary node “noSecondary”.
-
Iustin Pop authored
Both allocate and relocate compute new node lists, whose score must be ranked and the best option chosen. This means we can convert the code to a generic function.
-
- 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’.
-
- May 23, 2009
-
-
Iustin Pop authored
This patch removes the ktn/kti lists from most parts of the first half of the loading sequence. Some remain as the [(String, Int)] is the nicest way to lookup names and get indices back.
-
Iustin Pop authored
This removes the return of ktn/kti from Loader.mergeData and associated functions.
-
Iustin Pop authored
This patch removes all uses of ktn/kti from the past-loader stages.
-
Iustin Pop authored
This is not yet used.
-
Iustin Pop authored
These will be used to remove even more uses of ktn/kti in non-critical paths.
-
Iustin Pop authored
Since we have Node/Instance.name, we can now simplify a few constructs.
-
Iustin Pop authored
This strips the suffix from the objects themselves, not only from the ktn/kti vars.
-
Iustin Pop authored
This patch makes the format of IAlloc.loadData be similar the same as Loader.mergeData.
-
Iustin Pop authored
-
Iustin Pop authored
This patch moves the common loading sequence to CLI, such that hbal/hn1 and possible future scripts that take the input from same sources can use it.
-
Iustin Pop authored
This moves the remaining loading function to Loader (together with its associated support functions).
-
Iustin Pop authored
This patch generalizes a little the CLI handling by not passing in a special function for help and such, but instead requiring that the options object supports some common functionality.
-
Iustin Pop authored
Since both nodes and instances support some common functionality (names and indices), we add a class so that we can access these attributes in a generic way.
-
- May 22, 2009
-
-
Iustin Pop authored
In order to simplify the data structures, we add back the name on the node and instance objects. We still keep the index for, well, indexing, but we will use the name directly from the object, in order to get rid of the ktn/kti arguments which are passed around everywhere.
-
Iustin Pop authored
This new big patch does a couple of more cleanups in the loading of data chapter: - introduce a Types module that holds most types (except the base Node/Instance/etc.) so that multiple other modules can use these (instead of only Cluster and its users) - bring IAlloc.hs in line with the recent changes of providing data types and not strings - removal of obsolete Utils.hs json-related functions
-