Activity

From 07/13/2008 to 08/11/2008

08/11/2008

07:28 pm Revision 853e7f3d: cli: Use new RPC call instead of polling
This means commands will not take at least one second anymore.
Reviewed-by: ultrotter
Michael Hanselmann
07:27 pm Revision dfe57c22: Add RPC call to wait for job changes
This way clients can react faster to status or message changes and
don't have to poll anymore.
Reviewed-by: ultrotter
Michael Hanselmann
07:27 pm Revision d5e317ba: jqueue: Change log message time format
See the comment in the patch.
Reviewed-by: ultrotter
Michael Hanselmann
07:26 pm Revision 739be818: Add functions to split time into tuple and merge it back
These will be used for job logs.
Reviewed-by: ultrotter
Michael Hanselmann

08/08/2008

02:29 pm Revision 8bb66978: Use new query function for exports in gnt-backup
Reviewed-by: iustinp Michael Hanselmann
02:29 pm Revision 32f93223: Add query function for exports
Reviewed-by: iustinp Michael Hanselmann
02:23 pm Revision 24fc781f: Don't always remove queue lock when queue is purged
The lock should only be removed if ganeti-noded is going to quit.
Otherwise it needs to be kept to prevent another pr...
Michael Hanselmann
02:22 pm Revision 76ab5558: backend: Add optional exclusion list to _CleanDirectory
The code cleaning the queue will make use of it.
Reviewed-by: iustinp
Michael Hanselmann
02:21 pm Revision abc1f2ce: jqueue: Move archived jobs on all nodes
Otherwise one might have archived jobs back in the list after a master
failover.
Reviewed-by: iustinp
Michael Hanselmann
02:21 pm Revision af5ebcb1: noded: Add RPC function to rename job queue files
This will be used to archive jobs.
Reviewed-by: iustinp
Michael Hanselmann
02:21 pm Revision dc31eae3: backend: Add function to check whether file is in queue dir
Another function will need to check whether its parameters
are job queue files.
Reviewed-by: iustinp
Michael Hanselmann
02:20 pm Revision 7f30777b: noded: Add decorator for job queue lock
The lock will also be needed by another function.
Reviewed-by: iustinp
Michael Hanselmann
02:19 pm Revision 0a7bed64: Two small style fixes
Reviewed-by: iustinp Michael Hanselmann
01:03 pm Revision 25d6d12a: Implement queue locking in node daemon
Reviewed-by: iustinp Michael Hanselmann
01:03 pm Revision 5d6fb8eb: jstore: Change to not always require a lock
This way we can do locking when both noded and masterd are running
on the same machine, the latter holding an exclusi...
Michael Hanselmann
01:02 pm Revision aa9075c5: More logging for errors during noded RPC calls
Reviewed-by: iustinp Michael Hanselmann
01:02 pm Revision aa65ed72: Log only unexpected errors in utils.FileLock
Otherwise users might be confused by errors in log files.
Reviewed-by: iustinp
Michael Hanselmann
01:02 pm Revision 553f1c1d: Disallow uploading job queue files through upload_file
The job queue is now updated through its own RPC functions.
Reviewed-by: iustinp
Michael Hanselmann
01:01 pm Revision 9f774ee8: jqueue: Use new job queue RPC functions
Reviewed-by: iustinp Michael Hanselmann
01:01 pm Revision ca52cdeb: Add job queue RPC functions
jobqueue_update: Uploads a job queue file's content to a node. The
most common operation is to upload something that ...
Michael Hanselmann
01:00 pm Revision 3956cee1: Move function cleaning directory to module level
JobQueuePurge() will be used by an RPC function.
Reviewed-by: iustinp
Michael Hanselmann

08/07/2008

04:03 pm Revision e125c67c: Use API instead of command line utilities in watcher
Reviewed-by: iustinp Michael Hanselmann
12:07 pm Revision 281606c1: Fix cli.PollJob
feedback_fn wasn't passed to it.
Reviewed-by: iustinp
Michael Hanselmann

08/06/2008

