Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / api @ 2cd55da6

# Date Author Comment
816d7588 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Choose floating-ips when creating server

Extend POST /servers API call, to take an optional attribute
'floating_ips', which is a list of floating IP addresses. The server
will have one NIC for each of this addresses after the
'DEFAULT_INSTANCE_NETWORKS' and before any private networks that the...

9115d567 07/02/2013 12:31 pm Christos Stavrakakis

Distinquish between networks and Floating IP pools

Extend Network model with the 'floating_ip_pool' boolean field, to
indicate whether a Network can be a floating IP pool or not. Networks
that are floating IP pools must exist in all Backends, and so
'snf-manage backend-add' should try to add them....

64cdd31b 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Add ip pool option to network-create cmd

Add '--floating-ip-pool' option to 'network-create' management command.
Networks that have this option set must be created to all Ganeti
backends.

f8675683 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Various fixes regarding floating IPs

Fix some issues regarding floating ips introduced by rebasing branch.

2cd55da6 07/02/2013 12:31 pm Christos Stavrakakis

Fixes to tests

e57893cd 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Do not delete networks with floating IPs

Forbid network deletion in case the network has allocated floating IPs,
no matter whether they are used by instances or not. Update
'allocate_floating_ip' API method, to take exclusive lock on network
before reserving a floating IP, to avoid race condition between deleting...

9e8be4fb 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Auto allocate a floating IP

Make 'pool' attribute of POST /os-floating-ips request optional. If
attribute is missing, the server will allocate a floating IP from one of
the available public networks.

cb66110b 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Add network policy at server create

Add 'DEFAULT_INSTANCE_NETWORKS' setting that can be used by the
administrator to define the list of networks that each server that is
created must be connected to. Each created VM will have a NIC connected
to each of these networks. This settings can include a list of network...

a95c82a9 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Add tests for add/remove Floating IP

a3d99af0 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Reserve a specific floating IP

