Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo @ d3406fbc

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

d01cd522 10/10/2012 03:19 pm Christos Stavrakakis

Various fixes about logging

Fix logging from snf-manage commands. Modify snf-manage implementation
in order to setup the loggers for all snf-manage commands. Configuration
is based on SNF_MANAGE_LOGGING_SETUP setting from snf-common or on
basicConfig if that setting is missing....

e60b4630 10/10/2012 01:36 pm Christos Stavrakakis

Fix bug when synchronously creating networks

3e5675f0 10/10/2012 01:05 pm Christos Stavrakakis

Release mac_prefix only if network is MAC_FILTERED

fa454545 10/10/2012 01:05 pm Christos Stavrakakis

Release address only if a NIC has an IP

6f011a2d 10/10/2012 01:02 pm Christos Stavrakakis

Change and fix migration files

Change network migration, so that it does not allocate a new bridge to
existing network. Instead it keeps the bridges from the old NetworkLink
pool.

Remove network_mac_prefix migration because there are no networks with
mac prefixes....

0cd83e6c 10/10/2012 01:01 pm Christos Stavrakakis

Give more weight to cpu_ratio

Change how scores are computed in default_allocator so that vcpu
ratio has more importance the free memory and disk ratio

2ef10562 10/08/2012 02:30 pm Christos Stavrakakis

Change eventd and dispatcher AMQP retries

Set unlimited connection retries to AMQP hosts for snf-ganeti-eventd,
since death of snf-ganeti-eventd results in loss of events.
Also increase retries of snf-dispatcher.

4216cd83 10/04/2012 06:18 pm Christos Stavrakakis

Fix bug about RAPI client pooling

Modify the pooled_rapi_client context manager to handle exceptions
and release the client in any case. Also modify uses of reconciliation
to handle exceptions inside the scope of the context manager

6cc3a31c 10/04/2012 03:23 pm Christos Stavrakakis

Add missing ipv6 arguments to create_network

2cea7f38 10/04/2012 01:42 pm Christos Stavrakakis

Fix wrong call in VirtualMachine get_client

cc50e51a 10/04/2012 01:39 pm Christos Stavrakakis

Add missing arguments in Backend's get_client

6de6677b 10/04/2012 01:36 pm Christos Stavrakakis

Fix bug when hidding image password

Use deepcopy instead of copy, since the dictionary
is nested

fbb72608 10/04/2012 01:17 pm Christos Stavrakakis

Put synnefo logger of snf-dispatcher to INFO level

c4ce868e 10/04/2012 01:17 pm Christos Stavrakakis

Fix bug in snf-dispatcher about ignored messages

Update backendtime only for jobs that have been successfully completed,
since only those jobs update the state of the VM. Else a "race
condition" may occur when a successful job (e.g. OP_INSTANCE_REMOVE)
completes before an error job for the same VM and messages arrive in...

cfd70896 10/03/2012 04:04 pm Christos Stavrakakis

Remove user provided names from models unicode

Remove user provided names from models representation, as the user
may provide a value that can affect the admin terminal. Fix suggested
by vkoukis.

6afeb85d 10/03/2012 03:58 pm Christos Stavrakakis

Hide image password from log file

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

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

Garbage collect GanetiRapiClient pools

Modify the rapi_pool to delete unused GanetiRapiClient pools. This
clients become unused when the credentials of a backend change.

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

Add extra logging

9cf4a3c0 10/03/2012 01:08 pm Christos Stavrakakis

Refresh backends in locked mode

3524241a 10/03/2012 12:22 pm Christos Stavrakakis

Pool Ganeti RAPI clients

- Move Ganeti RAPI client from snf-common to snf-cyclades-app/logic.
- Create GanetiRapiClientPool for pooling GanetiRapiClient objects
- Create context manager in db.models for pool handling
- Update code using the RAPI client

fbb74fff 10/01/2012 11:15 am Christos Stavrakakis

Do not print public networks when adding backend

56359f67 10/01/2012 11:15 am Christos Stavrakakis

Fix white space

27d6d48d 10/01/2012 11:13 am Stratos Psomadakis

Add support for Archipelagos/extstorage COW images

f96f60fd 09/28/2012 03:32 pm Christos Stavrakakis

Move check for free IP to backend_allocator

Filter out the backends that do no have a free IP in BackendAllocator
instead of the default_allocator, in order to remove imports from
synnefo in the allocation strategy.

6883dcf3 09/28/2012 01:21 pm Christos Stavrakakis

