Skip to content
Snippets Groups Projects
  1. Oct 21, 2010
  2. Oct 05, 2010
  3. Sep 30, 2010
    • Iustin Pop's avatar
      Change behaviour of OpDiagnoseOS w.r.t. 'valid' · d22dfef7
      Iustin Pop authored
      
      This patch changes the behaviour of OpDiagnoseOS with regards to the
      'valid' field to be similar to the one for the hidden/blacklisted
      fields: unless this field is requested, invalid OSes are filtered out.
      
      The rationale is that, except for the gnt-os info/diagnose, all other
      users of this opcode are requesting the valid field just to filter out
      invalid OSes, and not for any other use. Thus, changing this behaviour
      makes these callers simpler.
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      d22dfef7
  4. Sep 09, 2010
  5. Sep 06, 2010
  6. Sep 03, 2010
  7. Sep 01, 2010
  8. Aug 27, 2010
  9. Aug 25, 2010
  10. Aug 23, 2010
    • Iustin Pop's avatar
      setup-ssh: fix updating of authorized_keys · 634a9a35
      Iustin Pop authored
      
      Due to what seems like a bug (or inconsistency) in paramiko, files
      opened with a+ over SFTP need a seek() in order for the user to be able
      to read data from them. We implement this, and rely on the fact that we
      do iterate over all lines before writing and that the file is opened in
      append mode (which at least on Linux should work correctly).
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      634a9a35
    • Iustin Pop's avatar
      setup-ssh: Also use keys from the ssh-agent · 3dc66ebc
      Iustin Pop authored
      
      Currently, setup-ssh only uses one disk-based key. This means that any
      setup where we use keys from ssh-agent (which do not necessarily exist
      on disk) will break when moving from the old method to setup-ssh.
      
      This patch moves the SSH key handling to separate functions, and uses
      both the disk key (first) and the agent keys for login.
      
      The patch also fixes the root_logger setup level (I tried to hard to
      reduce noise and broke the debug level, sorry).
      
      Signed-off-by: default avatarIustin Pop <iustin@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      3dc66ebc
  11. Aug 20, 2010
  12. Jul 30, 2010
  13. Jul 29, 2010
    • 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
    • Michael Hanselmann's avatar
      workerpool: Change signature of AddTask function to not use *args · b2e8a4d9
      Michael Hanselmann authored
      
      By changing it to a normal parameter, which must be a sequence, we can
      start using keyword parameters.
      
      Before this patch all arguments to “AddTask(self, *args)” were passed as
      arguments to the worker's “RunTask” method. Priorities, which should be
      optional and will be implemented in a future patch, must be passed as a keyword
      parameter. This means “*args” can no longer be used as one can't combine *args
      and keyword parameters in a clean way:
      
      >>> def f(name=None, *args):
      ...   print "%r, %r" % (args, name)
      ...
      >>> f("p1", "p2", "p3", name="thename")
      Traceback (most recent call last):
       File "<stdin>", line 1, in <module>
       TypeError: f() got multiple values for keyword argument 'name'
      
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      b2e8a4d9
  14. Jul 23, 2010
  15. Jul 21, 2010
  16. Jul 20, 2010
  17. Jul 12, 2010
  18. Jul 07, 2010
  19. Jul 01, 2010
    • Michael Hanselmann's avatar
      RAPI client: Switch to pycURL · 2a7c3583
      Michael Hanselmann authored
      
      Currently the RAPI client uses the urllib2 and httplib modules from
      Python's standard library. They're used with pyOpenSSL in a very fragile
      way, and there are known issues when receiving large responses from a RAPI
      server.
      
      By switching to PycURL we leverage the power and stability of the
      widely-used curl library (libcurl). This brings us much more flexibility
      than before, and timeouts were easily implemented (something that would
      have involved a lot of work with the built-in modules).
      
      There's one small drawback: Programs using libcurl have to call
      curl_global_init(3) (available as pycurl.global_init) while exactly one
      thread is running (e.g. before other threads) and are supposed to call
      curl_global_cleanup(3) (available as pycurl.global_cleanup) upon exiting.
      See the manpages for details. A decorator is provided to simplify this.
      
      Unittests for the new code are provided, increasing the test coverage of
      the RAPI client from 74% to 89%.
      
      Signed-off-by: default avatarMichael Hanselmann <hansmi@google.com>
      Reviewed-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarIustin Pop <iustin@google.com>
      2a7c3583
  20. Jun 29, 2010
  21. Jun 28, 2010
    • Guido Trotter's avatar
      Remove pred from compat.any/all · 403f5172
      Guido Trotter authored
      
      This makes it compatible with the python builtin, and we can even use
      the builtin when running under the right version of python. The all and
      any functions are renamed to _all and _any, so that they can be tested,
      and (non)existing unittests are updated (translation: there are no unit
      tests, so none are updated).
      
      This patch also moves the code deciding which partial to use next to
      the definition of the _partial function, rather than after TryToRoman.
      
      Signed-off-by: default avatarGuido Trotter <ultrotter@google.com>
      Reviewed-by: default avatarMichael Hanselmann <hansmi@google.com>
      403f5172
  22. Jun 23, 2010
  23. Jun 09, 2010
  24. Jun 01, 2010
  25. May 18, 2010
  26. May 03, 2010
Loading