Skip to content
Snippets Groups Projects
  1. Aug 03, 2009
  2. Jul 31, 2009
  3. Jul 30, 2009
  4. Jul 29, 2009
  5. Jul 26, 2009
  6. Jul 25, 2009
    • Guido Trotter's avatar
      Collapse daemon's main function · 04ccf5e9
      Guido Trotter authored
      
      With three ganeti daemons, and one or two more coming, the daemon's main
      function started becoming too much cut&pasted code. Collapsing most of
      it in a daemon.GenericMain function. Some more code could be collapsed
      between the two http-based daemons, but since the new daemons won't be
      http-based we won't do it right now.
      
      As a bonus a functionality for overriding the network port on the
      command line for all network based nodes is added.
      
      Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
      04ccf5e9
  7. Jul 24, 2009
  8. Jul 23, 2009
  9. Jul 22, 2009
  10. Jul 20, 2009
  11. Jul 19, 2009
    • Iustin Pop's avatar
      backend: Only build once the list of upload files · 360b0dc2
      Iustin Pop authored
      
      The list of upload files is built currently at every UploadFile() call.
      This patch moves it to a separate variable which is initialized only
      once.
      
      This won't make much difference but I regard it as cleanup.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      360b0dc2
    • Iustin Pop's avatar
      Fix a couple of epydoc warnings · 6af6270a
      Iustin Pop authored
      
      It seems epydoc needs fully-qualified references, and doesn't deal with
      relative ones (not even in the current module) if there are any
      ambiguities.
      
      There are other epydoc warnings, in the rapi docstrings, but those are
      left as-is as they're removed in 2.1.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      6af6270a
    • Iustin Pop's avatar
      job queue: fix loss of finalized opcode result · 34327f51
      Iustin Pop authored
      
      Currently, unclean master daemon shutdown overwrites all of a job's
      opcode status and result with error/None. This is incorrect, since the
      any already finished opcode(s) should have their status and result
      preserved, and only not-yet-processed opcodes should be marked as
      ‘error’. Cancelling jobs between opcodes does the same (but this is not
      allowed currently by the code, so it's not as important as unclean
      shutdown).
      
      This patch adds a new _QueuedJob function that only overwrites the
      status and result of finalized opcodes, which is then used in job queue
      init and in the cancel job functions. The patch also adds some comments
      and a new set constants in constants.py highlighting the finalized vs.
      non-finalized opcode statuses.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      34327f51
    • Iustin Pop's avatar
      Switch gnt-debug submit-job to JobExecutor · b59252fe
      Iustin Pop authored
      
      Currently gnt-debug submits jobs individually, but in 2.1 JobExecutor
      uses the optimized SubmitManyJobs luxi call and as such should be used
      whenever multiple jobs need to be submitted.
      
      This patch converts gnt-debug submit-job to use it and also removes an
      extra empty line in the JobExecutor class.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      b59252fe
    • Iustin Pop's avatar
      Modify cli.JobExecutor to use SubmitManyJobs · f2921752
      Iustin Pop authored
      
      This patch changes the generic "multiple job executor" to use the many
      jobs submit model, which automatically makes all its users use the new
      model.
      
      This makes, for example, startup/shutdown of a full cluster much more
      logical (all the submitted job IDs are visible fast, and then waiting
      for them proceeds normally).
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      (cherry picked from commit 23b4b983)
      f2921752
    • Iustin Pop's avatar
      Add a luxi call for multi-job submit · 56d8ff91
      Iustin Pop authored
      
      As a workaround for the job submit timeouts that we have, this patch
      adds a new luxi call for multi-job submit; the advantage is that all the
      jobs are added in the queue and only after the workers can start
      processing them.
      
      This is definitely faster than per-job submit, where the submission of
      new jobs competes with the workers processing jobs.
      
      On a pure no-op OpDelay opcode (not on master, not on nodes), we have:
        - 100 jobs:
          - individual: submit time ~21s, processing time ~21s
          - multiple:   submit time 7-9s, processing time ~22s
        - 250 jobs:
          - individual: submit time ~56s, processing time ~57s
                        run 2:      ~54s                  ~55s
          - multiple:   submit time ~20s, processing time ~51s
                        run 2:      ~17s                  ~52s
      
      which shows that we indeed gain on the client side, and maybe even on
      the total processing time for a high number of jobs. For just 10 or so I
      expect the difference to be just noise.
      
      This will probably require increasing the timeout a little when
      submitting too many jobs - 250 jobs at ~20 seconds is close to the
      current rw timeout of 60s.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      (cherry picked from commit 2971c913)
      56d8ff91
Loading