Statistics
| Branch: | Tag: | Revision:

root @ 6605411d

# Date Author Comment
6605411d 10/14/2008 07:23 pm Iustin Pop

grow-disk: wait until resync is completed

The patch adds a new ‘--no-wait-for-sync’ parameter to grow-disk similar
to the one in instance add, and changes the default to wait.

This is cleaner as at the moment when the command returns, we either
have a fully synced disk or there is an error....

659712c8 10/14/2008 07:22 pm Iustin Pop

Burnin OpGrowDisk

With this patch both the os and the swap disk are grown during
burnin. You can pass an increase size of 0 to skip this operation.

and:

burnin: don't try to grow diskless instances

When burnin is run on a diskless instance, it fails when trying...
6b5605e8 10/14/2008 05:47 pm Iustin Pop

Convert the KVM hypervisor to hvparams

I'm not sure which parameters it should use, I took all I saw in the
code. Update: ultrotter says the list is OK for now.

Reviewed-by: ultrotter

c0f2b229 10/14/2008 05:42 pm Iustin Pop

Some fixes related to auto_balance

Change the constant name to match the value (autobalance ->
auto_balance).

Also add the auto_balance header so that gnt-instance can list it.

Reviewed-by: ultrotter

647a5d80 10/14/2008 05:42 pm Iustin Pop

Fix auto_balance and memory modification

The secondary nodes should not be checked for free memory in case of non
auto-balanced instances.

This is a forward-port from rev 1567 on the 1.2 branch.

Reviewed-by: ultrotter

3924700f 10/14/2008 05:42 pm Iustin Pop

Use the auto_balance in cluster verify

This patch changes the cluster verify in two ways:
- do not use instances marked with auto_balance=False in N+1 memory
checks
- report, if any, the number of instances with auto_balance=False

Forward port from rev 1562 on the 1.2 branch....

c1f1cbb2 10/14/2008 05:42 pm Iustin Pop

Fix ordering of instance/nodes

After the locking changes, and the partial locking of nodes, the
instance/node list is not ordered anymore. Reorder so that it behaves as
before.

Reviewed-by: ultrotter

bf766476 10/14/2008 02:30 pm Iustin Pop

Remove old instance attributes

Reviewed-by: ultrotter

338e51e8 10/14/2008 02:29 pm Iustin Pop

Change over to beparams

This big patch changes the master code to use the beparams. Errors might
have crept in, but it passes a small burnin.

Reviewed-by: ultrotter

51de46bf 10/14/2008 02:29 pm Iustin Pop

Change the backend to use the beparams

The backend.FinalizeExport function is changed to use the beparams
instead of the instance attributes. Future enhancements should be done
in order to export and import/reuse the whole be/hv params.

Reviewed-by: ultrotter

8b3fd458 10/14/2008 02:29 pm Iustin Pop

Change hypervisors to use the beparams

This patch changes the hypervisor functions to use the beparams dict
instead of the instance attributes.

Reviewed-by: ultrotter

5b442704 10/14/2008 02:29 pm Iustin Pop

Correctly fill the beparams too over RPC

As for the hvparams, we need to replace the sent instance beparams.

Reviewed-by: ultrotter

a604f165 10/14/2008 02:29 pm Iustin Pop

Add cli function for beparams validation

This is used to validate the parameters in both “gnt-instance add” and
“gnt-backup import”.

Reviewed-by: ultrotter

cd3ab26e 10/14/2008 02:29 pm Iustin Pop

Modify the beparams constants

Memory is renamed for easier use.

Reviewed-by: ultrotter

8705eb96 10/14/2008 01:21 pm Iustin Pop

Fix a bug with instance creation and hvparameters

When creating an instance, we need to check not the opcode hvparams, but
the final, filled hvparams against validity. While we do this for the
remote node calls (i.e. ValidateParams), we didn't do this for...

57821cac 10/14/2008 01:21 pm Iustin Pop

Allow instance info to only query the config file

This patch adds a new '-s' parameter to ‘gnt-instance info’ that makes
it return only 'static' information. This is much faster, especially for
drbd instances.

This is a forward-port of rev 1570 on the ganeti-1.2 branch, resending...

24838135 10/14/2008 01:21 pm Iustin Pop

Convert gnt-instance info to the hvparams model

Some informations are not printed nicely (e.g. “virtual CDROM: False”),
but this is the first step.

Reviewed-by: imsnah

74409b12 10/14/2008 01:20 pm Iustin Pop

Change gnt-instance modify to the hvparams model

Reviewed-by: imsnah

5018a335 10/14/2008 01:20 pm Iustin Pop

Change gnt-instance list to the hvparams model

