Statistics
| Branch: | Tag: | Revision:

root @ 7bca53e4

# Date Author Comment
7bca53e4 06/18/2008 03:32 pm Michael Hanselmann

ganeti-watcher: Replace custom exceptions with ganeti.error.*

Reviewed-by: iustinp

2fb96d39 06/18/2008 03:31 pm Michael Hanselmann

ganeti-watcher: Don't write file if data didn't change

This is the safest way to detect changes and the amount of data
is small, so keeping a copy around is cheap enough.

Reviewed-by: iustinp

b76f660d 06/18/2008 03:31 pm Michael Hanselmann

ganeti-watcher: Rename WatcherState.data to WatcherState._data

Cleanup: _data is private and should not be modified from outside
of this class.

Reviewed-by: iustinp

1b052f42 06/18/2008 03:31 pm Michael Hanselmann

Don't log SystemExit exception in ganeti-watcher

Reviewed-by: iustinp

fc428e32 06/18/2008 03:31 pm Michael Hanselmann

Replace watcher state file atomically

- Lock it before renaming
- Code cleanup; close() automatically unlocks it

Reviewed-by: iustinp

78f3bd30 06/18/2008 03:30 pm Michael Hanselmann

Write ganeti-watcher status file even if something failed

Reviewed-by: iustinp

71714516 06/18/2008 03:30 pm Michael Hanselmann

Add more parameters to utils.WriteFile

- Make closing file optional: Required by ganeti-watcher to keep
file open after writing it. Changes return value of utils.WriteFile
if "close" parameter evaluates to True.
- Pre- and post-write functions: Can be used to lock files. This...

67fe61c4 06/18/2008 03:29 pm Michael Hanselmann

Use ganeti.serializer module in ganeti-watcher

Reviewed-by: ultrotter

438b45d4 06/18/2008 03:29 pm Michael Hanselmann

Replace custom logging code in watcher with logging module

- Log timestamp for all messages
- Write everything to logfile and optionally to stderr
- Log messages are no longer buffered, allowing a user to see progress

Reviewed-by: ultrotter

e91ffe49 06/18/2008 03:29 pm Michael Hanselmann

Make sure serialized data ends with EOL character

Also fix the regular expression to not remove newlines. The simplejson
module puts whitespace at line endings when using indentation. Remove
unnecessary import of ConfigParser module.

Reviewed-by: ultrotter

0402302c 06/17/2008 06:08 pm Iustin Pop

Allow disk object to set their own physical ID

Currently, the way to customize a DRBD disk from (node name 1, node name
2, port) to (ip1, port, ip2, port) is to use the ConfigWriter method
SetDiskID. However, since this needs a ConfigWriter object, it can be...

c7cdfc90 06/17/2008 04:13 pm Iustin Pop

Fix an error-handling case

There is a mistake in handling grow-disk for an invalid disk. This patch
fixes it.

Reviewed-by: imsnah

eb65d354 06/17/2008 09:51 am Iustin Pop

Manpage updates for the new grow-disk command

The patch documents the steps needed to complete a user-visible grow
(i.e. not only grow-disk, but also filesystem resize is needed, etc.)

Reviewed-by: imsnah

c6e911bc 06/17/2008 09:51 am Iustin Pop

Implement gnt-instance grow-disk

This patch exposes at command line level the grow-disk operation.

Reviewed-by: imsnah

8729e0d7 06/17/2008 09:50 am Iustin Pop

Implement disk grow at LU level

This patch adds a new opcode and LU for growing an instance's disk.

The opcode allows growing only one disk at time, and will throw an error
if the operation fails midway (e.g. on the primary node after it has
been increased on the secondary node). As such, it might actually leave...

acec9d51 06/17/2008 09:50 am Iustin Pop

Add method to update a disk object size

This patch adds a method that implements updating of a disk
(object.Disk) size, together with its children.

While this will not track the exact disk size, it allows at least an
approximate size to be recorded in the configuration (and queried)....

4c8ba8b3 06/17/2008 09:50 am Iustin Pop

Implement block device grow at the rpc layer

