add attribute description for the machines
on machine's response, as it is with images
improve exception handling on api/handlers
add missing try except blocks on FlavorHandler, ImageHandler, ServerHandler
improve error handling on api/handlers
changed "raise fault.itemNotFound" to "return noContent" on the few cases that it was still in use
update api handlers
fix server's name on the create machine wizzard
update tests
remove legacy code, update RS API spec doc link
use variables on api tests.py
use variables instead of strings, for server/image/flavor ids
Fix handling of flavor disk size in POST /servers
Make the POST /servers handler convert disk size to MBbefore passing it to the RAPI call. The disk field of the Flavormodel is in GB.
log unexpected errors
consolidate jquery event handlers for rangeinputs in the wizard
create vm action selects requested flavor
and display the right values in the wizard confirmation step
add more unit tests
For example:
fix ServerHandler
update list of acceptable statuses of a job with 'queued' and 'waiting'
fixes previous commit
updated ServerActionHandler
Use json.loads(request.raw_post_data) instead of request.post for actionsAlso create VM with name test-server if we are running unit tests(request.META['SERVER_NAME'] == 'testserver')
rewrite create handler docstring
improve error handling when creating instance
improve API compliance of the create instance handler
add unit tests regarding the RS API
added 6 working tests and stubs for 12 more. Two examples:
add size+description as image tags on emitter.py
on OSXMLEmitter
added size and fixed serverId on Images listing
initial create server tests, still some way to go
add api test fixtures and test if the API returns the expected number of servers
initial api tests
extended Flavors listing to return cpu number as well
List available images corrections based on the RS Api
list details for a specified server, following the rackspace api
improved virtual servers filtering . also made a small change regarding /servers
the first change adds field deleted as the filter, while the second one is related with the address tag
addresses and metadata fields on GET /servers/detail
documentation added on api/handlers.py
error message change on ServerHandler
added better error handling on ImageHandler
improvements regarding error handling.
destroy action sets VM._operstate as 'DESTROYED' and does not call rapi.DeleteInstance to destroy the machine
create machine wizzard pass foo data to the serverhandler
start Machine action, for the standard view - initial commit
fixed problem with copyright string
Initial Disk Management API (DM API) implementation
The DM API is accessible under api/v1.0grnet1/ andit extends the Rackspace Cloud Servers v1.0 APIfor the use of Disks. Notable changes:
removed ganeti rapi reference from serverhandlers
action_start() function added. actions are executed from there and success/failure messages are returned for the gui
added TIMEOUT variable on settings.py.dist. You'll have to cp to your settings.py
initial value is 10 seconds. after this time passes, if the ui hasn't received any data, the user is informed (with js alert window at the moment) that thereare network issues (a better message might ask the user to refresh)
added error handling when rapi can't login to the backend. the ui user gets informed
added get_vmid on Image model to return the first VMs id, if any. This was the serverid variable
use rsapi_state instead of operstate
a few changes on the handlers/machines.html in order for the servers to appear
What commit b4141604 should have contained.
The proper contents of commit b4141604 are included here.
changed url for groups from /virtual_machine_groups to /groups
initialization of VirtualMachineGroup and VirtualMachineGroupHandler that lists/creates/deletes VirtualMachineGroups
these are groups of virtual machines for a User
a few changes on the handlers in order to work with the rapi (since we now have access).
removed id_from_instance function from the VirtualMachine model and put it back since it will be needed as a global functionto be imported by handlers and not as a staticmethod of the VM model.
Image implementation of the Rackspace API
added flavors on the RS API and replaced MOCK Flavors
get rid of the MOCK objects and use a database with initial data loaded
added create machine .post-create class on the ui
this is a static link that once pressed sends a HTTP POST request to the ganeti cluster (through api.handlers.ServerHandler.create)and creates a virtual server. This is sort of a mockup behavior, since
reboot and shutdown actions for a machine added on the list machines view
they are connected with the api.handlers.ServerActionHandler.create function that understands the data they send
a few changes regarding the VirtualMachines id and ganeti id.
Initial attempt to implement the ui-->RS API-->rapi architecture
main changes are:
removed reference to aquarium/models to db/models
a few minor changes regarding the naming of metadata, Server Label has become Server_Label (xml naming does not like spaces), also changed vocabs.py and machines.html according to the STATES tuple of vocabs.py
added spinner when loading machines and server sleep, to emulate a real life use case
js api calls
Fix XML output
Breakage introduced with previous commit 5c812d1.
Split some loosely related modules
Allow for .json/.xml suffixes in URLs as per spec
Add our own XML emitter
OpenStack's API XML isn't merely an XML representation of the datastructures and therefore Piston's XML Emitter can't be used as-is.
The XML generation code from OpenStack's Nova is guranteed(?) to becompatible, so re-use their code and adapt it into an Emitter subclass....
Add a custom 404 catch-all in api/
Add error handling on /servers read()
Provide an empty "details" field in faults
To deal with broken clients that expect it to be there.
Add a paginator decorator for limit/offset syntax
This addresses the “Paginated Collections” section of the specificationin a transparent and get-out-of-my-way way.
The functionality is absolutely needed to signal the stop of the list inthe CloudServers Python bindings (at least at the moment).
Add an initial implementation of API's /servers read()
Fix authentication handler challenge() for servers API
Fix URL path for API version handler
Fix some trailing-slash breakage, OS-API is explicit about that
Convert faults to return an Exception subclass
Piston's rc from which fault is modeled doesn't do that; however, weprefer doing things the Django (rather than the Piston) way and makefaults be an Exception subclass.
Piston may not do that but it actually gives us all the tools to do it,...
Add Limit handler
Be more explicit about ServerHandler's allowed_methods
Add Shared IP Groups handler
Add backup schedule handler
Add Iimage handler
Add Flavor handler
Initial commit