This is just a change of the various hvm_ and pvm parameters to the hv
model. Parameters are queried via hv/$name or via the whole dict as
returned by hvparams.

Reviewed-by: ultrotter,imsnah

6785674e 10/14/2008 01:20 pm Iustin Pop

Switch instance hypervisor parameters to hvparams

This big patch changes instance create to the new hvparams structure.
Old parameters are removed, so old jobs or old instances file will break
current clusters.

Reviewed-by: ultrotter

f23b5ae8 10/14/2008 01:20 pm Iustin Pop

Temporary fix for dual hvm/pvm instances

We have a problem with the current model of combining instance lists
from multiple hypervisors: we don't allow duplicates, but "xm list"
gives the same output for both pvm and hvm. This is a lack in the actual
xen hypervisor implementation/split between pvm and hvm, but for now we...

26ba2bd8 10/14/2008 01:20 pm Iustin Pop

Implement FillHV for instance-related rpc calls

We fill the instance hvparams with cluster defaults, and send a modified
dict over the wire to the node methods - they don't know anything about
cluster defaults versus instance parameters.

Reviewed-by: ultrotter

6217e295 10/14/2008 01:19 pm Iustin Pop

Export the hypervisor.ValidateParameters over RPC

The newly-added node-specific ValidateParams hypervisor method is
exported over RPC, using the semi-standard (success, message) return
value. Multi-node call, so that we call on both primary and secondary at...

f48148c3 10/14/2008 01:19 pm Iustin Pop

Implement the new hypervisor API in base/xen

This patch adds the new methods CheckParameterSyntax and the
ValidateParameters in the base and xen hypervisors. It also changes the
xen hypervisor to use the new hvparams field on instance.

Reviewed-by: imsnah

937e4814 10/14/2008 11:24 am Michael Hanselmann

Get rid of httperror module

This was a leftover from the early days of the remote API in Ganeti 1.2.

Reviewed-by: ultrotter

fcd62d84 10/14/2008 09:38 am Iustin Pop

Implement parameter removal in SplitKeyVal

This patch adds paramter removal in SplitKeyVal, by prefixing a
value-less key with "-"; this is needed in resetting parameters back to
cluster defaults, but care must be applied now that None can come from
the parser....

5bf7b5cf 10/14/2008 09:36 am Iustin Pop

Add the hv/be params object attributes

This patch adds the instance and cluster be/hvparams attributes, and the
Fill* methods on the cluster object. Nothing else is changes, except
that these attributes exist now on the objects.

Reviewed-by: ultrotter

e64b8beb 10/14/2008 09:36 am Iustin Pop

Add constants for the HV/BE parameter names

Since we don't want the string values of the parameters (e.g.
“kernel_path”) spread over the code, we introduce constants for these.

Reviewed-by: ultrotter,schreiberal

16ad1a83 10/13/2008 04:49 pm Iustin Pop

Fix a few rpc-related errors

This fixes:
- whitespace change, double lines between methods
- duplication of call_upload_file, introduced by mistake in rev 1795
and which went undetected because of the many changes in that ref
(only diff -b shows it clearly)...

a8469393 10/13/2008 03:17 pm Iustin Pop

Add two new options types for CLI usage

For the new 2.0-style command line options, we need to parse strings of
the type:
ident:key=val[,...]
and
key=val[,...]

This patch adds two new option builders for these two, which return
(ident, {key=val,}) and {key=val,} for the above two formats. It also...

2d8ed1fe 10/13/2008 03:15 pm Iustin Pop

Some small typos on design docs

Reviewed-by: imsnah

ca8ac26a 10/13/2008 12:19 pm Iustin Pop

Update the cluster parameters design doc

As discussed, we update the design doc with the three classes of
parameters and other changes.

Reviewed-by: imsnah

caad16e2 10/12/2008 11:40 pm Iustin Pop

Abstract checking own address into a function

Currently, we check if we have a given ip address (i.e. it's alive on
one of our interfaces) but manually calling TcpPing(source=localhost).
This works, but having it spread all over the code makes it hard to...

15396f60 10/10/2008 08:08 pm Michael Hanselmann

Mark call_node_leave_cluster as a static method

Reviewed-by: iustinp

082a7f91 10/10/2008 07:04 pm Guido Trotter

OS API: support for multiple versions in an OS

Allow multiple api versions in an OS. This is according to the OS API
changes design doc, by which an OS can support multiple versions of the
Ganeti API and if one is supported by Ganeti it will work. Since up to...

2eb78bc8 10/10/2008 07:04 pm Guido Trotter

LUVerifyCluster: fix error from rpc call

