Statistics
| Branch: | Tag: | Revision:

root @ f00b46bc

# Date Author Comment
f00b46bc 10/10/2007 01:58 pm Michael Hanselmann

Make Xen DomU kernel and initrd configurable at build time.

Reviewed-by: iustinp

832aef24 10/10/2007 01:09 pm Michael Hanselmann

Add preliminary developer notes.

Reviewed-by: iustinp

2f31098c 10/10/2007 01:00 pm Iustin Pop

Remove the shebang from modules

Since modules are not directly executables, remove the shebang from
them. This helps with lintian warnings.

Also make the autogenerated _autoconf.py contain two comment lines at
the beginning, like the other modules.

Reviewed-by: ultrotter

5a3103e9 10/10/2007 11:12 am Michael Hanselmann

Detect node restarts and reactivate disks.

- Change format of watcher state file to JSON.
- Move log path for watcher script to constants.py.

Reviewed-by: iustinp

c450e9b0 10/09/2007 04:48 pm Iustin Pop

Implement node failover

This patch implements a simple failover command for failing over all
primary instances. This is just a batched form of gnt-instance failover.

Reviewed-by: imsnah

86208a02 10/09/2007 04:01 pm Michael Hanselmann

Do not install init script in PREFIX/bin.

Reviewed-by: ultrotter

b07a9f05 10/09/2007 02:15 pm Guido Trotter

Refactor DiagnoseOS

The new version debugs Hidden OSes as well.

Reviewed-by: iustinp

0c434948 10/09/2007 12:13 pm Iustin Pop

Fix a wrong exception name

This was introduced in rev 208.

Reviewed-by: imsnah

73702ee7 10/09/2007 12:13 pm Iustin Pop

Separate error formatting out of cli.GenericMain

This patch moves the error formatting into a separate function that will
be exported so that scripts that execute multiple opcodes can create the
same output as for GenericMain. Also, GenericMain becomes more readable....

fe4cc679 10/09/2007 10:42 am Iustin Pop

Revert a debugging 'raise' from rev 195

As far as I understand, this was just a debugging aid. Remove it so that
configuration errors are nicely handled.

Reviewed-by: imsnah

9f33ef86 10/09/2007 10:39 am Iustin Pop

Enhance cli.SubmitOpcode to use custom parameters

This patch allows the SubmitOpcode function to take a pre-created
Processor instance and a different feedback function. This is helpful
when submitting more than one opcode from a shell script.

Reviewed-by: imsnah

3ef10550 10/08/2007 06:18 pm Michael Hanselmann

Add boot id to “gnt-node list”.

Reviewed-by: iustinp

b9ea6acb 10/08/2007 06:12 pm Iustin Pop

Add handler for errors.TagError

This patch adds a simple handler for TagError that prints the error
(better than having a stack dump).

Reviewed-by: imsnah

810c50b7 10/08/2007 06:12 pm Iustin Pop

Add source file option for {add,remove}-tags

This patch adds a '--from' option to the {add,remove}-tags commands that
allows the command to read from a file or from stdin (when passing a
dash for the filename).

Reviewed-by: imsnah

cc425644 10/08/2007 06:11 pm Iustin Pop

Update man pages for the tags operations

This adds documentation on the {list,add,remove}-tags commands to the
gnt-{cluster,node,instance} man pages.

Reviewed-by: imsnah

75f49d9b 10/08/2007 06:11 pm Iustin Pop

Change gnt-cluster.sgml to use refsect2

This brings this man page in conformity to gnt-node and (partially) to
gnt-instance.

Reviewed-by: imsnah

846baef9 10/08/2007 06:11 pm Iustin Pop

Implement command-line tags support

This patch adds generic functions for tag manipulations to cli.py and
modifies gnt-{cluster,node,instance} to export {list,add,remove}-tags
commands that use those.

Reviewed-by: imsnah

f27302fa 10/08/2007 06:10 pm Iustin Pop

Change tags add/remove to process multiple tags

This patch changes the tags opcodes to work with multiple tags at once
instead of only one. As such, the opcodes and some parameters are
renamed.

Reviewed-by: imsnah

b60ae2ca 10/08/2007 06:10 pm Iustin Pop

Fix super() calls for objects.Cluster

Reviewed-by: imsnah

8f684e16 10/08/2007 06:10 pm Iustin Pop

Fix tags operations for instances

Reviewed-by: imsnah

334d1483 10/08/2007 05:42 pm Iustin Pop

Extend GenericMain with a way to override options

This allows scripts to pass options to generic functions (options that
are not visible in the command line).

