Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / db @ d4325f42

# Date Author Comment
d4325f42 06/11/2013 04:38 pm Christos Stavrakakis

Fix compatibility issues with factory_boy

Update models_factory to use factory.DjangoModelFactory instead of
factory.Factory.

6dafedf6 05/31/2013 05:12 pm Christos Stavrakakis

cyclades: Add 'drained' flag to Network

Extend Network model with the 'drained' attribute, to indicate whether a
network should be used in public IP allocation when creating servers.
This option is only useful for public networks.

4c9ac139 05/21/2013 02:09 pm Christos Stavrakakis

cyclades: Add --hypervisor option to backend cmds

Add '--hypervisor' option to 'backend-add' and 'backend-modify'
management commands.

Refs #3772

bd87213f 05/21/2013 02:07 pm Christos Stavrakakis

cyclades: Sypport backends with Xen hypervisor

Support Ganeti backends with Xen hypervisor:
  • Extend 'Backend' model with the 'hypervisor' attribute, which
    currently can be 'kvm' or 'xen'. Use 'kvm' as default value to
    easy database migration. Also add the corresponding schema migration....
e4ce2d35 05/15/2013 06:35 pm Christos Stavrakakis

cyclades: fix db migration

Migration 0066 should not run on a fresh installation.

3dbd9457 05/15/2013 05:05 pm Christos Stavrakakis

cyclades: Make cyclades work with pycrypto==2.6

In PyCrypto 2.6, it is mandatory to use an IV of 16 bytes when using AES
encryption. This commit updates 'aes_encrypt' module to use a random IV.
Also, a data migration is required to re-encrypt the old passwords, as...

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

97fffe10 04/30/2013 05:05 pm Christos Stavrakakis

Refactor QuotaHolder serial model

  • Merge 'accepted' and 'rejected' field to 'accept' field.
  • Add 'resolved' field, indicating whether this commission has been
    accepted/rejected to Quotaholder
  • Remove custom save() method. Handle 'pending' field manually....
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"
decorator.

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
'snf_django.lib.api.faults'.

d552dddd 04/02/2013 01:49 pm Christos Stavrakakis

Simple tests for synnefo.quotas

ef54eee4 03/22/2013 02:19 pm Christos Stavrakakis

Fix NIC's default state

Use "ACTIVE" as NIC's default state, to avoid addding a data migration.

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

e18c1749 03/08/2013 04:22 pm Christos Stavrakakis

Bypass commissioning for orphan networks

Cyclades public networks do not have an owner, and since can not use
the commissioning system. Also, make snf-dispatcher instead of failing
for networks without userid to just a log a warning. This does not apply for...

bb8fb9af 02/15/2013 05:14 pm Christos Stavrakakis

Fix BridgePoolTable testcase

dbecf586 02/14/2013 01:38 pm Christos Stavrakakis

Fix whitespace, Licence

1c11bace 02/14/2013 01:25 pm Christos Stavrakakis

Re-implement select_for_update

Previous implementation of 'select_for_update' method was based on an
attribute of the 'ForUpdateManager'. However, the model manager is shared
between all threads, which lead to race conditions. This commit
reimplements 'select_for_update', by making it return a custom QuerySet...

3bdfc1be 02/14/2013 10:50 am Christos Stavrakakis

Fix bug in PoolTable

Catch correct exception

00f67cf6 02/12/2013 05:03 pm Kostas Papadimitriou

Remove unused module

68b952f9 02/01/2013 04:52 pm Christos Stavrakakis

pep8 fixes

b65a3b04 02/01/2013 03:26 pm Christos Stavrakakis

Add disk_template to Flavor name

3f77e63d 01/07/2013 12:22 pm Christos Stavrakakis

Merge branch 'master' into devel-0.13

Conflicts:
snf-cyclades-app/synnefo/db/models.py
snf-cyclades-app/synnefo/logic/management/commands/backend-modify.py

0816cd46 01/04/2013 11:38 am Christos Stavrakakis

Fix bug about networks and offline backends

Ignore offline backends when computing the state of the network, since
no notification will be received from them. Also, create no
BackendNetwork for an offline backend. This will be created by
reconcilliation, when the backend gets online again.

b66e4833 12/20/2012 05:29 pm Christos Stavrakakis

Add more tests for db, logic and api

fcf2479a 12/20/2012 05:22 pm Christos Stavrakakis

Fix wrong count of reserved pool entries

Padding should not be considered when counting unavailable entries.

ce9abd26 12/19/2012 05:32 pm Christos Stavrakakis

Fix bugs in models methods

c8908e51 12/19/2012 05:32 pm Christos Stavrakakis

Add more tests for db and logic

672db045 12/14/2012 06:22 pm Christos Stavrakakis

Add object factories for most db models

Use 'factory_boy' library for creating Django ORM objects as test data.
These factories can be used as fixtures replacement since they are
easier to write and maintain.

