Skip to content
Snippets Groups Projects
  1. Jul 22, 2008
    • Michael Hanselmann's avatar
      Split conditions in worker pool · 53b1d12b
      Michael Hanselmann authored
      This patch splits the single threading.Condition object used in the
      worker pool for synchronization into three.
      
      - worker_to_pool: Notified if a worker wants to notify the pool
      - pool_to_worker: Notified if the pool wants to notify a single
        or all workers
      - pool_to_pool: Used for synchronization in Quiesce
      
      Reviewed-by: ultrotter
      53b1d12b
  2. Jul 21, 2008
  3. Jul 17, 2008
  4. Jul 16, 2008
  5. Jul 15, 2008
    • Iustin Pop's avatar
      Documentation updates · a7399f66
      Iustin Pop authored
      Reviewed-by: imsnah
      a7399f66
    • Oleksiy Mishchenko's avatar
      Migrate RAPI QA to trunk. · a47f574c
      Oleksiy Mishchenko authored
      Reviewed-by: imsnah
      a47f574c
    • Iustin Pop's avatar
      Add apidoc makefile target · d128fdb6
      Iustin Pop authored
      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 put the docs into
      ./doc/api/.
      
      The patch also adds a new .gitignore rule for the auto-generated rapi
      fragment.
      
      Reviewed-by: imsnah
      d128fdb6
    • Iustin Pop's avatar
      Rename BaseJO to BaseOpCode · 0e46916d
      Iustin Pop authored
      Since we don't have for now a job definition object anymore, we rename
      this class to BaseOpCode. It's still useful (and not merged with OpCode)
      since it holds all the 'pure' logic (no custom field handling, etc.)
      whereas OpCode holds opcode specific data (OP_ID handling, etc).
      
      The patch also fixes the module's docstring.
      
      Reviewed-by: imsnah
      0e46916d
    • Iustin Pop's avatar
      Sort the job list in _GetJobIDsUnlocked · f0d874fe
      Iustin Pop authored
      Since the IDs are integers, we can simply sort them.
      
      Reviewed-by: imsnah
      f0d874fe
  6. Jul 14, 2008
    • Michael Hanselmann's avatar
      Fix previous patch using workerpool in masterd · 36088c4c
      Michael Hanselmann authored
      The function to stop a worker pool is TerminateWorkers(), not Shutdown().
      
      Reviewed-by: iustinp
      36088c4c
    • Iustin Pop's avatar
      Fix a syntax error in gnt-backup · 726a7f7f
      Iustin Pop authored
      I broke gnt-backup in rev 1035, sorry :(
      
      Reviewed-by: imsnah
      726a7f7f
    • Michael Hanselmann's avatar
      Use workerpool in master daemon · 23e50d39
      Michael Hanselmann authored
      Reusing threads instead of starting one for each request is more efficient.
      
      Reviewed-by: iustinp
      23e50d39
    • Iustin Pop's avatar
      Further fixes to enable RAPI startup · d4104181
      Iustin Pop authored
      Note that since RAPI itself doesn't use luxi.Client yet, nothing works,
      but at least it can startup now.
      
      Reviewed-by: imsnah
      d4104181
    • Iustin Pop's avatar
      Add forgotten RAPI constant · d3f0bf8f
      Iustin Pop authored
      This was forgot on the forward-porting of RAPI.
      
      Reviewed-by: imsnah
      d3f0bf8f
    • Iustin Pop's avatar
      Improve cli.SubmitOpCode · e2212007
      Iustin Pop authored
      Currently, the feedback_fn argument to SubmitOpCode is no longer used.
      We still need it in burnin, so we re-enable it by making the code call
      that function with the msg argument in case feedback_fn is callable. The
      patch also modifies burnin to accept the new argument format (msg is not
      a triple instead of a string).
      
      The patch also removes the ‘proc’ argument as it's obsolete; instead we
      can accept a luxi.Client instance (noone uses this right now).
      
      Reviewed-by: ultrotter
      e2212007
    • Iustin Pop's avatar
      First version of user feedback fixes · f1048938
      Iustin Pop authored
      This patch contains a raw version for fixing feedback_fn.
      
      The new mechanism works as follows:
        - instead of a per-Processor feedback_fn, there's one for each
          ExecOpCode, so that feedback for different opcodes go via possibly
          different functions
        - each _QueuedOpCode gets a message buffer, a method for adding
          feedback and a method for retrieving (parts of) the feedback
        - the _QueuedJob object gets a new attribute that is equal to the
          index of the currently executing opcode
        - job queries get an extra parameter called 'ticker' that will return
          the latest message on the current executing opcode
        - the cli.py job completion poll will show the new status if different
          from the old one
      
      Of course, quick messages will be lost, as currently only the latest one
      is available. Also changes between opcodes are not represented at all.
      
      Reviewed-by: imsnah
      f1048938
    • Iustin Pop's avatar
      Cache some jobs in memory · ac0930b9
      Iustin Pop authored
      This patch adds a caching mechanisms to the JobStorage. Note that is
      does not make the memory cache authoritative.
      
      The algorithm is:
        - all jobs loaded from disks are entered in the cache
        - all new jobs are entered in the cache
        - at each job save (in UpdateJobUnlocked), jobs which are not
          executing or queued are removed from the cache
      
      The end effect is that running jobs will always be in the cache (which
      will fix the opcode log changes) and finished jobs will be kept for a
      while in the cache after being loaded.
      
      Reviewed-by: imsnah
      ac0930b9
    • Iustin Pop's avatar
      Fix JobStorage._GetJobIDsUnlocked · 8a70e415
      Iustin Pop authored
      The job ID returned must be an integer (and the regex enforces that),
      but we didn't convert it manually.
      
      Reviewed-by: imsnah
      8a70e415
    • Iustin Pop's avatar
      Change JobStorage to work with ids not filenames · 911a495b
      Iustin Pop authored
      Currently some of the functions in JobStorage work with filenames (which
      is an implementation detail and should only be used when dealing with
      the storage) and not with job IDs. We need to change this in order to
      implement a job cache.
      
      Reviewed-by: ultrotter
      911a495b
  7. Jul 11, 2008
  8. Jul 10, 2008
  9. Jul 09, 2008
    • Iustin Pop's avatar
      Fix double-logging in daemons · ff5fac04
      Iustin Pop authored
      Currently, in debug mode, both the logfile handler and the stderr
      handler will log debug messages. Since the stderr is redirected to the
      same logfile (to catch non-logged errors), it means log entries are
      doubled.
      
      The patch adds an extra parameter to the logger.SetupDaemon() function
      that allows disabling of the stderr logging. The master and node daemon
      will use this to enable stderr logging only when running in foreground.
      
      Reviewed-by: imsnah
      ff5fac04
    • Iustin Pop's avatar
      ganeti-noded logging improvements · c89189b1
      Iustin Pop authored
      The patch adds some more logging to the node daemon:
      
      - log methods at beggining not only at the end
      - log method parameters (they are very verbose, but useful)
      
      A separate change is to initialize the global variable in the global
      scope, not inside main().
      
      Reviewed-by: imsnah
      c89189b1
Loading