1. 17 Oct, 2008 5 commits
  2. 16 Oct, 2008 12 commits
    • Iustin Pop's avatar
      Enable gnt-cluster modify to hv/beparams · 779c15bb
      Iustin Pop authored
      This patch enables the cluster modify to change:
        - enabled hypervisor list
        - hvparams (per hypervisor)
        - beparams (only the default group)
      
      Syntax:
        gnt-cluster modify -B vcpus=3 -H xen-pvm:no_initrd_path
      
      Validation for parameters is somewhat missing - the individual
      hypervisors will be checked for syntax and validation, but beparams
      doesn't have validation yes (nowhere), it should be added here once we
      have a global method (will come soon).
      
      Reviewed-by: imsnah
      779c15bb
    • Michael Hanselmann's avatar
      rapi: Convert to new HTTP server class · 16a8967d
      Michael Hanselmann authored
      Requests are no longer logged to a separate file.
      
      Reviewed-by: amishchenko
      16a8967d
    • Guido Trotter's avatar
      design-2.0-cluster-parameters: escape final _ · c5e2d3b9
      Guido Trotter authored
      In rst a final _ is used for linking. Escaping it prevents an error at
      compile time on design-2.0-cluster-parameters.rst
      
      Reviewed-by: iustinp
      c5e2d3b9
    • Iustin Pop's avatar
      Show the cluster parametrs in gnt-cluster info · 469f88e1
      Iustin Pop authored
      This is just a raw update without any special formatting.
      
      Reviewed-by: imsnah
      469f88e1
    • Oleksiy Mishchenko's avatar
      RAPI: Instance add/delete implementation. · 2f7635f4
      Oleksiy Mishchenko authored
      Reviewed-by: iustinp
      2f7635f4
    • Guido Trotter's avatar
      OS Design: invert new and old name · 29fc6636
      Guido Trotter authored
      Internally in ganeti we already have renamed the instance, so it's
      better to pass the new name in INSTANCE_NAME and the old one in
      OLD_INSTANCE_NAME rather than the old name in INSTANCE_NAME and the new
      one in NEW_INSTANCE_NAME as this reflects what the cluster thinks.
      
      Reviewed-by: iustinp
      29fc6636
    • Iustin Pop's avatar
      Really fix with the zombie test (hopefully) · 09352fa4
      Iustin Pop authored
      So, instead of any timeouts for synchronization, we move to actual
      events. We still have one (huge) timeout for pathological cases (just to
      cleanup), but we don't sleep at all in normal usage.
      
      The patch moves the zombie/cleaned up child creation out from setUp(),
      and to on-demand by the functions. We remove all signal handler usage,
      instead we rely on the fact that when a process is cleaned up, its FDs
      are closed, so the read end of a pipe will get an event.
      
      Reviewed-by: imsnah
      09352fa4
    • Iustin Pop's avatar
      Fix job queue behaviour when loading jobs · 94ed59a5
      Iustin Pop authored
      Currently, if loading a job fails, the job queue code raises an
      exception and prevents the proper processing of the jobs in the queue.
      We change this so that unparseable jobs are instead archived (if not
      already).
      
      Reviewed-by: imsnah
      94ed59a5
    • Iustin Pop's avatar
      Prevent master failover if we have wrong data · d5927e48
      Iustin Pop authored
      If we don't actually know the current master (as determined via voting),
      we prevent the failover.
      
      The patch also changes some messages (capitalization, typos).
      
      Reviewed-by: ultrotter
      d5927e48
    • Iustin Pop's avatar
      Improvements to the master startup checks · d7cdb55d
      Iustin Pop authored
      In order to account for future improvements to master failover, we move
      the actual data gathering capabilities from ganeti-masterd into
      bootstrap.py, and we leave only the verification into masterd.
      
      The verification procedure is then changed to retry multiple times (up
      to one minute) in case most nodes do not respond, and also the algorithm
      is changed to require at least half (but not half+1) votes, since our
      vote also should count (and we vote for ourselves).
      
      Example for consistent (config-wise) cluster:
        - 5 node cluster, 2 nodes down: still start
        - 4 node cluster, 2 nodes down: retry for one minute, abort
      
      Reviewed-by: ultrotter
      d7cdb55d
    • René Nussbaumer's avatar
      Provide example for backend parameters · 10799c59
      René Nussbaumer authored
      Update the design about cluster parameters and provide
      some example of backend parameters. By now this includes
      all supported parameters.
      
      Reviewed-by: iustinp, ultrotter
      10799c59
    • Iustin Pop's avatar
      Add an interface for the drain flag changes/query · 3ccafd0e
      Iustin Pop authored
      This adds the set/reset in the jqueue and luxi modules, and a way to
      query it in OpQueryConfigValues, and also the comand line interface for
      it:
      $ gnt-cluster queue info
      The drain flag is unset
      $ gnt-cluster queue drain
      $ gnt-cluster queue info
      The drain flag is set
      $ gnt-cluster queue undrain
      $ gnt-cluster queue info
      The drain flag is unset
      
      The choice of making the setting via luxi and not an opcode is that
      opcodes can't be executed when drained, but we don't query via luxi
      since in the future it might become a cluster property as opposed to a
      node one.
      
      Reviewed-by: imsnah
      3ccafd0e
  3. 15 Oct, 2008 7 commits
    • René Nussbaumer's avatar
      Adding batch-create to gnt-instance · 0d0e9090
      René Nussbaumer authored
      This change is part of the integration of tools/batcher from
      Ganeti 1.2 into Ganeti 2.0 core code. It has a compatible
      submission interface to the version from 1.2 with these differences:
      
      * it's integrated into Ganeti directly: gnt-instance batch-create
      * iallocator is now provided by the instance specs
      * log is now held within Ganeti
      * no force needed
      * no sleep needed
      * memory and vcpus goes now into beparams
      * missing stuff from the TODO (see below)
      
      Open TODOs:
      
      * Implement notification about creation status/interactive part (top like)
      * Backup instance allocation specs?
      * Document usage and spec format
      
      Reviewed-by: iustinp
      0d0e9090
    • Iustin Pop's avatar
      Add a rpc call for changing the drain flag · 5d672980
      Iustin Pop authored
      A new multi-node call is added that sets/resets the drain flag.
      
      Reviewed-by: imsnah
      5d672980
    • Iustin Pop's avatar
      Implement the job queue drain flag · 686d7433
      Iustin Pop authored
      We add a (per-node) queue drain flag that blocks new job submission.
      There is not yet an interface to add/remove the flag (will come in next
      patches).
      
      Reviewed-by: imsnah
      686d7433
    • Iustin Pop's avatar
      Implement transport of ganeti errors across luxi · 6797ec29
      Iustin Pop authored
      This patch adds a generic method to identify the ganeti error given its
      class name, and implements this across the luxi protocol.
      
      Reviewed-by: imsnah
      6797ec29
    • Iustin Pop's avatar
      Change the JobQueueError parent class · d11bda8d
      Iustin Pop authored
      Currently this is not derived from GenericError, but there's no reason
      for it to be so.
      
      Reviewed-by: imsnah
      d11bda8d
    • Michael Hanselmann's avatar
      rapi: Don't throw class as an exception · 966405b7
      Michael Hanselmann authored
      Reviewed-by: ultrotter
      966405b7
    • Michael Hanselmann's avatar
      rapi: Whitespace fixes · a2f92677
      Michael Hanselmann authored
      Reviewed-by: ultrotter
      a2f92677
  4. 14 Oct, 2008 16 commits
    • Guido Trotter's avatar
      gnt-backup: update for cluster parameters · b03efa30
      Guido Trotter authored
      - add backend and hypervisor parameters
      - fix beparams validation/passing
      - pass hypervisor and hvparams
      - remove deprecated flags
      
      Reviewed-by: iustinp
      b03efa30
    • Guido Trotter's avatar
      gnt-instance fix ValidateBeParams call · 7399cd55
      Guido Trotter authored
      ValidateBeParams does not return, but its return value is assigned to a
      variable which is never used. Avoid this assignment.
      
      Reviewed-by: iustinp
      7399cd55
    • Guido Trotter's avatar
      gnt-instance remove deprecated flags · 7ac1fc45
      Guido Trotter authored
      kernel, initrd, hvm_boot_order and vnc_bind_address are now hypervisor
      parameters and should not have their own flag. Moreover querying of
      vnc_bind_address should of course pass through the hv/ namespace.
      
      Reviewed-by: iustinp
      7ac1fc45
    • 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
      Convert the KVM hypervisor to hvparams · 6b5605e8
      Iustin Pop authored
      I'm not sure which parameters it should use, I took all I saw in the
      code. Update: ultrotter says the list is OK for now.
      
      Reviewed-by: ultrotter
      6b5605e8
    • Iustin Pop's avatar
      Some fixes related to auto_balance · c0f2b229
      Iustin Pop authored
      Change the constant name to match the value (autobalance ->
      auto_balance).
      
      Also add the auto_balance header so that gnt-instance can list it.
      
      Reviewed-by: ultrotter
      c0f2b229
    • Iustin Pop's avatar
      Fix auto_balance and memory modification · 647a5d80
      Iustin Pop authored
      The secondary nodes should not be checked for free memory in case of non
      auto-balanced instances.
      
      This is a forward-port from rev 1567 on the 1.2 branch.
      
      Reviewed-by: ultrotter
      647a5d80
    • Iustin Pop's avatar
      Use the auto_balance in cluster verify · 3924700f
      Iustin Pop authored
      This patch changes the cluster verify in two ways:
        - do not use instances marked with auto_balance=False in N+1 memory
          checks
        - report, if any, the number of instances with auto_balance=False
      
      Forward port from rev 1562 on the 1.2 branch.
      
      Reviewed-by: ultrotter
      3924700f
    • Iustin Pop's avatar
      Fix ordering of instance/nodes · c1f1cbb2
      Iustin Pop authored
      After the locking changes, and the partial locking of nodes, the
      instance/node list is not ordered anymore. Reorder so that it behaves as
      before.
      
      Reviewed-by: ultrotter
      c1f1cbb2
    • Iustin Pop's avatar
      Remove old instance attributes · bf766476
      Iustin Pop authored
      Reviewed-by: ultrotter
      bf766476
    • 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
    • Iustin Pop's avatar
      Change the backend to use the beparams · 51de46bf
      Iustin Pop authored
      The backend.FinalizeExport function is changed to use the beparams
      instead of the instance attributes. Future enhancements should be done
      in order to export and import/reuse the whole be/hv params.
      
      Reviewed-by: ultrotter
      51de46bf
    • Iustin Pop's avatar
      Change hypervisors to use the beparams · 8b3fd458
      Iustin Pop authored
      This patch changes the hypervisor functions to use the beparams dict
      instead of the instance attributes.
      
      Reviewed-by: ultrotter
      8b3fd458
    • Iustin Pop's avatar
      Correctly fill the beparams too over RPC · 5b442704
      Iustin Pop authored
      As for the hvparams, we need to replace the sent instance beparams.
      
      Reviewed-by: ultrotter
      5b442704
    • Iustin Pop's avatar
      Add cli function for beparams validation · a604f165
      Iustin Pop authored
      This is used to validate the parameters in both “gnt-instance add” and
      “gnt-backup import”.
      
      Reviewed-by: ultrotter
      a604f165