1. 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
    • 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
  2. 14 Jan, 2009 1 commit
  3. 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
    • 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
      Reviwed-by: ultrotter
    • 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
    • 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
      The patch also fixes a wrong variable name from a previous burnin patch.
      Reviewed-by: ultrotter
  4. 12 Jan, 2009 1 commit
  5. 09 Jan, 2009 3 commits
  6. 02 Dec, 2008 3 commits
  7. 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
      Reviewed-by: iustinp
  8. 21 Nov, 2008 2 commits
  9. 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
  10. 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
  11. 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
    • 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.
      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
    • 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
  12. 06 Oct, 2008 2 commits
    • Iustin Pop's avatar
      Disable re-reading of config file · 3d3a04bc
      Iustin Pop authored
      Since the objects read from the config file are passed to the various
      threads, it's unsafe to re-read the config file (and throw away
      ConfigWriter._config_data). As such, we disable the re-reading of the
      file (since now the master is the owner the file, it makes not sense to
      re-read it), and any modifications to the file must be done offline,
      otherwise they will be overwritten.
      Reviewed-by: imsnah
    • 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
      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
  13. 18 Sep, 2008 1 commit
  14. 12 Sep, 2008 1 commit
  15. 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
  16. 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
  17. 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
  18. 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
  19. 23 Jun, 2008 3 commits
  20. 19 Jun, 2008 1 commit
  21. 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
  22. 13 Jun, 2008 1 commit
  23. 30 May, 2008 1 commit
    • Iustin Pop's avatar
      LURemoveInstance: fix op.ignore_failures usage · 5c54b832
      Iustin Pop authored
      Currently: the LURemoveInstance.Exec() method uses the ignore_failures
      attribute of the OpRemoveInstance opcode, but it doesn't check for its
      existence. The patch adds this attribute to _OP_REQP and to all the
      places where this opcode was created.
      This attributes is always passed by gnt-instance, but burnin didn't pass
      it so it can fail if it enters the 'fail to remove disks' branch of the
      method (which is why it was not triggered until now).
      Reviewed-by: ultrotter, imsnah
  24. 28 Apr, 2008 2 commits
    • Iustin Pop's avatar
      Move the 'cmd' lock from cli.py to ganeti-masterd · a4af651e
      Iustin Pop authored
      This patch removes the lock and the lock options from cli.py and moves
      them to the master.
      Later during development we can remove it completely, but for now it's
      good to protect any other tool that uses the lock directly.
      Reviewed-by: imsnah,ultrotter
    • Iustin Pop's avatar
      Convert cli.SubmitOpCode to use the master · 685ee993
      Iustin Pop authored
      This patch converts the cli.py SubmitOpCode method to use the unix
      protocol and thus execute the opcodes via the master.
      The patch allows a partial burnin to work with the master. Currently the
      query opcodes, since they are executed via the SubmitOpCode, are
      executed inside a job too, which is suboptimal, but they work fine.
      The cmd lock has been removed from the master, but the cli.py still
      takes the lock. This is ok for this in-progress patch (since the master
      still has only one executor thread). This will be fixed in a future
      Reviewed-by: ultrotter
  25. 24 Apr, 2008 1 commit
    • Iustin Pop's avatar
      Implement replace secondary via the iallocator · b6e82a65
      Iustin Pop authored
      This patch implements secondary replace via the iallocator. The new
      opcode parameter 'iallocator' behaves like this: if passed, it will
      always compute and assign a new secondary, behaving in effect as if the
      secondary node has been passed. It conflicts with actually giving the
      secondary too.
      [Note: not tested with remote_raid1, but the code should behave the
      same, we only touch CheckPrereq and we assign a node.]
      The patch also adds burnin support for the replace secondary operation;
      with this in place, burnin can fully work with auto-assigned nodes.
      Reviewed-by: ultrotter