Statistics
| Branch: | Tag: | Revision:

root @ 501c95a2

# Date Author Comment
501c95a2 06/23/2008 08:22 pm Michael Hanselmann

Add unittests for ganeti.serializer

Reviewed-by: iustinp

5878b1b5 06/23/2008 08:21 pm Michael Hanselmann

Remove lib/Makefile.libcommon

Reviewed-by: iustinp

b3989551 06/23/2008 07:55 pm Iustin Pop

Fix gnt-cluster “command” and “copyfile”

Since the disabling of forking in the master daemon, the two ssh-based
subcommands were not working anymore. However, there is no need at all
for the commands to be run from the master daemon (permissions to read
the cluster private ssh key notwithstanding), they can be run directly...

0db7ac4d 06/23/2008 06:00 pm Guido Trotter

Handle any exception in ganeti-masterd

If an uncaught exception is thrown currently it destroys the calling
thread. This patch changes the behaviour to failing the current job,
logging a message, but trying to keep the daemon up.

Reviewed-by: imsnah

95e4a814 06/23/2008 04:39 pm Michael Hanselmann

cfgupgrade: Implement upgrading to Ganeti 2.0 configuration

Reviewed-by: iustinp

0d93b082 06/23/2008 04:15 pm Michael Hanselmann

Makefile.am: Don't create "--" directory

Automake automatically appends "--" to mkdir_p. In case you have
a directory named "--" in your source tree, you can remove it using
the command "rm rf - --".

Reviewed-by: iustinp

cf9cb46a 06/23/2008 04:00 pm Michael Hanselmann

objects: Remove config_version from cluster configuration

Reviewed-by: ultrotter

6d691282 06/23/2008 03:53 pm Michael Hanselmann

cfgupgrade: Add main() function

Reviewed-by: iustinp

eda37a5a 06/23/2008 03:53 pm Michael Hanselmann

cfgupgrade: Add logging module

Reviewed-by: iustinp

740c5aab 06/23/2008 03:50 pm Guido Trotter

Fix the zombie process unittest

The failure is because in high load, the parent gets to run before the
child has the chance to os._exit(), and therefore it is still running
when the parent does the check.

The fix removes the chance of this happening by waiting to receive a SIGCHLD...

5e29d733 06/23/2008 02:30 pm Michael Hanselmann

Bump version to 2.0.0~alpha0

We decided to bump the major number to 2 a few weeks ago due to the huge number
of changes going into it.

Reviewed-by: iustinp

1b45f4e5 06/23/2008 02:11 pm Michael Hanselmann

Add functions to calculate version number to constants.py

In cfgupgrade, we need to extract parts of and build new version numbers.

Reviewed-by: iustinp

04a8d789 06/23/2008 12:52 pm Michael Hanselmann

utils.WriteFile: Remove optional check_abspath parameter

cfgupgrade will not work with relative paths at all, but rather get them
from constants.py.

Reviewed-by: iustinp

130a6a6f 06/22/2008 01:57 pm Iustin Pop

Add a ‘tags’ field to instance and node listing

Currently there isn't any easy way to list all nodes or instance and
their tags; you have to query each node in turn, or list all the tags
via something like “gnt-cluster search-tags '.*'”. Of course, this is...

03a8dbdc 06/21/2008 09:49 pm Iustin Pop

Implement handling of luxi errors in cli.py

Currently the generic handling of ganeti errors in cli.py (GenericMain
and FormatError) only handles the core ganeti errors, and not the client
protocol errors (which live in a separate hierarchy).

This patch adds handling of luxi errors too, and also adds another luxi...

11fb401c 06/21/2008 02:27 pm Iustin Pop

Remove twisted checks from configure.ac

Currently we don't use twisted, so we remove the twisted checks from the
configure stage.

Reviewed-by: amishchenko

d61cbe76 06/20/2008 02:04 pm Iustin Pop

Add a rpc call for BlockDev.Close()

This patch adds rpc layer calls (in rpc.py and the equivalent in
ganeti-noded) to close a list of block devices, and the wrapper in
backend.py that takes a list of Disk objects, identifies them and
returns correctly formatted results....

1efbe18e 06/19/2008 05:06 pm Michael Hanselmann

Check for docbook2{man,pdf,html}

docbook2{man,pdf,html} are mandatory. "configure" aborts if one
of them isn't found.

Reviewed-by: iustinp

67470f58 06/19/2008 04:37 pm Iustin Pop

Small typo in gnt-instance manpage

Reviewed-by: manuel.franceschini

e8230860 06/19/2008 03:56 pm Michael Hanselmann

Use a single Makefile.am instead of many

This change allows us to use cleaner dependencies between
directories. The build system is basically rewritten in large parts
and may contain bugs.

Reviewed-by: iustinp

ae9da390 06/18/2008 06:09 pm Iustin Pop

Fix bdev unittest when run under distcheck

The path to the filename for drbd8 proc data is not correctly computed
when using distcheck. The patch duplicates it from the other drbd tests.

Reviewed-by: ultrotter

6b90c22e 06/18/2008 06:08 pm Iustin Pop

Rework the DRBD8 device status computation

Currently, compute the status of a drbd8 device in GetSyncStatus and
return only the values that we need (and fit in the framework of
GetSyncStatus). However, the full status details are useful (and needed)
in other places, so the patch attempts to improve this situation....

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...