- Dec 22, 2012
-
-
Constantinos Venetsanopoulos authored
Add a new client called 'gnt-storage'. The client interacts with the ExtStorage interface, similarly to the way gnt-os interacts with the OS interface. For now, only two commands are supported: 'info' and 'diagnose'. 'diagnose' calculates the node status of each provider on each node, similarly to gnt-os diagnose. Furthermore, for every provider, it calculates it's nodegroup validity for each nodegroup. This is done inside the LU and not the client (marked as 'TODO' for the global validity of gnt-os diagnose). In the future, gnt-storage can be used to manage storage pools, or even be extended to diagnose other storage types supported by Ganeti, such as lvm, drbd (INT_MIRROR) or rbd (EXT_MIRROR). Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Signed-off-by:
Iustin Pop <iustin@google.com> [iustin@google.com: fixed Haskell compatibility and style fixes] Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 21, 2012
-
-
Michael Hanselmann authored
For people writing query filters (documented in ganeti(7)) knowing a field's type can be useful. $ gnt-instance list-fields name be/memory Name Type Title Description name Text Instance Instance name be/memory Storage size ConfigMaxMem The "maxmem" backend parameter Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 19, 2012
-
-
Michael Hanselmann authored
This is not a trivial s/frozenset/compat.UniqueFrozenset/, but rather only replaces “frozenset” where appropriate. Most of the places are “static” information that doesn't change after the module has been loaded. Some docstrings and code formatting (e.g. empty lines) issues are addressed as well. Some lines got too long and were wrapped. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Dec 04, 2012
-
-
Michael Hanselmann authored
In some cases it is useful to ignore the output of and avoid mentioning successful commands. One would be when looking for a certain string in a file: $ gnt-cluster command egrep -q '^testing$' /etc/... Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Nov 20, 2012
-
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Dimitris Aragiorgis authored
Support: - gnt-network add --tags. - gnt-network list-tags/add-tags/remove-tags/. - gnt-network list -o +tags Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Dimitris Aragiorgis authored
gnt-network is used to manipulate and handle networks that currently provides the following operations: * Add a new network: gnt-network add --network=1.2.3.0/28 --gateway=1.2.3.1 --add-reserved-ips=1.2.3.4,1.2.3.5 testnet * Remove an existing network: gnt-network remove testnet * Modify an existing network: gnt-network modify --gateway=1.2.3.6 --network-type=private --network6=2001:648::/64 --gateway6=none testnet --add-reserved-ips=1.2.3.10,1.2.3.10, --remove-reserved-ips=1.2.3.20 testnet * Connect an existing network to a nodegroup: gnt-network connect testnet default bridged br100 gnt-network connect testnet <nodegroup> <mode> <link> (pass all for <nodegroup> to connect to all nodegroups) * Disconnect an existing network from a nodegroup: gnt-network disconnect testnet <nodegroup> (pass all for <nodegroup> to disconnect from all nodegroups) * List available networks: gnt-network list * Show network info: gnt-network info [testnet] Introduce new option NOCONFLICTSCHECK_OPT for not checking for conflicting IPs. Using this might cause data inconsistency. Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Apollon Oikonomopoulos authored
Add --no-conflicts-check option. Modify instance query methods to return nic's network info. Signed-off-by:
Apollon Oikonomopoulos <apollon@noc.grnet.gr> Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Nov 15, 2012
-
-
Michael Hanselmann authored
This allows the option to be re-used in other places. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Nov 05, 2012
-
-
Dato Simó authored
This change is mostly cosmetic. Previously, the literal "cluster" was used for the 'name' field of tag operations on the cluster (as opposed to a node or an instance). Since this field has a type of TMaybeString specifically for the case of the cluster, it seems more correct to use None, rather than an arbitrary string (that is not used by the callee). Additionally: note in opcodes.py that groups also expect a name; the previous comment only referred to nodes and instances. Signed-off-by:
Dato Simó <dato@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Oct 25, 2012
-
-
Michael Hanselmann authored
If the option is used elsewhere, the numeric value is directly available. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
- Oct 17, 2012
-
-
Michael Hanselmann authored
s/it/if/ Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Dato Simó <dato@google.com> Reviewed-by:
Helga Velroyen <helgav@google.com>
-
- Oct 11, 2012
-
-
Michael Hanselmann authored
There is a constant for this purpose. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Oct 02, 2012
-
-
Michael Hanselmann authored
This patch is somewhat longer than was anticipated. Before, commands like “gnt-instance --help” would exit with the status code 1 (failure). With this patch, those commands exits with 0 (success) while unknown commands still print the usage screen and exit with status 1. To achieve this goal without too much ugly code some refactoring on cli._ParseArgs was necessary. Printing the version and usage screen was separated. At the same time this allows for some unit testing. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Bernardo Dal Seno <bdalseno@google.com>
-
- Sep 28, 2012
-
-
Michael Hanselmann authored
Some parts of the code still use a hardcoded user name: root. This patch replaces all with a constant specified at build time. The end goal is to make it possible to run a Ganeti cluster without any special privileges (of course this will prevent some functionality from working). Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Sep 18, 2012
-
-
Michael Hanselmann authored
File system paths moved from constants to pathutils. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Aug 28, 2012
-
-
Iustin Pop authored
This patch adds the tags field to the objects which were missing it (all except Cluster), implements handling the LuxiCall QueryTags, and then enables the use of the query socket in cli.ListTags, used by all commands, and in the RAPI client. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
Iustin Pop authored
And expand cli.GetClient() to allow opening the query socket, instead of the main master socket. Finally, enable the query socket use in gnt-cluster version, since that is already implemented fully in Queryd.hs/hconfd. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
- Aug 23, 2012
-
-
Iustin Pop authored
Debian Wheezy will ship with this version, and it has many improved checks compared to 0.6, so let's: - bump version in the docs - silence some new checks that are wrong due to our indent=2 instead of 4 - fix lots of errors in the code where the indentation was wrong by 1 or 2 spaces - fix a few cases of == True, False, None and replace with 'is' - re-indent some cases where the code is OK, but pep8 complains Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Aug 07, 2012
-
-
Iustin Pop authored
Currently, all the CLI helpers in qlang.py and cli.py assume that all namefields are string, which leads to various breakage in case the're actually not. To improve the flexibility of the helpers, we add a bit of infrastructure for accepting so called "numeric" namefields; this is a bit of a hack, as a proper fix would actually add QFT_* support to the helpers, and case for example the regex/globbing on QFT_TEXT, etc. But that's left for (eventual) later improvement. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Aug 02, 2012
-
-
Iustin Pop authored
A while back, we did cleanup the code and ensured (manually) that use of OpPrereqError includes an errors.ECODE_* field as second argument. Since we cannot automate the check for this, it turns out that more and more such usage has crept over the years, including in the master code (the use on the CLI side is not as important). Note that this also uncovered a few errors in ovf.py where the errors messages were wrongly constructed. Still looking for a way to automate this check… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Jul 05, 2012
-
-
Iustin Pop authored
Note that this needs (like for the opcode) a new option, with the default reverted (False instead of True). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- May 29, 2012
-
-
Iustin Pop authored
This didn't get completed in time for 2.6, so we document that it's not working as is. Well, it's not broken, just not used by anything. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- May 22, 2012
-
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
René Nussbaumer authored
Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- May 15, 2012
-
-
Iustin Pop authored
This makes "gnt-cluster modify --specs-mem-size max=16g" work. The downside (due to how we iterate) is that error messages are not very clear: $ gnt-cluster modify --specs-mem-size max=16a Failure: prerequisites not met for this operation: error type: wrong_input, error details: Invalid disk ({}) or memory ({'max': '16a'}) size in policy: Unknown unit: a Also updates the help of these commands, which was very confusing before (at least for me). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
These are only used in CLI programs to parse command line options and such they do not belong in object.py (I will change them more and I don't want to add more code in objects.py). Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- May 11, 2012
-
-
René Nussbaumer authored
This is useful if you have nested parameter dicts like in diskparams. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Apr 26, 2012
-
-
Iustin Pop authored
Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Apr 13, 2012
-
-
Michael Hanselmann authored
While “gnt-job list” would also accept filters on the command line (e.g. “'status == "error"'”, having shortcuts in the form of options comes in handy. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Apr 12, 2012
-
-
Michael Hanselmann authored
- Listing tags is a query, so neither “--priority” nor “--submit” make sense - Support both options for adding/removing tags - Also remove “--submit” from “gnt-node health”; it doesn't work and doesn't make sense for listing node health Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Mar 30, 2012
-
-
Michael Hanselmann authored
Jobs don't have a “name” field, so we must be able to control the field used for simple filters. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
Michael Hanselmann authored
… to some degree at least. Unittests are included. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Feb 17, 2012
-
-
Michael Hanselmann authored
To remove the last disk, or to add a NIC to the end, one can use the index -1. This wouldn't work as intended as “-” is a special prefix. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 26, 2012
-
-
Guido Trotter authored
This will be used for now to avoid ballooning memory at live migration time. Signed-off-by:
Guido Trotter <ultrotter@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
This allows changing this value from the command line. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 24, 2012
-
-
Iustin Pop authored
The ispecs (min/std/max) are different from the other ipolicy variables (disk templates for now, more in the future). As such, let's rename the ispecs-disk-templates to ipolicy-disk-templates for consistency with this logical difference. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Jan 23, 2012
-
-
Michael Hanselmann authored
Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Jan 20, 2012
-
-
Michael Hanselmann authored
Instead of logging the concatenated arguments, with this patch every command will properly quote its full command line. This makes it easier to just copy-and-paste commands from “commands.log” to re-run them. Also remove a case of “x = a or b” for non-boolean values. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-