Statistics
| Branch: | Tag: | Revision:

root @ 1dc821c9

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

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.

00698e35 09/18/2012 10:31 am Christos Stavrakakis

Fix cleanup of DB pooled connections

Fix bug in cleanup of DB pooled connections before putting them back to
the pool. The way the connection was cleaned, resulted in mishandling of
the transactions.

Accoring to psycopg2 docs, in case of a READ COMMITED isolation level:...

f2ccb23e 09/18/2012 10:23 am Christos Stavrakakis

Fix no-time in eventd messages

Ganeti opcodes may not have an end-timestamp when they go to
an error state. In that case send the job end-timestamp.

702850c4 09/12/2012 01:17 pm Christos Stavrakakis

Enhange logging in db and http pools

ac7e2fd7 09/12/2012 01:16 pm Christos Stavrakakis

Fix bug in http connection pool

Do not reset connetion _pool attribute, since it is not (yet?)
initialized when getting the object from the pool.

3930527c 09/11/2012 01:43 pm Christos Stavrakakis

Merge branch 'pooling' into devel-0.11

a0b5eea5 09/10/2012 12:03 pm Christos Stavrakakis

Fix broken logging

Rename LOGGING setup to LOGGING_SETUP, as this name is required by
the LoggingConfigMiddleware. Django's default LOGGING setting can
be used with Django>=1.3

Also change default handler to 'console' and add a more verbose format.

a1284c0c 09/07/2012 06:24 pm Georgios D. Tsoukalas

remove obsolete kwarg verify

c4dcfcf6 09/07/2012 03:36 pm Georgios D. Tsoukalas

port pooled psycopg2 to new pool api

90644e50 09/07/2012 03:15 pm Georgios D. Tsoukalas

don't take mutex for cleanup

57607cbd 09/07/2012 03:15 pm Georgios D. Tsoukalas

Enhance pooling API, implementation, and tests

- Verify objects (new and old) with a hook _pool_verify.
Discard objects from the pool that fail verification.
A newly created object failing verification is fatal.

- Remove all hooks from the pool set access critical section....

afe19961 09/07/2012 03:15 pm Georgios D. Tsoukalas

complete some functionality

ab133e68 09/07/2012 01:25 pm Vangelis Koukis

Move pooling psycopg2 wrapper to synnefo.lib.db

Move pooling psycopg2 wrapper to synnefo.lib.db,
please see commit e83ed1fb8fb4d0d19c2d3f86152fde60b3cadfd9 for all the
details on how to use the pooling wrapper for psycopg2.

27cfa807 09/06/2012 05:19 pm Vangelis Koukis

Pool HTTP connections to the astakos service

Have the astakos client use pooled HTTP connections to the astakos
service, uses facilities from synnefo/lib/pool/http.py.

818bb9bf 09/04/2012 04:45 pm Georgios D. Tsoukalas

simple http_request objects over connection pools

2adcd773 08/31/2012 04:47 pm Kostas Papadimitriou

Do not send reserved_ips argument

In rapi CreateNetwork method

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

053d0dfc 08/27/2012 03:42 pm Constantinos Venetsanopoulos

Update admin guide to reflect Cyclades v0.11

In Cyclades v0.11 we introduce support for multiple backends
and support for Public/Private Network management. Plus,
management of IP and MAC address pools.

The quick install admin guide is updated to reflect those changes....

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.

e83ed1fb 08/25/2012 03:53 pm Vangelis Koukis

Add pooling synnefo.db.pooled_psycopg2 DBAPI drv

Add DBAPI driver synnefo.db.pooled_psycopg2, which is a
thin, pooling wrapper around psycopg2.

To use, first monkey-patch psycopg2:

from synnefo.db.pooled_psycopg2 import monkey_patch_psycopg2
monkey_patch_psycopg2()...

7138c600 08/25/2012 03:03 pm Vangelis Koukis

Make pool more robust on obj creation failure

Make ObjectPool handle failures during object creation more robustly,
and release the pool semaphore.

3447b13d 08/24/2012 07:17 pm Vangelis Koukis

Extend ObjectPool functionality, tests

09cdd926 08/24/2012 02:32 pm Vangelis Koukis

Rename ObjectPool methods to pool_{put(), get()}

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.

76cc5746 08/06/2012 05:49 pm Kostas Papadimitriou

Include common date utc formatting methods

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.

de67123e 08/04/2012 01:34 am Vangelis Koukis

Support timeout in ObjectPool.get(), fix tests

Support optional timeout argument in ObjectPool.get(),
if supported by the underlying Semaphore implementation.

Implement command-line argument for ObjectPool unit tests to run
inside gevent monkey-patched environment.

749b8b8e 08/03/2012 06:21 pm Vangelis Koukis

Make minor fixes to Singleton class unit tests

45e32a00 08/03/2012 06:16 pm Vangelis Koukis

Add ObjectPool class in synnefo.lib

Add ObjectPool class in synnefo.lib.
The ObjectPool class is an abstract pool of objects,
based on Semaphore locks, as provided by the threading
package.

Tested to work with a gevent-monkey-patched threading package.
Uncomment the relevant lines in pool/tests.py to test with greenlet...

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.

