Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / api @ 55f562a4

# Date Author Comment
55f562a4 01/11/2013 04:35 pm Kostas Papadimitriou

Helper api method to retrieve existing userids

8c165b27 12/14/2012 03:08 pm Sofia Papagiannaki

Merge branch 'devel-0.13' into latest-quota

Conflicts:
snf-cyclades-app/synnefo/api/servers.py
snf-cyclades-app/synnefo/logic/backend.py

e5d15648 12/14/2012 11:42 am Stratos Psomadakis

Use img['checksum'] as origin disk param.

Use the img['checksum'], instead of img['backend_id'] as the origin disk
paramater, as neede by the new archipelago code (and drop support for the old
one).

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

97f9c50c 12/01/2012 04:36 pm root

Fix metatada and personality of vmapi

006c6249 11/30/2012 12:49 pm Christos Stavrakakis

Fix typos

2a599282 11/30/2012 12:20 pm Christos Stavrakakis

Merge handling of ext_<provider> disk templates

6ec4694f 11/30/2012 11:44 am Christos Stavrakakis

Use helper function for verifying personalities

33050118 11/29/2012 03:55 pm Georgios D. Tsoukalas

Merge branch 'origin/devel-0.13' into quota

Conflicts:
snf-cyclades-app/synnefo/api/servers.py

598071fc 11/28/2012 02:16 pm Kostas Papadimitriou

Fix variable scope

8e5067d9 11/28/2012 12:02 pm Kostas Papadimitriou

Fix handling of firewallProfile action

Refs #3097

74459c12 11/27/2012 04:13 pm Christos Stavrakakis

Fix wrong setting

PUBLIC_ROUTED_USE_POOL has been renamed to PUBLIC_USE_POOL

e3187d7a 11/27/2012 04:13 pm Christos Stavrakakis

Fix bugs from merging

b3a77863 11/26/2012 03:07 pm Christos Stavrakakis

Fix bug in images API

Use image_backend context manager to ensure that ImageBackend is always
closed. list_images method did not close the ImageBackend, which
resulted in depletion of the Pithos backend connection pool.

d0e8984d 11/26/2012 12:51 pm Christos Stavrakakis

Merge branch 'devel-0.12' into devel-0.13

Conflicts:
snf-cyclades-app/synnefo/plankton/backend.py

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

dca7553e 11/26/2012 12:36 pm Christos Stavrakakis

Refactor some code to API create_server method

2db7d9df 11/26/2012 12:22 pm Christos Stavrakakis

Handle Pithos NotAllowedError

79b7dbb7 11/23/2012 01:50 pm Christos Stavrakakis

Use vmapi when creating servers

Use the vmapi when creating servers. Creete instance RAPI call takes the
configuration url instead all the image parametere. The id and format
of the image are still passed, just for readability and debugging.

Also renamed params_url to config-url.

027e437a 11/22/2012 02:15 pm Kostas Papadimitriou

Rename nodeapi to vmapi

a9e5e76a 11/22/2012 02:15 pm Kostas Papadimitriou

vmapi improvements

07b73be0 11/22/2012 02:14 pm Kostas Papadimitriou

VM creation signal

`synnefo.api.servers.server_created` signal has been created. The signal
is send for each created server. The signal sender is the created vm and
one argument named `created_vm_params` is passed to the connected
callback functions.

7a0aa449 11/22/2012 01:26 pm Christos Stavrakakis

Add function for pretty printing tables

b344501e 11/22/2012 01:25 pm Christos Stavrakakis

Implement server-import management command

Implement management command for importing an existing Ganeti instance
into Synnefo. The owner, flavor and image are specified by command line
arguments. Importing will fail if the instance has NICs connected to...

57986639 11/15/2012 03:20 pm Christos Stavrakakis

Fix HTTP code when adding NIC to inactive network

bad9404c 11/13/2012 05:54 pm Christos Stavrakakis

Add --filter-by option to *-list commands

Add --filter-by option to server-list, network-list and flavor-list
management commands. The value of this option is a comma-seperated list
of key 'cond' val pairs and, when used, only the DB entries that satisfy all of...

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

b84ed662 11/09/2012 05:32 pm Christos Stavrakakis

