Statistics
| Branch: | Tag: | Revision:

root / api @ c36934a7

# Date Author Comment
c36934a7 03/21/2011 06:09 pm Giorgos Verigakis

Add image and flavor support to REDUX API

Refs #301

7e2f9d4b 03/18/2011 08:04 pm Giorgos Verigakis

Initial commit for API 1.1 REDUX.

- Implemented servers section of the API
- Some new tests

Work in progress.

Refs #301

ab5282e4 03/18/2011 03:00 am Dimitris Moraitis

rename changes_since to changes-since & slider fix - Refs #291 #147

88854f35 03/18/2011 01:59 am Dimitris Moraitis

gt instead of gte condition, refs #291

1a49199e 03/18/2011 01:46 am Dimitris Moraitis

auto-update vm list using changes_since

d19719cd 03/17/2011 09:34 pm Markos Gogoulos

support partial GET data for the virtual machines

use changes_since GET variable to specify a datetime. If ServerHandler
sees a datetime, it will return virtual machines that were updated after
that datetime, and nothing more

964185dd 03/17/2011 01:41 pm Markos Gogoulos

update serveraddress handler

return badRequest if networkId is not public/private

d73d59e4 03/16/2011 02:43 pm Markos Gogoulos

implement ServerAddressHandler

ServerAddressHandler lists server addresses
(all or by Network ID). Functions update/create/delete have been
removed, since they are not implemented by Openstack
(http://docs.openstack.org/openstack-compute/developer/content/ch04s02.html)

76c8e33d 03/16/2011 01:27 pm Markos Gogoulos

changes on ServerHandler and related urls

use attribute networkID, as specified on Openstack
(http://docs.openstack.org/openstack-compute/developer/content/ch04s02.html)

b335768e 03/15/2011 09:33 pm Markos Gogoulos

changes related to Openstack naming

  • change imageId to imageRef
  • change flavorId to flavorRef
  • add updated+created attributes on serverhandlerss response for servers
13b4c540 03/14/2011 02:08 pm Constantinos Venetsanopoulos

Server/Image Metadata Handler additions

Implemented the method for POST requests,
added proper error handling for POST,PUT,DELETE in both
ServerMetadataHandler and ImageMetadataHandler

7abdaf78 03/13/2011 11:34 pm Constantinos Venetsanopoulos

Server/Image Metadata Handler additions

Implemented the method for PUT requests in both
ServerMetadataHandler and ImageMetadataHandler.

2baac7ca 03/11/2011 07:33 pm Markos Gogoulos

add two exceptions on the create server wizard

add DoesNotExist and MultipleObjectsReturned exception check for Flavor/Image,
on the POST data of the create server wizard

36d0df36 03/11/2011 11:00 am Constantinos Venetsanopoulos

Minor fixes in Image/Server Metadata Handler

e9134601 03/10/2011 05:29 pm Constantinos Venetsanopoulos

Server/Image Metadata Handler additions

Implemented the DELETE method in both
ServerMetadataHandler and ImageMetadataHandler.
Plus minor vocabulary fix

60023e66 03/09/2011 05:11 pm Constantinos Venetsanopoulos

Initial Server/Image Metadata handling

Server/Image Metadata handling according to
OpenStack Compute API v1.1. Added:

  • New namespace (api/v1.1/) in api/urls.py
  • ServerMetadataHandler in api/handlers.py
  • ImageMetadataHandler in api/hanlers.py

Some calls return inconsistent data...

935bb83f 03/09/2011 01:38 am Markos Gogoulos

translatable message in case no machine exists

Show the following translatable message in div id emptymachineslist when the
api call returns no servers (user has not created any server, or all of their
servers are deleted)

{% trans "You have no virtual machines! Press Create New to create some!" %}</div>

6b83d46b 03/08/2011 09:57 pm Markos Gogoulos

improve error logging

use log.exception instead of log.error to log error messages
plus the full exception traceback.

72756a5e 03/08/2011 06:36 pm Markos Gogoulos

fix bug on OSXMLEmitter

there was a bug with the XML emitter, unicode strings were casted to str and
that would create problem for unicode with non ascii chars

6130effc 03/08/2011 04:18 am Dimitris Moraitis

fix STOP command name

a8acbbac 03/07/2011 12:32 pm Markos Gogoulos

add virtual machine group tests

added 4 tests regarding VirtualMachineGroups: * testVMgroupList, that tests if the expected list of groups is returned by the API * testVMgroupDetails, that tests if the expected virtual machine group is returned by the API...

59cee068 03/07/2011 12:05 pm Markos Gogoulos

update VirtualMachineGroupHandler

  • add doc string
  • improve exception handling
  • improve xml response
73469364 03/07/2011 11:06 am Markos Gogoulos

changes on update name (and metadata, in future)

  • move update from ServerActionHandler to ServerHandler
  • add testServerMetadata test that edits a server's name via a PUT call.
    At the moment it is not working, due to django-piston and PUT issues
18160782 03/06/2011 04:46 pm Markos Gogoulos

set server's name on ServerActionHandler

use ServerActionHandler.update for http PUT request to change name of a server
If the requested metadata_key is 'name' and the server exists, change the name.
Otherwise return itemNotFound

f3af8b40 03/06/2011 07:37 am Dimitris Moraitis

minor test optimization

34a619ae 03/04/2011 10:06 am Vangelis Koukis

Make owner a not null ForeignKey in VirtualMachine

Make owner a required, not null foreign key in VirtualMachine.
Also fix fixtures and the implementation of POST /servers to include
a proper owner value (everything gets to be owned by the single SynnefoUser...

63597809 03/03/2011 03:57 pm Markos Gogoulos

return progress attribute on servers/images

on images return progress="100" if image.state == ACTIVE, otherwise progress="0"
on servers return progress="100" if server.rsapi_state == ACTIVE, otherwise progress="0"

a0d4498a 03/03/2011 01:09 pm Vangelis Koukis

Remove user field from SynnefoUser, minor fixes

Remove the "user" ForeignKey() field from the SynnefoUser model, since
we do not use Django's auth mechanism.
More specifically: * remove user ForeignKey() field * update fixtures for initial data, DB and API tests...

966899d3 03/02/2011 05:45 pm Markos Gogoulos

add attribute description for the machines

on machine's response, as it is with images

ffffd5fe 03/02/2011 01:08 pm Markos Gogoulos

improve exception handling on api/handlers

add missing try except blocks on FlavorHandler, ImageHandler, ServerHandler

f0858246 03/01/2011 10:16 pm Markos Gogoulos

improve error handling on api/handlers

changed "raise fault.itemNotFound" to "return noContent" on the few cases that it was still in use

01199e0b 03/01/2011 09:44 pm Markos Gogoulos

update api handlers

  • remove power nap code that polls the ganeti job
  • introduce def random_password() that returns a random 8-digit password
    password comprises of upper and lower case ascii chars and numbers
8714499d 03/01/2011 08:48 pm Markos Gogoulos

fix server's name on the create machine wizzard

  • set as vm.name the user requested name
  • send vm.backend_id to Ganeti
54c30633 03/01/2011 08:37 pm Markos Gogoulos

update tests

  • update/extend tests: testServerList, testAPIVersion, testFlavorsDetails, testImagesDetails
ac7188e6 03/01/2011 08:34 pm Markos Gogoulos

remove legacy code, update RS API spec doc link

d2e5f1d1 03/01/2011 05:53 pm Markos Gogoulos

use variables on api tests.py

use variables instead of strings, for server/image/flavor ids

9a6600f3 02/28/2011 02:12 pm Vangelis Koukis

Fix handling of flavor disk size in POST /servers

Make the POST /servers handler convert disk size to MB
before passing it to the RAPI call. The disk field of the Flavor
model is in GB.

2a41dcb0 02/27/2011 10:26 pm Dimitris Moraitis

log unexpected errors

68a49035 02/27/2011 08:35 pm Dimitris Moraitis

consolidate jquery event handlers for rangeinputs in the wizard

71642965 02/26/2011 09:29 pm Dimitris Moraitis

create vm action selects requested flavor

and display the right values in the wizard confirmation step

685ab2b6 02/26/2011 06:25 pm Markos Gogoulos

add more unit tests

For example:

  • testServersDetails that tests if the correct servers details are returned by the API
  • testWrongServer that tests if a wrong server is asked if a 404 is returned
  • testActions (reboot, shutdown, start, delete) that test if each action is run as expected
15e11c78 02/26/2011 06:22 pm Markos Gogoulos

fix ServerHandler

update list of acceptable statuses of a job with 'queued' and 'waiting'

8083c77c 02/26/2011 05:28 pm Markos Gogoulos

fixes previous commit

aa6f51fd 02/26/2011 05:24 pm Markos Gogoulos

updated ServerActionHandler

Use json.loads(request.raw_post_data) instead of request.post for actions
Also create VM with name test-server if we are running unit tests
(request.META['SERVER_NAME'] == 'testserver')

5ad45fcc 02/26/2011 12:52 am Dimitris Moraitis

rewrite create handler docstring

a43b7f70 02/26/2011 12:45 am Dimitris Moraitis

improve error handling when creating instance

285a1fa8 02/26/2011 12:20 am Dimitris Moraitis

improve API compliance of the create instance handler

668c1361 02/25/2011 09:00 pm Markos Gogoulos

add unit tests regarding the RS API

added 6 working tests and stubs for 12 more. Two examples:

  • testServerDetails, which checks if the details of a requested
    server returned by the API are the same as on the database.
    Also expects 200 or 203 as the response status code...
f1684357 02/25/2011 08:56 pm Markos Gogoulos

add size+description as image tags on emitter.py

on OSXMLEmitter

d235fdd2 02/25/2011 08:53 pm Markos Gogoulos

added size and fixed serverId on Images listing

7de0c985 02/25/2011 06:34 pm Dimitris Moraitis

initial create server tests, still some way to go

6781c0d0 02/25/2011 05:21 pm Dimitris Moraitis

add api test fixtures and test if the API returns the expected number of servers

894f6b7e 02/25/2011 04:58 pm Dimitris Moraitis

initial api tests

9625c3b3 02/25/2011 04:08 pm Markos Gogoulos

extended Flavors listing to return cpu number as well

b65b1281 02/24/2011 09:56 pm Markos Gogoulos

List available images corrections based on the RS Api

37a57502 02/24/2011 08:33 pm Markos Gogoulos

list details for a specified server, following the rackspace api

1cea389e 02/24/2011 08:20 pm Markos Gogoulos

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

e336bde6 02/24/2011 01:47 pm Markos Gogoulos

addresses and metadata fields on GET /servers/detail

f5ea24a9 02/21/2011 07:19 pm Markos Gogoulos

documentation added on api/handlers.py

71008c92 02/21/2011 07:02 pm Markos Gogoulos

error message change on ServerHandler

b7a61b3a 02/21/2011 05:31 pm Markos Gogoulos

added better error handling on ImageHandler

c18611c8 02/21/2011 04:04 pm Markos Gogoulos

improvements regarding error handling.

  • added exceptions checking for Ganeti Api Errors and Django ORM
  • vm.start_action(action) is called before any action (reboot, shutdown, start, destroy)
  • code cleanout for the ServerActionHandler
9eef701d 02/21/2011 12:31 am Markos Gogoulos

destroy action sets VM._operstate as 'DESTROYED' and does not call rapi.DeleteInstance to destroy the machine

debeeec9 02/20/2011 01:16 pm Markos Gogoulos

create machine wizzard pass foo data to the serverhandler

e98852ba 02/19/2011 08:11 pm Markos Gogoulos

start Machine action, for the standard view - initial commit

8b78d1a5 02/19/2011 07:40 pm Markos Gogoulos

fixed problem with copyright string

9071888e 02/18/2011 02:24 pm Constantinos Venetsanopoulos

Initial Disk Management API (DM API) implementation

The DM API is accessible under api/v1.0grnet1/ and
it extends the Rackspace Cloud Servers v1.0 API
for the use of Disks. Notable changes:

  • Added the "Disk" model in db/models.py
  • Added the "DiskHandler" in api/handlers.py...
dc8b976e 02/18/2011 12:22 pm Markos Gogoulos

removed ganeti rapi reference from serverhandlers

c21a0a84 02/14/2011 03:57 pm Markos Gogoulos

action_start() function added. actions are executed from there and success/failure messages are returned for the gui

abf90954 02/11/2011 07:59 pm Markos Gogoulos

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 there
are network issues (a better message might ask the user to refresh)

c5e38339 02/11/2011 06:55 pm Markos Gogoulos

added error handling when rapi can't login to the backend. the ui user gets informed

00d83c42 02/11/2011 04:45 pm Markos Gogoulos

added get_vmid on Image model to return the first VMs id, if any. This was the serverid variable

c6959a35 02/10/2011 04:45 pm Dimitris Moraitis

use rsapi_state instead of operstate

12827073 02/09/2011 07:20 pm Markos Gogoulos

a few changes on the handlers/machines.html in order for the servers to appear

d08a5f6f 02/08/2011 11:32 pm Vangelis Koukis

What commit b4141604 should have contained.

The proper contents of commit b4141604 are included here.


d7710a26 02/07/2011 07:56 pm Markos Gogoulos

changed url for groups from /virtual_machine_groups to /groups

a31ff6cb 02/07/2011 05:46 pm Markos Gogoulos

initialization of VirtualMachineGroup and VirtualMachineGroupHandler that lists/creates/deletes VirtualMachineGroups

these are groups of virtual machines for a User

e107ee57 02/03/2011 03:23 pm Markos Gogoulos

a few changes on the handlers in order to work with the rapi (since we now have access).

f5ad2956 02/03/2011 02:40 pm Markos Gogoulos

removed id_from_instance function from the VirtualMachine model and put it back since it will be needed as a global function
to be imported by handlers and not as a staticmethod of the VM model.

166bf271 02/01/2011 10:38 pm Markos Gogoulos

Image implementation of the Rackspace API

b8d16d68 02/01/2011 10:17 pm Markos Gogoulos

added flavors on the RS API and replaced MOCK Flavors

  • also added 2 flavors on the sqlite database
  • plus added Image.description on the Wizard (create new)
2cc9d3a5 02/01/2011 08:58 pm Markos Gogoulos

get rid of the MOCK objects and use a database with initial data loaded

  • added database.sqlite with objects and also oceandata.json that can be used in future to create the database. For now it is not necessary. Just git pull,
    cp settings.py.dist settings.py and you are done. You are using sqlite now! The usual procedure would be to run a manage.py syncdb, to create a database, and then load the data with ./bin/python manage.py loaddata oceandata.json, however this is not needed now...
8400e1a5 01/30/2011 09:29 pm Markos Gogoulos

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

  • it has to be integrated with the wizard form...
d66446ce 01/30/2011 08:38 pm Markos Gogoulos

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

9dbe70f8 01/29/2011 01:43 pm Markos Gogoulos

a few changes regarding the VirtualMachines id and ganeti id.

  • on api/handlers.py : VirtualMachineName function removed (no need to be on the handlers)
  • settings.py.dist: added GANETI_PREFIX_ID
  • db/models.py: added id_from_instance_name function and property ganeti_id on VM models . These are needed to get the Django id...
ccbd9f9b 01/28/2011 11:07 pm Markos Gogoulos

Initial attempt to implement the ui-->RS API-->rapi architecture

main changes are:

  • handlers.py: added function VirtualMachineName that returns the VirtualMachine, given it's id. added some ORM for the server list
    (commented at the moment, uncomment and add the db on settings.py to try it). added delete() on ServerHandler that calls rapi to destroy a machine...
6f6bd1a2 01/26/2011 07:42 pm Markos Gogoulos

removed reference to aquarium/models to db/models

2ed31bce 01/26/2011 04:48 pm Markos Gogoulos

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

38e2c5ed 01/20/2011 02:56 pm Christos Psaltis

added spinner when loading machines and server sleep, to emulate a real life use case

ec06b07c 01/15/2011 07:50 am Dimitris Moraitis

js api calls

93efd593 11/27/2010 04:14 am Faidon Liambotis

Fix XML output

Breakage introduced with previous commit 5c812d1.

5c812d1b 11/27/2010 02:43 am Faidon Liambotis

Split some loosely related modules

c3e8f508 11/26/2010 11:53 pm Faidon Liambotis

Allow for .json/.xml suffixes in URLs as per spec

b9809f7c 11/26/2010 11:33 pm Faidon Liambotis

Add our own XML emitter

OpenStack's API XML isn't merely an XML representation of the data
structures and therefore Piston's XML Emitter can't be used as-is.

The XML generation code from OpenStack's Nova is guranteed(?) to be
compatible, so re-use their code and adapt it into an Emitter subclass....

0be1a55e 11/26/2010 10:54 pm Faidon Liambotis

Add a custom 404 catch-all in api/

909f415b 11/26/2010 10:45 pm Faidon Liambotis

Add error handling on /servers read()

14a6a08f 11/26/2010 10:44 pm Faidon Liambotis

Provide an empty "details" field in faults

To deal with broken clients that expect it to be there.

2c089b77 11/26/2010 10:34 pm Faidon Liambotis

Add a paginator decorator for limit/offset syntax

This addresses the “Paginated Collections” section of the specification
in a transparent and get-out-of-my-way way.

The functionality is absolutely needed to signal the stop of the list in
the CloudServers Python bindings (at least at the moment).

253f0c82 11/26/2010 10:05 pm Faidon Liambotis

Add an initial implementation of API's /servers read()

547ae349 11/26/2010 10:02 pm Faidon Liambotis

Fix authentication handler challenge() for servers API