05:56 pm Revision c36176cc: Notify job queue about added/removed nodes
The job queue maintains its own node list and must be notified
when nodes are added/removed.
Reviewed-by: iustinp
Michael Hanselmann
05:56 pm Revision d8470559: Implement {Add,Readd,Remove}Node in GanetiContext
By doing this we've a central place which coordinates what needs to be
done when adding or removing nodes. Another pa...
Michael Hanselmann
04:36 pm Revision d2e03a33: jqueue: Implement {Add,Remove}Node
These functions will be used to notify the queue about newly added
or removed nodes.
Reviewed-by: iustinp
Michael Hanselmann
04:35 pm Revision 4c848b18: jqueue: Don't pass the list of nodes to SubmitJob anymore
The job queue now maintains its own list and is updated when
nodes are added or removed from the cluster.
Reviewed-b...
Michael Hanselmann
04:35 pm Revision 8e00939c: Maintain node list in job queue
The code makes sure not to include the master in the list.
Reviewed-by: iustinp
Michael Hanselmann
04:35 pm Revision 9113300d: masterd: Move job queue into context object
The job queue must be called from cmdlib when adding or removing
nodes to the cluster. Moving it to the context objec...
Michael Hanselmann
02:27 pm Revision f78346f5: Clean job queue directories when leaving cluster
Old job files shouldn't be left on nodes removed from a cluster.
Reviewed-by: iustinp
Michael Hanselmann
11:28 am Revision c54784d9: Use new RPC call in “gnt-node list”
Reviewed-by: iustinp Michael Hanselmann
11:26 am Revision 02f7fe54: Implement query for nodes
Reviewed-by: iustinp Michael Hanselmann
11:25 am Revision 1f05af2b: Use new query RPC call in “gnt-instance list”
Reviewed-by: iustinp Michael Hanselmann
11:25 am Revision ee6c7b94: Implement query for instances
Queries don't create jobs and are more efficient. Log messages
are not yet stored anywhere.
Reviewed-by: iustinp
Michael Hanselmann

08/05/2008

01:33 pm Revision 23752136: jqueue: Replicate jobs to all nodes
Newly added nodes are not yet taken care of. Queue locking on
non-master nodes is not yet correct.
Reviewed-by: iustinp
Michael Hanselmann

08/04/2008

03:27 pm Revision 04ab05ce: jqueue: Use new jstore module
Reviewed-by: iustinp Michael Hanselmann
03:27 pm Revision 8b537bb0: jstore: Add queue helper functions
This will be used to move common code out of jqueue.
Reviewed-by: iustinp
Michael Hanselmann
12:47 pm Revision 94428652: Implement job submission for scripts
This patch adds the infrastructure for executing a job in background,
instead of foreground, via a new “--submit” opt...
Iustin Pop
12:14 pm Revision 17dc2da0: Another typo in the install doc
Reviewed-by: imsnah Iustin Pop
12:14 pm Revision e7d2d69b: Update the module build section of install doc
Reviewed-by: imsnah Iustin Pop

07/31/2008

06:03 pm Revision db37da70: jqueue: Move assert into decorator
This reduces code duplication. A later patch will modify the job queue
a bit more and will need a change of this asse...
Michael Hanselmann
05:52 pm Revision 0a1e74d9: Split cli.SubmitOpCode in two parts
The current SubmitOpCode function is not flexible enough to be used for
submitters that don't want to wait for the jo...
Iustin Pop
05:42 pm Revision afee8008: Allow job queue files to be uploaded through ganeti-noded
This is needed for job queue replication.
Reviewed-by: iustinp
Michael Hanselmann
05:33 pm Revision a87b4824: Add FileLock utility class
This class is a wrapper around fcntl.flock and abstracts opening and
closing the lockfile. It'll used for the job que...
Michael Hanselmann
05:33 pm Revision 5bdce580: jqueue: Store context in job queue instead of worker pool
The job queue will need to access to configuration, which is provided
through the context object, to get a list of no...
Michael Hanselmann
03:58 pm Revision 15fd9fd5: RAPI Implement DELETE for tags
Reviewed-by: imsnah Oleksiy Mishchenko
12:06 pm Revision 441e7cfd: First write operation (add tag) for Ganeti RAPI
Add instance tag handling, improved error logging.
...oh, yes adopt instance listing for RAPI2!
Reviewed-by: iustinp
Oleksiy Mishchenko

07/30/2008