This simple patch exposes the block device grow operation at the rpc
layer. It does not increase the protocol version as it has been recently
changed by the live failover rpc call.

Reviewed-by: imsnah

594609c0 06/16/2008 07:06 pm Iustin Pop

Expose block device grow in backend.py

This patch adds a wrapper over the block device grow operation that
converts the input and output parameters as needed for the rpc layer.

Reviewed-by: imsnah

1005d816 06/16/2008 07:01 pm Iustin Pop

bdev: implement disk resize for lvm/drbd8

This patch implements disk resize at the bdev level for the LVM and
DRBD8 disk types. It is not implemented for DRBD7 and MD since the way
MD works with its underlaying devices makes it harder and this
combination is also deprecated....

05f86716 06/16/2008 05:32 pm Guido Trotter

Move SetKey to WritableSimpleStore and use it

Before we used to be able to update SimpleStore by just calling SetKey, this
feature is now moved to an external class, which inherits from it. In this
patch the new WritableSimpleStore class is also put to use, in the LUs that...

2a10865c 06/16/2008 04:57 pm Iustin Pop

Add migration support at the rpc layer

This patch adds the migration rpc call and its implementation in the
backend. The patch does not deal with the correct activation of disks.

Because of the new RPC, the protocol version is increased.

Reviewed-by: imsnah

6e7275c0 06/16/2008 01:37 pm Iustin Pop

hypervisor: add live migration support

This is just the hypervisor-level migration (e.g. “xm migrate”) not the
whole node coordination work.

Reviewed-by: ultrotter

22985314 06/15/2008 01:55 pm Guido Trotter

Activate down instances' disks on replace-disks

When replacing disks or evacuating nodes with instances administratively
down ganeti fails because the instance disks are not active. This patch
activates them, performs the replacement, and shuts them down again....

b6102dab 06/15/2008 01:55 pm Guido Trotter

FailoverInstance: change AddInstance with Update

We're not adding a new instance, just making configuration changes to
the one we're working on.

Reviewed-by: imsnah

f9af35c8 06/15/2008 01:55 pm Guido Trotter

Burnin: Use iallocator in import/export

Currently the iallocator option is ignored by burnin at import/export
time even if passed in. With this patch it becomes used. The log message
used by the importer is also changed to reflect this.

This patch also improves import/export on the non-iallocator case:...

3e91897b 06/15/2008 08:22 am Iustin Pop

Fix an error message in instance add

There is a mistake in the error message generated when we can't reach a
node for checking for available disk space. Without it, the error
message is:
Failure: prerequisites not met for this operation:
Cannot get current information from node '{u'gnte2.lab.k1024.org':...

e70f1b7c 06/13/2008 05:33 pm Michael Hanselmann

Move warning flags from autogen.sh to configure.ac

Reviewed-by: iustinp

2a2060ff 06/13/2008 03:46 pm Michael Hanselmann

Replace logging functions with calls to logging module

- Shorter code
- Reorder arguments to logger.SetupLogging calls to make more sense

Reviewed-by: iustinp

ea6e6c2b 06/13/2008 01:14 pm Guido Trotter

Fail job on ganeti exceptions

When a Job raises a ganeti exception a message is printed but nothing is
reported in the job itself. It's better to update the job status, thus
notifying the client, possibly polling for the job result, of what went
wrong.

Reviewed-by: iustinp

5d3a153a 06/13/2008 01:14 pm Guido Trotter

Fix a typo in jqueue.py