When calling node_verify leads to an error _VerifyNodes tries to iterate
over a non-sequence. Catch the error before and avoid this from
happening.

Reviewed-by: iustinp

cc28af80 10/10/2008 07:00 pm Michael Hanselmann

Convert ganeti-noded to new HTTP server class

Reviewed-by: iustinp

42242313 10/10/2008 07:00 pm Michael Hanselmann

Add new HTTP server implementation

This patch adds another implementation of an HTTP server. It's
based on code of Python's BaseHTTPServer, from both version
2.4 and 3k. In the future we can write code to decide whether
we should fork for a request or not. Keep-alive is not supported....

821d9e43 10/10/2008 07:00 pm Michael Hanselmann

Add daemon library with mainloop

This mainloop can be used in daemons like ganeti-noded.

Reviewed-by: iustinp

e9f242e4 10/10/2008 06:12 pm Iustin Pop

Some updates on the job queue design doc

This clarifies the job storage and the reason for choosing it.

Reviewed-by: imsnah

93c4f7f1 10/10/2008 12:55 pm René Nussbaumer

Update design-2.0-job-queue to reflect changes

With change 1773 a new status WAITLOCK was introduced if a job/opcode is
waiting for a lock. This change updates the document about the job-queue
accordingly.

Reviewed-by: iustinp

72737a7f 10/10/2008 12:55 pm Iustin Pop

Convert rpc module to RpcRunner

