1. 08 Apr, 2013 1 commit
    • Constantinos Venetsanopoulos's avatar
      Make all Changelog files prior to 0.13 obsolete · f12dd5a4
      Constantinos Venetsanopoulos authored
      Since v0.13, all Synnefo components will have the same version and the
      same Changelog, NEWS, Upgrade, Copyright file. This patch addresses
      old Changelog, NEWS and Upgrade files:
      
       * Move all separate Changelog files under docs/older/
       * Move all separate Upgrade files under docs/older/
       * Add skeleton for the new, single, unified Changelog file
       * Add skeleton for the new, single, unified NEWS file
      
      Copyright files will follow with a separate patch.
      f12dd5a4
  2. 29 Mar, 2013 1 commit
    • Constantinos Venetsanopoulos's avatar
      Update setup.py for every snf-* component · 92754615
      Constantinos Venetsanopoulos authored
       * Update short descriptions
       * Make sure all emails point to synnefo-devel@googlegroups.com
       * Make sure the author and maintainer is "Synnefo development team"
       * Change pypi URL to point to www.synnefo.org/packages/pypi
       * Extend Copyright for 2012, 2013 wherever needed
      92754615
  3. 28 Mar, 2013 1 commit
  4. 27 Mar, 2013 2 commits
    • Georgios D. Tsoukalas's avatar
      pool context manager, http pool AssertionError fix · 2f432a67
      Georgios D. Tsoukalas authored
      Refs #3492
      
      - Introduce a generic PooledObject class to act both
        as a context manager for getting and putting back
        an object from a pool.
      
      - Implement a class PooledHTTPConnection(PooledObject)
        as a sublcass of the one in (1)
      
      - Eliminate httplib.HTTPConnection patching of close().
        Eliminate put/get_http_connection.
        The httplib.HTTPConnection object is no longer released
        back to the pool via a method on it.
        One must explicitly put it to the pool,
        or use the PooledObject context manager in (2) above.
      
      - Update lib.astakos, lib.quotaholder.http,
        synnefo.api.delegate, pithos.api.delegate to use
        PooledHTTPConnection.
      
      - Update tests
      2f432a67
    • Georgios D. Tsoukalas's avatar
      8fe10b65
  5. 22 Mar, 2013 3 commits
  6. 13 Mar, 2013 1 commit
    • Christos Stavrakakis's avatar
      Fix inadvertent use of shared objects · 9af292c3
      Christos Stavrakakis authored
      Fix inadvertent use of shared objects in synnefo/lib/astakos.py and
      pithos/api/delegate.py, since current use is racy when running multiple
      requests under gunicorn. Create a private, per-request copy instead.
      9af292c3
  7. 11 Mar, 2013 1 commit
    • Georgios D. Tsoukalas's avatar
      Fix+move HTTP quotaholder client in synnefo.lib · 208556af
      Georgios D. Tsoukalas authored
      Allow per-service configuration of the (http) quotaholder client.
      Kamaki is no longer needed in service (or ganeti) nodes,
      because the client has been moved to snf-common.
      
      Also fix the default quotaholder settings for pithos backend to be disabled
      by default, and don't initialize quotaholder client when not needed.
      This fixes crashes of non-user-facing pithos backend uses such as
      pithcat from snf-image.
      
      Refs #3421
      208556af
  8. 26 Feb, 2013 1 commit
  9. 15 Feb, 2013 2 commits
  10. 14 Feb, 2013 2 commits
  11. 08 Feb, 2013 2 commits
  12. 07 Feb, 2013 1 commit
    • Christos Stavrakakis's avatar
      Fixes to setup.py · 701fb2df
      Christos Stavrakakis authored
      Update author/maintainer name/email of all synnefo projects. Also fix
      short description and some whitespace issues.
      701fb2df
  13. 01 Feb, 2013 1 commit
  14. 30 Jan, 2013 1 commit
  15. 29 Jan, 2013 3 commits
  16. 28 Jan, 2013 3 commits
  17. 25 Jan, 2013 2 commits
    • Georgios D. Tsoukalas's avatar
      uenc: utility function for encoding unicode to str · 0afa078f
      Georgios D. Tsoukalas authored
      1. Motivation.
      
      Too often a programmer outputs an object that can either be str or
      unicode. The default python encoding of 'ascii' cannot handle all of
      unicode text, but this will not crash until such a text is encountered.
      
      A popular response is to force unicode into a UTF-8 encoding,
      but this forcing breaks cases where other encodings may be desired
      or needed (e.g. user terminal settings, CSV files).
      
      The 'force' approach is sufficient for application data, since the
      application decides for itself how to handle it consistently.
      
      However, forcing an encoding on a user-interfacing output,
      (e.g. terminal, notification messages) disrespects the user's
      configuration.
      
      2. Approach.
      
      uenc() will honor the user's configuration as defined through
      the POSIX call setlocale(), which expects the user's preference
      in the LC_* environment variables. LC_CTYPE is most relevant here.
      
      However, these preferences are not honored automatically; a call to
      setlocale() must first be made. Therefore, if the locale is not set,
      it will be during the importing of the uenc()'s parent module.
      
      Guidelines
      
      - Programmers who wish to honor the preferences, but do not want to
        care about either str or unicode (or even another object) can call
        uenc() to encode (if needed) all their output text objects.
      
      - Programmers who want to force a specific encoding, they must
        immediately encode their text. Possible calls to uenc() on their text
        from other modules will not touch the str objects.
      
      - Programmers who want to honor the configuration of their output
        devices (e.g. file with its encoding attribute set), they must either
        trust the LC_* configuration and use uenc() or trust the configuration
        of the output and NOT use uenc().
      
      - Programmers who manage storage of internal application data are better
        of encoding all their text to UTF-8, and never forward unicode and
        suffer the uncertainty of unicode-to-string encoding. UTF8 can both
        handle all unicode texts and is compatible with plain 7-bit ascii.
      
      - Programmers who output text according to communication protocols
        (e.g HTTP, JSON) must always be aware and honor the encoding
        requirements of the protocol, even when they use libraries that
        'do the right thing' with unicode. It is more cumbersome, but always
        safer to encode unicode to string before giving output away to a
        protocol library.
      
        Often, the very question 'what encoding should I use', will make the
        programmer aware of encoding issues and protocol details, whereas
        passing on unicode would trigger none such inquiry.
      0afa078f
    • Georgios D. Tsoukalas's avatar
      b7ce762b
  18. 24 Jan, 2013 1 commit
  19. 23 Jan, 2013 4 commits
  20. 17 Jan, 2013 1 commit
  21. 16 Jan, 2013 1 commit
  22. 15 Jan, 2013 1 commit
  23. 14 Jan, 2013 3 commits
  24. 11 Jan, 2013 1 commit