Fix bugs in reconcile-networks

Perform logical and instead of or, when merging backend ip maps, since
now the maps are inverted. Also do not report as stale backend networks
that are already deleted.

bb80a8d7 09/28/2012 01:21 pm Christos Stavrakakis

Take care for messages without timestamp

Catch exception produced in snf-dispatcher when receiving messages without
proper timestamp.

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

5706f527 09/28/2012 12:19 pm Christos Stavrakakis

Fix typo

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

5da13d77 09/27/2012 04:42 pm Vangelis Koukis

Close DB conn in dispatcher before every message

Have the dispatcher close the Django DB connection before processing
an incoming message. This allows the actual, underlying DBAPI connection
to return to the DB connection pool, if used, and enables the dispatcher...

3f018af1 09/27/2012 03:59 pm Christos Stavrakakis

Make snf-dispatcher work with gevent

Remove workers from snf-dispatcher in order to make it compatible with gevent
and specifically the green, monkey patched version of psycopg2
(synnefo.lib.db.psyco_gevent). Also after daemonizing, gevent must be
reinitialized because the deamon context forks.

7f9f3018 09/27/2012 03:59 pm Christos Stavrakakis

Add pool-create and pool-remove commands

6c9c95d8 09/27/2012 03:59 pm Christos Stavrakakis

Change process title to simplify 'ps' display

Use python-setproctitle to change the process title of the running
daemon. Make it appear as a native executable to simplify
administration. Only set executable name, because cannot set individual
values for arguments.

5e1a5f9b 09/27/2012 03:59 pm Christos Stavrakakis

Fix presentation of pools

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.

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

Fix two bugs in network reconciliation

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.

8ec69269 09/27/2012 03:59 pm Christos Stavrakakis

Fix double logging of dispatcher

Dispatcher had as default handlers the console and the file handler.
However, when daemonizing, we redirect the stdout and stderr to the file
handler, which resulted in the log messages to be printed twice. So we
remove the console handler from the dict configuration, and we only add...

24683dda 09/27/2012 03:59 pm Christos Stavrakakis

Fix typos

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

Catch corner case in reconciliation

Catch error produced when the DB entry for an orphan VM in Ganeti does
not exist. This may happen because either an entry from DB was removed
or because a VM in Ganeti with the synnefo prefix was created.

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

Rename Cyclades management commands for uniformity

Rename Cyclades management commands for uniformity.

1dc821c9 09/21/2012 04:28 pm Christos Stavrakakis

Change process title to simplify 'ps' display

Use python-setproctitle to change the process title of the running
daemon. Make it appear as a native executable to simplify
administration. Only set executable name, because cannot set individual
values for arguments.

47d1d754 09/21/2012 11:23 am Christos Stavrakakis

Add some logging to backend allocator

4936f2e2 09/21/2012 10:42 am Christos Stavrakakis

Make snf-dispatcher work with gevent

Remove workers from snf-dispatcher in order to make it compatible with gevent
and specifically the green, monkey patched version of psycopg2
(synnefo.lib.db.psyco_gevent). Also after daemonizing, gevent must be
reinitialized because the deamon context forks.

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

2dbe7563 09/20/2012 12:14 pm Christos Stavrakakis

Add tests for PoolManager(s)

121c7507 09/20/2012 12:14 pm Christos Stavrakakis

Fix bugs in IPPool

- Do not always reserve gateway
- Initial reservations must be in reserved map

9727ac2f 09/20/2012 12:14 pm Christos Stavrakakis

Handle case of no pools in reconcile-pools

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

Catch error in removing nic

0eed6cf8 09/19/2012 01:16 pm Christos Stavrakakis

Management commands for pools

Create three new management commands for listing, showing and modifying
a pool.

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

Unique mac-prefix only for mac-filtered networks

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

Add logging to synefo.db.models

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

4a37a0be 09/19/2012 11:34 am Christos Stavrakakis

Fix bug in server-inspect

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

341c818e 09/07/2012 05:41 pm Dimitris Aragiorgis

Enable hotplug during create_instance

This passes hotplug = True to ganeti and enables hotplug per instance.
It checks GANETI_USE_HOTPLUG setting.

Signed-off-by: Dimitris Aragiorgis <>

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.

370f69ec 09/07/2012 05:36 pm Christos Stavrakakis

Remove dead code

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.

30418cbe 09/07/2012 05:36 pm Christos Stavrakakis

Reserve gateway's IP when creating an IP pool

e49565e1 08/27/2012 05:26 pm Kostas Papadimitriou

