History | View | Annotate | Download (15.6 kB)
Update Copyright for project-related changes
Update Copyright for files merged into develop in 2014 concerning the newprojects mechanism.
cyclades: Assign new resources to a project
Add optional parameter `project' in API calls that create VMs, networks,and floating IPs. If missing, user's base project is assumed (same uuidas the user).
cyclades: Inspect qh NotFound response
Since a user can now specify the project where a resource is assigned,user-provided data do reach the quotaholder. A NotFound response isthus not necessarily an internal error; the user may just not be amember of the input project. Query the quotaholder to find out whether...
cyclades: Reassign resources
Add API calls to assign a VM, network, or floating IP to a new project.
cyclades: Detach serial from resource when resolved
cyclades: Delete unused quota code
cyclades: Update serial only if actually resolved
cyclades: Fixes causing unsynced quotas
cyclades: Fix bugs relative with quotas
Rename 'cpu' and 'ram' resources
Rename CPU and RAM relative resources to avoid data migrations.Specifically, the resources that are renamed are the following:
cyclades: Rename FloatingIP to IPAddress
FloatingIP table has been removed. Instead floating IPs are stored inthe IPAddress table and are distinguished from other IP addresses bythe 'floating_ip' attribute.
cyclades: Generalize issue_and_accept_commission
Use issue_and_accept_commission for any action where one needs toautomatically accept the commission after issuing and committing.
cyclades: Handle qh errors in a context manager
Replace decorator handle_astakosclient_error with a more flexiblecontext manager, AstakosClientExceptionHandler.
cyclades: Change function params indentation
cyclades: Simplify issue_and_accept_commission
Simplify the 'issue_and_accept_commission' function that handledcommissions that should be auto-accepted. Also do not 'reject' theserial, since the resource that corresponds to this serial has alreadybeen committed to DB. Finally, refactor 'floating_ip' code that used this...
cyclades: Issue commission based on action
Make issue_commission() the single point where provisions are computedand the appropriate astakosclient call is issued.
cyclades: Resolve undecided serial in force mode
Reject a serial with pending=True only when we need to force a newcommission on a given resource.
Also improve handling of serial state: make sure pending is set to Falsewhen we decide whether to accept or reject a serial. Mark a serial to...
cyclades: Pass action params in server_command
Commission to be issued depends on extra parameters for some actions,e.g., on the flavor when resizing a vm.
cyclades: Fix commission parameter passing
Propagate `force' and `auto_accept' of handle_resource_commissiondown to issue_commission.
Merge branch 'feature-cyclades-networks' into develop
Conflicts: snf-cyclades-app/synnefo/api/management/commands/server-inspect.py snf-cyclades-app/synnefo/app_settings/urls.py snf-cyclades-app/synnefo/logic/backend.py snf-cyclades-app/synnefo/logic/backend_allocator.py...
Cyclades: Rename 'Can not' to 'Cannot' to all msgs
snf-cyclades-app: Use the new AstakosClient
Change AstakosClient to use ASTAKOS_AUTH_URL as entry point to theAstakos service, instead of ASTAKOS_BASE_URL it was using until now.
Remove ASTAKOS_BASE_URL from Cyclades settings, replace it withASTAKOS_AUTH_URL. Modify Cyclades to determine ASTAKOS_ACCOUNT_URL and...
cyclades: Make API server tests pass
Refactor Cyclades code so that it follows the new models for Networks,Subnets and IPAddresses. This refactor is not complete. Instead is thenecessary refactor for making tests for server API calls succeed.
cyclades: Replace FloatingIP with IPAddress
This commit just replaces all references to FloatingIP objects withreferences to IPAddress object, in order to be able to just load thecode. But the code is left unchanged, so all tests will fail.
cyclades: Helper function for commissioning
Create 'quotas.handle_resource_commission' function for handlingcommissions for VMs and Networks.
cyclades: Add quotas for build server action
cyclades: Add 'name' to all commissions.
Make all quotaholder commissions to have a name. Since, Cyclades doesnot store the association of a commission with a resource, we includethe resource in the commission name.
cyclades: Make Floating IPs a quotable resource
Add 'cyclades.floating_ip' to quotable resources. Update helperfunctions and tests to include this resource.
cyclades: Mark serial as resolved if auto_accept
Modify 'issue_commission' function to mark the QuotaHolderSerial objectas resolved, if auto_accept option is used.
cyclades: Major refactor to api and logic apps
Major refactor to cyclades api and logic apps that removes most codefrom the api views and moves it to logic app, so that the same logiccode can be used by different apps (e.g. EC2 API). Code is moved into...
cyclades: Retry requests to quotaholder
cyclades: Rename service token
Rename CYCLADES_ASTAKOS_SERVICE_TOKEN to CYCLADES_SERVICE_TOKEN foruniformity.
make synnefo URLs consistent and configurable
https://service.deployment.vendor.tld/service-base/api-prefix/hard/path |___________________________________| |__________| |________| |_______| BASE_HOST BASE_PATH PREFIX Hardcoded...
cyclades: Raise 500 for commission errors
Wrap all calls to astakosclient for commissions to raise 500, if anyerror other than QuotaLimit(413) occurs.
cyclades: Rename 'qh_resolve_commissions' function
Rename 'qh_resolve_commissions' function to 'resolve_commissions'.
Cyclades: remove all quotaholder settings
Remove from cyclades all settings that were relative with Quotaholder.Remove CYCLADES_USE_QUOTAHOLDER settings, since Cyclades can not workany more without quotas.Remove CYCLADES_QUOTAHOLDER_URL and CYCLADES_QUOTAHOLDER_TOKEN since...
Varous fixes to cyclades-usage-verify command
Extend 'cyclades-usage-verify' management command to cover the usage of'cyclades-reset-usage' and remove the second one. The new commandreconciles resources(usage) by detecting inconsistencies between theusage of resources in Astakos and Cyclades DB and fixing them by issuing...
cyclades: refactor code relative to commission
Refactor Cyclades code that handles commissioning with Quotaholder. Thiscommit removes the 'uses_commission' decorator. Instead it introducesthe 'issue_and_accept_commission' function that is responsible for...
cyclades: resolve previous commissions
Extend 'issue_and_accept_commission' function to resolve previousunresolved commission, if exists. In order to resolve it, thecommission must not be pending, because if it is there is notenough information to resolve it.
cyclades: Check qh resolve commission response
Check Quotaholder response to see if the commissions were accepted orrejected as requested, or failed for some reason.
Accepting or rejecting a commission will fail if the commission wasalready resolved. Since this is sometimes accepted, like when...
cyclades: Use astakosclient for quotas and commissions
Various fixes to quotas
Move cloud faults to 'snf_django.lib.api.faults'
Gather all faults from all synnefo projects into common'snf_django.lib.api.faults'.
Fix bug in uses_commission decorator
Distinquish between exceptions in the decorated function and exceptionsin accepting/rejecting the commissions. The first one determines whetherserials should be accepted or rejected, while the second one is an error...
Fix+move HTTP quotaholder client in synnefo.lib
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...
correct quotaholder exception imports
Fix bug in DummyQuotaholderClient
DummyQuotaholderClient should count only positive commissions.
Add details to OverLimit exception
pep8 fixes
cyclades: import quotaholder exceptions from kamaki
Because this is where the quotaholder client exceptions come from.
Import quotaholder settings only if needed
Fix renamed setting
cyclades: authenticate to quotaholder with token
- initialize quotaholder client with the token from setting CYCLADES_QUOTAHOLDER_TOKEN
- rename setting USE_QUOTAHOLDER to CYCLADES_USE_QUOTAHOLDER
Use CYCLADES_QUOTAHOLDER_URL
set quotaholder urls
- quotaholder base url is of the form 'http://host/quotaholder/v/'- cyclades setting name set to CYCLADES_QUOTAHOLDER_URL
Add USE_QUOTAHOLDER setting
Add setting indicating whether to use the Quotaholder service oruse the static limits.
Fix imports relative to quotas
Fix quotaholder exception handling
Currently, QuotaholderHTTP returns CallError, with the call_errorattribute indicating the error.
Implement reconciliation for pending quotas
Allocate resources from cyclades entity
Also fix commissioning key
Convert resource sizes in bytes
Rename disk to disk_size
Revert "Rename disk to disk_size"
This reverts commit 2d017fc046194d8316096c56d4a32cdf81ce5fcd.
update to use new quotaholder packaging api
Create quotas module
Create quotas module, containing functions for interacting withthe Quotaholder service.