1. 02 Dec, 2010 1 commit
    • Dmitry Chernyak's avatar
      Make rpc.call_lv_list() VG-aware · 84d7e26b
      Dmitry Chernyak authored
      
      
      Changes to backend.GetVolumeList():
      - now accepts a list of VGs instead of one VG
      - returns LV names in the form "vg_name/lv_name"
      
      Corresponding changes are done in: VerifyDisks, VerifyNode,
      LUCreateInstance (for both disk creation and adoption cases)
      
      Now the syntax
      "gnt-instance add ... --disk N:adopt=LV_NAME,vg=VG_NAME"
      as was described earlier in the man page works.
      Signed-off-by: default avatarDmitry Chernyak <dmi.chernyak@gmail.com>
      [iustin@google.com: QA changes for reserved LVs, style fixes and a few
       extra error checks, reviewed by hansmi/rn]
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      84d7e26b
  2. 01 Dec, 2010 1 commit
  3. 30 Nov, 2010 1 commit
    • Iustin Pop's avatar
      Further cleanups on QA · 7d88f255
      Iustin Pop authored
      
      
      This is more of an RFC. The patch attempts to address two issues:
      
      - running conditional tests is ugly right now
      - we don't know what tests we skipped
      
      By using the new RunTestIf, we solve both. But a significant number of
      test decisions are more complex than just “is test enabled”, so those
      remain to be run via RunTest, which means we don't get logging of when
      they're not run. Hence the logging is not complete… Sugesstions on how
      to solve it are welcome.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarRené Nussbaumer <rn@google.com>
      7d88f255
  4. 29 Nov, 2010 2 commits
    • Michael Hanselmann's avatar
      QA: Fix upload of RAPI users file · 49ceab21
      Michael Hanselmann authored
      
      
      After moving the users file to a directory, we must ensure the
      directory exists.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      49ceab21
    • Iustin Pop's avatar
      Simplify QA commands · 2f4b4f78
      Iustin Pop authored
      
      
      Currently, 95% of the QA commands are executed in the same way: on the
      master, based on a command list and with expectancies for succes:
      
          AssertEqual(StartSSH(master['primary'],
                               utils.ShellQuoteArgs(cmd)).wait(), 0)
      
      The rest 5% are variations on this theme (maybe the command needs to
      fail, or the node is different, etc.). Based on this, we can simplify
      the code significantly if we abstract the common theme into a new
      AssertCommand() function. This saves ~250 lines of code in the QA suite,
      around 8% of the entire QA code size.
      
      Additionally, the output was very cryptic before (the famous "QA error:
      1 != 0" messages), whereas now we show a clear error message (node,
      command, exit code and failure mode).
      
      The patch replaces single quotes with double quotes in all the parts of
      the code that I touch; let me know if that's not OK…
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      2f4b4f78
  5. 18 Nov, 2010 1 commit
  6. 17 Nov, 2010 1 commit
  7. 03 Nov, 2010 1 commit
  8. 01 Nov, 2010 2 commits
  9. 28 Oct, 2010 2 commits
  10. 25 Oct, 2010 1 commit
  11. 20 Oct, 2010 2 commits
  12. 14 Oct, 2010 2 commits
    • Iustin Pop's avatar
      Brown-bag fix for leftover comment · 76917d97
      Iustin Pop authored
      
      
      I did forgot this in the original patch. Sorry!!!!
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      76917d97
    • Iustin Pop's avatar
      Rework QA interaction with the watcher · 8201b996
      Iustin Pop authored
      
      
      The interaction with cron-launched watcher is a well-known failure mode of QA:
      
      ---- 2010-10-14 06:54:55.464839 time=0:00:56.764827 Test tools/move-instance
      
      For the following tests it's recommended to turn off the ganeti-watcher cronjob.
      
      ---- 2010-10-14 06:54:55.465255 start Test automatic restart of instance by ganeti-watcher
      …
      Error: Domain 'instance1' does not exist.
      Command: ssh -oEscapeChar=none -oBatchMode=yes -l root -t -oStrictHostKeyChecking=yes
        -oClearAllForwardings=yes -oForwardAgent=yes node2 'ganeti-watcher -d'
      2010-10-13 23:55:04,479:  pid=1659 ganeti-watcher:626
       ERROR Can't acquire lock on state file /var/lib/ganeti/watcher.data: File already locked
      ---- 2010-10-14 06:55:04.513948 time=0:00:09.048693 Test automatic restart of instance by ganeti-watcher
      
      In order to fix this, we disable the watcher during these tests, and
      re-enable it afterwards. To protect against watcher being disabled, we
      enable it unconditionally at the start of the QA (we do want it enabled,
      in order to see the interaction between the watcher and many
      creation/disk replace jobs, etc.).
      
      Note: even after this patch, if a cron-watcher was started and is still
      running during the test, we'll have locking issues. I think for now this
      is OK, we'll have to see how often that happens.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      8201b996
  13. 08 Oct, 2010 1 commit
    • Iustin Pop's avatar
      Change QA log output · f89d59b9
      Iustin Pop authored
      
      
      Currently, the logging in QA doesn't show the duration of the various
      steps, and if it is needed one has to perform log manipulation. This
      patch changes the output so that the log informatio is line based (as
      opposed to block-based), such that it's easy to grep for all log lines:
      
      ./qa/ganeti-qa.py --yes-do-it qa.json  2>&1|grep ^----
      ---- 2010-10-08 14:40:21.730382 start Test SSH connection --------------
      ---- 2010-10-08 14:40:23.156633 time=0:00:01.426251 Test SSH connection
      ---- 2010-10-08 14:40:23.156735 start ICMP ping each node --------------
      ---- 2010-10-08 14:40:24.230479 time=0:00:01.073744 ICMP ping each node
      ---- 2010-10-08 14:40:24.230583 start Test availibility of Ganeti commands
      ---- 2010-10-08 14:40:32.314586 time=0:00:08.084003 Test availibility of Ganeti commands
      ---- 2010-10-08 14:40:32.314734 start gnt-node info --------------------
      ---- 2010-10-08 14:40:32.860884 time=0:00:00.546150 gnt-node info ------
      
      or just for the duration of the steps:
      ./qa/ganeti-qa.py --yes-do-it ../qa-mpgntac5.fra.json  2>&1|grep ^----.*time=
      ---- 2010-10-08 14:42:12.630067 time=0:00:01.239256 Test SSH connection
      ---- 2010-10-08 14:42:14.204393 time=0:00:01.574221 ICMP ping each node
      ---- 2010-10-08 14:42:22.170828 time=0:00:07.966331 Test availibility of Ganeti commands
      ---- 2010-10-08 14:42:22.701030 time=0:00:00.530037 gnt-node info ------
      
      This will help with identifying slow steps or even graphing the QA
      duration.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      f89d59b9
  14. 07 Oct, 2010 1 commit
    • Iustin Pop's avatar
      Try again to fix the inter-cluster move QA test · 638a7266
      Iustin Pop authored
      
      
      This time, we re-establish the old pri/sec nodes corretly. Unfortunately this
      will require now a 3-node cluster at least for drbd instances, hence it's
      somewhat suboptimal, but… The other option would be to move it simply from p:s
      to s:p and then back to p:s, without involving a third node (for DRBD case),
      but I think that moving it to a completely separate node is slightly better for
      testing.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      638a7266
  15. 06 Oct, 2010 1 commit
    • Iustin Pop's avatar
      QA: Fix instance move tests · 677e16eb
      Iustin Pop authored
      
      
      The instance move tests were moving the instance from node pair (A,_) to
      (B, A), and left it there. This patch makes sure that the first step
      moves the instance to (B,A) but the second one back to (A,B), so that
      the instance is left on the same primary node.
      
      The original secondary node is lost though, if I read the code
      correctly.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      677e16eb
  16. 05 Oct, 2010 3 commits
  17. 30 Sep, 2010 1 commit
  18. 16 Sep, 2010 2 commits
  19. 25 Aug, 2010 1 commit
  20. 20 Aug, 2010 1 commit
  21. 19 Aug, 2010 2 commits
  22. 18 Aug, 2010 1 commit
  23. 10 Aug, 2010 2 commits
  24. 29 Jul, 2010 1 commit
  25. 28 Jul, 2010 1 commit
  26. 26 Jul, 2010 1 commit
  27. 12 Jul, 2010 1 commit
  28. 08 Jul, 2010 1 commit
  29. 07 Jul, 2010 1 commit
  30. 05 Jul, 2010 1 commit