06:58 pm Revision 140aa4a8: Fix cluster destroy
With the recent startup/shutdown changes (and with the master daemon in
place), the cluster destroy needs some fixing...
Iustin Pop
06:49 pm Revision 97efde45: Xen: remove two end-of-line semicolons
It's python, isn't it?
Reviewed-by: iustinp
Guido Trotter
06:17 pm Revision b3f1cf6f: Fix cluster init
With the recent changes, I forgot the extra parameter to this rpc call.
Also the rpc call needs to be done after we s...
Iustin Pop
06:06 pm Revision b33e986b: Make gnt-* commands fail nicely on non-masters
This patch adds a check that we are on the master after failing to
connect to the socket, and log nicely the master n...
Iustin Pop
06:04 pm Revision c9e5c064: Parallelize LUFailoverInstance
Reviewed-by: iustinp Guido Trotter
06:04 pm Revision 64381ad7: ChainOpCode is still BGL-only
Prevent mistakes with an assert.
Reviewed-by: iustinp
Guido Trotter
06:00 pm Revision 8161a646: Fix a misuse of exc_info in logging.info
This is my fault, sorry.
Reviewed-by: imsnah
Iustin Pop
05:04 pm Revision 38206f3c: Fix pylint-detected issues
This is mostly:
- whitespace fix (space at EOL in some files, not all, broken
indentation, etc)
- variable na...
Iustin Pop
04:27 pm Revision 3b9e6a30: Fix some errors detected by pylint
Reviewed-by: imsnah Iustin Pop
03:32 pm Revision 59f187eb: Unify SetupDaemon/SetupLogging
The 'old-style' info, error, debug logs do not make much sense. This
patch unifies the SetupLogging and SetupDaemon f...
Iustin Pop
03:29 pm Revision 9936bd63: Simplify the log constants and add another one
The patch changes the log constants by moving the slash to the end of
the log dir instead of at the beginning of *eac...
Iustin Pop
03:27 pm Revision ce7151ae: Fix gnt-cluster getmaster
This is special in the sense that it can run on any node. As such, we
just instantiate ssconf and read the data from ...
Iustin Pop
02:31 pm Revision e873317a: Parallelize {Startup,Shutdown,Reboot}Instance
Reviewed-by: iustinp Guido Trotter
02:30 pm Revision 4e0b4d2d: Parallelize LUReinstallInstance
self.recalculate_locks[locking.LEVEL_NODE] could have any value and
everything would work anyway. We'll use the strin...
Guido Trotter
02:30 pm Revision c4a2fee1: LogicalUnit._LockInstancesNodes helper function
This function is used to lock instances' primary and secondary nodes
after locking instances themselves.
Reviewed-by...
Guido Trotter
02:30 pm Revision 3977a4c1: Make sharing locks possible
LUs can declare which locks they need by populating the
self.needed_locks dictionary, but those locks are always acqu...
Guido Trotter
02:29 pm Revision fb8dcb62: Add LogicalUnit.DeclareLocks
This additional LogicalUnit function is optional to implement, but lets
you change your locking needs for one level j...
Guido Trotter
02:29 pm Revision 74b5913f: LURenameInstance, add/remove relevant locks
LURenameInstance forgot to remove the old lock name and add the new one,
making it impossible for parallel LUs to act...
Guido Trotter
01:02 pm Revision 85f03e0d: Rewrite job queue
We found several issues in the old job queue implementation. It had race
conditions, deadlocks and other deficiencies...
Michael Hanselmann
11:56 am Revision c0a8eb9e: workerpool: Log when waiting for a thread
Reviewed-by: iustinp Michael Hanselmann
11:43 am Revision b1b6ea87: Rework master startup/shutdown/failover
This (big) patch reworks the master startup/shutdown and the fixes the
master failover.
What does the patch do?
For...
Iustin Pop
11:34 am Revision 53beffbb: Expose utils.DaemonPidFileName
Since we need to compute this from outside utils.py, we change this to a
public function.
Reviewed-by: ultrotter
Iustin Pop
11:33 am Revision 5675cd1f: Implement checking for the master role in rapi
This patch moves the CheckMaster function from ganeti-masterd to ssconf
(most logical place, it cannot go in utils si...
Iustin Pop
11:32 am Revision 1c65840b: Add a new parameter to backend.(Start|Stop)Master
This patch adds a new, unused for now, parameter to the start and stop
master operations in backend. The idea behind ...
Iustin Pop

07/29/2008

05:07 pm Revision 6aff91f6: Log thread name when debug output is enabled
Reviewed-by: iustinp Michael Hanselmann
05:07 pm Revision 8090e19f: jqueue: Fix error logging
The passed parameters were not correct.
Reviewed-by: iustinp, ultrotter
Michael Hanselmann
01:42 pm Revision bff2ddc5: Fix constants typo
Reviewed-by: imsnah Iustin Pop
12:06 pm Revision 99e88451: Use constants for the pid file stems
Reviewed-by: imsnah Iustin Pop
11:49 am Revision b2a1f511: Add a KillProcess function
We cannot depend on all environments to have a start-stop-daemon or
similar tool. We instead implement a KillProcess ...
Iustin Pop
11:49 am Revision d9f311d7: Change IsPidFileAlive into ReadPidFile
We already have a function to test if a PID is alive, so it makes more
sense to use function composition that force c...
Iustin Pop
11:48 am Revision f71245a0: Make the rapi daemon create a pidfile
This is needed for controlling it cleanly with start-stop daemon.
Reviewed-by: ultrotter
Iustin Pop

07/28/2008

01:35 pm Revision 6760471c: Fix unittests for ganeti-rapi
The RESTHTTPServer module went the way of the dodo.
Reviewed-by: iustinp
Michael Hanselmann
01:17 pm Revision cfe3c70f: Implement signal handling in ganeti-rapi
Reviewed-by: iustinp Michael Hanselmann
01:17 pm Revision 3cd62121: Move ganeti-rapi core code to daemon
All other daemons have their main code in themselves and not in a module.
This patch does the same to ganeti-rapi by ...
Michael Hanselmann
01:16 pm Revision e2ae9123: Replace httperror module with ganeti.http
The generic HTTP server doesn't know about httperror based exceptions
and would treat them as unknown exceptions, the...
Michael Hanselmann
01:13 pm Revision d2b92ffc: Implement “gnt-job cancel”
Reviewed-by: ultrotter Michael Hanselmann
01:13 pm Revision 188c5e0a: Implement job canceling on server side
Locking is not completeley right due to a deadlock when the job calls
UpdateJob after changing its status.
Reviewed-...
Michael Hanselmann
12:16 pm Revision 533bb4b1: Fix exception class name in utils.WritePidFile
Reviewed-by: iustinp Michael Hanselmann
12:16 pm Revision 4cb1d919: Add “canceled” status for opcodes
Reviewed-by: ultrotter Michael Hanselmann
12:16 pm Revision 17621a25: Make “gnt-debug delay” work again
The old API is no longer working.
Reviewed-by: ultrotter
Michael Hanselmann

07/25/2008

03:47 pm Revision fae737ac: Move code extracting job ID into function
It might come in handy at some point and makes the code a bit easier
to read.
Reviewed-by: iustinp
Michael Hanselmann
03:32 pm Revision 5d414478: Convert set to a list in LUGetTags
The set triggers exception on a list-tags command and RAPI calls for tags
since it is not serializable by JSON.
Revi...
Oleksiy Mishchenko

07/24/2008

07:34 pm Revision a0638838: Switch RAPI to ganeti.http module
Reviewed-by: imsnah Oleksiy Mishchenko
06:04 pm Revision 0ad64cf8: Implement “gnt-job archive” to archive jobs
Reviewed-by: iustinp Michael Hanselmann
02:32 pm Revision c609f802: Implement job archiving on the server side
So far no error reporting to the client is done. Clients don't get
noticed if a job doesn't exist or couldn't be arch...
Michael Hanselmann
02:32 pm Revision 0cb94105: Add directory for archived jobs
Reviewed-by: iustinp Michael Hanselmann
02:32 pm Revision 3a2c7775: Fix RPC parameters for {Cancel,Archive}Job
They aren't be tuples on the client side.
Reviewed-by: iustinp
Michael Hanselmann
11:46 am Revision af99afa6: Add utils unittests for new functions
The submitted WritePidFile, RemovePidfile and IsPidFileAlive functions
miss unit tests. Adding a simple one which cov...
Guido Trotter

07/23/2008

07:56 pm Revision ce594241: Move code formatting job ID into a base class
A later patch will add a memory based job storage class, hence this
code is going into a separate class. It also chan...
Michael Hanselmann
05:24 pm Revision 5947d6ec: Use pidfiles in example init script
Rather than searching for the ganeti daemons by name we'll use the
pidfile they create to stop them. This change also...
Guido Trotter
05:23 pm Revision 8feda3ad: ganeti-masterd: write and remove pidfile
Reviewed-by: iustinp Guido Trotter
05:23 pm Revision 73d927a2: ganeti-noded: write and remove pid file
Reviewed-by: iustinp Guido Trotter
05:23 pm Revision b330ac0b: Add utils.{Write,Remove}PidFile
WritePidFile is a helper function that writes the current pid in a
pidfile within the ganeti run directory. RemovePid...
Guido Trotter
05:23 pm Revision fee80e90: Add utils.IsPidFileAlive function
This helper function reads a pid from a file containing it and checks
whether it refers to a live process.
Reviewed-...
Guido Trotter
05:23 pm Revision 04e1bfaf: Invert nodes/instances locking order
An implementation mistake from the original design caused nodes to be
locked before instances, rather than after. Thi...
Guido Trotter
05:16 pm Revision 51ee2f49: Generalization of bulk output mapping
Reviewed-by: iustinp Oleksiy Mishchenko
04:30 pm Revision 21cc1fbd: Rename JobStorage to DiskJobStorage
Reviewed-by: iustinp Michael Hanselmann
04:30 pm Revision 5ce81b28: gnt-job: Don't treat job IDs as numbers
Reviewed-by: iustinp Michael Hanselmann
03:25 pm Revision 205d71fd: Fix logging with string job IDs
The job ID is now a string, hence logging must use %s instead of %d.
Reviewed-by: iustinp
Michael Hanselmann
03:13 pm Revision dca1764e: Simplify rapi.baserlib.MapFields()
We can use zip for simplifying this function. Actually, at this point
I'm not sure if it needs to be a separate funct...
Iustin Pop
02:34 pm Revision 3be9a705: Make job ID a string
The docstring says that _NewSerialUnlocked returns “a string
representing the job identifier”. Until now it returned ...
Michael Hanselmann
01:06 pm Revision c3f0a12f: Distribute the queue serial file after each update
This patch adds distribution of the queue serial file after each write
to it (but before a new job is created and wri...
Iustin Pop
01:06 pm Revision c4beba1c: Make the job storage init reuse a serial file
This will be needed for master failover. If we don't have a valid queue
directory, we need to reinitialize it, but we...
Iustin Pop
11:22 am Revision 42ff3343: Move BDEV_CACHE_DIR to RUN_GANETI_DIR/bdev-cache
This was a TODO for 2.0
Reviewed-by: iustinp
Guido Trotter

07/22/2008

05:25 pm Revision 1a5c7281: Convert SetInstanceParams to concurrency
Grab a lock for the instance we're working on, and update its params.
Reviewed-by: iustinp
Guido Trotter
05:25 pm Revision ea94e1cd: Use Update in SetInstanceParams
When we set the instance params we're not adding a new instance, but
just updating an existing one, so why using AddI...
Guido Trotter
05:25 pm Revision 8659b73e: Convert LUConnectConsole to concurrency
For ConnectConsole we just need to lock the instance we're connecting
to. We make a few rpcs to its primary node, but...
Guido Trotter
05:24 pm Revision 43905206: Add _ExpandAndLockInstance auxiliary function.
LUs that take an instance name as input and need to expand its name and
lock it can use it to simplify their ExpandNa...
Guido Trotter
05:24 pm Revision 642339cf: Convert two (simple) LUs to be concurrent
LUQueryClusterInfo and LUDumpClusterConfig can be made concurrent and
don't need to acquire any locks. In fact they d...
Guido Trotter
05:23 pm Revision 0eed6e61: Add missing empty line
Two top level definitions were separated only by one empty line.
Fixing this.
Reviewed-by: imsnah
Guido Trotter
05:12 pm Revision c2dca9af: Put the poper RAPI baserlib
Reviewed-by: imsnah Oleksiy Mishchenko
05:05 pm Revision 57f8615f: Make argument to CleanCacheUnlocked mandatory
Not passing the argument means it has the value None. Iterating None
doesn't work:
>>> "123" in None
Traceback (m...
Michael Hanselmann
04:33 pm Revision 10b207d4: Split RAPI resources to pieces
Reviewed-by: iustinp Oleksiy Mishchenko
11:17 am Revision 53b1d12b: Split conditions in worker pool
This patch splits the single threading.Condition object used in the
worker pool for synchronization into three.
- wo...
Michael Hanselmann

07/21/2008

06:32 pm Revision 84b58db2: Handle signals in node daemon
This also fixes a TODO added by ultrotter by killing the parent
process when QuitGanetiException is raised.
Reviewed...
Michael Hanselmann
06:32 pm Revision 610bc9ee: Use new signal handler class in master daemon
Reviewed-by: ultrotter Michael Hanselmann
06:32 pm Revision de499029: Add signal handler class
This signal handler class abstracts some of the code previously
used in other places. It also uninstalls its handler ...
Michael Hanselmann

07/17/2008

03:51 pm Revision bac5ffc3: Implement jobs resource in RAPI
Reviewed-by: imsnah Oleksiy Mishchenko

07/16/2008

03:17 pm Revision 8075ce7e: Breath life in to RAPI for trunk
Reviewed-by: imsnah Oleksiy Mishchenko
12:48 pm Revision 761ce945: Fork ganeti-noded
Create a new ForkingHTTPServer in ganeti-noded by deriving both from
NodeDaemonHttpServer and ForkingMixin. This will...
Guido Trotter

07/15/2008

06:47 pm Revision a7399f66: Documentation updates
Reviewed-by: imsnah Iustin Pop
04:36 pm Revision a47f574c: Migrate RAPI QA to trunk.
Reviewed-by: imsnah Oleksiy Mishchenko
04:23 pm Revision d128fdb6: Add apidoc makefile target
The patch adds the apidoc target and the epydoc config file for it. Note
that this is for epydoc 3.0 and that it will...
Iustin Pop
02:56 pm Revision 0e46916d: Rename BaseJO to BaseOpCode
Since we don't have for now a job definition object anymore, we rename
this class to BaseOpCode. It's still useful (a...
Iustin Pop
01:49 pm Revision f0d874fe: Sort the job list in _GetJobIDsUnlocked
Since the IDs are integers, we can simply sort them.
Reviewed-by: imsnah
Iustin Pop

07/14/2008

06:52 pm Revision 36088c4c: Fix previous patch using workerpool in masterd
The function to stop a worker pool is TerminateWorkers(), not Shutdown().
Reviewed-by: iustinp
Michael Hanselmann
06:43 pm Revision 726a7f7f: Fix a syntax error in gnt-backup
I broke gnt-backup in rev 1035, sorry :(
Reviewed-by: imsnah
Iustin Pop
06:42 pm Revision 23e50d39: Use workerpool in master daemon
Reusing threads instead of starting one for each request is more efficient.
Reviewed-by: iustinp
Michael Hanselmann
06:22 pm Revision d4104181: Further fixes to enable RAPI startup
Note that since RAPI itself doesn't use luxi.Client yet, nothing works,
but at least it can startup now.
Reviewed-by...
Iustin Pop
06:04 pm Revision d3f0bf8f: Add forgotten RAPI constant
This was forgot on the forward-porting of RAPI.
Reviewed-by: imsnah
Iustin Pop
04:38 pm Revision e2212007: Improve cli.SubmitOpCode
Currently, the feedback_fn argument to SubmitOpCode is no longer used.
We still need it in burnin, so we re-enable it...
Iustin Pop
04:15 pm Revision f1048938: First version of user feedback fixes
This patch contains a raw version for fixing feedback_fn.
The new mechanism works as follows:
- instead of a per-P...
Iustin Pop
02:27 pm Revision ac0930b9: Cache some jobs in memory
This patch adds a caching mechanisms to the JobStorage. Note that is
does not make the memory cache authoritative.
T...
Iustin Pop
02:12 pm Revision 8a70e415: Fix JobStorage._GetJobIDsUnlocked
The job ID returned must be an integer (and the regex enforces that),
but we didn't convert it manually.
Reviewed-by...
Iustin Pop
01:08 pm Revision 911a495b: Change JobStorage to work with ids not filenames
Currently some of the functions in JobStorage work with filenames (which
is an implementation detail and should only ...
Iustin Pop
« Previous
Next »
 

Also available in: Atom