1. 21 Jul, 2009 3 commits
  2. 19 Jul, 2009 1 commit
  3. 16 Feb, 2009 1 commit
    • Iustin Pop's avatar
      Burnin: fix rename · 2e39ab98
      Iustin Pop authored
      In rename, we must stop different names in the first and second phases,
      so we create two different opcodes for this purpose (instead of using
      the same one twice, which doesn't work).
      
      Reviewed-by: imsnah
      2e39ab98
  4. 10 Feb, 2009 1 commit
  5. 04 Feb, 2009 1 commit
    • Iustin Pop's avatar
      Implement lockless query operations · ec79568d
      Iustin Pop authored
      This patch adds the framework for, and enables lockless OpQueryInstances. This
      means that instances will be shown in ERROR_up or ERROR_down state, even though
      this is not an error (but just an in-progress job).
      
      The framework is implemented as follows:
        - the OpQueryInstances, OpQueryNodes and OpQueryExports opcodes take
          an additional “use_locking” flag which will denote whether to lock
          or not; this patch only implements this for LUQueryInstances
        - the luxi query functions take an additional argument use_locking
          which is passed to the master daemon, and then passed to the above
          opcodes
        - cli.py export a new SYNC_OPT command line options which implement
          setting this flag to true
        - except for gnt-instance list, which uses this option, and for
          name-only queries (e.g. QueryNodes(fields=["names"])), all other
          callers are setting this flag to True
        - RAPI also sets the flag to True
      
      The patch was tested with a continuous (0.2s sleep in-between)
      gnt-instance list during a burnin, and no problems were observed.
      
      Reviewed-by: ultrotter
      ec79568d
  6. 23 Jan, 2009 2 commits
    • Iustin Pop's avatar
      Make iallocator work with offline nodes · 1325da74
      Iustin Pop authored
      This patch changes the iallocator framework to work with and properly
      export to plugins offline nodes. It does this by only exporting the
      static configuration data for those nodes, and not attempting to parse
      the runtime data.
      
      The patch also fixes bugs in iallocator related to the RpcResult
      conversion, changes the should_run to admin_up attribute name (as per
      the internals change), and adds “-I” as a short option for
      “--iallocator” in gnt-instance, gnt-backup and burnin.
      
      Reviewed-by: ultrotter
      1325da74
    • Iustin Pop's avatar
      Rework the execution model in burnin · c723c163
      Iustin Pop authored
      This patch changes (significantly) the execution model in burnin:
        - for all runs, (almost) all instance mods in a single Burn* procedure
          are done as part of a job; so for example add disk, stop, remove
          disk, start are no longer done as separate jobs but as a single job
          consisting of four opcodes
        - for parallel runs, all Burn* procedures except the rename (which
          uses a single target name) run in parallel; before, only the
          creation was done in parallel
        - due to the single-job execution and also parallel execution, the
          logging messages are no longer happening synchronously with the
          execution, so they are more informative than an actual execution log
      
      The end result is that burnin now tests properly multi-opcode jobs and
      also tests all opcodes (except rename) for parallel execution.
      
      Note: On a test cluster, parallelization reduces burnin time from 23m to
      15m.
      
      Reviewed-by: ultrotter
      c723c163
  7. 20 Jan, 2009 1 commit
    • Iustin Pop's avatar
      Fix burnin problems when using http checks · 5dc626fd
      Iustin Pop authored
      The urllib2 module has very bad error handling. This patch changes to urllib
      which is simpler, and we derive a custom class from the FancyURLopener. Burning
      is no longer keeping sockets in CLOSE_WAIT state with this patch.
      
      Reviewed-by: ultrotter
      5dc626fd
  8. 16 Jan, 2009 2 commits
    • Iustin Pop's avatar
      burnin: only call self.GrowDisks() if needed · aa089b65
      Iustin Pop authored
      In case we pass --disk-grow 0[,0..] then we should not call GrowDisks as it
      prints confusing log lines.
      
      Reviewed-by: imsnah
      aa089b65
    • Iustin Pop's avatar
      burnin: add option to not remove instances · 320eda24
      Iustin Pop authored
      This patch adds a burnin option to keep instances at the end, so that
      debugging after a burnin failure is easier.
      
      Also, we reorder the command line parsing and client query so that one
      can use ./tools/burnin --help even on non-ganeti machines.
      
      Reviewed-by: ultrotter
      320eda24
  9. 14 Jan, 2009 1 commit
  10. 13 Jan, 2009 4 commits
    • Iustin Pop's avatar
      Forward port of the burnin migration · 99bdd139
      Iustin Pop authored
      This is again a copy of the latest 1.2 burnin code related to migration.
      
      Reviewed-by: ultrotter
      99bdd139
    • Iustin Pop's avatar
      burnin: redo the output formatting · 836d59d7
      Iustin Pop authored
      Since we added many more tests in burnin, the output became almost
      unreadable. This patch changes the output to an indented one, so that
      the different phases and operations of burnin are more easily
      understood.
      
      Reviwed-by: ultrotter
      836d59d7
    • Iustin Pop's avatar
      burnin: move start_stop at the end · eb61f8d3
      Iustin Pop authored
      Traditionally the start/stop test was the last, so move it back to there
      (added as last option in commit 854).
      
      Reviewed-by: amishchenko
      eb61f8d3
    • Iustin Pop's avatar
      burnin: introduce instance alive checks · 5178f1bc
      Iustin Pop authored
      This patch adds instance alive checks after most start operations. The
      check is done in a custom way:
        - the instance is expected to have an http server up and running
        - and it should server the '/hostname.txt' resource containing the
          hostname of the instance
      
      This allows checking that:
        - creation is working OK
        - start after failover (and in the future migrate) is ok
        - rename works correctly
      
      By default, the check is disabled since one needs a custom OS for this
      check.
      
      The patch also fixes a wrong variable name from a previous burnin patch.
      
      Reviewed-by: ultrotter
      5178f1bc
  11. 12 Jan, 2009 1 commit
  12. 09 Jan, 2009 3 commits
  13. 02 Dec, 2008 3 commits
  14. 24 Nov, 2008 1 commit
    • Guido Trotter's avatar
      Burner: fix ImportExport · 0ca35d45
      Guido Trotter authored
      Update the call to CreateInstance used in ImportExport to the new API for
      multidisk/nic.
      
      Reviewed-by: iustinp
      0ca35d45
  15. 21 Nov, 2008 2 commits
  16. 20 Nov, 2008 1 commit
    • Iustin Pop's avatar
      Initial multi-disk/multi-nic support · 08db7c5c
      Iustin Pop authored
      This patch adds support for mult-disk/multi-nic in:
        - instance add
        - burnin
      
      The start/stop/failover/cluster verify work as expected. Replace disk
      and grow disk are TODO.
      
      There's also a change gnt-job to allow dictionaries to be listed in
      gnt-job info.
      
      Reviewed-by: imsnah
      08db7c5c
  17. 20 Oct, 2008 1 commit
    • Iustin Pop's avatar
      Remove the logger.py module · 82d9caef
      Iustin Pop authored
      Since now we use only one function from the logger module
      (SetupLogging), we move it to utils.py (which is already imported by all
      users of this function), and we remove the module.
      
      Reviewed-by: imsnah
      82d9caef
  18. 14 Oct, 2008 3 commits
    • Iustin Pop's avatar
      grow-disk: wait until resync is completed · 6605411d
      Iustin Pop authored
      The patch adds a new ‘--no-wait-for-sync’ parameter to grow-disk similar
      to the one in instance add, and changes the default to wait.
      
      This is cleaner as at the moment when the command returns, we either
      have a fully synced disk or there is an error.
      
      This is a forward-port of rev 1183 on the 1.2 branch.
      
      Reviewed-by: ultrotter
      6605411d
    • Iustin Pop's avatar
      Burnin OpGrowDisk · 659712c8
      Iustin Pop authored
      With this patch both the os and the swap disk are grown during
      burnin. You can pass an increase size of 0 to skip this operation.
      
      and:
      
      burnin: don't try to grow diskless instances
      
          When burnin is run on a diskless instance, it fails when trying
          GrowDisk, because a non-existant disk cannot be grown. This patch
          disables the test for that disk template.
      
      This is a forward-port of revisions 1181 and 1606 on the 1.2 branch.
      
      Original author: ultrotter
      Reviewed-by: ultrotter
      659712c8
    • Iustin Pop's avatar
      Change over to beparams · 338e51e8
      Iustin Pop authored
      This big patch changes the master code to use the beparams. Errors might
      have crept in, but it passes a small burnin.
      
      Reviewed-by: ultrotter
      338e51e8
  19. 06 Oct, 2008 1 commit
    • Iustin Pop's avatar
      Start implementation of parallel burnin · ec5c88dc
      Iustin Pop authored
      This patch introduces a simple framework for executing jobs in parallel
      in burnin (the ExecJobSet function) and the "--parallel" command line
      flag.
      
      The patch also changes the instance creation to run in parallel when the
      above flag is given. Error handling/instance removal is currently flacky
      with this options if there are errors in the instance creation.
      
      We also modify burnin to reuse a single client.
      
      Reviewed-by: imsnah
      ec5c88dc
  20. 18 Sep, 2008 1 commit
  21. 12 Sep, 2008 1 commit
  22. 27 Aug, 2008 1 commit
    • Iustin Pop's avatar
      Another burnin fix · e17188f4
      Iustin Pop authored
      This is a result of the log timestamp changes.
      
      Reviewed-by: imsnah
      e17188f4
  23. 30 Jul, 2008 1 commit
    • Iustin Pop's avatar
      Unify SetupDaemon/SetupLogging · 59f187eb
      Iustin Pop authored
      The 'old-style' info, error, debug logs do not make much sense. This
      patch unifies the SetupLogging and SetupDaemon functions. As a result,
      all the commands logs to a 'commands.log' file.
      
      The patch also changes the log setup to keep going if there's an error
      in setting up the file logging but we're logging to stderr.
      
      Also, burnin now logs to its own file (burnin.log).
      
      Reviewed-by: ultrotter
      59f187eb
  24. 14 Jul, 2008 1 commit
    • 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
  25. 01 Jul, 2008 1 commit
    • Guido Trotter's avatar
      Burnin doesn't need a Processor · 2da55f7c
      Guido Trotter authored
      In 2.0 burnin submits job to the master daemon, so it doesn't need to
      create an internal Processor anymore. Even if the processor is not used
      anywhere in the burnin code it was still initialized as a leftover of
      how burnin used to work. Fixing this.
      
      Reviewed-by: iustinp
      2da55f7c
  26. 15 Jun, 2008 1 commit
    • Guido Trotter's avatar
      Burnin: Use iallocator in import/export · f9af35c8
      Guido Trotter authored
      Currently the iallocator option is ignored by burnin at import/export
      time even if passed in. With this patch it becomes used. The log message
      used by the importer is also changed to reflect this.
      
      This patch also improves import/export on the non-iallocator case:
        - The secondary node is not passed anymore on non-mirrored templates
        - On mirrored templates the secondary node is logged
      
      Reviewed-by: imsnah
      
      f9af35c8