1. 18 Aug, 2010 5 commits
  2. 17 Aug, 2010 6 commits
  3. 16 Aug, 2010 1 commit
  4. 13 Aug, 2010 2 commits
  5. 10 Aug, 2010 8 commits
  6. 09 Aug, 2010 1 commit
  7. 05 Aug, 2010 1 commit
  8. 30 Jul, 2010 9 commits
  9. 29 Jul, 2010 7 commits
    • Iustin Pop's avatar
      burning: fix handling of empty job sets · 78bb78b1
      Iustin Pop authored
      If we call burning with only existing instance, then it will fail to
      create any of them, and thus in the removal phase it won't have anything
      to remove. Since calling luxi.SUBMIT_MULTIPLE_JOBS with an empty job set
      is an error (and will raise an exception), this creates a very strange
      error in burnin (which is unfortunately hidden by ExecJobSet()).
      
      As such, we modify CommitQueue to return immediately if it has an empty
      op queue.
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      78bb78b1
    • Iustin Pop's avatar
      Change semantics of --force-multi for reinstall · 297ddce9
      Iustin Pop authored
      Currently, we require both --force and --force-multiple for skipping the
      confirmation on instance reinstalls. After offline conversations, this
      has been deemed to be excessive, and this patch changes the meaning of
      --force-multiple to be a “stronger” force, and not require both.
      
      So, to skip the prompts:
      - single instance reinstallation requires either --force or
        --force-multiple
      - multiple instance reinstallation requires --force-multiple
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      297ddce9
    • Iustin Pop's avatar
      Change handling of non-Ganeti errors in jqueue · 599ee321
      Iustin Pop authored
      Currently, if a job execution raises a Ganeti-specific error (i.e.
      subclass of GenericError), then we encode it as (error class, [error
      args]). This matches the RAPI documentation.
      
      However, if we get a non-Ganeti error, then we encode it as simply
      str(err), a single string. This means that the opresult field is not
      according to the RAPI docs, and thus it's hard to reliably parse the
      job results.
      
      This patch changes the encoding of a failed job (via failure) to always
      be an OpExecError, so that we always encode it properly. For the command
      line interface, the behaviour is the same, as any non-Ganeti errors get
      re-encoded as OpExecError anyway. For the RAPI clients, it only means
      that we always present the same type for results. The actual error value
      is the same, since the err.args is either way str(original_error);
      compare the original (doesn't contain the ValueError):
      
        "opresult": [
          "invalid literal for int(): aa"
        ],
      
      with:
      
        "opresult": [
          [
            "OpExecError",
            [
              "invalid literal for int(): aa"
            ]
          ]
        ],
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      599ee321
    • Iustin Pop's avatar
      Implement gnt-cluster master-ping · 4404ffad
      Iustin Pop authored
      This can be used from shell-scripts to quickly check the status of the
      master node, before launching a series of jobs (and handling the failure
      of the jobs due to masterd other issues).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      4404ffad
    • Iustin Pop's avatar
      Instance migration: remove error on missing link · b8ebd37b
      Iustin Pop authored
      Since we don't support upgrades from 1.2.4 without restarting the
      instance, the 'not restarted since 1.2.5' check/error is
      wrong/misleading.
      
      Since the live migration works anyway without the links (it recreates
      them during the disk reconfiguration anyway), we remove the check and we
      transform it into a warning (to the node daemon log only,
      unfortunately).
      
      For 2.3, we'll need to change the symlink creation from instance start
      time to disk activation time (but that requires more RPC changes).
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      b8ebd37b
    • Michael Hanselmann's avatar
      Add check for RAPI paths to start with /2 · 2c0be3d0
      Michael Hanselmann authored
      During a discussion in July 2010 it was decided that we'll stabilize on /2. See
      message ID <20100716180012.GA9423@google.com> for reference.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      2c0be3d0
    • Michael Hanselmann's avatar
      Ensure assertions are evaluated in tests · a9b144cb
      Michael Hanselmann authored
      A lot of assertions are used in Ganeti's code. Some unittests even check
      whether AssertionError is raised in some cases. Explicitely ensuring
      assertions are evaluated makes sure those tests don't fail and
      assertions are checked.
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      a9b144cb