- Oct 16, 2012
-
-
Dimitris Aragiorgis authored
-
Dimitris Aragiorgis authored
Conflicts: doc/rapi.rst lib/ovf.py Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
Conflicts: lib/cmdlib.py Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
Modify FinalizeExport() in backend.py to export nic.network as well. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
- Oct 15, 2012
-
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
Acquire corresponding instance locks if conflicts_check is True. Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
- Oct 03, 2012
-
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
- Sep 21, 2012
-
-
Constantinos Venetsanopoulos authored
Check if extstorage's log dir exists on the host machine, before providing a logfile name. We need to be sure the dir exists, otherwise RunCmd will fail ugly when passed a logfile that cannot be opened. Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr>
-
Constantinos Venetsanopoulos authored
During attach the logfile is `None'. If the attach script fails and we try to Tailfile() its logfile, TailFile breaks with: TypeError: coercing to Unicode: need string or buffer, NoneType found Thus, we don't show the logfile, if ExtStorage's attach script fails. Just throw the appropriate error. Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr>
- Sep 12, 2012
-
-
Dimitris Aragiorgis authored
Conflicts: lib/rpc.py Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Michael Hanselmann authored
Commit 5fce6a89 changed RpcRunner._InstDict to add the disk parameters on all encoded instances. It didn't remove a special case in “_InstDictOspDp”. Update and fix unittests as well. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
Constantinos Venetsanopoulos authored
We call _GatherAndLinkBlockDevs during the process, which in turn calls _RecursiveFindBD. This needs disk parameters to work. See also commit b8291e00. This was reported by Ansgar and Damien. Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Michael Hanselmann authored
When locks are copied “locking.ALL_SET” must be handled separately (ALL_SET has the value None). Reported by Constantinos Venetsanopoulos who saw failover for RDB-based instances not working. Signed-off-by:
Michael Hanselmann <hansmi@google.com> Reviewed-by:
Guido Trotter <ultrotter@google.com>
-
- Sep 07, 2012
-
-
Iustin Pop authored
The function `allocateOnSingle' has a bug in the calculation of the cluster score used for deciding which of the many target nodes to use in placing the instance: it uses the original node list for the score calculation. Due to this, since the original node list is the same for all target nodes, it means that basically `allocateOnSingle' returns the same score, no matter the target node, and hence the choosing of the node is arbitrary, instead of being done on the basis of the algorithm. This has gone uncaught until reported because the unittests only test 1 allocation at a time on an empty cluster, and do not check the consistency of the score. I'll send separate patches on the master branch for adding more checks to prevent this in the future. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Agata Murawska <agatamurawska@google.com>
-
- Sep 05, 2012
-
-
Dimitris Aragriorgs authored
This is only needed in case base64 and bitarray.tostring() is used for saving reservations. If bitarray.to01() was used then we would not have this restriction. Signed-off-by:
Dimitris Aragriorgs <dimara@grnet.gr>
-
- Sep 04, 2012
-
-
René Nussbaumer authored
There was an issue with the recent ipolicy introduction which lead to a bug in gnt-debug iallocator. It was not providing the spindle_use field and therefore it wont let you create a valid iallocator request. Signed-off-by:
René Nussbaumer <rn@google.com> Reviewed-by:
Iustin Pop <iustin@google.com>
-
- Sep 03, 2012
-
-
Iustin Pop authored
To help developing Ganeti on newer distributions, let's try to fix pylint warnings/errors. I'm using pylint from current Debian wheezy: pylint 0.25.1, astng 0.23.1, common 0.58.0, and we have 3 things that needs fixing. First, a really wide "except", with the silencing in the wrong place. I'm not sure why this doesn't have "except Exception", so let's add it. However, pylint still complains about "Catching too general exception", even though we do want to catch both system and our exception, so let's add a silence for W0703. It's true that we shouldn't catch KeyboardInterrupt and friends, but that should be cleaned up on the master branch. Second, pylint complains about "redefining name builtin tuple", because we do some pattern matching in the except blocks in netutils. This seems to be a false positive, but let's clean the code around this. And finally, type inference again goes bad, so let's silence E1103 with its "boolean doesn't have 'get' method". After this, I can run "make lint", and by extension "make commit-check" on Debian Wheezy, yay! We might be able to bump our required pylint versions to something not ancient… Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
Iustin Pop authored
Pylint version: pylint 0.25.1, astng 0.23.1, common 0.58.0 crashes when passing the fully-qualified decorator name with: File "/usr/lib/pymodules/python2.7/pylint/checkers/base.py", line 161, in visit_function if not redefined_by_decorator(node): File "/usr/lib/pymodules/python2.7/pylint/checkers/base.py", line 116, in redefined_by_decorator decorator.expr.name == node.name): AttributeError: 'Getattr' object has no attribute 'name' I found out that simply using a shortened name will 'fix' this issue, so let's do this to allow running newer pylint versions. Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
Michael Hanselmann <hansmi@google.com>
-
- Aug 31, 2012
-
-
Dimitris Aragriorgs authored
Signed-off-by:
Dimitris Aragriorgs <dimara@grnet.gr>
-
- Aug 30, 2012
-
-
Dimitris Aragriorgs authored
Signed-off-by:
Dimitris Aragriorgs <dimara@grnet.gr>
-
Dimitris Aragriorgs authored
Signed-off-by:
Dimitris Aragriorgs <dimara@grnet.gr>
-
Dimitris Aragriorgs authored
Signed-off-by:
Dimitris Aragriorgs <dimara@grnet.gr>
-
Dimitris Aragriorgs authored
Introduce _GenerateKVMBlockDevicesOptions() In case hotplug is enabled per instance then the runtime file contains one more field: block_devices. In this case kvm_cmd is extended with block device options during _ExecuteKVMRuntime(). If no hotplug is enabled then runtime file has block_devices info encapsulated in kvm_cmd and block device options are exteded during _GenerateKVMRuntime. Signed-off-by:
Dimitris Aragriorgs <dimara@grnet.gr>
-
Dimitris Aragriorgs authored
Introduce _GenerateKVMBlockDevicesOptions() In case hotplug is enabled per instance then the runtime file contains one more field: block_devices. In this case kvm_cmd is extended with block device options during _ExecuteKVMRuntime(). If no hotplug is enabled then runtime file has block_devices info encapsulated in kvm_cmd and block device options are exteded during _GenerateKVMRuntime. Signed-off-by:
Dimitris Aragriorgs <dimara@grnet.gr>
-
- Aug 27, 2012
-
-
Iustin Pop authored
This is done so that all current branches can run with newer pep8; note that instead of fixing the problems (like I did on master), I've just silenced more. These should *not* be merged onto master! Signed-off-by:
Iustin Pop <iustin@google.com> Reviewed-by:
René Nussbaumer <rn@google.com>
-
- Aug 22, 2012
-
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Dimitris Aragiorgis authored
Conflicts: Makefile.am lib/cli.py lib/client/gnt_instance.py lib/cmdlib.py lib/constants.py lib/opcodes.py Signed-off-by:
Dimitris Aragiorgis <dimara@grnet.gr>
-
Constantinos Venetsanopoulos authored
* ganeti-extstorage-interface man page * gnt-storage man page Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr>
-
Constantinos Venetsanopoulos authored
-
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>
-
Constantinos Venetsanopoulos authored
Signed-off-by:
Constantinos Venetsanopoulos <cven@grnet.gr>
-
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 through the --disk option. If the disk template is of type `ext' during instance add, then any additional options that are not in IDISK_PARAMS given to --disk 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 valid for other template types. 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>
-