Skip to content
Snippets Groups Projects
  1. Jul 15, 2008
    • 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
  2. 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
  3. Jul 11, 2008
  4. Jul 10, 2008
  5. 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
    • Iustin Pop's avatar
      Fix utils.py unittest · e5392d79
      Iustin Pop authored
      Reviewed-by: imsnah
      e5392d79
    • Iustin Pop's avatar
      Move the master socket in the ganeti run dir · 68676a00
      Iustin Pop authored
      ... as it was intended from the beggining, but by mistake left in the
      top run dir.
      
      Reviewed-by: ultrotter
      68676a00
    • Iustin Pop's avatar
      Reduce duplicate Attach() calls in bdev · cb999543
      Iustin Pop authored
      Currently, the 'public' functions of bdev (FindDevice and
      AttachOrAssemble) will call the Attach() method right after class
      instantiation.
      
      But the constructor itself calls this function, and therefore we have
      duplicate Attach() calls (which are not cheap at all).
      
      The patch introduces a new 'attached' instance attribute that tells if
      the last Attach() was successful. The public functions reuse this so
      that we only do the minimum required number of calls.
      
      Reviewed-by: imsnah
      cb999543
    • Iustin Pop's avatar
      Convert bdev.py to the logging module · 468c5f77
      Iustin Pop authored
      This does not enhance in any way the messages; it just switches to the
      new module.
      
      Reviewed-by: imsnah
      468c5f77
    • Iustin Pop's avatar
      Convert utils.py to the logging module · bb698c1f
      Iustin Pop authored
      The patch also logs all commands executed from RunCmd when we are at
      debug level.
      
      Reviewed-by: imsnah
      bb698c1f
    • Iustin Pop's avatar
      Remove the old locking functions · d4fa5c23
      Iustin Pop authored
      This removes (hopefully) all traces of the old locking functions and
      uses.
      
      Reviewed-by: imsnah
      d4fa5c23
    • Michael Hanselmann's avatar
      Remove old job queue code · 2467e0d3
      Michael Hanselmann authored
      Reviewed-by: iustinp
      2467e0d3
    • Michael Hanselmann's avatar
      Change masterd/client RPC protocol · 0bbe448c
      Michael Hanselmann authored
      - Introduce abstraction class on client side
      - Use constants for method names
      - Adopt legacy function SubmitOpCode to use it
      
      Reviewed-by: iustinp
      0bbe448c
    • Michael Hanselmann's avatar
      Make luxi RPC more flexible · 3d8548c4
      Michael Hanselmann authored
      - Use constants for dict entries
      - Handle exceptions on server side
      - Rename client function to CallMethod to match server side naming
      
      Reviewed-by: iustinp
      3d8548c4
    • Michael Hanselmann's avatar
      Instantiate new job queue in master daemon · 50a3fbb2
      Michael Hanselmann authored
      Reviewed-by: iustinp
      50a3fbb2
Loading