1. 24 Sep, 2013 6 commits
  2. 17 Sep, 2013 1 commit
    • Christos Stavrakakis's avatar
      cyclades: Mock vm removal if creation fails · a2daae31
      Christos Stavrakakis authored
      In case creating a VM fails before the OP_INSTANCE_CREATE job is
      enqueued in Ganeti, the VM and its NICs must be deleted, and the
      resources must be released from Quotaholder, which is exactly what is
      done when a VM is deleted from Ganeti. Instead of duplicating the code,
      this commit uses the same function that is used by snf-dispatcher, by
      mocking an successfully OP_INSTANCE_REMOVE.
      a2daae31
  3. 16 Sep, 2013 1 commit
  4. 12 Sep, 2013 1 commit
    • Giorgos Korfiatis's avatar
      common: Strip trailing slash from endpoints · 31d98e59
      Giorgos Korfiatis authored
      Remove trailing slash from the endpoints' publicURL field in service
      definitions. These values end up in the response of POST /tokens, and,
      according to the keystone API, should not end in slash. A trailing slash
      breaks some clients, which do no proper checking before appending a
      suffix.
      
      Note that these URLs are not meant to act as a base path in the strict
      semantics of http://tools.ietf.org/html/rfc3986#section-5.2.3 . Suffixes
      should be merged into by a simple append (modulo catering for the joining
      slash).
      
      URLs are still configured as groups per prefix ending in a slash, eg:
      '^account/' and '^ui/'. Permanent redirects are added for all non-API
      endpoints (ui, helpdesk, admin, etc), so that `BASE_PATH/path' leads to
      `BASE_PATH/path/'.
      31d98e59
  5. 28 Jun, 2013 2 commits
  6. 25 Jun, 2013 1 commit
  7. 19 Jun, 2013 1 commit
  8. 18 Jun, 2013 1 commit
  9. 17 Jun, 2013 1 commit
  10. 13 Jun, 2013 5 commits
  11. 12 Jun, 2013 1 commit
  12. 10 Jun, 2013 2 commits
  13. 06 Jun, 2013 2 commits
  14. 05 Jun, 2013 1 commit
  15. 03 Jun, 2013 3 commits
    • Georgios D. Tsoukalas's avatar
      ae38e9f6
    • Georgios D. Tsoukalas's avatar
    • Georgios D. Tsoukalas's avatar
      make synnefo URLs consistent and configurable · 79f2ca3b
      Georgios D. Tsoukalas authored
      https://service.deployment.vendor.tld/service-base/api-prefix/hard/path
      |___________________________________| |__________| |________| |_______|
                   BASE_HOST                  BASE_PATH    PREFIX    Hardcoded
      |_________________________________________________|
                   SERVICE_BASE_URL
      
      - Introduce <SERVICE>_BASE_URL setting, and <API>_PREFIX constants
        for all services. Extract BASE_HOST, BASE_PATH from the setting.
      
      - Use settings and constants to construct top-level patterns
        (base-path/api-prefix) in services' urls.py
      
      - Refactor/extend proxy() to be compatible with the above.
      
      - Change URLs passed around (ui, e-mails) to be compatible.
        (needs more work)
      
      Notes:
      
      This configuration REQUIRES that any rewriting and proxying on the
      front-end must eventually result in the application server (gunicorn)
      getting the original path of the request, otherwise the view-generated
      URLs will be different.
      
      Changes:
      - set top-level urlpatterns from <SERVICE>_BASE_URL
      - rename setting: APP_INSTALL_URL to CYCLADES_BASE_URL
      - rename setting: ASTAKOS_URL to ASTAKOS_BASE_URL everywhere
      - introduce setting: PITHOS_BASE_URL
      - update shipped .confs, quick install admin guide, upgrade guide
      - fix urls/views/reverse()/other that were broken
      - (more not listed)
      79f2ca3b
  16. 31 May, 2013 1 commit
  17. 28 May, 2013 3 commits
  18. 24 May, 2013 1 commit
  19. 23 May, 2013 2 commits
    • Constantinos Venetsanopoulos's avatar
      Make README files of sub-components obsolete · e5ceb253
      Constantinos Venetsanopoulos authored
      Since v0.14 everything belonging in a README file should be written
      as part of the documentation and thus under docs/. Remove all
      unnecessary README files, adjust MANIFEST.in and setup.py files
      accordingly and move README files that should be merged into the
      documentation under docs/older/.
      
      This will be followed by a commit that merges all necessary
      information included in the remaining REAMDE files under docs/older/
      in the corresponding guides and docs, so that everything is up-to-date.
      e5ceb253
    • Constantinos Venetsanopoulos's avatar
      Keep single Changelog, remove all local ones · 282acaaa
      Constantinos Venetsanopoulos authored
      Since 0.13 there is only one single Changelog file at the root
      directory. Thus, any new component should not have its own
      Changelog file. Specifically, remove local Changelog files for:
      
      * snf-astakosclient
      * snf-branding
      * snf-django-lib
      282acaaa
  20. 20 May, 2013 3 commits
  21. 16 May, 2013 1 commit
    • Sofia Papagiannaki's avatar
      astakos: api calls authenticated via X-Auth-Token shall not affect cookie · d350c42a
      Sofia Papagiannaki authored
      CookieAuthenticationMiddleware.process_request() synchronizes
      the astakos cookie with the request user.
      If an astakos cookie is set but there is no logged in user,
      the middleware deletes the cookie.
      Respectively, if there is a logged in user but the astakos cookie
      is not set, the middleware setis the cookie.
      In order to set/delete the cookie, redirects to the request path.
      
      For checking whether the user is logged in or not,
      utilized the django.contrib.auth.models.User.is_authenticated() method.
      This returns always True for django.contrib.auth.models.User instances
      (request.user for non authenticated requests is
       django.contrib.auth.models.AnonymousUser instance)
      
      Some astakos api calls are decorated by
      astakos.api.utils.user_for_token()
      which checks the X-Auth-Token request header and if its valid
      sets the request.user to the respective AstakosUser instance.
      
      Therefore, the above check succeeded for these calls
      and the middleware used to set the cookie.
      Subsequent requests read the cookie and
      if it did not comform with the request.user
      (no authentication info supplied)
      redirected to request path for deleting it.
      
      In order to resolve this undesired behavior
      the cookie fix() method has been changed
      and if it is actually an api call request
      it returns immediately without affecting the cookie.
      d350c42a