1. 23 Jun, 2010 1 commit
  2. 22 Jun, 2010 6 commits
  3. 21 Jun, 2010 1 commit
  4. 18 Jun, 2010 5 commits
  5. 17 Jun, 2010 17 commits
  6. 15 Jun, 2010 2 commits
  7. 14 Jun, 2010 8 commits
    • Manuel Franceschini's avatar
      Improve gnt-debug man page · 60bb8b5d
      Manuel Franceschini authored
      Signed-off-by: default avatarManuel Franceschini <livewire@google.com>
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      60bb8b5d
    • Iustin Pop's avatar
      Remove a TODO · 592e04bd
      Iustin Pop authored
      Since OS objects are not stored in the configuration, we cannot put
      os_hvp there, therefore the TODO is obsolete…
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      592e04bd
    • Iustin Pop's avatar
      Rework LUSetInstanceParams._GetUpdatedParams · 422d4619
      Iustin Pop authored
      Currently, this function does three things:
      - special handling of constants.VALUE_DEFAULT
      - type enforcing of the resulting dict
      - filling the dictionary with defaults
      
      However, except for the first one, the second two do not belong in this
      function:
      - in the future, not all parameter dictionaries will be able to be
        enforced
      - filling the dictionary with defaults cannot be done via a defaults
        dict in all cases, and should be done by the specialized functions
        (ideally we'd pass a partial function instance here, but we don't have
        that yet…)
      
      As such, we remove the last items, and move them to the callers; this is
      overall the same complexity, as we were calling this function in just
      three places and constructing the many arguments was also complicated.
      
      Furthermore, we move the function out of LUSetInstanceParams, as in the
      future it will be used by LUSetClusterParams too.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      422d4619
    • Iustin Pop's avatar
      Split the core-OS and instance-specific env · efaa9b06
      Iustin Pop authored
      Since we'll need to be able to generate the OS-specific environment
      separately from the instance one, we move it to a separate function. We
      also add a new OS_NAME env. var which is identical to the INSTANCE_OS
      one (which won't exist for OS-only environments).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      efaa9b06
    • Iustin Pop's avatar
      Add cluster.SimpleFill*() functions · 73e0328b
      Iustin Pop authored
      Currently, the existing cluster.Fill* functions take as argument an
      instance. This means that in any case where we don't have an actual
      instance object, we have to resort to calling the low-level
      objects.FillDict function.
      
      This is bad for two reasons:
      - we have to know of, and we hardcode, the cluster object internals
        (e.g. that the nicparams are stored in a dict indexed by group)
      - which can result in subtle bugs, if the underlying storage mechanisms
        change
      
      This patch adds a lower-level implementation SimpleFillHV for FillHV and
      SimpleFillBE for FillBE, and adds a completely new SimpleFillNIC (all
      use cases until now hardcoded cluster.nicparams[constant.PP_DEFAULT]
      directly); it then uses these new functions in cmdlib.py.
      
      A side effect is that _CheckNicsBridgesExist loses the 'profile'
      parameter, which was unused. If it's needed, we should add it later via
      a proper profile parameter to SimpleFillNIC.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      73e0328b
    • Iustin Pop's avatar
      Merge branch 'devel-2.1' into master · 31ca841c
      Iustin Pop authored
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarBalazs Lecz <leczb@google.com>
      31ca841c
    • Iustin Pop's avatar
      Fix a bug in instance startup with custom hvparams · c47478f9
      Iustin Pop authored
      Since the introduction of OS-specific hvparams, we shouldn't ever use
      objects.FillDict directly for instances, but instead go via the cluster
      object. Otherwise the os_hvp will be ignored.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      c47478f9
    • Iustin Pop's avatar
      Fix unsafe variant initializer in _TryOSFromDisk · 845da3e8
      Iustin Pop authored
      In case an OS has inconsistent declarations, we might get into a case
      where one node reports a valid variants list (with OS API >=15), and
      another node has OS API < 15, in which case its supported_variants gets
      the default value of None. This leads to the same variable having
      inconsistent data types, which leads to subtle bugs later: instead of
      reporting something like "Inconsistent OS API versions", the LU exits
      with a run-time exception. Furthermore, in another datapath, variants is
      initialized to '[]' in case of OS diagnose failures.
      
      The patch changes _TryOSFromDisk to initialize variants to '[]' for
      OS api level below 15, and changes the variants calculation in
      DiagnoseOS to be more readable.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      845da3e8