Refactor code in management commands

39a6388d 11/09/2012 01:08 pm Christos Stavrakakis

Improve management commands

824bbd37 11/09/2012 12:32 pm Kostas Papadimitriou

Enrich servers-list to list only suspended servers

add new option `--suspended` in servers-list command to filter output suspended
servers

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

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

53b9ba10 11/08/2012 03:58 pm Christos Stavrakakis

Import snf-manage network-modify command

Add extra support for changing link and mac_prefix. Also support
reserving and releasing IPs.

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

Forbid creation of non enabled networks

7f2dbcad 11/07/2012 12:52 pm Christos Stavrakakis

Use select_for_update for VirtualMachines

Use select_for_update method when accessing VM objects to prevent
race conditions. Also move start_action from logic to api.

b49e7db8 11/07/2012 12:49 pm Christos Stavrakakis

Search for jobs if server does not exist

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

PUBLIC_ROUTED minor changes

Do not allow api to create public networks and type other
than PRIVATE_MAC_FILTERED/PRIVATE_PHYSICAL_VLAN.

Rename PUBLIC_ROUTED_USE_POOL setting to PUBLIC_USE_POOL.

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

90b67503 11/06/2012 11:45 am Christos Stavrakakis

Order output of *-list management commands by id

77fccdd4 11/06/2012 11:36 am Christos Stavrakakis

Implement image-list and image-show commands

Implement two new management commands for plankton.
- image-list: lists public images or all images available
to a user
- image-show: displays information about a public image

Also, this commit fixes a bug in server-show, when trying...

3a522cff 11/05/2012 01:55 pm Christos Stavrakakis

Return the VM!

f66d8b04 11/05/2012 09:45 am Christos Stavrakakis

Display VM build percentage in management commands

b74d3b64 11/05/2012 09:14 am Christos Stavrakakis

Allow custom link, mac_prefix in network-create

Add extra command line arguments, to allow the user specify the
link and mac_prefix of the new network if needed.

9f663ec2 11/03/2012 06:04 pm Christos Stavrakakis

Implement server-create management command

5dd9d123 11/02/2012 11:29 pm Christos Stavrakakis

Introduce per-user allocation of VMs to backends

Add BACKEND_PER_USER setting, a mapping from users to backends. This setting
can by used in order to bypass the default backend allocation process, and
allocate all the new VMs of a specific user to a specific Backend.

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

038d6772 10/30/2012 01:00 pm Christos Stavrakakis

Merge branch 'ui-0.11' into devel-0.12

aa8230bd 10/30/2012 12:49 pm Christos Stavrakakis

Include deleted networks in get_flavor_info

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

Do not allow actions to deleted networks

71ec054d 10/30/2012 12:49 pm Christos Stavrakakis

Allow custom link, mac_prefix in network-create

Add extra command line arguments, to allow the user specify the
link and mac_prefix of the new network if needed.

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.

af88de58 10/29/2012 01:12 pm Christos Stavrakakis

Make management commands list non-deleted entries

Modify snf-manage {server, network, flavor}-list to list by default only
non-deleted entries. The `--deleted` flag can be used to also include
deleted ones.

eeffcbea 10/23/2012 04:28 pm Kostas Papadimitriou

Merge branch 'devel-0.12' into ui-0.11

fc1fb924 10/19/2012 04:34 pm Christos Stavrakakis

Cache images in server-list

Use cache in order to speed-up the output of server-list

0e3d0ff0 10/19/2012 04:34 pm Christos Stavrakakis

Reverse --deleted option in server-list

4b8e03e5 10/17/2012 04:17 pm Christos Stavrakakis

Handle every exception in manually transactions

c2d969cb 10/16/2012 10:20 pm Christos Stavrakakis

Fix typo

87920bc3 10/16/2012 08:50 pm Christos Stavrakakis

Do not give IPs to networks without dhcp

69033a7a 10/15/2012 11:32 am Christos Stavrakakis

Block create instance api call with deleted flavor

Do not allow creation of instances with deleted flavors
Refs #2481

d3406fbc 10/15/2012 10:29 am Christos Stavrakakis

Fix GET networks API response for public networks

