History | View | Annotate | Download (6.1 kB)
Accept both full and short names in CLI
This patch introduces some new functionality in the base Element typeand in Container which supports searching for all 'known' names of anelement, such that both short and full names are accept for variousoptions like '-O' and '--excluded-instances'.
Stop modifying names for internal computations
Currently the name used internally is modified and holds the shortenedname of the nodes/instances. This has caused issues before, since wealways have to strip the suffix from input data and reapply it if we...
Add a new node/instance field
This new field ('alias') will hold the shortened/beautified displayname. When resetting the name, the alias is reset too, and there's a newfunction to update only the alias.
Shuffle some constants around
… and export more functions. This will help with unit testing.
Abstract instance running states into a list
This removes some manual checks from a few places in the code with asingle list defined once.
Add a 'movable' flag on instances
This will be used instead of checking for no secondary and forsimplifying 'do not touch' instances.
Add a tags attribute to instances
… and read it in all the loaders. hscan is modified to save it to thefiles it generates.
The attribute is not yet used in any place.
Change the default dynamic usage to baseUtil
This fixed the unbalanced secondary instances on partially emptyclusters, and helps in general for the cases where real utilisation datais not available.
hspace: show tiered-alloc stats in the output
This is a first attempt to get a readable output of tiered allocationstats in hspace's output. Not very nice, but it should be somewhatparseable.
Add support for shrinking instance specs
This patch adds a function that, for some given failure modes, shrinks agiven instance in the hope that allocation will succeed when retriedwith the new spec.
Some small style fixes
Add initial structure for utilisation balancing
This patch adds the datatypes and modifies the nodes and instance types to havesuch attributes. They are not used yet in any way.
Add an explicit export list to Instance.hs
This exports all functions, but it's still good to have.
Style change: node and instance attributes
This changes from a_b to aB in all node and instance attributes, tomatch the standard Haskell style. Also attributes that should have beencamel-cased but weren't were changed (e.g. plist → pList, pnode →pNode).
Add a new vcpus attribute to instances
This patch adds reading of vcpu count for instances, in preparation forusing the vcpu ratio in cluster scoring.
Small doc change
And an alignment issue.
Add copyright/license information
This doc-patch adds copyright and license information to (hopefully) allneeded files.
Lots of documentation updates
This patch does only doc build changes, doc changes and function movearound (for more logical documentation). It should have no impact at allon the code.
Add type synonyms for the node/instance indices
This is a first step towards full datatype renaming. That requires morechanges, so at first we only want to document clearly what is a nodeindex, what is an instance index, and what is a plain Int.
Change the module import hierarchy
This patch makes the Types module a base module, and Node/Instance onesimport it, from the previous (opposite) situation. This will allow inthe future to use newtypes for the index and name types.
Add a small class for Nodes and Instances
Since both nodes and instances support some common functionality (namesand indices), we add a class so that we can access these attributes in ageneric way.
Add back names to nodes/instances
In order to simplify the data structures, we add back the name on thenode 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 ridof the ktn/kti arguments which are passed around everywhere.
Rework the loader model
This big patch changes the loader model from “string data as commonformat” to actual object structures as common format.
The text loading function move from Cluster.hs to a new Text.hs module,some common functions are moved to a new Loader.hs module, and the...
Add a new instance field denoting run status
This patch modifies Rapi, the Cluster.loadData and hscan serialization to loadand save the instance run status. At instance level, we add both a booleanfield denoting the true/false run status, and a string field which holds the...
Pass actual types to node/instance constructors
This patch changes the parameters passed to the node and instanceconstructors from generic Strings (which are then parsed via “read”) tothe actual used types, by converting them earlier in Cluster.loadData.
Introduce a namespace for the modules
The modules are moved from the ‘top’ namespace to ‘Ganeti.HTools’, incompliance with standard practices.