Add extra optional 'address' attribute, in POST /os-floating-ips/
request, to allow a user to reserve a specific floating IP. This request
will fail if the user tries to allocate an IP address that is used by
anothers user VM (it will succeed if they address is already used by...

72dea98f 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Do not release floating IPs

Update 'release_instance_nics' backend function which is called to
process NIC modifications in the Ganeti backend, to not return a
IPv4 address back to pool if this address is a floating IP.

5ec446aa 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Add and remove networks from backends

Extend 'snf-manage network-modify' command with '--add-to-backend' and
'--remove-from-backend' options, to create and remove an already created
public network from a Ganeti backend.

8b41683a 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Make Floating IPs a quotable resource

Add 'cyclades.floating_ip' to quotable resources. Update helper
functions and tests to include this resource.

59183afc 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Implement /os-floating-ips API

Extend Cyclades API with /os-floating-ips endpoint. The API implements
the following calls:

  • GET /os-floating-ips: List reserved floating IPs
  • POST /os-floating-ips: Allocate a floating IP
  • GET /os-floating-ips/ip_id: Show information about a floating IP...
acda838e 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Add tests for floating-ips API

7d368e73 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Implement /floating-ip-pools API

Add Compute OS API extension /floating-ip-pools. This API implements
only the GET /floating-ip-pools, which returns the list of available
Floating IP pools. Currently, these pools are the public networks.

9ba6bb95 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Extend /servers with floating IP actions

Extend '/servers/action' API endpoint, to support 'addFloatingIP'
and 'removeFloatingIP' actions.

41a7fae7 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Major refactor to api and logic apps

Major refactor to cyclades api and logic apps that removes most code
from the api views and moves it to logic app, so that the same logic
code can be used by different apps (e.g. EC2 API). Code is moved into...

34c03a51 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Handle 'EmptyPool' in util method

Refactor cyclades code to handle 'EmptyPool' exception in
'get_network_free_address' function.

1af851fd 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Implement resize action API call

Implement resize API call, which is a POST at
/servers/<server_id>/action' with body: {"resize": {"flavorRef": <flavor_id>}}

The resize can only be performed if the disk size and disk template of
the new flavor are the same with the old one, and if the VM is in...

adc82764 06/28/2013 10:38 am Christos Stavrakakis

cyclades: Fix --image-name option in server-list

c4b059b1 06/28/2013 09:47 am Stratos Psomadakis

Fix regressions in snf-manage list commands

40d53b77 06/19/2013 11:07 am Christos Stavrakakis

cyclades: Fix deadlock when creating servers

Fix deadlock between snf-dispatcher and backend allocator, by making
snf-dispatcher take an exclusive lock to the backend which hosts the vm,
before trying to get the exclusive locks to the IP pools in order to...

fe7b1d66 06/17/2013 05:41 pm Christos Stavrakakis

cyclades: Implement show extension API endpoint

Dummy implementation of /extensions/<alias> endpoint that always returns
404.

6966e8df 06/17/2013 05:00 pm Christos Stavrakakis

cyclades: Implement /extensions API endpoint

c0720b78 06/17/2013 01:35 pm Kostas Papadimitriou

cyclades: api_method_not_allowed typo's

16437e4d 06/17/2013 01:35 pm Kostas Papadimitriou

cyclades: Test invalid http method endpoint calls

c25cf3ea 06/17/2013 12:58 pm Christos Stavrakakis

cyclades: Sync API tests with latest API changes

73fbaad3 06/14/2013 06:11 pm Christos Stavrakakis

cyclades: Fix typo in links

27e57c27 06/14/2013 03:54 pm Christos Stavrakakis

cyclades: Add 'links' to images API

1b696c26 06/14/2013 03:52 pm Christos Stavrakakis

cyclades: Add 'links' to compute endpoints

Add 'links' attribute to API responses for servers, networks, flavors
and images endpoints.

936e0be3 06/14/2013 03:52 pm Christos Stavrakakis

cyclades: Add 'user_id' and 'tenant_id' to API

Add 'user_id' to API responses, and add a dummy 'tenant_id' to be equal
with the 'user_id'. Also always include metadata.

1f638a85 06/14/2013 03:52 pm Christos Stavrakakis

cyclades: Add 'addresses' to servers API response

f8352d29 06/14/2013 03:52 pm Christos Stavrakakis

cyclades: Make servers response compatible with OS

b2222a7f 06/13/2013 05:10 pm Christos Stavrakakis

cyclades: Pass disk origin for all 'ext' flavors

4a8667dc 06/12/2013 05:33 pm Christos Stavrakakis

cyclades: Implement /admin/stats API call

Implement API call to server statistics about servers and networks.

a3accf03 06/12/2013 03:36 pm Georgios D. Tsoukalas

cyclades: add tests for 400 on wrong Compute paths

269ac8de 06/12/2013 02:28 pm Christos Stavrakakis

Ensure we return cloud faults under any API prefix

a26e5a4d 06/11/2013 06:25 pm Georgios D. Tsoukalas

cyclades: fix URLs in compute/servers tests

7d2fdab9 06/11/2013 06:10 pm Georgios D. Tsoukalas

cyclades: fix URLs in compute/networks tests

dc99330c 06/11/2013 05:55 pm Georgios D. Tsoukalas

cyclades: fix URLs in compute/images tests

a28c5998 06/11/2013 04:47 pm Georgios D. Tsoukalas

cyclades: fix URLs in compute/flavors tests

2af5dc96 06/11/2013 03:55 pm Georgios D. Tsoukalas

cyclades: fix compute api /versions

18c4414d 06/07/2013 03:15 pm Giorgos Korfiatis

cyclades: Rename service token

Rename CYCLADES_ASTAKOS_SERVICE_TOKEN to CYCLADES_SERVICE_TOKEN for
uniformity.

7103bed5 06/05/2013 03:24 pm Georgios D. Tsoukalas

cyclades: rename type 'cyclades_vmapi' to 'vmapi'

2bf7498b 06/04/2013 07:14 pm Georgios D. Tsoukalas

cyclades: compute version v1.1 -> v2.0 in URLs

b70c0e29 06/04/2013 07:14 pm Georgios D. Tsoukalas

cyclades: fix syntax error in service list

43d9e5f4 06/04/2013 05:48 pm Giorgos Korfiatis

cyclades: Fix syntax errors in resource definition

47d421ae 06/04/2013 05:31 pm Georgios D. Tsoukalas

Incorporate all resources into service definitions

- Add 'service_origin' key in resources, as the normative name of
the service that exported it.
- Keep resources backwards compatible, export-resource-service
reads resources from the service list.

125a1cee 06/04/2013 02:15 pm Georgios D. Tsoukalas

cyclades: plankton/image version 'v1' -> 'v1.0'

beb6bb20 06/03/2013 06:12 pm Giorgos Korfiatis

cyclades: Remove obsolete delegate

Also remove setting UI_ACCOUNTS_API_URL

b55b9692 06/03/2013 02:09 pm Giorgos Korfiatis

common: Export only services specified as public

Employ helper function `filter_public' in service-export-* commands.
Also set `pithos_ui' service to non-public and clear version of
`astakos_ui'.

c2873a91 06/03/2013 11:50 am Georgios D. Tsoukalas

cyclades: add service-export-cyclades command

4080a1df 06/03/2013 11:50 am Georgios D. Tsoukalas

service catalogs: autofill endpoints from BASE_URL

efb00000 06/03/2013 11:50 am Georgios D. Tsoukalas

cyclades: add service catalog module

3ab15f84 06/03/2013 11:50 am Georgios D. Tsoukalas

cyclades: initialize settings from service catalog

b47b110d 06/03/2013 11:50 am Kostas Papadimitriou

cyclades: Remove userdata api from ui prefix

- Individualize userdata api by placing module under synnefo namespace and
urs under it's own USERDATA_PREFIX

e3ff6830 06/03/2013 11:49 am Georgios D. Tsoukalas

make synnefo URLs consistent and configurable

https://service.deployment.vendor.tld/service-base/api-prefix/hard/path |___________________________________| |__________| |________| |_______|
BASE_HOST BASE_PATH PREFIX Hardcoded...

3f1bee22 06/03/2013 11:48 am Georgios D. Tsoukalas

cyclades: remove all csrf_exempt usage.

The csrf middleware is not to be installed with cyclades,
therefore there is no need to use csrf_exempt.

6dafedf6 05/31/2013 05:12 pm Christos Stavrakakis

cyclades: Add 'drained' flag to Network

Extend Network model with the 'drained' attribute, to indicate whether a
network should be used in public IP allocation when creating servers.
This option is only useful for public networks.

8a992938 05/28/2013 01:22 pm Christos Stavrakakis

cyclades: Rename meta to metadata at Cyclades URLs

For compatibility with OpenStack Compute API v2, rename 'meta' to
'metadata' to Cyclades API URLs. Specifically, to the following ones:

  • /servers/<server-id>/meta
  • /servers/<server-id>/meta/<key>
  • /images/<image-id>/meta...
5029ff36 05/28/2013 01:22 pm Christos Stavrakakis

cyclades: Remove "values" term from API

For compatibility with OpenStack Compute API v2, we remove the
term 'values' from all JSON requests and responses.

Refs #3768

e13aeb09 05/28/2013 01:22 pm Christos Stavrakakis

cyclades: Remove 'Ref' suffix from servers API

Rename 'flavorRef' to 'flavor' and 'imageRef' to 'image', to responses of
/servers API. 'flavorRef' and 'imageRef' are still preserved to to request
parameters of POST /servers.

Refs #3768

2d04422f 05/28/2013 01:22 pm Christos Stavrakakis

cyclades: Update tests

Update tests to use OpenStack Compute API v2.

Refs #3768

a333c901 05/28/2013 01:22 pm Christos Stavrakakis

cyclades: Rename 'cpu' to 'vcpus' to flavor API

Rename attribute of GET /flavors response, from 'cpu' to 'vcpus'.

Refs #3768

d3e3ad5d 05/24/2013 04:30 pm Christos Stavrakakis

cyclades: Always add attachments to server info

Update /servers API, to include attachments to /servers responses,
even if the server has no NICs.

ac47eef6 05/24/2013 04:15 pm Christos Stavrakakis

cyclades: Fix bug in network test

052ef3b9 05/23/2013 12:53 pm Christos Stavrakakis

cyclades: Fix bug in network-modify management cmd

Use 'parse_bool' function to parse '--dhcp' option. Also, include
'dhcp' to default columnds of 'network-list' command.

bcd80cd9 05/16/2013 06:30 pm Christos Stavrakakis

cyclades: Move common code to seperate function

Move common between API method and management command for creating a
server to a separate function.

eec66d97 05/16/2013 06:30 pm Christos Stavrakakis

cyclades: Fix bug in flavor-modify command

Fix bug in flavor-modify command, which resulted in flavors being always
deleted. Deleted option must be parsed to bool, otherwise is always
True.

d2c9adac 05/15/2013 06:36 pm Christos Stavrakakis

Use custom method for joining urls

Implement 'join_urls' method for joining a base URL with a path,
without worrying about redundant or missing "/". Do not use
'urlparse.urljoin', since it has different semantics.

c6c889f7 05/14/2013 02:09 pm Christos Stavrakakis

cyclades: Various fixes to tests

5b0832fc 05/14/2013 01:24 pm Christos Stavrakakis

cyclades: Fix stale 'DeletedError' exception

a5781130 05/14/2013 01:24 pm Christos Stavrakakis

cyclades: Fix typo in comment

27cda06b 05/14/2013 01:24 pm Christos Stavrakakis

cyclades: Fixes relevant to lazy networks

b471b597 05/14/2013 01:24 pm Christos Stavrakakis

cyclades: Fix bug in management command

Do not try to issue commission for networks without user (e.g. public
networks), when deleting them.

99af08a4 05/13/2013 12:38 pm Christos Stavrakakis

cyclades: Implement lazy networks

Implement "lazy networks", which are not created to all Ganeti backends
upon creation, but only when an instance that resides in a Ganeti is
connected to that network.

Update 'create_network' to create the Network object in DB without...

47b8d4b1 05/13/2013 12:15 pm Christos Stavrakakis

Merge branch 'feature-quotas' into develop

Conflicts:
docs/dev-guide.rst

c34b2908 05/13/2013 12:06 pm Christos Stavrakakis

cyclades: add commissioning to create/remove cmds

Update create/remove management commands to issue commission when
needed.

79b5d61b 05/10/2013 12:45 pm Sofia Papagiannaki

astakos: WIP move all api calls under ``/astakos/api``

Refs: #3340

cfb0ff80 05/09/2013 02:54 pm Constantinos Venetsanopoulos

Merge branch 'feature-api-docs' into develop

Minor Conflict:
docs/cyclades-api-guide.rst

426e1fb9 05/02/2013 04:36 pm Kostas Papadimitriou

cyclades ui: Expose and use the new astakos quota api

- Removed /userdata/quota view in respect of astakos quotas api delegate
views served in the same urls used by astakos api (/astakos/api/quotas,
/astakos/api/resources). Base url is configurable using the...

2c2ccd2d 05/01/2013 02:19 pm Giorgos Korfiatis

cyclades: Fix import of urlparse

07419e58 04/30/2013 06:23 pm Christos Stavrakakis

Fix typo in network-list command

30096a2e 04/30/2013 05:06 pm Christos Stavrakakis

cyclades: Remove obsolete code for static quotas

Remove the following obsolete settings, since their usage is covered
by Quotaholder:
- MAX_VMS_PER_USER
- MAX_NETWORKS_PER_USER
- VMS_USER_QUOTA
- NETWORKS_USER_QUOTA

Also remove 'cyclades-export-quota' management command.

2509ce17 04/30/2013 05:05 pm Christos Stavrakakis

cyclades: refactor code relative to commission

Refactor Cyclades code that handles commissioning with Quotaholder. This
commit removes the 'uses_commission' decorator. Instead it introduces
the 'issue_and_accept_commission' function that is responsible for...

184a2a8c 04/30/2013 05:05 pm Christos Stavrakakis

Mock quotaholder for Cyclades tests

Create 'mocked_quotaholder' context manager to bypass commission and use
it in Cyclades tests. Also this commit does some various fixes to other
tests.

7907af91 04/30/2013 05:05 pm Christos Stavrakakis

Restore quotas if enqueuing job to Ganeti fails

When creating a server, we commit the VM model in DB and reserve the
corresponding quotas in Quotaholder before enqueuing the
OP_INSTANCE_CREATE job (because messages from dispatcher may arrive
before committing). In case enqueuing job to Ganeti fails we must...

629acc65 04/30/2013 05:04 pm Giorgos Korfiatis

cyclades: Use astakosclient for quotas and commissions

6e27e449 04/30/2013 05:03 pm Christos Stavrakakis

cyclades: remove redundant settings

Remove 'CYCLADES_USER_CATALOG_URL' and 'CYCLADES_USER_FEEDBACK_URL'
settings, since both of them can be derived from 'ASTAKOS_URL' setting.

3fff9189 04/30/2013 04:59 pm Christos Stavrakakis

cyclades: fix bug in server-create command

Make --flavor-id mandatory in 'snf-manage server-create' management
command.

eefb7355 04/30/2013 04:59 pm Christos Stavrakakis

cyclades: Require user when creating private net

Update 'network-create' management command, to require an owner when
creating a private network.

fa8c2506 04/29/2013 04:24 pm Christos Stavrakakis

cyclades: Fix typo in create_server

State of public NIC should be 'BUILDING'

85919a0f 04/25/2013 04:14 pm Christos Stavrakakis

Fix deadlock when creating server

Fix deadlock when creating a server that was introduced by commit
501053a. Allocating the public IP in the same transaction with creating
the server resulted in a deadlock with backend allocator, because
inserting the new VM in the database waits on an exclusive lock of the...

9523af40 04/22/2013 06:04 pm Christos Stavrakakis

Fix help message of management command

501053a1 04/22/2013 01:35 pm Christos Stavrakakis

Cyclades: reserve public IP after commission

When creating a server, do not reserve a public IP address before
issuing commission to quotaholder. This bug resulted in unsynchronized
IP pools between Cyclades and Ganeti, and needed external
reconciliation to synchronize them....

cda71050 04/22/2013 10:10 am Christos Stavrakakis

plankton: Cleanup and improve code

Major refactor in plankton APP and ImageBackend code:
  • Remove unused code
  • Remove 'plankton_method' decorator that added an ImageBackend to
    requests an replace it with 'image_backend' context manager. This
    context manager is responsible for opening and closing connections...
14c94c48 04/22/2013 10:10 am Christos Stavrakakis

Improve performance in listing images

Use '_get_domain_objects' function of Pithos backend, to list all
objects in a 'plankton' domain, instead of looping over all accessible
accounts, containers and objects. This function also returns metadata
and permissions for each object in order to avoid two extra calls for...

baca1e50 04/19/2013 12:27 pm Stavros Sachtouris

Merge branch 'develop' into feature-api-docs

ce6eb935 04/16/2013 04:30 pm Christos Stavrakakis

Fix small typo in import statements