Propagate NIC change event to the associated vm

so that nic changed attributes get propagated to the vm views (e.g. nic ip
change).

97d3fca1 08/27/2012 12:42 pm Kostas Papadimitriou

Catch error caused by duplicate NIC removal in ui

NICs get removed once their associated vm or network trigger their
corresponding remove signal. Synchronous removal of vm/network will
cause duplicate NIC removes to be called.

222b0a40 08/09/2012 04:35 pm Kostas Papadimitriou

Revert plankton backend to its original state

trash development code was added by mistake in commit `c6dda6c`

c6dda6cd 08/06/2012 05:56 pm Kostas Papadimitriou

Update GANETI_DISK_TEMPLATES setting description

Describe how to set ext disk template provider.

296682fe 08/06/2012 11:45 am Kostas Papadimitriou

Support for ext disk providers

Extract provider from flavor disk template name and set the additional
`provider` parameter in disk options. Flavor disk_template should be
formated as `ext_<provider_name>`.

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.

5c029c29 08/06/2012 11:28 am Kostas Papadimitriou

Remove spare div from html

8aed3cc3 08/06/2012 11:28 am Kostas Papadimitriou

Fix html typo

0b682c29 08/06/2012 11:28 am Kostas Papadimitriou

Firefox ui fix

add overflow to `hidden` to properly clear upper div in single vm view.

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.

0224049a 07/27/2012 09:48 pm Christos Stavrakakis

Add check for maximum secret encryption key

SECRET_ENCRYPTION_KEY can be up to 32 bytes long, since bigger keys are
not supported by AES encryption. Add comment to the setting and better
message to exception.

601ce073 07/27/2012 09:26 pm Christos Stavrakakis

Fix bug in migration file

Do not allocate a bridge from the pool for deleted networks.

ca8b1c21 07/27/2012 07:28 pm Christos Stavrakakis

Rename setting

Rename ENCRYPTION_KEY to SECRET_ENCRYPTION_KEY to prevent from being
displayed at django debug traces.

16ddd1fe 07/27/2012 07:26 pm Christos Stavrakakis

Add setting indicating whether to use hotplug

8731a246 07/27/2012 07:20 pm Christos Stavrakakis

Revert "Start pool indexing from 0"

This reverts commit 2f998a3756c6fc7ddce9e0f83dea738e473320b8.

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

Fix bug in creating network

Exclude deleted networks.

2f998a37 07/27/2012 03:41 pm Christos Stavrakakis

Start pool indexing from 0

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

Limit allowed private networks per user

3f52dd82 07/27/2012 02:57 pm Christos Stavrakakis

Management command for removing backend

14fd6983 07/27/2012 02:57 pm Christos Stavrakakis

Add command for checking pool consistency

Add new management command 'reconcile-pools' which checks the consistency of the
pools and the uniqueness of the associated resources. Currently this
commands detects the inconcistencies, without trying to resolve them.

c807398f 07/27/2012 02:57 pm Kostas Papadimitriou

Fix serious bug in reconciliation

Do not perform reconciliation for VMs that are hosted in Backends
that are currently offline, since it is impossible to get the
state of these VMs from the backend. Before this patch, the
reconciliation mechanism would report these VMs as stale (and with...

d0411c0a 07/27/2012 02:57 pm Christos Stavrakakis

Fix migration files

Fix south migration files. In data migrations, access the Models from
the orm, instead importing Models from synnefo.db. This is necessary as
the orm provides access to the version of the models that existed when
the migration file was created.

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

4e5e8cc9 07/26/2012 06:29 pm Christos Stavrakakis

Warning about missing setting to migration file

a9ba398e 07/26/2012 06:29 pm Christos Stavrakakis

Fix bug when adding a new backend

Fix wrong reporting messages when adding a new backend.

aeb523a4 07/26/2012 06:29 pm Christos Stavrakakis

Get public network by public attribute

Do not find the public network by the primary key, as the initial_data.json
is obsolete. Instead, ise the public attribute of the Network Model.
Currently only one public Network is supported, and the used can not
create or delete the public Network. But this can easily change in the...

3ee8033d 07/26/2012 06:29 pm Christos Stavrakakis

Release resources of Network only on deletion

Assert that this is an 'real' deletion of a Network before releasing
it's resources. Without this patch, a resource used by an other Network
could be released, if someone called the Network.update_state function...

90b29b33 07/24/2012 02:27 pm Christos Stavrakakis

Fix creation of networks in new backend