35e2f2d4 12/14/2012 06:22 pm Christos Stavrakakis

Include Pool tests to Django testsuite

47eeffa9 12/14/2012 06:22 pm Christos Stavrakakis

Fix current db, logic and api tests

21c9042c 12/12/2012 11:12 am Christos Stavrakakis

Do not allow creation of more than one pools

Do not allow creation of more than one Bridge or MacPrefix pool, since
we can not handle them yet.

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

1ef9dac4 12/04/2012 04:51 pm Dimitris Aragiorgis

Migration files for network types

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

Fix bugs from merging

b8b676a1 11/26/2012 05:58 pm Christos Stavrakakis

Add migration file for quotaholderserial

048fab1e 11/26/2012 12:32 pm Christos Stavrakakis

Reorder code

3416e629 11/26/2012 12:32 pm Christos Stavrakakis

Create QuotaHolderSerial table

004967e4 11/26/2012 12:32 pm Christos Stavrakakis

Add QuotaHolderSerial column to VM and Network

Correlate the VirtualMachine and Network models with a QuotaHolderSerial
entry, holding the serial number returned by the QuotaHolder for the
last allocation for these resources.

4d5d0b9c 11/26/2012 12:31 pm Christos Stavrakakis

Do not automatically update network state

Each modification in a BackendNetwork object, triggers an update
to the corresponding Network object. Until now this was done by
the BackendNetwork save() method. Now it is explicitly done
from the backend pross_network_status.

3e7c63f8 11/22/2012 01:26 pm Christos Stavrakakis

Implement resizing of pools

Extend PoolManager to support extending and shrinking of Pools. Also
add extra option '--size' to pool-modify command.

190d155f 11/09/2012 03:51 pm Christos Stavrakakis

Add indexes to VirtualMachine and Network

Add indexes to VirtualMachine userid and deleted columns
Add indexes to Network userid, deleted and public columns

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.

82c1c610 11/05/2012 02:02 pm Christos Stavrakakis

Delete BackendNetworks when deleting a Backend

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

Merge branch 'ui-0.11' into devel-0.12

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

Do not allow actions to deleted networks

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

Remove depricated settings and update migrations

1e2cc762 10/29/2012 02:28 pm Kostas Papadimitriou

Merge remote-tracking branch 'origin/devel-0.12' into ui-0.11

698306b8 10/23/2012 05:24 pm Christos Stavrakakis

Fix compatibility issues with python-bitarray

72fa634b 10/23/2012 04:29 pm Kostas Papadimitriou

Reapply diagnostics migrations

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

Merge branch 'devel-0.12' into ui-0.11

ecabca41 10/17/2012 12:53 pm Christos Stavrakakis

Do not create bridge for public network

dd2689f9 10/17/2012 11:37 am Christos Stavrakakis

Bridge indexes must start from 1

3718c0f1 10/17/2012 10:55 am Christos Stavrakakis

Restore IP Pool creation for corner cases

941992c4 10/16/2012 11:30 pm Christos Stavrakakis

Create IPPool when creating Network

Create the IPPool associated with each Network, when creating it. Until
now, IPPools were created on first demand. However, because the Network
object is not accessed in exclusive mode, concurrent access to the
Network model resulted in a race condition. More than one workers may...

dab038a2 10/16/2012 01:38 pm Christos Stavrakakis

Fix typos

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

Release mac_prefix only if network is MAC_FILTERED

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

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

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

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

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.

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

Add extra logging

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

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

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

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

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.

6ce1fc56 08/08/2012 07:58 pm Kostas Papadimitriou

Virtual machine diagnostics models and migrations

Initial commit for VirtualMachineDiagnostics model and the corresponding
south migrations script.

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.

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

Revert "Start pool indexing from 0"

This reverts commit 2f998a3756c6fc7ddce9e0f83dea738e473320b8.

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

Start pool indexing from 0

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.

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

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

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

Fix bugs in migration files

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

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

Use ForUpdateManager to Pool objects

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

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

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

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

Common functions for instance/network backend name

98cc8237 07/23/2012 11:39 am Christos Stavrakakis

Release resources when deleting network

Set as available in the pool the bridge and mac prefix that was
used by the deleted network.

0b827aa4 07/23/2012 11:39 am Christos Stavrakakis

Bug fixes concerning networks

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

Print warning about subnet value during migration

3b56bbe4 07/23/2012 11:39 am Christos Stavrakakis

Set index of NetworkInterface model to not null

e6a42a96 07/23/2012 11:36 am Christos Stavrakakis

Major modifications to Network model

Since Ganeti version 2.6, Ganeti is aware of private networks. We take
advantage of this by propagating network handling to Ganeti. Network
model is expanded to include information about the type of network
(public routed, physical vlan, private filtered), subnet, gateway, dhcp,...

fd65ab41 07/23/2012 11:36 am Christos Stavrakakis

Implement BackendNetwork model

Create a new model, to represent the state of each network in each
backend.

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.