Reviewed-by: imsnah

1977857b 10/08/2007 05:26 pm Michael Hanselmann

Don't remove Makefile.in when doing maintainer-clean.

Reviewed-by: iustinp

d5835922 10/08/2007 01:48 pm Michael Hanselmann

Use indenting if supported by simplejson.

Reviewed-by: iustinp

9ff7e35c 10/08/2007 01:03 pm Michael Hanselmann

Fix “make distcheck”.

- Move symlink to “ganeti” to top dir
- Add ganeti.config_unittest.py to tests to be run
- Make sure everything is built before tests are run

Reviewed-by: iustinp

eedbda4b 10/08/2007 11:59 am Michael Hanselmann

Add function to list files in a directory, excluding those beginning with a
dot.

Reviewed-by: iustinp

0ee60a28 10/04/2007 06:49 pm Guido Trotter

Remove redundant check.

This isdir() check leads to a broken error message. Even fixing it creates some
cases in which the error message is nebulous and unclear while removing it
makes this situation be dealt with a lot better by the _OSOndiskVersion checks....

97a37b3f 10/04/2007 03:40 pm Michael Hanselmann

Forgotten files from last commit, NEWS and Makefile.am.

Reviewed-by: iustinp, ultrotter

305a7297 10/04/2007 02:51 pm Guido Trotter

Ship (and display) path for InvalidOS errors too.

- Document the expected change to errors.InvalidOS
- Always pass the additional argument
- Modify DiagnoseOS output to show the path

Reviewed-by: iustinp, imsnah

319856a9 10/04/2007 02:33 pm Michael Hanselmann

Change configuration storage format from Pickle to JSON.

- Add NEWS file with major changes between versions.
- Bump RPC version number
- No longer serialize in RPC, but just convert to dict

Old Pickle based configuration files can be converted using the cfgupgrade...

694e2444 10/04/2007 01:41 pm Guido Trotter

Fix OS Diagnose in light of the new OS Search path (Part One).

As of now only the last OS was taken into consideration by diagnose, fix by
storing them all and displaying for now only the first. Also display the source
path for valid OSes.

Reviewed-by: imsnah

56bcd3f4 10/03/2007 05:11 pm Guido Trotter

Second part of the OS search path cleanup

Abstract the _OSSearch function, to look for an OS in the search path
Make OSFromDisk accept an optional base_dir, rather than the os_dir itself

Reviewed-by: iustinp

c26dabd7 10/03/2007 02:21 pm Guido Trotter

Make parameter os_dir mandatory for _OSOndiskversion.

First part of the OS search path cleanup. _OSOndiskversion is only ever called
once, and with that argument set, so let's make it mandatory.

Reviewed-by: iustinp

99e8bbde 10/02/2007 03:50 pm Guido Trotter

Add warning on gnt-node add operation.

People might not have read all the documentation and might not expect their ssh configuration
and specially keys to be changed. Adding this warning will inform them before it happens.

Reviewed-by: iustinp

2007c9be 10/02/2007 10:41 am Michael Hanselmann

Print automake warnings.

Reviewed-by: ultrotter

6f1bebf9 10/01/2007 05:31 pm Michael Hanselmann

Import utils into unittest.

Reviewed-by: schreiberal

7c3d51d4 09/28/2007 12:39 pm Guido Trotter

Change constants.OS_DIR with constants.OS_SEARCH_PATH which includes all the
directories which can contain OS scripts.

The list defaults to the current one but can be changed at configure time.

Reviewed-by: imsnah

68dccc07 09/27/2007 07:02 pm Guido Trotter

Make the default export path configurable.

This is needed to improve FHS compliance for distribution integration.
The need was discussed on the alioth pkg-ganeti project.

Reviewed-by: imsnah

081b1e69 09/27/2007 04:03 pm Michael Hanselmann

Prevent race condition in CreateBackup().

Reviewed-by: ultrotter

283f9d4c 09/27/2007 04:00 pm Michael Hanselmann

Add more QA tests.

Added tests:
- “gnt-cluster getmaster”
- “gnt-cluster version”
- “gnt-instance list”
- “gnt-instance reinstall”

Reviewed-by: schreiberal

8f106515 09/27/2007 03:20 pm Guido Trotter

Specify in the helpstring that --with-ssh-initscripts expects an argument

Reviewed-by: imsnah

a181730e 09/27/2007 03:18 pm Michael Hanselmann

Pass required ip_check parameter to OpCreateInstance in gnt-backup.

Reviewed-by: ultrotter