260147b1 10/11/2012 05:43 pm Christos Stavrakakis

Log 5xx API faults

ae562340 10/11/2012 05:43 pm Christos Stavrakakis

Improve exception message when no backends

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

Catch OverLimit error in network create

b16db49b 10/09/2012 04:27 pm Kostas Papadimitriou

Merge branch 'devel-0.11' into ui-0.11

Conflicts:
snf-cyclades-app/synnefo/db/models.py
snf-cyclades-app/synnefo/logic/backend.py
snf-cyclades-app/synnefo/ui/static/snf/js/models.js

ec0b5e5b 10/03/2012 03:58 pm Christos Stavrakakis

Fix bug when not using pool for public networks

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

Change logging levels

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

Add extra logging

adc46059 09/28/2012 12:19 pm Christos Stavrakakis

Perform allocations in separate transactions

Add ForUpdateManager to the Backend model, in order to guarantee
exclusive order when allocating a VM.

Use manual transactions when allocating Backend and public IP for a new
VM, since these allocations need exclusive access (SELECT..FOR UPDATE)...

b123630d 09/28/2012 11:10 am Christos Stavrakakis

Merge branch 'public_networks' into devel-0.11

Conflicts:
snf-cyclades-app/synnefo/logic/dispatcher.py

1ed2557d 09/27/2012 03:59 pm Christos Stavrakakis

Remove unnecessary locking

Selecting FOR_UPDATE on network object is not any more required, since
the IP Pool have been moved to the IPPoolTable. Selecting FOR_UPDATE is
needed there.

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.

e32d0966 09/26/2012 12:29 pm Vangelis Koukis

Rename Cyclades management commands for uniformity

Rename Cyclades management commands for uniformity.

fdc94944 09/20/2012 12:14 pm Christos Stavrakakis

Refactor IP pools

Treat IP pool the same way as bridge and mac-prefix pools. The pool is
removed from the Network table and moved to an IPPoolTable containing the
IP pools for all networks. Also added support for external reservations.

Migration files for transfering the pool to the new tables are included....

99a74636 09/19/2012 01:16 pm Christos Stavrakakis

Catch error in removing nic

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

56543400 09/19/2012 11:21 am Christos Stavrakakis

Fix bug in snf-manage network-remove

b7e74f05 09/19/2012 11:21 am Christos Stavrakakis

Wrap network-create command in transaction

47c66641 09/07/2012 05:41 pm Dimitris Aragiorgis

Support multiple public networks in UI

Encapsulate in nic dict a public flag (network.public) and
remove twisted oldstyle identification way (network_id == 'public')
for retrieving public interfaces.
All network references are done via their network_id.
...

8d03316d 09/07/2012 05:36 pm Dimitris Aragiorgis

Allow connecting a VM to a network only if active

Signed-off-by: Dimitris Aragiorgis <>

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.

85a634e6 08/08/2012 08:34 pm Kostas Papadimitriou

Api changes, additions for vm diagnostics

- Change /servers/detail to include the last diagnostic message for
each vm in the api response.
- Add new /<vm_id>/diagnostics api endpoint which returns the list of
the specified virtual machine diagnostic messages.

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.

1d7c75e4 08/01/2012 06:08 pm Kostas Papadimitriou

Fix servers api list response

filter out deleted vms !!!!!!!

e524ed5f 08/01/2012 05:38 pm Kostas Papadimitriou

Fix servers api response

do not filter out deleted vms if valid changes-since parameter is set on
the request. This allows ui application to be able to identify and remove
deleted vms.

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.

864bed43 07/23/2012 11:49 am Christos Stavrakakis

Implement model manager using row-level db locking

Implement ForUpdateManager that uses SELECT .. FOR UPDATE statement in
order to acquire row-level exclusive locks to DB. Essentially this
manager backports the select_for_update() method that is implemented in...

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

77f0fa63 07/23/2012 11:49 am Christos Stavrakakis

Implement IP management

Delegate IP management to synnefo, in order to be able to allocate IP
addresses accross multiple Ganeti backends. This is achieved by creating a
Pool of IPs for each Network, in the form of a bitarray, which is stored
in the DB as a base64 string....

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.

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