s/result/op_result/ (this code was never used, so this wasn't caught)

Reviewed-by: iustinp

e02f23f8 06/12/2008 04:47 pm Michael Hanselmann

Don't use specific versions in autogen.sh

Not all distributions have the same version of aclocal, autoconf
or automake. Users can pass the name of a specific executables
via environment variables. Change configure.ac to require at
least autoconf 1.9.

Reviewed-by: iustinp

a0c9f010 06/12/2008 04:05 pm Michael Hanselmann

Move InitCluster opcode into a single function

This allows us to initialize a new cluster. The code certainly contains
bugs and hooks aren't implemented yet.

Reviewed-by: iustinp

8d1a2a64 06/12/2008 04:04 pm Michael Hanselmann

Move cmdlib._HasValidVG to utils.CheckVolumeGroupSize

This is required for splitting the cluster initialization code.

Reviewed-by: iustinp

d9c02ca6 06/12/2008 04:04 pm Michael Hanselmann

Move {Set,Remove}EtcHostsEntry wrappers to utils.py

This is required for the split of the cluster initialization code.

Reviewed-by: iustinp, ultrotter

c6d58a2b 06/12/2008 01:18 pm Michael Hanselmann

Remove REQ_CLUSTER from opcode handling code

It's not needed anymore now that all opcodes require a cluster. Cluster
initialization was the only exception.

Reviewed-by: iustinp

c4dbb30a 06/12/2008 01:06 pm Michael Hanselmann

Remove unreachable code from cli.SubmitOpCode

Reviewed-by: iustinp

4c8dbc12 06/12/2008 01:06 pm Michael Hanselmann

Rename master socket to ganeti-master.sock

…/run/master.sock is not specific enough.

Reviewed-by: iustinp

c9673d92 06/11/2008 01:12 pm Guido Trotter

Remove SimpleStore cache

SimpleStore is instantiated anew most of the times it's used, so having
a cache inside it serves no purpose. Removing it.

Reviewed-by: iustinp

76f59a32 06/06/2008 12:32 pm Michael Hanselmann

Forward-port: Fix two problems in QA scripts

- Failover back to original node in instance failure test
- Exclude secondary node from list of potential nodes in
replace-disks test

Reviewed-by: iustinp

8a4e8898 06/06/2008 12:31 pm Michael Hanselmann

Forward-port: Add QA tests for “gnt-instance reboot”

Reviewed-by: ultrotter

7910e7a5 06/06/2008 12:31 pm Michael Hanselmann

Forward-port: Add QA test for “gnt-instance replace-disks”

Reviewed-by: iustinp

a53a1b18 06/06/2008 12:30 pm Michael Hanselmann

Forward-port: Update gnt-instance and gnt-backup manpages

- Add --iallocator options
- Small text fixes

Reviewed-by: ultrotter

52da0141 06/06/2008 12:30 pm Michael Hanselmann

Forward-port: Fix wrong filename in ganeti-watcher manpage

Reviewed-by: iustinp

b3a447ef 06/06/2008 12:28 pm Michael Hanselmann

Forward-port: Small codestyle fixes for dumb-allocator

Reviewed-by: iustinp

ef267657 06/06/2008 12:28 pm Michael Hanselmann

Forward-port: Remove output file if docbook failed

Reviewed-by: ultrotter

228538cf 06/06/2008 12:27 pm Michael Hanselmann

Forward-port: Alias Dump/Load functions in ganeti.serializer to DumpJson/LoadJson

The remote API will use JSON for the foreseable future, so it's better
to put the serialization format in the function name. We can still
use another serialization format for Ganeti's core....

783583e9 06/06/2008 12:19 pm Michael Hanselmann

Add line-breaks to gnt-instance manpage

Reviewed-by: ultrotter

49ce1563 06/01/2008 02:52 am Iustin Pop

Add check for node memory in instance creation

Currently the check for enough memory is done only on instance start
command and failover command. But we also start an instance in instance
create, therefore we need to check this instead of failing to start in...

8a12ce45 06/01/2008 02:51 am Iustin Pop

Show cluster hypervisor for gnt-cluster info

Author: schreiberal
Reviewed-by: iustinp

917f91d5 06/01/2008 02:47 am Iustin Pop

Forward-port: Another for gnt-instance modify & HVM parameters

Another tiny fix. Anybody got a nice brown paper bag I can wear?

Author: schreiberal
Reviewed-by: iustinp

ec1ba002 06/01/2008 02:45 am Iustin Pop

Forward-port: make gnt-modify work with new HVM parameters

This fixes gnt-instance modify so it actually works with the
new HVM parameters for Ganeti 1.2

Author: schreiberal
Reviewed-by: iustinp

a8340917 06/01/2008 02:43 am Iustin Pop

Forward-port: show only parameters relevant to the instance

This patch modifies the code for "gnt-instance info .." to only display
instance parameters that actually apply to that instance, i.e. for PVM
instances no HVM parameters are shown and vice versa....

ca9c49d5 06/01/2008 02:39 am Iustin Pop

Forward-port: patch 4/4 extended HVM features for 1.2

This patch documents the extended HVM features.

Author: schreiberal
Reviewed-by: imsnah

a21dda8b 06/01/2008 02:37 am Iustin Pop

Forward-port: patch 3/4 extended HVM features for 1.2

This patch adds hypervisor support for the extended HVM features.

Author: schreiberal
Reviewed-by: iustinp

31a853d2 06/01/2008 02:14 am Iustin Pop

Forward-port: patch 2/4 extended HVM features for 1.2

This patch adds the commandline extensions and the code to store
and display the extended HVM features.

Author: schreiberal
Reviewed-by: iustinp

abdf0113 05/30/2008 01:55 pm Iustin Pop

Complete removal of md/drbd 0.7 code

This patch removes the last of the md and drbd 0.7 code. Cluster which
have the old device types will be broken if they have this applied.

Reviewed-by: imsnah

5c54b832 05/30/2008 01:52 pm Iustin Pop

LURemoveInstance: fix op.ignore_failures usage

Currently: the LURemoveInstance.Exec() method uses the ignore_failures
attribute of the OpRemoveInstance opcode, but it doesn't check for its
existence. The patch adds this attribute to _OP_REQP and to all the...

bd028152 05/29/2008 12:59 pm Iustin Pop

Documentation: cleanup of local/remote_raid1

Since we have removed support for local and remote raid1, update the man
pages and guides to reflect the new situation.

Reviewed-by: imsnah

447b2066 05/24/2008 11:59 am Guido Trotter

Distribute dumb-allocator in examples

When creating the ganeti tarball the dumb allocator was left out.
Shipping it alongside the other examples.

Reviewed-by: iustinp

bdb7d4e8 05/15/2008 05:38 pm Michael Hanselmann

Update command line help and manpages with mandatory options

Reviewed-by: ultrotter

3cf7c9fa 05/15/2008 05:22 pm Guido Trotter

document cluster verify --no-nsplus1-mem option

Add this recently added option to the gnt-cluster man page before
releasing 1.2.4.

Reviewed-by: imsnah

63012024 05/15/2008 12:00 pm Guido Trotter

Fix drbd show parser to handle valueless keywords

It turns out in some cases there can exist keywords without an
associated value exported by drbdsetup show. This patch makes the value
part optional in our parser, so that if it's not present the parsing
result will contain an array with just the keyword in it. This is not a...

333411a7 05/15/2008 12:00 pm Guido Trotter

Split drbd command creation and execution

Make _AssembleDisk more similar to _AssembleNet by splitting the
generation of the drbdsetup command and its execution. While not
changing anything this makes it easier to manipulate the command just in
certain cases, which in the future we'll need to do....

8d59409f 05/13/2008 05:42 pm Iustin Pop

Small style fixes

[Trunk version]

Reviwed-by: imsnah

9d4bfc96 05/13/2008 05:33 pm Iustin Pop

Implement node daemon conectivity tests

This patch adds in gnt-cluster verify checks for inter-node tcp
communication checks on the node daemon port for both the primary and
(if defined) secondary networks.

The output looks like (4-node cluster, one with the secondary interface...

102b115b 05/13/2008 05:26 pm Michael Hanselmann

Forward-port changes made to readd in 1.2

qa_node.py: Fix typo in message
cmdlib.py: Don't add readded node to node list
ganeti-qa.py: Make sure readd isn't done for master node

Reviewed-by: iustinp

4e713df6 05/13/2008 04:41 pm Iustin Pop

CLI: retry: remove command opts/args in "gnt-X"

This new version of the patch removes only the listing of the usage in
the "gnt-X" list, but keeps the strings in since we'll want to enhance
and use them in "gnt-X $cmd --help".

Reviewed-by: ultrotter

9a033156 05/13/2008 04:04 pm Iustin Pop

Revert "CLI: remove command opts/args in "gnt-X""

This reverts commit 976.

Reviewed-by: ultrotter

57d0151e 05/13/2008 03:24 pm Iustin Pop

CLI: remove command opts/args in "gnt-X"

[Forward-port of the 1.2 branch patch]

This patch removes all the parameters and options from the output
"gnt-X" (i.e. the subcommand list for command). This is done in order to
uniformize the output, currently only some parameters are shown and they...

eee1fa2d 05/13/2008 12:48 pm Iustin Pop

Watcher: do not activate disks for started instances

Currently the watcher runs first the instance startup and then the
boot-id method of disk reactivation. However, irrelevant of the fact
that a node has rebooted or not, if we just started an instance, there's...

0c0f834d 05/13/2008 12:48 pm Iustin Pop

Watcher: do not activate disks for admin_down

Currently the watcher does activate disks (via bootid mechanisms) even
for admin_down instances. This patch logs and skips over these
instances.

Reviewed-by: ultrotter

b544cfe0 05/13/2008 10:32 am Iustin Pop

Reduce chance of ssh failures in verify cluster

The cluster verify builds a sorted list of nodes and passes that to all
the nodes (in parallel) for ssh checks. This means that for a cluster
with N nodes, there will be approximately N simultaneous connections to...

6c896e2f 05/12/2008 12:14 pm Iustin Pop

bdev: always log command output if it failed

Currently many error handling code paths in bdev.py log only
result.fail_reason (i.e. exit code or signal that killed the command)
but not its output. This makes debugging very hard.

The patch changes all places where we only log fail_reason to also log...

ab6cc81c 05/10/2008 11:25 am Iustin Pop

DRBD: Fix another bug in diskless activation

DRBD8 requires that we pass ‘--create-device’ to the first command that
wants to activate a new DRBD minor. We do this currently when we run the
“drbdsetup ... disk” command which we run before the network setup....

e3e66f02 05/09/2008 01:12 pm Michael Hanselmann

Remove utils.CheckDaemonAlive and use “xm info” instead

There are a couple of reasons for doing so:
- /proc is not OS independent, it's only supported by Linux (there are
emulations on other systems, but those might differ from the way
Linux represents data)....

f860ff4e 05/08/2008 10:50 pm Guido Trotter

Improve DRBD8.Open's docstring a bit more

Reviewed-by: iustinp

7b62772e 05/08/2008 10:50 pm Guido Trotter

Fix comment typo in bdev.py

Reviewed-by: iustinp

bf25af3b 05/08/2008 11:21 am Iustin Pop

Fix DRBD8 diskless assembling

The algorithm for attaching to existing DRBD devices is not trivial. It
has four alternatives, and there is a bug in the last one when we have
diskless devices.

The last case (local disk info matches but remote/network configuration...

eeb1d86a 05/07/2008 02:12 pm Michael Hanselmann

Add unittest for constants

Reviewed-by: iustinp

243cdbcc 05/07/2008 02:12 pm Michael Hanselmann

Use new ssconf function to check configuration version

Upgrades will be handled in future patches.

Reviewed-by: iustinp

a9369c6e 05/06/2008 01:20 pm Michael Hanselmann

Use dict instead of if/elif map for hypervisor classes

Reviewed-by: iustinp

a2d32034 05/06/2008 01:20 pm Michael Hanselmann

Rename hypervisor code to lowercase filenames

Reviewed-by: iustinp

94f3875d 05/05/2008 06:27 pm Michael Hanselmann

Generate devel/upload during build time from template

- Use variable with prefix instead of grep and sed
- Always run with /bin/bash

Reviewed-by: ultrotter

4337cf1b 05/05/2008 01:03 pm Iustin Pop

Export the number of cpus to iallocator scripts

Now that we have the number of cpus available from the hypervisors, we
can export this to the iallocator scripts.

Reviewed-by: ultrotter

872c949f 05/05/2008 01:02 pm Iustin Pop

Minor doc/help update

This shortens the help output in gnt-node so that the output looks
nicer, and improves the manual page for gnt-instance with the new
'status' field.

Reviewed-by: ultrotter

48c4dfa8 05/05/2008 01:02 pm Iustin Pop

Improve the gnt-* list field selection

This patch allows the '-o' option to the list subcommands to add more
fields to the default list instead of replacing the default list by
prefixing the fields list with '+'.

The patch also moves the listing (in the help output) of the default...

e8a4c138 05/05/2008 01:01 pm Iustin Pop

Add node cpu count to gnt-node list

This patch adds the backend and frontend changes needed for being able
to list the cpu count.

Reviewed-by: ultrotter

9ff994da 05/05/2008 11:49 am Guido Trotter

Wrap exception in _DistributeConfig code

nodelist.remove(X) could potentially raise a ValueError (even if the chance
that the current node is not in the list are pretty scarce, and its absence
should raise a red flag anyway). If this happens let things go on, as that's...

41362e70 05/05/2008 11:15 am Guido Trotter

Simplify target generation in DistributeConfig

Currently we get the list of nodes, and for each one extract all its info, and
just to exclude it if the name matches ours. Since the list of nodes is a list
of names just use .remove() to exclude ourself from it, and use that list...

8498462b 05/02/2008 12:36 pm Guido Trotter

ssconf: update the SetKey docstring

SetKey is used, other than for adding new nodes, in another few cases. Update
the docstring to reflect this, so we don't mislead people reading it.

Reviewed-by: iustinp

310bbdde 05/02/2008 12:36 pm Guido Trotter

Delete hypervisor.py

This completes the changes in r898 by actually getting rid of the old unused
hypervisor.py code which was left in the code tree.

Reviewed-by: iustinp

ce862cd5 05/01/2008 02:15 pm Guido Trotter

ganeti-masterd: Some docstrings work

- Add a docstring to IOServer's constructor
- Add argument description to PoolWorker's and JobRunner's ones

Reviewed-by: iustinp

dcf315e2 05/01/2008 02:15 pm Guido Trotter

locking: remove obsolete comment

Reviewed-by: iustinp

808753d4 04/30/2008 03:51 pm Manuel Franceschini

Remove deprecated disk templates from doc

Since local_raid1 and remote_raid1 are deprecated they are removed
from the docs. This patch removes some old documentation sections
and bumps the documented version from 1.2 to 1.3.

Reviewed-by: iustinp

470e7e06 04/30/2008 12:30 pm Guido Trotter

hooks.sgml: Add cluster-verify hooks information

Reviewed-by: iustinp

d8fff41c 04/30/2008 12:29 pm Guido Trotter

Add cluster-verify hooks

Only post-hooks are run on cluster verify, and then their output is sent back
to the LU, which upon failure displays it to the user and changes the result of
the execution to a failure.

Reviewed-by: iustinp

1fce5219 04/30/2008 12:29 pm Guido Trotter

Add a LU Hooks notification function

Previously LUs could be failed by pre-hooks, and post-hooks just had effects by
themselves. This patch allows a LU to define the HooksCallBack function if it
wants to know about its hooks' results and alter its results in response....

b07a6922 04/30/2008 12:29 pm Guido Trotter

HooksMaster: Make RunPhase return the rpc output

Right now the hooks output is propagated from the nodes all the way up to
HooksMaster.RunPhase, which uses it for debugging PRE hooks, but then silently
discards them. We'll now propagate it up to the Processor.ExecOpCode function,...

10cd4a29 04/30/2008 12:29 pm Guido Trotter

Remove NoHooksLU.BuildHooksEnv

Since NoHooksLU defines HPATH as None, BuildHooksEnv will never be called (as
the LogicalUnit.BuildHooksEnv docstring correctly states). Removing the
function altogether, to avoid having dead code lying around, and to make sure...

8a3fe350 04/30/2008 12:29 pm Guido Trotter

LogicalUnit.BuildHooksEnv, update docstring

The LogicalUnit.BuildHooksEnv docstring used to say that the node list should
not include the master node. This is obviously not the case checking the
relevant code, and double-checking with iustin he confirmed it just document...