5d640672 09/26/2007 09:27 pm Michael Hanselmann

Enhance QA.

- Test “gnt-backup export” and “gnt-backup import”.
- Move “ResolveInstanceName” to qa_utils.py.
- Fix tests for “ganeti-watcher”.
- Make instance shutdown and startup configurable.

Reviewed-by: schreiberal

24d48647 09/25/2007 05:22 pm Guido Trotter

Integrate Leonardo's LSB init script patch

Reviewed-By: imsnah

f491c3a8 09/25/2007 04:04 pm Michael Hanselmann

Rename constants for SSH init script by Iustin's request.

Reviewed-by: iustinp

26a4b8d7 09/25/2007 02:41 pm Michael Hanselmann

Ignore man/*.in.

Reviewed-by: ultrotter

c6b8baba 09/25/2007 02:41 pm Michael Hanselmann

Add configure option for init.d/ssh script. This is useful for distributions
with the script named differently than Debian.

Reviewed-by: ultrotter

5b209f0c 09/24/2007 06:03 pm Guido Trotter

Remove mkdir from man/Makefile.am because mktemp creates the directory before.

Thanks to Christoph Rauch for reporting the problem.

Reviewed-By: iustinp

26c7e094 09/24/2007 03:03 pm Michael Hanselmann

Replace paths in ganeti-watcher.sgml.

Reviewed-by: iustinp

ff9c047c 09/24/2007 11:41 am Iustin Pop

Implement to/from dict conversion for ConfigObject(s)

This change allows instances of ConfigObject and its children to be
converted to and from standard python types. This will allow easier
upgrade of the configuration and use of any serialization protocol (not...

ec29fe40 09/21/2007 05:59 pm Iustin Pop

Change class hierarchy in objects.py

It makes sense to make the TaggableObject a child of the ConfigObject,
since in this case we can derive the Instance, Node and Cluster objects
only from the TaggableObject and have a cleaner hierarchy.

For consistency child classes will have to declare their slots by adding...

89e1fc26 09/21/2007 04:37 pm Iustin Pop

Remove requirement that host names are FQDN

We currently require that hostnames are FQDN not short names
(node1.example.com instead of node1). We can allow short names as long
as:
- we always resolve the names as returned by socket.gethostname()
- we rely on having a working resolver...

619fdc8e 09/21/2007 04:36 pm Iustin Pop

Move a constant from ganeti-master to constants.py

The EXIT_NODESETUP_ERROR is a useful constant and ganeti-watcher could
use it too. This patch moves it to constants.py and modifed the
ganeti-master script to use it from there.

Reviewed-by: imsnah

e9f745aa 09/21/2007 03:25 pm Iustin Pop

Fix tools/burnin w.r.t. OpCreateInstance.ip_check

Since we added a new, required parameter to OpCreateInstance, we need to
update burnin to build the correct opcode.

Reviewed-by: schreiberal

2057f6c7 09/21/2007 03:23 pm Iustin Pop

Add slots on TaggableObject

Unless we use slots on all parents, we don't get the benefits that
slots bring. This patch adds this attribute to the TaggableObject so
that Instances, Nodes and the Clusters behave as intended.

Reviewed-by: schreiberal,imsnah

804a1e8e 09/20/2007 10:26 am Iustin Pop

Ask for confirmation when touching multiple instances

This patch makes the new startup/shutdown multi-instance operations to
ask for confirmation when touching more than one instance (and unless
--force-multi is given).

The code is not very short, but it does present a nice (IMO) user...

47988778 09/19/2007 05:24 pm Iustin Pop

Improve the cli.AskUser() function

This patch improves the AskUser function by allowing it to:
- choose from multiple choices (instead of only y/n)
- give help to the user
- preserve line breaks and whitespace formatting in the message

With this patch, an instance removal looks like this:...

bdd55f71 09/19/2007 04:52 pm Iustin Pop

Allow 'add instance' to not start the new instance

This patch allows 'gnt-instance add' to not start the newly-created
instance. It also allow 'gnt-instance add' and 'gnt-backup import' to
not check for IP conflicts (only when not starting the instance)....

bcf043c9 09/19/2007 09:56 am Iustin Pop

Change resolved hostname from dict to a class

The current result of utils.LookupHostname() is a dict, but this does
not allow static checkers to check the correctness of the code. This
patch introduces a new class names HostInfo and changes LookupHostname...

07bd8a51 09/18/2007 03:42 pm Iustin Pop

Implement cluster rename operation

This patch adds a new OpCode (and corresponding LU) that implements the
cluster rename functionality.

This is done by shutting down the master role, making the needed sstore
modifications and distributing the changed files to all nodes, and then...

4ab0b9e3 09/18/2007 11:06 am Guido Trotter

Fix a docstring

Reviewed-by: iustinp

4ca1b175 09/17/2007 05:04 pm Alexander Schreiber

Cleanup up selective imports for utils and utils unit test.

Reviewed-by: iustinp, imsnah

9716fdce 09/17/2007 02:53 pm Iustin Pop

A few minor fixes in backend.py

This uses the recently-added Instance.FindDisk() method instead of
hard coded find-disk code.

It also renames one parameter to AddNode from ssh to sshkey in order not
to shadow the ganeti.ssh module.

Reviewed-by: imsnah

decd5f45 09/17/2007 02:52 pm Iustin Pop

Implement instance rename operation

This patch adds support for instance rename operation at all remaining
layers: RPC, OpCode/LU and CLI.

Reviewed-by: imsnah

2c30e9d7 09/17/2007 02:18 pm Alexander Schreiber

Added TcpPing to do ping-alike via TCP connect(2) with defined source address.
To be used to replace the currently fping(8) based reachability test.

Reviewed-by: imsnah

386b57af 09/17/2007 01:52 pm Iustin Pop

Add support for rename operation in the OS API

This patch adds support for renaming at OS level. Because of this, we
need to bump up the version of the OS api from 4 to 5.

The patch also documents the new script interface in the
ganeti-os-interface(7) man page and adds a section on upgrading the OS...

312ac745 09/17/2007 12:12 pm Iustin Pop

Allow start/stop of multiple instances at once

This is an initial version of the multi-instance start/stop, which
allows the gnt-instance startup and shutdown subcommands to work on
multiple instances at once.

The available selections are:
- "gnt-instance startup --instance name..." which is the default, and...

fc95f88f 09/17/2007 12:10 pm Iustin Pop

Add rename instance support to ConfigWriter

This patch adds support for renaming instances to the ConfigWriter
class. It's needed in here in order to guarantee that we don't lose the
instance during the rename (the instance will be there, either with the...

116b0c88 09/15/2007 12:11 pm Iustin Pop

Documentation fix for missing dependencies

I was getting into trouble with gnt-backup and discovered reading the
code of the debian-etch os image and the error logs that:
1 - Debian os image shipped by ganeti depends on the availability
of dump and restore....

246e180a 09/14/2007 12:54 pm Iustin Pop

Change OpQueryNodes nodes attribute to names

Change this to have the exact same parameters as OpQueryInstances.

Also fix burnin which is broken since r146.

Reviewed-by: imsnah

069dcc86 09/14/2007 12:54 pm Iustin Pop

Enable LUQueryInstances to work with a given list of instances

As per the changes to LUQueryNodes, the QueryInstances LU is modified to
accept a list of instances for which to compute and return information.

Reviewed-by: imsnah

4a72cc75 09/14/2007 12:03 pm Iustin Pop

Remove OpQueryNodeData and LUQueryNodeData

Now that LUQueryNodes supports all the functionality of LUQueryNodeData,
let's migrate gnt-node.ShowNodeConfig to use it and remove all traces of
OpQueryNodeData and LUQueryNodeData.

Reviewed-by: imsnah

ec223efb 09/14/2007 12:02 pm Iustin Pop

Change LUQueryNodes to return raw values and support selective listing

LUQueryNodes it's very similar to LUQueryNodeData, but it lacks two
features:
- instance list (it has count though), both primary and secondary
- selective node listing

In order to support these features, we change it to return raw values...

a7ba5e53 09/14/2007 12:02 pm Iustin Pop

Change _GetWanted* to return names instead of objects

On closer look, all except one of the current users of _GetWantedNodes are
using only the name of the nodes and throw away the other attributes. It makes
sense to make this function return only the name list (as in the future this...

cec9845c 09/13/2007 03:46 pm Michael Hanselmann

Split QA script into different modules.

Reviewed-by: iustinp

8a23d2d3 09/13/2007 02:49 pm Iustin Pop

Move string formatting out of LUQueryInstances

Currently, LUQueryInstances will provide strings for its results. This makes it
hard for other consumers than "gnt-instance list" to use the OpQueryInstances
opcode for whatever they wish to.

The change moves the formatting in five of the six cases where this happens to...

72f0f7fd 09/13/2007 02:31 pm Iustin Pop

Fix the ssh change which breaks remote ssh commands

Explanation: since we use lists and not a string, every argument we give
is passed unchanged to the remote shell. So, for example, passing
'/etc/init.d/ganeti restart' to the remote shell, it will try to run the...

4e5e8bfc 09/12/2007 08:46 pm Michael Hanselmann

Complete rename of testing/ to test/.

Reviewed-by: iustin

5ca84bdd 09/12/2007 06:54 pm Michael Hanselmann

Fix typo in last commit.

a2ce5c4d 09/12/2007 06:51 pm Michael Hanselmann

Rename testing/ to test/.

b945849c 09/12/2007 06:17 pm Michael Hanselmann

Clean *.py[co] in testing/.

Reviewed-by: iustin

44c23fa6 09/12/2007 06:12 pm Michael Hanselmann

Move QA script from testing/ to qa/.

Reviewed-by: iustin

23f41a3e 09/12/2007 03:02 pm Michael Hanselmann

Change the way how locales are overridden:
- Set only LC_ALL, it overrides any other variable
- Restore environment after unittest

Reviewed-by: iustinp

3312b702 09/12/2007 02:58 pm Iustin Pop

Clone cmdlib._GetWantedNodes into _GetWantedInstances

This duplicates _GetWantedNodes to _GetWantedInstances, after doing some
changes to it:
- fix an indentation error that should result in only the last node
name passed being chosen
- change the function to have a single return statement...

fdc267f4 09/12/2007 01:32 pm Iustin Pop

Fix docstrings of many opcodes

Reviewed-by: imsnah

f6441c7c 09/11/2007 03:18 pm Iustin Pop

Filters out LANG and LC_* on RunCmd

This filters out the LANG and LC_ variables from the environment of programs
executed by RunCmd, in order to get consistent output of execute programs like
lvs, etc.

Reviewed-by: imsnah

8e587e52 09/11/2007 11:45 am Michael Hanselmann

- Don't build .tar.bz2, we only distribute .tar.gz anyway.
- Clean generated files on “make maintainer-clean”.
- Build _autoconf.py and ganeti.initd on “make all”.

Reviewed-by: iustinp

00003458 09/07/2007 02:30 pm Guido Trotter

Make import/export use the auxiliary ssh library to build the remote commands.

This avoids forgetting some parameters, as it's happening right now
(the correct known host file is not being passed)

In order to do so we split SSHCall into an auxiliary BuildSSHCmd which builds...

017778ac 09/07/2007 11:09 am Guido Trotter

Fix two errors in man page

88d14415 09/05/2007 08:14 pm Michael Hanselmann

Add function to get all local IP addresses, will be used in cmdlib.py.

Reviewed-by: schreiberal

c1671c0e 09/04/2007 06:27 pm Michael Hanselmann

Use configure's paths in the init script example.

Reviewed-by: schreiberal

bd205d0e 09/04/2007 04:10 pm Michael Hanselmann

Now that we use configure's variables, add --sysconfdir to configure.

Reviewed-by: ultrotter

2ec08468 09/04/2007 02:32 pm Michael Hanselmann

Use _autoconf.py instead of version.py, generated by Makefile with more
variables. The underline is there to mark it as a private module.

Reviewed-by: iustinp

9dda7cb1 09/04/2007 10:35 am Michael Hanselmann

Combine rules for manpages.

Reviewed-by: iustinp

38d9d95d 09/04/2007 10:35 am Michael Hanselmann

Use DESTDIR when creating additional directories.

Reviewed-by: iustinp

7c18ef8e 09/03/2007 05:42 pm Michael Hanselmann

- Generic automake cleanup
- Bump version number to 1.2b2
- Add version.py file generated from version.py.in by autoconf

Reviewed-by: schreiberal

7d4ee540 09/03/2007 04:28 pm Michael Hanselmann

- Add Makefile in doc/examples/

04daec5d 09/03/2007 04:23 pm Michael Hanselmann

- Rename docs/ to doc/
- Add Makefile in doc/examples/

Reviewed-by: schreiberal

113b55aa 09/03/2007 02:22 pm Iustin Pop

Switch utils.RunCmd from popen2 to subprocess

This changes the implementation of RunCmd from using the popen2 module
to using the (new in 2.4) subprocess module.

This is helpful because the subprocess module has more advanced features
than popen2, the most important ones being the ability to run code in the...

7fcf849f 09/03/2007 11:04 am Iustin Pop

Add a small unittext extension for utils.RunCmd

Reviewed-by: imsnah

9df6d173 08/31/2007 06:36 pm Michael Hanselmann

Test “gnt-node volumes”.

Reviewed-by: iustinp