06e47471 07/27/2012 05:14 pm Christos Stavrakakis

Update Changelog

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

Fix bug in creating network

Exclude deleted networks.

f15a0994 07/27/2012 03:50 pm Christos Stavrakakis

New dependencies of snf-cyclades-app

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

51fc0054 07/27/2012 03:13 pm Christos Stavrakakis

Get cluster name from Ganeti

Query Ganeti for getting the cluster name, instead of reading the
ssconf files.

b606853b 07/27/2012 02:59 pm Christos Stavrakakis

Merge branch 'master' into devel-0.11

Conflicts:
snf-cyclades-gtools/synnefo/ganeti/eventd.py

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

1a37da56 07/26/2012 01:27 pm Constantinos Venetsanopoulos

Update admin guide

snf-image needs snf-pithos-backend in all VM-capable nodes.
snf-pithos-backend is not a dependency. We install it manually.

610ff8cf 07/25/2012 07:12 pm Constantinos Venetsanopoulos

Update Astakos conf files in admin guide

f4e61903 07/25/2012 05:07 pm Christos Stavrakakis

Fix AMQP bug in snf-progress-monitor

996e5d53 07/25/2012 04:49 pm Christos Stavrakakis

Fix AMQP bug in snf-progress-monitor

ad003186 07/25/2012 01:35 pm Constantinos Venetsanopoulos

Update admin guide to reflect new AMQP settings

3f245afe 07/24/2012 07:45 pm Kostas Papadimitriou

Merge branch 'snf-tools'

19092a69 07/24/2012 06:47 pm Vangelis Koukis

Implement Singleton pattern

Implement Singleton pattern inside synnefo.lib.singleton.

Whenever a class inherits from ArgBasedSingleton,
attempts to call the class do not always create a new
class instance, but return pre-existing, already made objects.
...

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

Fix creation of networks in new backend

18151abe 07/24/2012 02:27 pm Christos Stavrakakis

Fix bugs in migration files

f1fc1e9c 07/24/2012 02:27 pm Christos Stavrakakis

Add missing setting

Add PRIVATE_PHYSICAL_VLAN_TAGS setting

2b36eda5 07/24/2012 02:26 pm Christos Stavrakakis

Fix bug in process_net_status

Check that nic has an ipv4 before trying to release it.

9b69f7e6 07/23/2012 06:46 pm John Giannelos

Update README. Fix snf-burnin-run.sh ssh/timeout error.

b03be261 07/23/2012 05:42 pm John Giannelos

Minor fixes in README and scripts

e93db675 07/23/2012 04:42 pm John Giannelos

Updated README with example usage, and info about scripts.

56d5c612 07/23/2012 03:56 pm John Giannelos

Split cronjob example to snf-burnin run and check scripts

ad297723 07/23/2012 03:31 pm Christos Stavrakakis

Setting for using IP Pool to public network

Introduce new setting 'PUBLIC_ROUTED_USE_POOL', to indicate whether
synnefo will be responsible for the IP management of the public network,
or this responsibility will be delegated to Ganeti.

453a4f9d 07/23/2012 01:48 pm Christos Stavrakakis

Fix dispatcher default file

e8afa9ff 07/23/2012 01:40 pm Christos Stavrakakis

Consider cpu ratio when allocating vm's

d5b7fd7f 07/23/2012 12:33 pm Christos Stavrakakis

Fix case of empty address pool

967d3f83 07/23/2012 12:16 pm Christos Stavrakakis

Transaction on create_instance

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.

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

Reconciliation for network IP pool management

Reconcile the contents of each networks IP pool by comparing it
with combination of IP pools of all ganeti backends.

Add extra option for detecting conflicting IPs.

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

2a8a60d5 07/23/2012 11:49 am Christos Stavrakakis

Increase the size of backend password_hash

8a4a931d 07/23/2012 11:49 am Christos Stavrakakis

Fix IP pool exceptions

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.

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

Use ForUpdateManager to Pool objects

439ff929 07/23/2012 11:49 am Christos Stavrakakis

Display IP pool map in network-inspect command

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

Release IP addresses when nics are destroyed

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.

9c65f166 07/23/2012 11:49 am Christos Stavrakakis

Fix error state of BackendNetwork

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.

56a1134d 07/23/2012 11:48 am Christos Stavrakakis

Rename management commands

30e0ed74 07/23/2012 11:48 am Christos Stavrakakis

Encrypt Backend password

Use cipher to encrypt the passwords of the Ganeti backends in the DB.
Encryption/decryption is based on a configurable key, defined by the
ENCRYPTION_KEY setting. After modifying this setting, synnefo will be
unable to decrypt already stored passwords, and passwords must be...

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

126a01f2 07/23/2012 11:42 am Kostas Papadimitriou

Cyclades UI integration with the new networks api

- Handles nic connections instead of vms. New NIC model and NICs
collections created to handle the NIC api logic. NIC models get
updated on each vms/networks api call.
- New private network creation form....

18059f42 07/23/2012 11:42 am Kostas Papadimitriou

Update cyclades ui jquery lib to 1.7.2