| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / api / @ 9835a70d

History | View | Annotate | Download (6.9 kB)

# Date Author Comment
8f335041 11/08/2013 05:19 pm Christos Stavrakakis

cyclades: Handle 'drained' flag of networks

  • Export 'SNF:DRAINED' status for drained networks.
  • Do not allow creation of new ports in drained networks.
  • Do not allow allocation of new IPs in drained networks.
8d5795b4 11/06/2013 02:00 pm Christos Stavrakakis

Cyclades: Rename 'Can not' to 'Cannot' to all msgs

7421d45e 11/01/2013 12:55 am Christos Stavrakakis

cyclades: Add 'SNF:floating_ip_pool' to networks

Extend network API methods to include the 'SNF:floating_ip_pool'
attribute which indicates whether floating IP can be allocated from the
network or not. Trying to allocate a floating IP from a network which is...

a96e84cf 10/10/2013 08:08 pm Christos Stavrakakis

cyclades: Fix code for networks logic and API

95a213d4 10/10/2013 04:46 pm Christos Stavrakakis

cyclades: Fix indentation, PEP8 and wrong imports

0baa1e3d 10/10/2013 12:40 pm Build Bot

Integrate /networks API call

c988fcca 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Change format of 'attachment' attribute

Change the format of the 'attachment' attribute. Until now, each
attachment had an identifier of the form 'nic-$vm_id-$nic_id'. This
commit changes the identifier to just '$nic_id', since from now on
is unique for the lifetime of a NIC.

6b256427 10/01/2013 06:56 pm Christos Stavrakakis

Request Django=>1.4, <1.5

Drop support for Django 1.2. Remove compatibility code that were used in
order to support Django 1.2 and 1.4. Finally update django documentation
link in the docs.

0a70d2c5 10/01/2013 06:16 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.8' into develop

Merge hotfix-0.14.8 which ports Synnefo to wheezy and Django 1.4.5


a1d0f147 09/27/2013 10:49 am Christos Stavrakakis

cyclades: Remove commit_manually decorator

Replace commit_manually decorator with commit_on_success. Since network
is no longer created in DB in the API request, the manually decorator is
no longer needed.

a6b17d33 09/24/2013 05:16 pm Christos Stavrakakis

wheezy: urls module doesn't export defaults

b6bc4afa 07/07/2013 03:04 pm Christos Stavrakakis

cyclades: Common filtering based on changes-since

Add 'filter_modified_since' function in snf_django api utils, for
parsing 'changes-since' HTTP parameter and filter the DB objects that
are updated after that date. Otherwise the deleted objects are returned.

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

cyclades: Separate logic for networks from API

Remove code handling networks from network API views to logic.networks

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...

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...

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

cyclades: api_method_not_allowed typo's

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.

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

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

cyclades: Fixes relevant to lazy networks

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...

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...

05d401cf 04/08/2013 11:06 am Christos Stavrakakis

Remove VM/Network DeletedError and BuildingError

Handle these errors explicitly in the code instead of the "api_method"

b3fd98ae 04/08/2013 11:06 am Christos Stavrakakis

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.

bd40abfa 04/08/2013 11:06 am Christos Stavrakakis

Move cloud faults to 'snf_django.lib.api.faults'

Gather all faults from all synnefo projects into common

4e1133ab 04/02/2013 01:49 pm Christos Stavrakakis

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 the
network type.

939d71dd 03/21/2013 05:05 pm Christos Stavrakakis

Create public NIC when creating VM

Until now, a server's public NetworkInterface was not created in the DB
until the arrival of the message from Ganeti hooks. However, the IPv4
address of the NIC is reserved before sending the OP_INSTANCE_CREATE
job to Ganeti....

9ae613af 02/22/2013 04:38 pm Christos Stavrakakis

Validate all network-create parameters

d368ec0c 02/20/2013 06:54 pm Christos Stavrakakis

Fix bug: Detect malformed network subnet

