Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / api @ 7a0aa449

# Date Author Comment
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.

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

fd33b074 07/23/2012 11:42 am Kostas Papadimitriou

Fix modifynetwork management command

check available network status options based on Network.OPER_STATES

bf1d3a70 07/23/2012 11:39 am Christos Stavrakakis

Update management commands for new-style networks

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

4a15bc7b 07/23/2012 11:36 am Christos Stavrakakis

Remove stale save's in db

cc7c0f44 07/23/2012 11:33 am Christos Stavrakakis

Implement backend allocator and management command

New module implementing instance allocation to one of the available
backends. Allocation is performed based on memory and disk utilization.
Statistics for each backend are stored in DB and updated periodically....

4161cb41 07/23/2012 11:33 am Christos Stavrakakis

Fix issues concerning reconciliation

f5b4f2a3 07/23/2012 11:33 am Christos Stavrakakis

Use the Backend client instead of global RAPI

Replace use of global RAPI client, with the cached client from the
VirtualMachine or Backend model.

Dispatch network actions to all backends.

1a894bfe 07/23/2012 11:33 am Christos Stavrakakis

New management commands concerning backends

- Create command to create a backend (snf-manage backend_create)
- Create command to modify a backend (snf-manage backend_list)
- Create command to list backends (snf-manage backend_modify)
- Modify listservers command to display the backend that hosts the VM

924d8085 07/23/2012 11:32 am Christos Stavrakakis

Rename backend_id to backend_vm_id

Rename backend_id field of VirtualMachine model to avoid conflict between the
backend that hosts the VM and the id that the VM will have on the backend.

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
NETWORKS_USER_QUOTA settings)...

2caa409e 04/06/2012 12:25 pm Giorgos Verigakis

Try to decode the server name before printing it

f1e8a6e2 04/02/2012 01:07 pm Giorgos Verigakis

Fallback to displaying the image id if it can not resolve it

bb54871d 03/20/2012 05:19 pm Stratos Psomadakis

Verify VNC server settings in get_console

After vncauthproxy responds that it has successfully connected to the
backend server, we need to make sure that the VNC server settings
haven't changed (due to VM migration, or a malicious user destroying a
VM to exploit the VNC ports reuse).

8fad925a 03/19/2012 04:09 pm Giorgos Verigakis

Add list networks and modify network commands

76f5441f 03/19/2012 04:08 pm Giorgos Verigakis

Add flavor management commands

  • listflavors - list all flavors
  • createflavor - create one or more flavors
  • modifyflavor - modify a flavor
11300d7b 03/19/2012 04:07 pm Giorgos Verigakis

Add management commands

  • listservers
  • showserver
  • modifyserver
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