Statistics
| Branch: | Tag: | Revision:

root / lib / cmdlib.py @ 9ff7e35c

History | View | Annotate | Download (120.1 kB)

# Date Author Comment
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...

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

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

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

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

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

2a710df1 08/30/2007 06:36 pm Michael Hanselmann

- Check for secondary node before doing a failover.
- Replace magic values by constants.

Reviewed-by: iustinp

130e907e 08/30/2007 05:30 pm Iustin Pop

Add one more check on cluster init.

This adds a check that the initial node's IP name doesn't resolve to a
loopback address (127.x.y.z).

Also remove an unused variable.

Reviewed-by: imsnah

ff98055b 08/28/2007 03:25 pm Iustin Pop

Refuse nodes with non-FQDN hostnames.

This changes the cluster init and node join to refuse a node that has a
different hostname than what the resolver returns.

Reviewed-by: imsnah

82122173 08/24/2007 12:20 pm Iustin Pop

Rework ssh known-hosts handling.

This changes:
- cluster setup, we no longer edit /etc/ssh/ssh_known_hosts but our
own file
- node add, we no longer remove root's known_hosts (twice)
- gnt-instance console, both the LU and the script: since now the ssh...

02715459 08/23/2007 04:59 pm Iustin Pop

Improve LURunClusterCommand

This function used a hand-coded ssh call to remote nodes. Fix it to use the
ssh.SSHCall function, and in the process drop the command field from the
results, as it's too verbose and we can use (in gnt-cluster) what we passed in....

8bd562f5 08/22/2007 06:53 pm Iustin Pop

Fix one wrong usage of _GetWantedNodes

_GetWantedNodes is used wrongly by the LUClusterCopyFile. This fixes that.

Reviewed-by: imsnah

644eeef9 08/20/2007 03:17 pm Iustin Pop

Add support for listing instance disk sizes.

Reviewed-by: imsnah

a02bc76e 08/20/2007 02:29 pm Iustin Pop

A CheckPrereq method had one unconverted "return 1" statement. Change it to the
appropriate raise.

Reviewed-by: imsnah

8925faaa 08/16/2007 06:13 pm Iustin Pop

Some small fixes.

It fixes the main Makefile.am to create $localstatedir/{lib,log}/ganeti.
It fixes the testing Makefile.am after the rename fake_config.py ->
mocks.py. It strips the output of "ip link show" to have a nicer output
if the master netdev does not exist.

3ecf6786 08/14/2007 06:17 pm Iustin Pop

Style changes for pep-8 and python-3000 compliance.

This changes the raising of exceptions from:
raise Exception, value
to
raise Exception(value)

as the first form will be removed in python-3000 and the second form is
preferred now.

The changes also involve a few cases of changing from raising standard...

5c947f38 08/08/2007 12:37 pm Iustin Pop

Implement tag support for cluster, nodes and instances.

This is only the backend part, from the command line the tags can't be
read/modified yet.

Reviewed-by: imsnah

37d19eb2 08/06/2007 02:26 pm Michael Hanselmann

Don't bail out if node isn't there on “gnt-node volumes”.

Reviewed-by: iustinp

a0c3fea1 08/03/2007 03:35 pm Michael Hanselmann

Add instance name to LVM volume as a tag.

Reviewed-by: iustinp

923b1523 08/03/2007 12:57 pm Iustin Pop

Change logival volume names to not be based on the instance's name, but
instead use an UUID prefix and a suffix denoting the disk iv_name
(sda/sdb) and possibly it's type (data/meta).

Reviewed-by: imsnah

ecb215b5 07/30/2007 03:40 pm Michael Hanselmann

Fix issues reported by pylint.

Reviewed-by: iustinp

396e1b78 07/27/2007 03:28 pm Michael Hanselmann

Unify environment variables for instance related hooks.

Reviewed-by: iustinp

db915bd1 07/27/2007 01:00 pm Michael Hanselmann

Check for instances on “gnt-cluster destroy”.

Reviewed-by: iustinp

d0834de3 07/27/2007 12:05 pm Michael Hanselmann

- Implement “gnt-instance reinstall --os-type=…”
- Add the command to gnt-instance.sgml

Reviewed-by: iustinp

59322403 07/27/2007 11:15 am Iustin Pop

Fix the "gnt-cluster getmaster" command by making the LuQueryClusterInfo
runnable on non-master nodes (and remove the list of instances and nodes
returned by it, that information can be retrieved by other opcodes).

Also, remove the node/instance list from "gnt-cluster info" as it...

5fcdc80d 07/27/2007 10:41 am Iustin Pop

Move the cluster name from ConfigWriter to SimpleStore.

Reason: if left ConfigWriter, nodes don't know to which cluster they belong.
This will bite us later when we'll revisit node join operation.

Cons: we lose the cluster name from the config file, which means a...

fe7b0351 07/26/2007 07:09 pm Michael Hanselmann

- Move --force option to cli.py
- Implement “gnt-instance reinstall”
- Fix two typos

Reviewed-by: iustinp

098c0958 07/26/2007 02:40 pm Michael Hanselmann

Comment formatting updates.

Reviewed-by: iustinp

821afb13 07/25/2007 04:34 pm Iustin Pop

It seems the _CheckNodesDirs function is no longer used. Let's remove it.

cb91d46e 07/25/2007 02:46 pm Iustin Pop

Since the watcher can run on all nodes, let's get rid of the cron file
handling, as it can be static and outside of ganeti.

This also means we can get rid of a lot of infrastructure too:
- the master/node config files checkers
- one rpc function

83120a01 07/24/2007 05:10 pm Michael Hanselmann

Add description, fix indentation.

Reviewed-by: iustinp

dcb93971 07/24/2007 02:45 pm Michael Hanselmann

- Implement “gnt-node volumes”
- Create all --output options using a constant
- Put node checking code from opcodes into a single function
- Do the same for output fields

Reviewed-by: iustinp

880478f8 07/23/2007 05:38 pm Iustin Pop

Big change/cleanup in relation to the master startup:
- move the master node name from the ConfigWriter to SimpleStore (all
nodes need this, and it was the only thing pulled in from the
ConfigWriter on nodes)
- fix mcpu.py and the testing w.r.t. this change; for testing, rename...

191a8385 07/23/2007 02:33 pm Guido Trotter

Fix a typo in an error message, and actually pass it its parameters.

Reviewed-By: imsnah

d0b3526f 07/23/2007 01:27 pm Michael Hanselmann

Output instance name in error message instead of object representation.

Reviewed-by: iustinp

72d6c464 07/23/2007 10:44 am Michael Hanselmann

Fix calls to _GenerateMDDRBDBranch.

Reviewed-by: iustinp

3a7c308e 07/19/2007 05:41 pm Guido Trotter

Check for memory size requirements before failing over an instance.

Reviewed-By: iustinp

ed1ebc60 07/19/2007 03:08 pm Guido Trotter

Implement space requirement checking before creating/importing an instance.

Reviewed-By: iustinp

a8083063 07/16/2007 04:39 pm Iustin Pop

Initial commit.