This big patch changes the call model used in internode-rpc from
standalong function calls in the rpc module to via a RpcRunner class,
that holds all the methods. This can be used in the future to enable
smarter processing in the RPC layer itself (some quick examples are not...

b9bddb6b 10/10/2008 12:52 pm Iustin Pop

Cleanup in cmdlib for standalone function calls

This patch is a cleanup of the standalone functions in cmdlib. Many of
them too as argument a ConfigWriter instance, but some also took other
parameters from the lu (e.g. proc), and in the future, if we want to...

7b3a8fb5 10/10/2008 12:51 pm Iustin Pop

Small random fixes

Indentation in bootstrap was wrong and some names in cmdlib.py were not
right.

Reviewed-by: imsnah

4b2f38dd 10/09/2008 02:29 pm Iustin Pop

Move instance hypervisor check to ExpandNames

This check can be done earlier, in ExpandNames, and is needed here for
the hypervisor parameter check.

Reviewed-by: ultrotter

c2b05d85 10/09/2008 02:13 am Alexander Schreiber

Update documentation & man pages for changed hypervisor names.

Reviewed-by: imsnah

c666722f 10/08/2008 09:48 pm Oleksiy Mishchenko

Ajust config unittest.

Reviewed-by: iustinp

e49099a4 10/08/2008 08:31 pm Alexander Schreiber

Update scripts and qa config for changed hypervisor names.

Reviewed-by: ultrotter

c63b161a 10/08/2008 05:41 pm Alexander Schreiber

Shorten variable names.

Reviewed-by: iustinp

00cd937c 10/08/2008 05:31 pm Iustin Pop

Sanitize the hypervisor names

Since in 2.0 the user will possibly have more interaction with the
hypervisor names, we sanitize them by removing the version numbers
(the version can be a prerequisite for the ganeti installation, we
shouldn't document it in variable names)....

188fbf41 10/08/2008 05:10 pm Iustin Pop

Also export OS_API to the OS scripts

The idea is that if the OSes will support multiple version (e.g. both
1.2 and 2.0), then Ganeti should be able to talk to it using version
2.0, but then the script needs to be told nicely what version Ganeti is
using....

02f99608 10/08/2008 04:04 pm Oleksiy Mishchenko

Fix for gnt-cluster init.

Reviewed-by: iustinp

e69d05fd 10/08/2008 01:36 pm Iustin Pop

Move the hypervisor attribute to the instances

This (big) patch moves the hypervisor type from the cluster to the
instance level; the cluster attribute remains as the default hypervisor,
and will be renamed accordingly in a next patch. The cluster also gains...

6884c0ca 10/07/2008 07:09 pm Iustin Pop

Updates to the security document

This patch changes formatting and the DRBD shared secret details, and
adds master daemon socket details to the security doc.

Reviewed-by: imsnah

73100cf5 10/07/2008 07:08 pm Iustin Pop

Move the SECURITY document to the doc/ dir

Reviewed-by: imsnah

43f30ee6 10/07/2008 06:37 pm Iustin Pop

Fix formatting in design-2.0-os-interface

Reviewed-by: imsnah

109509e4 10/07/2008 06:23 pm Iustin Pop

Small changes to the index design doc

This is just some additions of not-yet-mentioned docs.

Reviewed-by: ultrotter

bf2fd71e 10/07/2008 04:16 pm Alexander Schreiber

Change default instance reboot type to hard.

Merged r1777 from branches/ganeti/ganeti-1.2

Reviewed-by: imsnah

0e861960 10/07/2008 04:00 pm Alexander Schreiber

Add new design docs to Makefile.am

Reviewed-by: imsnah

9f0e6b37 10/07/2008 02:39 pm Iustin Pop

rpc.call_instance_migrate: pass the whole instance

Currently the call_instance_migrate call only passes the instance name;
we need to pass the whole object for the hypervisor_type changes (all
the other individual instance rpc calls already pass the instance...

cd55576a 10/07/2008 01:22 pm Alexander Schreiber

Slightly change the hypervisor parameter example.

Reviewed-by: iustinp

132b4ba2 10/07/2008 11:47 am Alexander Schreiber

Ganeti 2.0 cluster parameters design doc

Reviewed-by: ultrotter

e92376d7 10/07/2008 11:03 am Iustin Pop

Implement job 'waiting' status

Background: when we have multiple jobs in the queue (more than just a
few), many of the jobs (up to the number of threads) will be in state
'running', although many of them could be actually blocked, waiting for
some locks. This is not good, as one cannot easily see what is...

12222048 10/07/2008 10:25 am Guido Trotter

OS Interface design doc

Reviewed-by: imsnah

47eb4b45 10/07/2008 10:25 am Guido Trotter

Add .. contents:: marker to design docs

Reviewed-by: imsnah

07cd723a 10/06/2008 07:42 pm Iustin Pop

Implement job auto-archiving

This patch adds a new luxi call that implements auto-archiving of jobs
older than a certain age (or -1 for all completed jobs), and the gnt-job
command that makes use of this (with 'all' for -1).

Reviewed-by: imsnah

2241e2b9 10/06/2008 06:59 pm Iustin Pop

Add a simple timespec parsing function

This function will be used for auto-archiving jobs via the command line.
The function is pretty simple, we only support up to weeks since months
and higher are not 'precise' entities, and dealing with them would
require us to start using calendar functions....

62c9ec92 10/06/2008 06:58 pm Iustin Pop

backend.py change to get cluster name from master

Currently there are three function in backend that need the cluster name
in order to instantiate an SshRunner. The patch changes these to get the
cluster name from the master in the rpc call; once the multi-hypervisor...

3d3a04bc 10/06/2008 06:56 pm Iustin Pop

Disable re-reading of config file

Since the objects read from the config file are passed to the various
threads, it's unsafe to re-read the config file (and throw away
ConfigWriter._config_data). As such, we disable the re-reading of the
file (since now the master is the owner the file, it makes not sense to...

a72b3711 10/06/2008 06:13 pm Oleksiy Mishchenko

RAPI Desing Doc

Reviewed-by: iustinp

ec5c88dc 10/06/2008 05:11 pm Iustin Pop

Start implementation of parallel burnin

This patch introduces a simple framework for executing jobs in parallel
in burnin (the ExecJobSet function) and the "--parallel" command line
flag.

The patch also changes the instance creation to run in parallel when the...

e0ec0ff6 10/06/2008 04:40 pm Iustin Pop

Fix gnt-job list with empty timestamps

In case the job object doesn't have a timestamp (which is a separate
issue), the listing should not break. We fix this by changing the
FormatTimstamp function itself to return '?' in case the timestamp
doesn't look good (note that it still can break if non-integers are...

1daae384 10/06/2008 04:29 pm Iustin Pop

Increase the number of threads to 25

Since our locks are not gathered nicely, we can have jobs that are
actually blocking on locks (parallel burnin shows this), so at least we
need to increase the number of threads above the usual number of jobs we
could have in a such a case....

74bc10e8 10/06/2008 04:21 pm Alexander Schreiber

Minor cleanups & typo fixes.

Reviewed-by: iustinp

6b0469d2 10/06/2008 04:16 pm Iustin Pop

Fix SshRunner breakage from the changed API

More places actually use the SshRunner than just the gnt-cluster
commands.

Reviewed-by: ultrotter

56bece1f 10/06/2008 02:48 pm Iustin Pop

Change SshRunner usage

Currently the SshRunner uses a SimpleConfigReader instance, however this
is not best. We change it to use the cluster name directly (and its
constructor now takes this as parameter, instead of SCR), and its
callers are change to pass the name directly....

4fbe765c 10/06/2008 02:01 pm Michael Hanselmann

Update document describing cluster security

It may need further updates, but here's a start.

Reviewed-by: ultrotter

06dc5b44 10/05/2008 12:16 pm Iustin Pop

Fix ssconf.GetMasterAndMyself

The ssconf migration left this out.

Reviwed-by: imsnah,ultrotter

56118de5 10/03/2008 05:32 pm Iustin Pop

Fix a mistake in the gnt-backup man page

The actual location is /export, not /exports.

Reviewed-by: ultrotter

65dfd777 10/02/2008 01:22 pm Michael Hanselmann

Use docbook2* paths found during configure for actual build

docbook-wrapper had the names for the docbook2* programs hardcoded. This
patch changes Makefile.am and the wrapper script to pass them via
another argument.

Another issue where rapi.in was built before rapi-resources.sgml is...

ffa1c260 10/02/2008 01:22 pm Michael Hanselmann

Remove references to Twisted framework

Reviewed-by: iustinp

c259ce64 10/01/2008 08:37 pm Michael Hanselmann

Get rid of ssconf

Remove leftovers from ssconf.

Reviewed-by: iustinp

0b38cf6e 10/01/2008 08:37 pm Michael Hanselmann

Don't pass sstore to LUs anymore

sstore is no longer used in LUs.

Reviewed-by: iustinp

a42872ff 10/01/2008 08:36 pm Michael Hanselmann

Convert ganeti-master

Use simpleconfig instead of ssconf.

Reviewed-by: iustinp

2859b87b 10/01/2008 08:36 pm Michael Hanselmann

Convert ganeti-watcher

Use RPC calls instead of ssconf.

Reviewed-by: iustinp

8594f271 10/01/2008 08:36 pm Michael Hanselmann

Convert ganeti-noded

Replace ssconf with utility functions.

Reviewed-by: iustinp

e00ea635 10/01/2008 08:35 pm Michael Hanselmann

Convert gnt-cluster

Replace ssconf with configuration.

Reviewed-by: iustinp

d23ef431 10/01/2008 08:35 pm Michael Hanselmann

Convert bootstrap.py

Replace ssconf with configuration.

Reviewed-by: iustinp

d6a02168 10/01/2008 08:35 pm Michael Hanselmann

Convert cmdlib.py

Replacing ssconf with configuration. Cluster rename is broken and stays
that way.

Reviewed-by: iustinp

7688d0d3 10/01/2008 08:35 pm Michael Hanselmann

Convert ssh.py

Get rid of ssconf and convert to configuration instead.

Reviewed-by: iustinp

eb1328a9 10/01/2008 08:34 pm Michael Hanselmann

Convert rpc.py

Replacing ssconf with utility functions.

Reviewed-by: iustinp

3707f851 10/01/2008 08:34 pm Michael Hanselmann

Convert hypervisor

Replacing ssconf with configuration.

Reviewed-by: iustinp

437138c9 10/01/2008 08:34 pm Michael Hanselmann

Convert mcpu.py

Replacing ssconf with configuration.

Reviewed-by: iustinp

5b263ed7 10/01/2008 08:34 pm Michael Hanselmann

Convert config.py

The configuration version is now again in the configuration file.

Reviewed-by: iustinp

c657dcc9 10/01/2008 08:34 pm Michael Hanselmann

Convert backend.py

Replacing ssconf with simpleconfig.

Reviewed-by: iustinp

ae5849b5 10/01/2008 08:33 pm Michael Hanselmann

Add new query to get cluster config values

This can be used to retrieve certain cluster config values from
within clients.

OpDumpClusterConfig was not used anywhere, hence I'm just reusing
it. The way ConfigWriter.DumpConfig returned the configuration
was not thread-safe, anyway (no deepcopy)....

4a8b186a 10/01/2008 08:33 pm Michael Hanselmann

Move functions from ssconf.py elsewhere

These functions will be used to access config values instead of using
ssconf.

Reviewed-by: iustinp

856c67e1 10/01/2008 08:33 pm Michael Hanselmann

Add simple configuration reader/writer classes

This will be used to read the configuration file in the node daemon.
The write functionality is needed for master failover.

Reviewed-by: iustinp

37b77b18 10/01/2008 12:27 pm Iustin Pop

Fix the watcher with down nodes

The watcher didn't handle the down nodes, fix this by ignoring (in
secondary node reboot checks) any node that doesn't return a boot id.

Reviewed-by: imsnah

b7309a0d 10/01/2008 12:27 pm Iustin Pop

Fix the watcher not restarting instance bug

The watcher was using conflicting attributes of the instance:
- it queried the admin_/oper_state, which are booleans
- but it compared those to the status (which is a text field)

The code was changed to query the aggregated 'status' field, as that...