Activity

From 06/28/2008 to 07/27/2008

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

07/11/2008

07:17 pm Revision f1da30e6: Add experimental persistency to job queue
It's not perfect and it's not finished, but it's a start.
- Serial number is read only once, but written on each upd...
Michael Hanselmann
06:45 pm Revision 18682bca: Convert backend.py to the logging module
The patch also switches some of the exception logs to use
logging.exception (and therefore the log message will have ...
Iustin Pop
06:45 pm Revision a237d0a8: Add PID to all logs
This patch (for trunk) adds the PID to all daemon logs.
Reviewed-by: imsnah
Iustin Pop
05:44 pm Revision 081242d8: Fix rapi documentation
As a nice side-effect this also fixes "make distcheck".
The way used to include the generated rapi-resources.sgml fi...
Michael Hanselmann
04:54 pm Revision a17a7623: Fix backend.NodeVolumes handling of LVM output
This is the same fix as for GetVolumeList.
I've checked manually and all other places that call lvm commands are
alr...
Iustin Pop
04:48 pm Revision 4cbd4462: Copy the rest of the Restful-API files to trunk
Reviewed-by: imsnah Oleksiy Mishchenko
04:23 pm Revision df4c2628: Fix backend.GetVolumeList handling of LVM output
Sometimes ‘lvs’ can spit error messages on stdout, even when one wants
to parse the output:
...
Inconsistent metadata...
Iustin Pop
03:20 pm Revision 1df6506c: Use new HTTP server classes in ganeti-noded
Reviewed-by: iustinp Michael Hanselmann
03:20 pm Revision a43f68dc: Add generic HTTP server classes
Some of the code is adopted from the 1.2 branch
(lib/rapi/RESTHTTPServer.py). This code can be used as a base for the...
Michael Hanselmann
01:25 pm Revision af30b2fd: Make "gnt-job list" work again
"gnt-job list" was broken after my recent changes in the RPC
between clients and the master. This patch makes it work...
Michael Hanselmann
12:47 pm Revision 8c229cc7: Initial copy of RAPI filebase to the trunk
Reviewed-by: iustinp Oleksiy Mishchenko

07/10/2008

03:48 pm Revision 0ed468d3: Remove more old job queue code
Apparently I forgot to this code when removing the rest.
Reviewed-by: iustinp
Michael Hanselmann
03:38 pm Revision eb0f0ce0: Move watcher's LockFile function to utils
Reviewed-by: iustinp Michael Hanselmann
03:29 pm Revision 307149a8: Switch _QueuedOpCode to have their own lock
Right now, the queued opcode doesn't have a lock, and instead relies on
the parent QueuedJob's lock.
This is not goo...
Iustin Pop
03:17 pm Revision 7996a135: Add a simple decorator for instance methods
This is just a simple, hardcoded decorator for object methods needing
synchronization on the _lock instance attribute...
Iustin Pop
12:22 pm Revision c8549bfd: jqueue: Log more information when running opcodes
Reviewed-by: iustinp Michael Hanselmann

07/09/2008

05:46 pm Revision ff5fac04: Fix double-logging in daemons
Currently, in debug mode, both the logfile handler and the stderr
handler will log debug messages. Since the stderr i...
Iustin Pop
05:43 pm Revision c89189b1: ganeti-noded logging improvements
The patch adds some more logging to the node daemon:
- log methods at beggining not only at the end
- log method par...
Iustin Pop
03:35 pm Revision e5392d79: Fix utils.py unittest
Reviewed-by: imsnah Iustin Pop
01:41 pm Revision 68676a00: Move the master socket in the ganeti run dir
... as it was intended from the beggining, but by mistake left in the
top run dir.
Reviewed-by: ultrotter
Iustin Pop
01:41 pm Revision cb999543: Reduce duplicate Attach() calls in bdev
Currently, the 'public' functions of bdev (FindDevice and
AttachOrAssemble) will call the Attach() method right after...
Iustin Pop
01:41 pm Revision 468c5f77: Convert bdev.py to the logging module
This does not enhance in any way the messages; it just switches to the
new module.
Reviewed-by: imsnah
Iustin Pop
01:41 pm Revision bb698c1f: Convert utils.py to the logging module
The patch also logs all commands executed from RunCmd when we are at
debug level.
Reviewed-by: imsnah
Iustin Pop
01:41 pm Revision d4fa5c23: Remove the old locking functions
This removes (hopefully) all traces of the old locking functions and
uses.
Reviewed-by: imsnah
Iustin Pop
01:34 pm Revision 2467e0d3: Remove old job queue code
Reviewed-by: iustinp Michael Hanselmann
01:34 pm Revision 0bbe448c: Change masterd/client RPC protocol
- Introduce abstraction class on client side
- Use constants for method names
- Adopt legacy function SubmitOpCode to...
Michael Hanselmann
01:34 pm Revision 3d8548c4: Make luxi RPC more flexible
- Use constants for dict entries
- Handle exceptions on server side
- Rename client function to CallMethod to match s...
Michael Hanselmann
01:34 pm Revision 50a3fbb2: Instantiate new job queue in master daemon
Reviewed-by: iustinp Michael Hanselmann
01:33 pm Revision e2715f69: Add very simple job queue
Reviewed-by: iustinp Michael Hanselmann

07/08/2008

07:32 pm Revision b10b9d74: Add a more comment lines to testLockingConstants
This is to discourage even more whoever may think that this requirement
is not really useful and can be lifted, and t...
Guido Trotter
07:32 pm Revision fbe9022f: Convert LUTestDelay to concurrent usage
In order to do so:
- We set REQ_BGL to False
- We implement ExpandNames
That's it, really.
Reviewed-by: iustinp
Guido Trotter
07:32 pm Revision 68adfdb2: Processor: Acquire locks before executing an LU
If we're running in a "new style" LU we may need some locks, as required
by the ExpandNames function, to be able to r...
Guido Trotter
07:31 pm Revision d465bdc8: LogicalUnit: add ExpandNames function
New concurrent LUs will need to call ExpandNames so that any names
passed in by the user are canonicalized, and can b...
Guido Trotter
07:31 pm Revision 36c381d7: Processor: Move LU execution to its own method
This makes the try...finally code simplier, and helps adding a more
complex locking structure before the actual execu...
Guido Trotter
07:31 pm Revision 2e1d6d96: Add a new LockSet unittest
This test checks the LockSet behaviour when an empty list is passed.
The current behaviour is expected, but since thi...
Guido Trotter
06:10 pm Revision 5f33b613: constants: Add job and opcode status strings
Reviewed-by: iustinp Michael Hanselmann
06:03 pm Revision b3558df1: workerpool: Don't notify if there was no task
Workers have to notify their pool if they finished a task to make
the WorkerPool.Quiesce function work. This is done ...
Michael Hanselmann
05:42 pm Revision 195c7f91: Create all SUB_RUN_DIRS in ganeti-noded
Rather than just creating BDEV_CACHE_DIR we loop through the
SUB_RUN_DIRS list and create all its childs.
Reviewed-b...
Iustin Pop
05:42 pm Revision 75afaefc: Add a top level RUN_GANETI_DIR constant
This patch creates a base RUN_GANETI_DIR and then moves the other run
dir constants to use that (even if just setting...
Iustin Pop
05:41 pm Revision bf94c0f5: symlinks: Add DISK_LINKS_DIR constant
The DISK_LINKS_DIR points to the RUN_DIR/ganeti/instance-disks
directory, which will contain symlinks to the instance...
Iustin Pop
02:16 pm Revision fad50141: luxi: Use serializer module instead of simplejson
Reviewed-by: iustinp Michael Hanselmann
12:38 pm Revision 071448fb: serializer.DumpJson: Control indentation by parameter
If the simplejson module supports indentation, it's always used. There
are cases where we might not want to use it or...
Michael Hanselmann
12:14 pm Revision 6048c986: Add a missing import to cmdlib
cmdlib uses some constants from locking (ie. locking levels) but doesn't
import it. This patch fixes the issue.
Revi...
Guido Trotter
11:55 am Revision f64c9de6: Fix an error accessing the cfg
Since the context is passed to LogicalUnit, rather than the cfg, we can
only access the cfg as self.cfg, self.context...
Guido Trotter
11:49 am Revision a2fd9afc: Add and remove instance/node locks
Whenever we add an instance or node to the cluster (i.e. to the config
and whenever we remove them we should add/remo...
Guido Trotter
11:49 am Revision 77b657a3: Pass context to LUs
Rather than passing a ConfigWriter to the LUs we'll pass the whole
context, from which a ConfigWriter can be extracte...
Guido Trotter
11:49 am Revision f4555db2: mocks: create a FakeContext object
This will be passed to FakeLUs
Reviewed-by: iustinp
Guido Trotter
11:49 am Revision 0b097284: Fix a typo in LUTestDelay docstring
Reviewed-by: iustinp Guido Trotter
11:41 am Revision 08a6c581: Locking: remove LEVEL_CONFIG lockset
Since the ConfigWriter now handles its own locking it's not necessary to
have a specific level for the config in the ...
Guido Trotter
11:40 am Revision f78ede4e: ConfigWriter: synchronize access
Since we share the ConfigWriter we need somehow to make sure that
accessing it is properly synchronized. We'll do it ...
Guido Trotter
11:40 am Revision 42a999d1: Locking: add ssynchronized decorator
This patch creates a new decorator function ssynchronized in the locking
library, which takes as input a SharedLock, ...
Guido Trotter
11:40 am Revision 5b4cd1b0: ConfigWriter: remove _ReleaseLock
Remove empty function _ReleaseLock and all its calls. Since we only
have one configwriter per cluster the locking nee...
Guido Trotter

07/04/2008

07:01 pm Revision 26517d45: Fix some issues with the watcher
This patch fixes two bugs:
- the state file is not saved because we use the method for checking
for udpated dat...
Iustin Pop
06:34 pm Revision 76094e37: Add generic worker pool implementation
Reviewed-by: ultrotter Michael Hanselmann

07/03/2008

03:06 pm Revision 2cb687ad: Reuse the luxi client in cli.SubmitOpCode
By a mistake, we don't reuse the luxi client. As such, we open and close
the connection at each poll cycle and spam t...
Iustin Pop
03:06 pm Revision 3b316acb: Add custom logging setup for daemons
It's better for daemons if:
- they log only to one log file
- the log level is included
- for debug runs, the f...
Iustin Pop
03:06 pm Revision fbe5b278: Remove custom locking code from gnt-instance
The gnt-instance script doesn't run in the same process anymore, so we
can't and don't have to unlock.
Reviewed-by: ...
Iustin Pop

07/02/2008

02:58 pm Revision cc2bea8b: ganeti-masterd: Remove unused locking code
Reviewed-by: iustinp, ultrotter Michael Hanselmann
02:58 pm Revision 96cb3986: ganeti-masterd: Use logging module
Reviewed-by: ultrotter, iustinp Michael Hanselmann

07/01/2008

03:28 pm Revision 984f7c32: Context: s/GLM/glm/
Make the GanetiLockManager instance of GanetiContext lowercase
Reviewed-by: imsnah
Guido Trotter
03:13 pm Revision 8ab8e969: Set locale when using docbook programs
At least docbook2man inserts a date formatted using the current
locale into its output.
Reviewed-by: iustinp
Michael Hanselmann
02:55 pm Revision 60053f31: Update .gitignore
Reviwed-by: imsnah Iustin Pop
02:44 pm Revision 7b4126b7: Add a FirstFree function to utils.py
This function will return the first unused integer based on a list of
used integers (e.g. [0, 1, 3] will return 2).
...
Iustin Pop
01:43 pm Revision a478cd7e: Increase the thread size to 5
Now that we use the locking library to make sure running opcodes cannot
step on each other toes we can have a bigger ...
Guido Trotter
01:43 pm Revision 04864530: Processor: acquire the BGL for LUs requiring it
If a LU required the BGL (all LUs do, right now, by default) we'll
acquire it in the Processor before starting them. ...
Guido Trotter
01:43 pm Revision 1c901d13: Processor: pass context in and use it.
The processor used to create a new ConfigWriter when it was initialized.
We now have one in the context, so we'll jus...
Guido Trotter
01:43 pm Revision 7e55040e: Add REQ_BGL LogicalUnit run requirement
When logical units have REQ_BGL set (it is currently the default) they
need to be the only ganeti operation run on th...
Guido Trotter
01:43 pm Revision 2da55f7c: Burnin doesn't need a Processor
In 2.0 burnin submits job to the master daemon, so it doesn't need to
create an internal Processor anymore. Even if t...
Guido Trotter
12:48 pm Revision 7a5d3bbd: Implement “gnt-job list -o +...”
This adds the same “-o +...” functionality in gnt-job as in the node and
instance scripts.
Reviewed-by: imsnah
Iustin Pop

06/30/2008

07:11 pm Revision c6868e1d: Fix sstore handling in Processor
- no need to keep the sstore as an object member, remove it
- don't reinitialize sstore only if self.cfg is None
...
Guido Trotter
07:11 pm Revision d2525573: Remove duplicate code in hooks unittests
All the tests there used to creare a cfg, a sstore, an opcode and a LU.
Put all the duplicate code in the setUp funct...
Guido Trotter
03:37 pm Revision 39dcf2ef: ganeti-masterd: init and distribute common context
This patch creates a new GanetiContext class, which is used to hold
context common to all ganeti worker threads. As f...
Guido Trotter
« Previous
Next »
 

Also available in: Atom