plankton: Handle a potential 500 error in plankton
cyclades: s/BaseCommand/SynnefoCommand
Replace use of BaseCommand with SynnefoCommand which will convert thearguments/options to unicode objects.
plankton: Fix handling of HTTP headers
Handle properly image properties that are passed through HTTP headers.We convert the request headers to image properties by unquoting them andthen decoding them to Unicode objects using 'utf-8' encoding. Image keys...
cyclades: Make all DB models return unicode repr
cyclades: Replace 'uenc' with 'smart_unicode'
Replace use of 'synnefo.util.text.uenc' function with'django.utils.encoding.smart_unicode'.
'uenc' function depends on the locale category LC_CTYPE, which is notappropriate for Cyclades API. We explicitly use 'smart_unicode' and...
snf_django: Handle unicode errors in JSON bodies
Catch unicode errors when JSON deserializing the body of a request.Also, rename 'get_request_dict' function to 'get_json_body', as it is amore represenative name for what the function is doing.
cyclades: Fix list objects in enforce
Convert set back to list, because the code further down requires anindexable object.
Remove keypath, use common dict operations instead
Replace get_path with dict indexing. Remove unused setting`CYCLADES_CUSTOMIZE_SERVICES' that used set_path. Remove the util/keypath.pymodule.
Replace set_path with defaultdict in quota handling
Revert "common: Do not encode key paths as string"
This reverts commit b10f66b9a20fb9dca0a56c88d5d224f1e3fa25ea.
cyclades: Include project in server management commands
cyclades: Adapt resource reconciliation
Take projects into account when computing resource usage and comparingwith the quotaholder values.
cyclades: Expose user and tenant ID of floating IPs
Include user_id and tenant_id in the API details of a floating IP.
cyclades: Add field project in models
Add field `project' and initialize it to `userid' for all VMs, networks andfloating IPs. This means that all resources are assigned to the owner's baseproject.
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: use project as tenant_id in API
cyclades: Update holdings in tests
cyclades: Enforce quota per project
Take project into account when checking and enforcing quota violations. Addoption to restrict check to a certain project.
common: Do not encode key paths as string
Handle explicitly key paths as lists of keys. This allows the keyto be any python object, as is the case in python dicts.
Provide utility unpack() to convert from a string representation toa list of keys. It assumes that a key is either a string or an integer...
Merge branch 'release-0.15' into develop
Conflicts: snf-deploy/snfdeploy/__init__.py version
cyclades: Fix numerous bugs in plankton views
plankton: Fix wrong import
s/lib/util
plankton: Validate parameters and catch assertions
plankton: Fix storing of image properties
Image properties where stored all together as one metadata (JSON dumpedstring). This caused problems with the maximum allowed length of for ametadata value. This commit fixes this by storing each property as aseparate metadata which is prefixed with the 'PROPERTY_PREFIX'.
plankton: Validate meta key/value length
Fail with BadRequest if length of metadata key or value is not valid.
cyclades: Check if the name of an image is null
cyclades: Stats per backend from API
Extend Cyclades stats API endpoint with the ability to return statsonly for a backend. Also, add option to include image stats or not.
plankton: Check that object is an image
Fix bug that caused Plankton to return Pithos files that were notregistered as images. Plankton did not checked that the requested Pithosobject (UUID or URL) was an Image. This was caused because'get_object_meta' call of PithosBackend returns the common metadata for...
cyclades: Fix typo in tests/networks.py
cyclades: Typo fix in api/networks.py
cyclades: Update api/networks.py and typo fixes
Refs #4979
cyclades: Validate fields of API requests
Make sure that all fields of a request (user input) have a valid type.This commit validates 'ports', 'servers' and 'floating_ips' APIs.
cyclades: Detach serial from resource when resolved
cyclades: Delete unused quota code
cyclades: Update serial only if actually resolved
cyclades: Fix typo
cyclades: Extend flavors with 'allow_create' field
ui: Disable content editing in public key list view
cyclades: Update snf-manage subnet-* commands
cyclades: Fix broken tests
Fix tests that were broken by commit #7ef05bd.
cyclades: Fix quota bug in snf-dispatcher
Clear the 'vm.serial' field after processing a job that was notexpected. When processing such a job, we reject the pending commissionand issue a new one that reflects the unexpected job. However, since wereject the commission that is associated with the 'vm.task_job_id' job,...
ui: Fix super method call
cyclades: Fix corner case in reconciliation
Do not perform reconciliation for building servers that theOP_INSTANCE_CREATE job is completed after quering Ganeti about the stateof servers.
cyclades: Display IPs in stats-cyclades
Display free and total public IPv4 addresses when pretty-printingCyclades stats.
cyclades: Add deleted attribute for changes-since
Extend API response for servers, networks, subnets and floating IPs,to support HTTP 'changes-since' queries.
Catch EOF in astakos/quota commands
Abort operation when raw_input raises an EOFError.
Fix stdout/stderr write in astakos/quota commands
Write actual command output and user prompts to stdout; error and progressmessages to stderr.
ui: Styling for vms in error state in ips/network list view
ui: Improve recurrent api calls throttling
do not trigger faster recurrent intervals when api endpoint does not supportincremental updates (changes-since parameter).
ui: Disable port toggling when no ports available in network view
ui: Hide firewall view in private network ports
cyclades: Fix passing arg shutdown_timeout in logic
cyclades: Set shutdown timeout when enforcing quota
Provide option `--shutdown-timeout' in management command to force a VMshutdown.
ui: Suspended vm feedback overlay description fix
ui: Disable suspended vm actions
ui: Conditionally disable suggested flavors in create wizard
based on user quota limits
helpdesk: Exempt csrf check from helpdesk action views
custom csrf handling is already applied in those views.
Fixes action errors when cyclades are installed along with astakos app whichenables csrf protection middleware.
helpdesk: Handle vm action errors
userdata: Log create/update/delete actions
ui: Optionally group public networks by name
If setting ``UI_GROUP_PUBLIC_NETWORKS`` is set to True, public networks willbe grouped by their name in networks view.
ui: Networks view improvements
- Improve network status styling- Include status styling for drained networks
cyclades: Add shutdown_timeout to server commands
Add support for specifying a timeout when stopping, rebooting ordestroying a server.
Fix error msg
UI: Typo fix in VM diagnostics
Fix an off-by-one-error in VM diagnostics
Conflicts: ci/utils.py version
ui: Public key content styling improvements
userdata: Settings description update
userdata: Improve public key submission
- Validate key submission content size. Maximum allowed content size is configurable in userdata settings (USERDATA_SSH_KEY_MAX_CONTENT_LENGTH).- Return 422 status code on submission validation errors.
userdata: Update unit tests
cyclades: Fix a bug in subnet creation
Since commit ba6ad3460931223d262badebcecbb4124ac136d8 subnets werealways created with an empty name field due to a bug.
cyclades: Fix a bug in check_name_length
Function check_name_length would crash if the input was a unicodestring.
ui: Minor error overlay fixes
set missing overlay titles
ui: Remove needless paragraph from feedback overlay
cyclades: Fix typo in vm state
cyclades: Lock objects in reconciliation
Make reconciliation mechanism take an exclusive lock on objects beforeissuing messages for reconciliation events. This will makereconciliation mechanism more slow, but will ensure correct quotas whenreconciliation is run while the service is online.
cyclades: Fixes causing unsynced quotas
ui: Removed feedback form description
no longer needed since feedback overlay is not manualy triggered any more.
cyclades: Add 'userid' and 'public' to subnets
Extend 'Subnet' model with 'userid' and 'public' attributes. This isrequired in order to avoid an expensive join when listing subnets. Thiscommit also includes a database migration for existing subnets.
cyclades: Add 'ipversion' to IPAddress model
cyclades: Optimize dispatcher DB queries
ui: Do not enforce vm quota decrease on vm removal
ui: Match IP's pane/hover titles
cyclades: Set detail=True by default
cyclades: Properly handle subnet/floating_ip IDs
cyclades: Update help msg on snf-manage commands
cyclades: Exclude users from quota enforcement
cyclades: Limit quota enforcement operations
Add option in enforce-resources-cyclades to specify the maximum number ofoperations to perform per backend.
Also ensure that quota are always checked in the same order.
Fix default values for DB model factories.
cyclades: Comment out unused tests
Security groups are not working yet. Comment out relevant tests.
cyclades: Allow deletion of ports from deleted VMs
Fix corner case where a port seems to be still attached to a VM althoughthe VM has already been deleted.
cyclades: Fix migration file
Fix migration that caused creation of Subnet for networks that did nothad enabled the 'dhcp' option.
cyclades: Do not prefetch related in get()
cyclades: Add datetime fields to Subnet model
Add 'created' and 'updated' datetime fields in Subnet model.
cyclades: Optimize network related DB queries
Use 'prefetch_related' and 'select_related' to optimize DB queries.
cyclades: Fix bugs in port creation