- 08 Apr, 2013 4 commits
-
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
- {accept, reject}_commission take a single serial - resolve_pending_commissions takes a set of serials to accept and a set of serials to reject - commission exceptions record the provision on which they are raised and additional details - issue_commission takes a new option `force': when True, the quotaholder will skip limit checks
-
- 05 Apr, 2013 35 commits
-
-
Giorgos Korfiatis authored
On a user joining/leaving a project or on a project definition change, we used to compute quota diffs for affected users and add them up to existing values in quotaholder. We now switch to recomputing all quotas for affected users and resetting the quotaholder accordingly. This has two advantages: - we need only one primitive for setting limits (add_quota becomes redundant) and - we don't need to keep synced/pending pairs of project application on project membership; changes are applied instantly.
-
Giorgos Korfiatis authored
This is done for reasons of uniformity.
-
Giorgos Korfiatis authored
Intention is to collect all quota-related code to a single file.
-
Giorgos Korfiatis authored
Adjust astakos code to the new nested dict structure of quotas.
-
Giorgos Korfiatis authored
Handle quotas as nested dictionaries indexed by: user uuid, source, resource name
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
The role of Holding is now only to keep track of usage against a limit. There is no more exporting of resources and thus no need for the stock counters.
-
Giorgos Korfiatis authored
Simplifications due to removal of quantity and merging capacity into holding. Also make sure that holders and resources are represented as strings in quotaholder calls.
-
Giorgos Korfiatis authored
Since quantity (initial supply) has been removed from Policy, there is no direct way to set the initial available resource, for example the total available VMs for holding cyclades. This is now achieved by issuing (and accepting) a commission from a source set to None.
-
Giorgos Korfiatis authored
Since the removal of quantity, Policy was left with only one value: capacity. To simplify things, we directly include capacity in Holding. This makes obsolete the following functions, which are removed: get_limits, set_limits, get_holding, set_holding.
-
Giorgos Korfiatis authored
A Holding now tracks the current usage (amount imported) and the amount available to export (stock). Counters come in pairs (imported_min, imported_max and stock_min, stock_max respectively) to allow for a two-step commission. For example, issuing a commission to import some quantity increases imported_max. When accepting the commission, imported_min increases by the same quantity; at the same time the stock counters increase, too, since the quantity imported becomes available for re-export. This commissioning logic is factored out for clarity in file commission.py. Remove also quantity (initial supply) from Policy. This can be simulated by setting the holding counters to the desired value. Since capacity now represents the total capacity, care must be taken that it be no less than the initial supply set as suggested.
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
Keyword arguments in quotaholder calls defaulted to empty pair, although they were actually expecting a list.
-
Giorgos Korfiatis authored
If needed, they can be simulated by importing from special resources.
-
Giorgos Korfiatis authored
Remove second phase of (de)activation, not needed any more, since syncing to quotaholder will happen in the same transaction as the call initiating the syncing.
-
Giorgos Korfiatis authored
It is not needed any more, syncing to quotaholder will happen in a single transaction along with the call initiating the change.
-
Giorgos Korfiatis authored
Import directly quotaholder.callpoint in endpoint/qh.py instead of an HTTP client. Remove code related to entities, such as registering users and services. Remove sync_projects logic.
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
Define exceptions locally
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
-
Giorgos Korfiatis authored
quotaholder_django/quotaholder_app becomes astakos/quotaholder quotaholder_django/test becomes astakos/quotaholder/test
-
Giorgos Korfiatis authored
Replace custom transaction context with: - decorator `commit_on_success_strict', which uses transaction.commit_manually and ensures that the transaction rolls back on any exception - context ExceptionHandler, which logs and suppresses exceptions
-
Giorgos Korfiatis authored
-
Sofia Papagiannaki authored
-
Sofia Papagiannaki authored
Invite view and function had the same name.
-
- 02 Apr, 2013 1 commit
-
-
Kostas Papadimitriou authored
handle new email recipients
-