Skip to content
Snippets Groups Projects
  1. Jun 08, 2009
  2. Jun 04, 2009
  3. May 28, 2009
  4. May 27, 2009
    • Iustin Pop's avatar
      Add a node powercycle command · f5118ade
      Iustin Pop authored
      
      This (somewhat big) patch adds support for remotely rebooting the nodes
      via whatever support the hypervisor has for such a concept.
      
      For KVM/fake (and containers in the future) this just uses sysrq plus a
      ‘reboot’ call if the sysrq method failed. For Xen, it first tries the
      above, and then Xen-hypervisor reboot (we first try sysrq since that
      just requires opening a file handle, whereas xen reboot means launching
      an external utility).
      
      The user interface is:
      
          # gnt-node powercycle node5
          Are you sure you want to hard powercycle node node5?
          y/[n]/?: y
          Reboot scheduled in 5 seconds
      
      The node reboots hopefully after sending the reply. In case the clock is
      broken, “time.sleep(5)” might take ages (but then I suspect SSL
      negotiation wouldn't work).
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      f5118ade
  5. May 26, 2009
  6. May 22, 2009
  7. May 21, 2009
    • Iustin Pop's avatar
      Add a luxi call for multi-job submit · 2971c913
      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>
      2971c913
    • Iustin Pop's avatar
      Doc fixes for RAPI · c8e0a534
      Iustin Pop authored
      
      After moving the documentation from the .py files to .rst, we had some
      cleanups to do.
      
      This fixes the formatting of the comments, improves them a little, and
      removes deprecated info (DOC_URI) from the python source.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      c8e0a534
  8. May 20, 2009
  9. May 19, 2009
    • Iustin Pop's avatar
      Move to data-based hvparam checks instead of code · 205ab586
      Iustin Pop authored
      
      Currently the hypervisor parameters are checked using hard-coded snippets in
      each hypervisor. However, most parameter checks fall into three cases:
        - file check
        - directory check
        - string value in a set
      
      And the remaining ones are checked using simple functions.
      
      This patch moves to a declarative-style for these parameter checks; in
      hv_base we add the necessary infrastructure for these checks, and the
      above common cases.
      
      This translates into complete removal of the Check/Verify functions for
      the Xen hypervisors, and a drastic reduction for the KVM one (which has
      inter-parameter dependencies and thus can't use a simple table).
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      205ab586
    • Iustin Pop's avatar
      Merge commit 'origin/next' into branch-2.1 · 622533d5
      Iustin Pop authored
      * commit 'origin/next': (25 commits)
        Move more hypervisor strings into constants
        Add -H/-B startup parameters to gnt-instance
        call_instance_start: add optional hv/be parameters
        Fix gnt-job list argument handling
        Instance reinstall: don't mix up errors
        Don't check memory at startup if instance is up
        gnt-cluster modify: fix --no-lvm-storage
        LUSetClusterParams: improve volume group removal
        gnt-cluster info: show more cluster parameters
        LUQueryClusterInfo: return a few more fields
        Add the new DRBD test files to the Makefile
        Remove some superfluous imports
        Make Python interpreter selectable for test scripts
        Pass optional arguments to the daemons
        ganeti.initd: include defaults file, if present
        Fix ;; indentation in the main initd loop
        Avoid DeprecationWarning on Python >= 2.6
        ganeti-noded: add bind address option
        Fix compatibility with DRBD 8.3
        Fix compatibility with DRBD 8.2
        ...
      622533d5
    • Iustin Pop's avatar
      Move more hypervisor strings into constants · 835528af
      Iustin Pop authored
      
      This patch adds constants for the mouse and boot order strings; while
      there are still some issues remaining, we're trying to cleanup hardcoded
      strings from the hypervisors.
      
      Since the formatting of frozensets is currently wrong, we also add an
      utility function for this and change all the error messages to use it.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      835528af
    • Iustin Pop's avatar
      watcher: try to restart the master if down · 7dfb83c2
      Iustin Pop authored
      
      Bugs in either our code or in associated libraries can bring the master daemon
      down, and this (due to the 2.0 architecture) stops all work on the cluster.
      
      Since the watcher already does periodic checks on the cluster, we modify
      it to try to start the master automatically in case of failures to
      connect. This will be tried only once per cycle.
      
      Also, in this case, we modify the code so that the watcher status file
      is not updated - its timestamp will reflect thus the time of last
      successful connection to the master.
      
      Side note: the except errors.ConfigurationError part could be cleaned
      up, since in 2.0 we don't usually get that directly, and if we do it's
      an error and we shouldn't touch the file anyway; but that is not a rc5
      change.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      7dfb83c2
    • Iustin Pop's avatar
      IAllocator: export total disk size for instances · 88ae4f85
      Iustin Pop authored
      
      This patch adds for current instance a ‘disk_space_total’ key, similar
      to the key for the new instance in case of new allocations.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      88ae4f85
    • Iustin Pop's avatar
      Add -H/-B startup parameters to gnt-instance · d04aaa2f
      Iustin Pop authored
      
      This patch modifies the start instance script, opcode and logical unit
      to support temporary startup parameters.
      
      Different from 1.2, where only the kernel arguments were supporting
      changes (and thus xen-pvm specific), this version supports changing all
      hypervisor and backend parameters (with appropriate checks).
      
      This is much more flexible, and allows for example:
        - start with different, temporary kernel
        - start with different memory size
      
      Note: in later versions, this should be extended to cover disk
      parameters as well (e.g. start with drbd without flushes, start with
      drbd in async mode, etc.).
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      d04aaa2f
    • Iustin Pop's avatar
      call_instance_start: add optional hv/be parameters · 0eca8e0c
      Iustin Pop authored
      
      This patch modifies the rpc.call_instance_start - the master side - to
      take optional hv/be parameters. The noded side is unchanged and
      oblivious to the change.
      
      This will allow implementation of single-user capability and such on
      startup (temporary, as opposed to permanent).
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      0eca8e0c
  10. May 18, 2009
  11. May 15, 2009
Loading