Move common test code to snf_django.lib.testing
Remove VM/Network DeletedError and BuildingError
Handle these errors explicitly in the code instead of the "api_method" decorator.
Remove ImageBackend NotAllowedError
Refs #3359
Use common 'api_method' decorator to cyclades api
Update Cyclades API methods to use the new common 'api_method'decorator. Also, update all the relevant tests.
Remove dead code
Move cloud faults to 'snf_django.lib.api.faults'
Gather all faults from all synnefo projects into common'snf_django.lib.api.faults'.
Fix typo in network-list command
Use pprint_table in server-show command
Make 'type' parameter for network-create mandatory
Do not use a default value (was "MAC_FILTERED") for "type" parameter of"network_create" API method. The client must explicitly choose thenetwork type.
Delete Image without deleting file from Pithos
Until now, deleting an image resulted in deletion of the correspondingfile from Pithos. Plankton Images are files in Pithos with specialmetadata on the 'plankton' metadata domain. Adding an Image to plankton...
Merge branch 'release-0.13' into develop
Conflicts: snf-astakos-app/astakos/im/messages.py snf-astakos-app/astakos/im/views.py version
Merge branch 'tmp-common-email-recipients' into develop
Merge branch 'feature-astakos-authpolicies' into develop
Conflicts: snf-cyclades-app/synnefo/api/management/commands/flavor-create.py version
Delegate cyclades ui feedback calls to astakos
Mimic pithos app/ui feedback handling to avoid duplicating boilerplatecode.
New settings:CYCLADES_USER_FEEDBACK_URL
Deprecated (removed) settings:FEEDBACK_CONTACTSFEEDBACK_EMAIL_FROM
pool context manager, http pool AssertionError fix
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)...
Create public NIC when creating VM
Until now, a server's public NetworkInterface was not created in the DBuntil the arrival of the message from Ganeti hooks. However, the IPv4address of the NIC is reserved before sending the OP_INSTANCE_CREATEjob to Ganeti....
flavor-create: warn if flavor is deleted
Move UserCache from cyclades.common to lib.astakos
Move UserCache from synnefo.management.common to synnefo.lib.astakos.Also, update ListCommand with 'astakos_url' and 'astakos_token' classattributes, which must be declared only when 'user_uuid_field' is used.
Use --deleted=True|False in flavor-modify
Add --dry-run option to snf-manage network-create
Move common code for mngmt commands to webproject
Move cyclades functions that are useful for all managament commands, likepprint_table or parse_filters, to snf-webproject.
Add ListCommand to be used for all *-list commands
Create a generic ListCommand to be user for all *-list managementcommands. ListCommand handles must tasks that are common to allmanagement commands, like retrieving objects from db, filteringresults and formating output to a pretty table, json or csv....
Add --dry-run option to flavor-create
Add --dry-run option to flavor-create management command. Also, do notcrash if flavor already exists.
Refs #3366
Conflicts: version
Fix bugs in UserCache
Fix an infinite loop bug in UserCache.fetch_names(), and correct the*-list commands to only call fetch_names(), when invoked with the--displayname option.
Conflicts: snf-cyclades-app/synnefo/api/management/commands/cyclades-export-quota.py snf-cyclades-app/synnefo/api/management/commands/network-list.py snf-cyclades-app/synnefo/api/management/commands/server-inspect.py...
Fix log string format
Add negative caching in ImageCache
Refs #3375
Improve server-list usability
Improve perf for snf-manage cyclades commands
When the snf-manage {server, network}-list commands are invoked with the--displayname option, batch the UUID-to-displayname requests to astakos,instead of issuing a request for each (unique) UUID.
pep8 fixes
fix and better document quota export/import
Validate all network-create parameters
Fix bug: Detect malformed network subnet
Fix bug in Cyclades network API. API should raise BadRequest ifspecified network subnet is invalid. Also, do not allow subnets withhost bits set (like 10.0.0.1/28).
pep8 convension to cyclades management commands
Fix testcase-mock
Mocked get_image_dict should contain checksum, needed by archipelago
Remove unused function delete_to_login_service
Add --uuids option to snf-manage cmds
Fixes relave to --uuids option
Add --uuids option to server-list
Move exception handling in get_user()
Cyclades astakos migration command fixes
- Rename to cyclades-astakos-migrate-013- Handle invalid uuids- Some code cleanup
Delegate astakos user catalog call in cyclades
cyclades now serve a delegate view for the astakos /user_catalog apicall. Cyclades UI app should use this endpoint to translate user uuidsto display names.
Astakos endpoint is configurable from the CYCALDES_USER_CATALOG_URL...
Totally remove password from create_instance
Never pass password as an 'osparam' to Ganeti. Always use the vmapi,even for VMs created with server-create management command.
Make server-create work with vmapi and archipelago
Fix bug in networks create
re-raise the exception after rolling back transaction
Fix transaction handling when creating server
Better handling of transactions when creating a server. Commit thecreation of VM in DB, before enqueuing the job to the Ganeti backend.If communication with Ganeti fails, then the VM is deleted from the DB....
Add command for exporting cyclades quota
Add 'cyclades-export-quota' management command, for exporting to a fileVMS_PER_USER and NETWORKS_PER_USER settings, in a format expected by theastakos management command 'user-set-initial-quota'.
Handle transaction manually when creating network
When creating private networks, commit the transaction before sendingthe job to all Ganeti backends. If communication with all Ganetibackends is included in the transaction, notifications from backendsmay be received before the Network entry is created in the DB.
Fix image 'backend_id' for archipelago
Archipelago needs as disk origin, the hashmap of the imageinstead of its url in the backend.
Expose /user_catalogs service api call
Change migration scripts to use this instead of the user api call
Change feedback & user_catalogs astakos && pithos api calls
Merge branch 'latest-quota' into develop
bring quotas, projects, astakos logins, pithos/RADOSinto the new synnefo development workflow
Helper api method to retrieve existing userids
Cyclades astakos migration helper command
Remove unused imports from tests
Refactor tests
Add more tests for db, logic and api
Fix bug in images API
Use image_backend context manager to ensure that ImageBackend is alwaysclosed. list_images method did not close the ImageBackend, whichresulted in depletion of the Pithos backend connection pool.
Refactor some test code
Fix current db, logic and api tests
Fix handling of firewallProfile action
Refs #3097
Fix variable scope
Merge branch 'devel-0.13' into latest-quota
Conflicts: snf-cyclades-app/synnefo/api/servers.py snf-cyclades-app/synnefo/logic/backend.py
Use img['checksum'] as origin disk param.
Use the img['checksum'], instead of img['backend_id'] as the origin diskparamater, as neede by the new archipelago code (and drop support for the oldone).
Introduce network flavors to replace network types
Add tags and mode to network db model. Replace existing type withflavor. Introduce 4 different flavors. Each flavor has mode, link,mac_prefix, tags. Supported flavors are CUSTOM, IP_LESS_ROUTED,MAC_FILTERED, PHYSICAL_VLAN and are hardcoded in db models....
Fix metatada and personality of vmapi
Fix typos
Merge handling of ext_<provider> disk templates
Use helper function for verifying personalities
Merge branch 'origin/devel-0.13' into quota
Conflicts: snf-cyclades-app/synnefo/api/servers.py
Fix wrong setting
PUBLIC_ROUTED_USE_POOL has been renamed to PUBLIC_USE_POOL
Fix bugs from merging
Merge branch 'devel-0.12' into devel-0.13
Conflicts: snf-cyclades-app/synnefo/plankton/backend.py
Issue commissions when creating server/networks
Issue commissions to the Quotaholder when creating a VM or a Network.The VM/Network that is associated with the corresponding serial in DB.Also, the serial is marked as accepted because at the end of thetransaction the resource will be present in the DB. Even in case the...
Refactor some code to API create_server method
Handle Pithos NotAllowedError
Use vmapi when creating servers
Use the vmapi when creating servers. Creete instance RAPI call takes theconfiguration url instead all the image parametere. The id and formatof the image are still passed, just for readability and debugging.
Also renamed params_url to config-url.
Rename nodeapi to vmapi
vmapi improvements
VM creation signal
`synnefo.api.servers.server_created` signal has been created. The signalis send for each created server. The signal sender is the created vm andone argument named `created_vm_params` is passed to the connectedcallback functions.
Add function for pretty printing tables
Implement server-import management command
Implement management command for importing an existing Ganeti instanceinto Synnefo. The owner, flavor and image are specified by command linearguments. Importing will fail if the instance has NICs connected to...
Fix HTTP code when adding NIC to inactive network
Add --filter-by option to *-list commands
Add --filter-by option to server-list, network-list and flavor-listmanagement commands. The value of this option is a comma-seperated listof key 'cond' val pairs and, when used, only the DB entries that satisfy all of...
Sort all API list_* responses
Use the per-user network limit setting
Refactor code in management commands
Improve management commands
Enrich servers-list to list only suspended servers
add new option `--suspended` in servers-list command to filter output suspendedservers
Merge branch 'master' into devel-0.12
Conflicts: snf-cyclades-app/synnefo/api/management/commands/flavor-list.py snf-cyclades-app/synnefo/api/management/commands/server-list.py snf-cyclades-app/synnefo/api/networks.py snf-cyclades-app/synnefo/logic/rapi.py
Import snf-manage network-modify command
Add extra support for changing link and mac_prefix. Also supportreserving and releasing IPs.
Forbid creation of non enabled networks
Use select_for_update for VirtualMachines
Use select_for_update method when accessing VM objects to preventrace conditions. Also move start_action from logic to api.