Fix bug in Cyclades network API. API should raise BadRequest if
specified network subnet is invalid. Also, do not allow subnets with
host bits set (like

e440e835 02/15/2013 02:52 pm Christos Stavrakakis

pep8 fixes

e7a8d451 02/13/2013 05:29 pm Christos Stavrakakis

Fix bug in networks create

re-raise the exception after rolling back transaction

d4993f77 01/31/2013 03:24 pm Christos Stavrakakis

Handle transaction manually when creating network

When creating private networks, commit the transaction before sending
the job to all Ganeti backends. If communication with all Ganeti
backends is included in the transaction, notifications from backends
may be received before the Network entry is created in the DB.

b7d38981 12/04/2012 04:51 pm Dimitris Aragiorgis

Introduce network flavors to replace network types

Add tags and mode to network db model. Replace existing type with
flavor. 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....

77f45438 11/26/2012 12:38 pm Christos Stavrakakis

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 the
transaction the resource will be present in the DB. Even in case the...

cd2b0bf5 11/12/2012 04:59 pm Christos Stavrakakis

Sort all API list_* responses

b10aa469 11/09/2012 06:15 pm Christos Stavrakakis

Use the per-user network limit setting

6639a243 11/08/2012 06:19 pm Christos Stavrakakis

Merge branch 'master' into devel-0.12


17600d55 11/08/2012 12:02 pm Christos Stavrakakis

Forbid creation of non enabled networks

d1b1e683 11/06/2012 01:30 pm Dimitris Aragiorgis

PUBLIC_ROUTED minor changes

Do not allow api to create public networks and type other


Let synnefo do IP pool management only if network is private or...

17c2ed57 11/06/2012 12:50 pm Christos Stavrakakis

Fix HTTP response code when refusing action

Return Forbidden(403) instead of Unauthorized(401) when refusing a
requested action, because the VM is suspended or the resource is public.
Unauthorized should be used only when authentication is required and has...

e221ade2 11/01/2012 01:24 pm Christos Stavrakakis

Do not allow any API action on suspended VMs

Do not allow any modification of any administratively suspended VM through the

22a9959d 10/30/2012 12:49 pm Christos Stavrakakis

Do not allow actions to deleted networks

5e1d07d4 10/29/2012 05:14 pm Christos Stavrakakis

Return ServiceUnavailable when pools are depleted

Return ServiceUnavailable, instead of OverLimit, when pools of bridges,
mac-prefixes or IPs run out of resources.

3e316e90 10/11/2012 12:07 pm Christos Stavrakakis

Catch OverLimit error in network create

0c37a721 10/03/2012 01:39 pm Christos Stavrakakis

Change logging levels

bf5c82dc 10/03/2012 01:09 pm Christos Stavrakakis

Add extra logging

d2e73c0c 09/27/2012 03:59 pm Christos Stavrakakis

Fix race conditions when updating network objects

Use for_update() object manager in order to exclude race conditions
when updating network objects.

af6a3bc5 09/19/2012 01:16 pm Christos Stavrakakis

Unique mac-prefix only for mac-filtered networks

03992c72 09/19/2012 01:16 pm Christos Stavrakakis

Refactor bridge and mac-prefix pool tables

Redesign the implementation of pools and map mac-prefix and bridge pools
to that design.

Each pool type is mapped to a table in the database, and each row of
that table is a pool of that type. All pool tables must contain the...

7cfbbf32 09/07/2012 05:36 pm Christos Stavrakakis

New method for creating BackendNetwork entries

Create a new method to the Network model, in order to create the
BackendNetwork entries tha correspond to this network. Also remove
the custom save method, since when multiple public network will be
supported, we want them to be correlated with specific backends.

7fede91e 09/07/2012 05:36 pm Christos Stavrakakis

Implement multiple public networks

Implement multiple public networks in order to support:
- different public networks per backend
- non-consecutive IP ranges in each backend

To support this, public networks are treated different from private
ones. Namely, they are correlated with one backend (and so have...

b14725eb 09/07/2012 05:36 pm Christos Stavrakakis

Do not allow creation of two big/small networks

- Networks smaller than /29 are not supported in Ganeti.
- Big networks will result in degraded performance in Ganeti
and DB due to the big reservation map.

3878553d 08/06/2012 11:30 am Kostas Papadimitriou

Networks list api response fix

include deleted networks in reponse if changes-since parameter is set. This
enables ui application to identify deleted networks and remove them from
user interface.

f91dee69 07/27/2012 04:20 pm Christos Stavrakakis

Fix bug in creating network

Exclude deleted networks.

f4a66897 07/27/2012 03:40 pm Christos Stavrakakis

Limit allowed private networks per user

1cf6ac86 07/27/2012 02:57 pm Christos Stavrakakis

Store action when creating a network

3165f027 07/27/2012 02:57 pm Christos Stavrakakis

Implement MAC Prefix Management

In order to guarantee uniqueness of MAC address accross all backends,
synnefo assignes a unique mac prefix to each network in each backend.

A mac-prefix of 20 bits, which is picked from the MacPrefixPool, is
assigned to each Network. The mac-prefix of the network in each...

6eed1ede 07/23/2012 11:49 am Christos Stavrakakis

Limit allowed network size

Limit the size of networks that users can create, since big IP
pools can have negative impact on performance. Allowed network
size is controled by 'MAX_CIDR_BLOCK' setting.

4dba0480 07/23/2012 11:49 am Christos Stavrakakis

Add transaction control to API methods

Specially for create_instance and create_network methods, since a
VirtualMachine, Network object is created before sending the request
to the backend.

cc3f266e 07/23/2012 11:49 am Christos Stavrakakis

Add support for IPv6

- Extend the Network model with fields for holding the IPv6 subnet and
- Update network API methods.
- Modify ganeti hooks to return IPv6 address for all network interfaces.
IPv6 is now derived from the IPv6 subnet of the network in Ganeti,...

6dd70a5c 07/23/2012 11:49 am Christos Stavrakakis

New management command for creating a network

Create a management command for creating networks. Also remove
the initial_data.json, since it is currently not necessary.

839e2bd0 07/23/2012 11:48 am Christos Stavrakakis

Update network settings

8b2515a9 07/23/2012 11:48 am Christos Stavrakakis

Filter deleted entries when changes-since is used

Modify list_networks and list_servers to filter deleted entries when
if-modified-since HTTP header is used, because deleted entries can be
updated after deletion through the reconciliation mechanism.

87994836 07/23/2012 11:43 am Christos Stavrakakis

Handle bridge/mac-prefix pool exhaustion

Raise Overlimit exception when either bridge or mac-prefix pool
is exhausted. Also prohibit public network creation.

0196d9a3 07/23/2012 11:43 am Christos Stavrakakis

Add dirty bit to NetworkInterface

Extend NetworkInterface model with a dirty bit, indicating whether
the index of the NIC is consistent with the one in Ganeti. This flag is
set when deleting a NIC, and is switched off after processing the
notification from Ganeti. Removing a NIC with the dirty bit on is not...

08b079e2 07/23/2012 11:42 am Stavros Sachtouris

Update servers/networks responses for new API

- Reponses for servers and netowrks details (list or solo) are now
consistent to recent backend changes.
- Methods get_nic_from_index and construct_nic_id have been created
- Syntax for nic removal from network/vm has been adjusted

b9a0b3d5 07/23/2012 11:42 am Stavros Sachtouris

When creating network, the label subnet can now be cdir in the json request

04fe9a86 07/23/2012 11:39 am Christos Stavrakakis

Fix bug in networks api

5061546f 07/23/2012 11:39 am Christos Stavrakakis

Temporary API modification for new style networks

ce55f211 07/02/2012 08:25 pm Kostas Papadimitriou

Simple per user quota mechanism for networks/vms

- New dict setting VMS_USER_QUOTA to allow setting per user quota
(overrides MAX_VMS_PER_USER setting)
- Private networks quota mechanism (based on MAX_NETWORKS_PER_USER and

4b3b8688 02/24/2012 05:51 pm Giorgos Verigakis

Use lib.astakos instead of our own middleware

2035039b 02/24/2012 05:49 pm Giorgos Verigakis

Switch to the logging middleware

cc875294 02/02/2012 05:10 pm Giorgos Verigakis

Merge remote-tracking branch 'origin/master' into astakos-integration


9c0ac5af 01/30/2012 06:55 pm Kostas Papadimitriou

Renamed snf-app to snf-cyclades-app