- Dec 21, 2012
-
-
Michele Tartara authored
This patch adds an ignore for an hlint warning that wants camelcase to be used in the name of a "case" test. But if camelcase is used, it is not a valid test name anymore. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
Also add a missing parenthesis at the end. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
The original implementation reserved the name “all” to specify all node groups. That would prevent the use of a node group actually named “all”. This patch changes the order and definition of the command line arguments for “gnt-network connect” and “… disconnect” to have the group(s) as the last argument(s). If no groups are specified all groups are used. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
It is not implemented after all. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
- Use unpacking instead of addressing indivdual list items - Add “--submit” and “--priority” support where possible - Re-use LUXI client where possible - Fixed some typos There is still an issue that a node group named “all” can not be connected or disconnected. More changes are needed for that. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
Similar to commit 572a277b. Directly iterate over “self.wanted” instead of iterating through all networks and checking if they're wanted. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
This error is thrown if a network name already exists, not if the network itself (e.g. “1.2.3.0/24”) is defined. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
The field is now a list of tuples containing the group name, mode and link. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Dimitris Aragiorgis authored
_ComputeNodeGroupData() raises error if a group has no tags when list(gdata.tags) is invoked. Use “gdata.GetTags()” instead. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Dec 20, 2012
-
-
Iustin Pop authored
Since now rStripSpace lives in Utils.hs, we can use it directly (as UUIDs shouldn't contain spaces anyway). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michele Tartara <mtartara@google.com>
-
Michele Tartara authored
The client queries all the master candidates in parallel, until the minimum number of replies, defined in the constant file, is received. A timeout prevents the waiting from being of indefinite length. The reply to be returned to the function that made the query is decided according to the Confd design document. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michele Tartara authored
This commits adds to the Haskell codebase a function to fetch the list of IPs of the master candidates from the SSConf database. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michele Tartara authored
This function will be used by the Haskell Confd client to parse the replies it receives from the server. Unit test is included as well. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michele Tartara authored
With the upcoming implementation of the Haskell Confd client, requests will no longer be the only kind of message to be parsed, therefore the parsing function for requests is being renamed to be more specific, and to better fit with the upcoming parseReply. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michele Tartara authored
The parseRequest function of the Confd utils can be used to parse both request (in the server) and reply (in the client, soon to be implemented) signed messages. This patch changes the signature of the function to allow this, and its name accordingly. A unit test is updated as well. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michele Tartara authored
Its first use will be to generate the salt for ConfD requests of the Haskell client, as in the Python client. Unit test added as well. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michele Tartara authored
The Confd server implementation has a getCurrentTime function. This commit moves it to the Utils.hs file of Confd, so that it will be available to be used by the future Confd client as well. Signed-off-by:
Michele Tartara <mtartara@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
Sorry, didn't see this before pushing the previous commit (277a2ec9). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Constantinos Venetsanopoulos authored
This just adds new constructors for the disk template and related types, enabling the Ext storage. Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Iustin Pop authored
The Python confd client sends newlines in messages (due to use of DumpSignedJson/DumpJson), so that results in ugly debug output. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Also renames it in the process and adds a few tests for it. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
Look up “NIC_MODE” only once, capitalize “NIC” in error messages. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
Quote fixed strings where appropriate and replace “nic” (an acronym) with “network interface”. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Michael Hanselmann authored
This will be used in QA to format network interface parameters. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
Constantinos Venetsanopoulos authored
Initial support for the `ext' template in gnt-instance modify. Take care of all needed checks in CheckArguments and CheckPrereqs wrt ExtStorage Providers and ext-params. ExtStorage disk addition and specification of arbitrary ext-params during addition is supported. Currently, one cannot modify an existing disk's ExtStorage Provider, neither can change an existing disk's ext-params. Only an existing disk's `mode' can be modified. Removal is transparent of the disk template and is also supported. Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> [iustin@google.com: fix bug in disk changes, pylint fixes] Reviewed-by:
Iustin Pop <iustin@google.com>
-
Constantinos Venetsanopoulos authored
Add support for passing parameters to the ext template (ext-params). Take advantage of disk-params, that don't seem to make much sense in this template (ExtStorage Providers are not predefined and we don't know their needs) and use them to pass the ext-params dynamically to the template. ext-params are correlated with gnt-os-interface's os-params. All ext-params are exported to the ExtStorage Provider through it's environment, with variables prefixed with 'EXTP_' (similarly to the OS interface's 'OSP_' params). ext-params are passed via the --disk option. If the disk template is of type `ext', then any additional options passed to --disk and are not in IDISK_PARAMS are considered ext-params e.g.: gnt-instance add -t ext --disk=0:size=2G,param1=value1,param2=value2 Finally, we introduce a new IDISK_PARAM called IDISK_PROVIDER, that is mandatory for template `ext' and is used to select the desired ExtStorage Provider. This parameter is not a valid --disk option for any other template type. The IDISK_PROVIDER parameter becomes the first element of the disk's unique_id tuple e.g.: unique_id = ('sample_provider1', 'UUID.ext.diskX') Example selecting different ExtStorage Providers for each disk and passing different ext-params to them: -t ext --disk=0:size=2G,provider=sample_provider1,param1=value1 --disk=1:size=3G,provider=sample_provider2,param2=value2 Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> [iustin@google.com: small simplification in bdev code, pylint fixes] Reviewed-by:
Iustin Pop <iustin@google.com>
-
Constantinos Venetsanopoulos authored
With this commit we introduce the External Storage Interface to Ganeti, abbreviated: ExtStorage Interface. The ExtStorage Interface provides Ganeti with the ability to interact with externally connected shared storage pools, visible by all VM-capable nodes. This means that Ganeti is able to handle VM disks that reside inside a NAS/SAN or any distributed block storage provider. The ExtStorage Interface provides a clear API, heavily inspired by the gnt-os-interface API, that can be used by storage vendors or sysadmins to write simple ExtStorage Providers (correlated to gnt-os-interface's OS Definitions). Those Providers will glue externally attached shared storage with Ganeti, without the need of preprovisioned block devices on Ganeti VM-capable nodes as confined be the current `blockdev' disk template. To do so, we implement a new disk template called `ext' (of type DTS_EXT_MIRROR) that passes control to externally provided scripts (the ExtStorage Provider) for the template's basic functions: create / attach / detach / remove / grow The scripts reside under ES_SEARCH_PATH (correlated to OS_SEARCH_PATH) and only one ExtStorage Provider is supported called `ext'. The disk's logical id is the tuple ('ext', UUID.ext.diskX), where UUID is generated as in disk template `plain' and X is the disk's index. Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> [iustin@google.com: small simplification in bdev code, pylint fixes] Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Addresses issue 145. When daemons are still running from a previous cluster instance, starting the daemons again will fail. “ConfigWriter.IsCluster” only looks at the configuration file, which could already have been deleted. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Helga Velroyen authored
The networks field of the node groups class is a dictionary of nic params and not a list of networks. This should fix the broken QA. Signed-off-by:
Helga Velroyen <helgav@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Constantinos Venetsanopoulos authored
Update the shared storage design document to reflect the current changes, after the implementation of the ExtStorage interface. Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> [iustin@google.com: small style fixes] Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
Addresses issue 147. Only the hostnames resolved using “netutils.Hostname($name)” were normalized, but those returned by the class method “GetSysName” weren't. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Iustin Pop authored
By abstracting the command/personality formatting, we can easily switch htools to the same output as the rest of the commands. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michael Hanselmann authored
Error message formatting, else/if merging to elif, docstrings. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michael Hanselmann authored
Some rewording, some clarifications, and a new item on opportunistic locking. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
Michael Hanselmann authored
If opportunistic locking is requested in the opcode, but no iallocator is used (not specified or no default), an error will be raised. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Dec 19, 2012
-
-
Michael Hanselmann authored
If, for one reason or another, a module named "ganeti.ganeti" can be succesfully imported (e.g. through a symlink in the wrong place), error which are diffcult to debug can occur. This piece of code tests for the unlikely case of that happening. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
This is highly incomplete, as per the manpage BUGS section. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
This is a new personality that for the moment doesn't do anything. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
The previous patch series made it simpler to deal with ERROR_up offline instances, but didn't fix qa, that had the old expectations. This fixes that, and adds more testing about the expected behavior. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Guido Trotter authored
Currently gnt-instance shutdown --force of an offline instance resets the offline status. Which of course is bad and completely unintended. Fix. (caught by the new qa tests) Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-