1. 04 Jan, 2010 3 commits
  2. 16 Dec, 2009 1 commit
  3. 13 Oct, 2009 2 commits
  4. 18 Sep, 2009 20 commits
  5. 04 Sep, 2009 1 commit
  6. 28 Aug, 2009 1 commit
  7. 24 Aug, 2009 4 commits
  8. 18 Aug, 2009 1 commit
  9. 05 Aug, 2009 1 commit
    • Iustin Pop's avatar
      export: add meaningful exit code · 084f05a5
      Iustin Pop authored
      
      
      Currently ‘gnt-backup export’ always returns exit code zero, even in the
      face of complete failure during backup (only failure to stop/start the
      instance will cause job failure and thus non-zero exit code). This is
      bad, since one cannot script the backup.
      
      This patch adds some simple results from the LU so that the command line
      script can return good exit code. It will:
        - return zero for full success (snapshot removal errors are ignored
          though)
        - return one for full failure (finalize export failure or all disks
          failure)
        - return two for partial failure (some disks backed up, some not)
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      084f05a5
  10. 04 Aug, 2009 1 commit
  11. 29 Jun, 2009 1 commit
    • Guido Trotter's avatar
      check_ident_key_val, handle no_ and - prefixes · 8b46606c
      Guido Trotter authored
      
      
      If an ident member of an IdentKeyVal relationship starts with no_ or -,
      handle it the same way we do for a key. Some unittests are added to
      check that check_ident_key_val behaves as expected.
      
      This patch also changes ForceDictType to, for now, fail on such an
      entry, and the same to happen when creating an instance or modifying its
      nics or disks.
      
      This behavior will be used later on to allow deletion of os entries in
      os parameters.
      Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      8b46606c
  12. 06 Apr, 2009 1 commit
    • Iustin Pop's avatar
      Disable synchronous (locking) queries · 77921a95
      Iustin Pop authored
      This patch raises an error in the master daemon in case the user
      requests a locking query; accordingly, all clients were modified to send
      only lockless queries. This is short-term fix, for proper fix the
      clients should be modified to submit a job when the user request a
      locking query.
      
      The other approach would be to ignore the flag passed by the client;
      this would be worse as client's wouldn't get at least an error.
      
      The possible impact of this is multiple:
        - some commands could have been not converted, and thus fail; this
          can be remedied easily
        - the consistency of commands is lost; e.g. node failover will not
          lock the node *while we get the node info*, so we could miss some
          data; this is again in the thread of atomic operations which are
          missing in the current model of query-and-act from gnt-* scripts
      
      Reviewed-by: imsnah, ultrotter
      77921a95
  13. 13 Feb, 2009 1 commit
    • Iustin Pop's avatar
      Implement the backward-compatible ‘-s’ disk option · c0e4a2c3
      Iustin Pop authored
      This patch adds back to the instance creation command (gnt-instace add,
      gnt-backup import) the ‘-s’ short form option for specifying a
      single-disk instance.
      
      Also a small bug in gnt-backup import is fixed.
      
      Reviewed-by: ultrotter
      c0e4a2c3
  14. 10 Feb, 2009 1 commit
    • Guido Trotter's avatar
      Instance parameters: force typing · a5728081
      Guido Trotter authored
      We want all the hv/be parameters to have a known type, rather than a
      random mix of empty string, boolean values, and None, so we declare the
      type of each variable and we enforce/convert it.
      
      - Add some new constants for enforceable value types
      - Add new constants dicts HVS_PARAMETER_TYPES and BES_PARAMETER_TYPES
        holding not only the valid parameters but also their types
      - Drop the old HVS_PARAMETERS and BES_PARAMETERS constants and calculate
        the values from the type dict
      - Convert all the default parameters to a valid type value
      - Create a new ForceDictType utils function, to check/enforce a dict's
        element value types, with relevant unit tests
      - Drop a few custom functions to check/convert the BE param types in
        utils and cli, in favor of ForceDictType
      - Double-check the parameter types using ForceDictType in both scripts
        and LogicalUnits, when possible.
      
      As a bonus:
      - Remove some old commented-out code in gnt-instance
      - Remove some already fixed FIXME
      - Fix a bug which prevented VALUE_DEFAULT to be applied to BE parameters
        in SetInstanceParams because the value was checked for validity before
        that transformation was made
      - Fix a bug which prevented initing a cluster and passing hvparams to
        work at all
      - ForceDictType allows an allowed_values for exceptions, which makes us
        able to do the checking even when some values must not be
        converted/typechecked (for example the 'default' string in
        SetInstanceParameters)
      
      Reviewed-by: iustinp
      a5728081
  15. 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