Statistics
| Branch: | Tag: | Revision:

root @ d222936b

# Date Author Comment
d222936b 01/30/2014 10:37 am Christos Stavrakakis

cyclades: Make snf-dispatcher handle EINTR

snf-dispatcher supressed almost all exceptions and continued to process
new messages. However, this caused snf-dispatcher to ignore Ctl+C when
running in debug mode. This commit fixes this be exiting the retry loop...

b4329a33 01/30/2014 10:30 am Christos Stavrakakis

ui: Check `is_snapshot` image attribute to identify snapshot images

3a3dea88 01/30/2014 10:28 am Christos Stavrakakis

cyclades: Fix typo

Snapshot "uuid" has been replaced with "id" to match with images.

6e3e5c84 01/29/2014 07:54 pm Sofia Papagiannaki

pithos: Include "available" in detail object listing.

329b8349 01/29/2014 05:35 pm Sofia Papagiannaki

pithos: Resolve db migration conflict

57310278 01/29/2014 04:48 pm Sofia Papagiannaki

pithos: Change default value for PITHOS_BACKEND_MAP_CHECK_INTERVAL.

e0525d86 01/29/2014 04:12 pm Sofia Papagiannaki

pithos: Evaluate "available" during object metadata access

56852a7d 01/29/2014 04:11 pm Chrysostomos Nanakos

pithos: Change object header attribute 'Map-Exists' to 'Available'

7be22e8d 01/29/2014 04:11 pm Chrysostomos Nanakos

pithos: Use new Archipelago conffile for mapper

472353d4 01/29/2014 04:11 pm Chrysostomos Nanakos

pithos: Use new Archipelago conffile for glue

844542e5 01/29/2014 04:11 pm Chrysostomos Nanakos

pithos: Adjust glue for XSEG dynamic port allocation

XSEG now supports dynamic port allocation. Pithcat instances can run
simultaneously by utilizing this new feature providing support for
Archipelago volumes.

876d7486 01/29/2014 04:11 pm Sofia Papagiannaki

pithos: Lazy evaluation of "available" attribute

Whenever the backend tries to access the object's content
checks its database records whether the snapshot map is available or not.
If it is not, it pings Archipelago to check the status of the map.
If the map exists, then it updates the snapshot record in the Pithos...

eaaec098 01/29/2014 04:11 pm Sofia Papagiannaki

pithos: Database migration for "available" attribute.

2d80698d 01/29/2014 04:11 pm Dimitris Aragiorgis

deploy: Add archipelago related packages in conf

Those packages are currently found in apt.dev unstable and in
ceph's repo. Both are added in sources.list.

Signed-off-by: Dimitris Aragiorgis <>

863d25a5 01/29/2014 04:11 pm Filippos Giannakos

pithos: Close archipelago resource after reading it.

Archipelago implicitly opens a resource after reading the map file. So we should
close it, after successfully reading it.

ba9df843 01/29/2014 04:11 pm Chrysostomos Nanakos

pithos: Use new Archipelago conffile for blocker

c449760f 01/29/2014 03:58 pm Christos Stavrakakis

cyclades: Merge handling of images and snapshots

Also, rename 'checksum' to 'mapfile'.

11d4d283 01/29/2014 03:58 pm Christos Stavrakakis

cyclades: Process progress of snapshots

Update status of snapshots based on notifications about the progress of
Ganeti OP_INSTANCE_SNAPSHOT job. Extend snf-ganeti-eventd and
snf-dispatcher to create and handle such notifications. Currently, we
store the snapshot_id, in a hacky way as a reason in the...

58194535 01/29/2014 03:57 pm Christos Stavrakakis

cyclades: Add 'disk_template' to Volumes

Also check GANETI_CLONE_PROVIDERS

a868c831 01/29/2014 03:57 pm Christos Stavrakakis

cyclades: volume-modify and various fixes

5d805533 01/29/2014 03:57 pm Christos Stavrakakis

cyclades: Create servers with volumes

Extend Cyclades POST /servers API endpoint to support specifying volumes
when creating a server. The call is extended with the
'block_device_mapping_v2' field that contains a list of dictionaries,
each of which contains the following information about the devices that...

1040b85b 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Implement volume-import command

Implement management command to import an existing Ganeti disk (that has
been created directly in the Ganeti backend) to Cyclades, as a new
Cyclades Volume.

c19ad1e9 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Implement server actions for volumes

Implement 'attach_volume' and 'detach_volume' server actions. Also, add
'GANETI_MAX_DISKS_PER_INSTANCE' setting, to force a hard limit on the
maximum number of disks a server can have.

910d960d 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Implement API for volume attachments

Extend /servers API with 'os-volume_attachments' endpoint, containing
API calls for attaching and detaching volumes to servers, and
listing/showing the volumes of a server.

3768eb67 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Update tests

ac6a221f 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Add management commands for volumes

d9b25288 01/29/2014 03:53 pm Christos Stavrakakis

gtools: Make eventd send instance disks

Extend snf-ganeti-eventd to send the disks of the instance when needed,
exactly like it is doing for the NICs of the instance.

c583d487 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Make snf-dispatcher handle volumes

Update snf-dispatcher to handle messages from snf-ganeti-eventd about
the instance disks(volumes). Handling of disks is done almost exactly as
with NICs.

ef0839e9 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Implement reconciliation for volumes

Extend 'reconcile-servers' management command, to reconcile the state of
Cyclades Volumes with the corresponding disks of instances in the Ganeti
backends.

72fe9029 01/29/2014 03:53 pm Christos Stavrakakis

deploy: WIP for archipelago

4daf507c 01/29/2014 03:53 pm Christos Stavrakakis

ci: Option to install x2go and firefox

5f90e24c 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Various fixes relative for volumes

  • Do not store source_{volume_id, image_id, snapshot_id} as seperate
    fields. Instead store them in the 'source' field, with a special prefix
    to indicate the source type.
  • Add 'origin' field to Volume model to contain the origin that will be...
18ca395d 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Various fixes for snapshots

  • Rename 'name' and 'description' to 'display_name' and
    'display_description' in the API.
  • Small refactoring in snapshots methods
fad9d098 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Update volume unittests

f62290bb 01/29/2014 03:53 pm Chrysostomos Nanakos

pithos: pep8 fixes

e6a2a646 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Make 'volume' an app

Add 'models.py' to make 'volume' a Django app.

ff77b897 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Handle keybord interrupt in dispatcher

1185ff2e 01/29/2014 03:53 pm Christos Stavrakakis

ci: Add option to build pithos webclient

63338c2d 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Fix exception for missing snapshots

be433794 01/29/2014 03:53 pm Chrysostomos Nanakos

pithos: Move Xseg Pool initialization

Move Xseg Object Pool initialization to hashfiler module

26dff0ef 01/29/2014 03:53 pm Chrysostomos Nanakos

pithos: Add snf-image support

809b482a 01/29/2014 03:53 pm Chrysostomos Nanakos

pithos: Add default Archipelago config file

Add new constant ArchipelagoConfFile for the default Archipelago
config file. Set ArchipelagoConfFile after calling setupXsegPool
function.

9b3a95f1 01/29/2014 03:53 pm Chrysostomos Nanakos

pithos: Use new ArchipelagoConfFile constant

Remove BACKEND_ARCHIPELAGO_CONF and use the new ArchipelagoConfFile
introduced in WorkerGlue class.

b20f5e4a 01/29/2014 03:53 pm Chrysostomos Nanakos

pithos: New constants in ModularBackend class

Introduce new constants archipelago_conf_file and xseg_pool_size
in ModularBackend class. The new constant DEFAULT_ARCHIPELAGO_CONF_FILE
is set in the default path '/etc/archipelago/archipelago.conf'.

Create the XSEG Object Pool while initializing ModularBackend class.

b6e93a67 01/29/2014 03:53 pm Chrysostomos Nanakos

pithos: Use synnefo.settings in backend/__init__.py

a45b30a7 01/29/2014 03:53 pm Chrysostomos Nanakos

ui: Fixes for volumes and snapshots

64fec398 01/29/2014 03:53 pm Kostas Papadimitriou

ui: Create vm snapshot view

- New overlay view to handle vm snapshot creation
- Snapshot action available from vm single view

Conflicts:

snf-cyclades-app/synnefo/ui/templates/partials/machines.html
snf-cyclades-app/synnefo/ui/templates/partials/machines_single.html
fb6094c5 01/29/2014 03:53 pm Kostas Papadimitriou

ui: Include snapshot action in vm icon view

db82ea7a 01/29/2014 03:53 pm Kostas Papadimitriou

ui: Introduce snapshot image type in vm wizard

059a01b9 01/29/2014 03:53 pm Kostas Papadimitriou

ui: Update images collection every time user opens vm wizard

d27cf869 01/29/2014 03:53 pm Kostas Papadimitriou

ui: Properly set snapshot OS attribute

if not already set

d303b582 01/29/2014 03:53 pm Kostas Papadimitriou

ui: Snapshot image icon

b872a653 01/29/2014 03:53 pm Kostas Papadimitriou

ui: Implement snapshot create api call

1316db51 01/29/2014 03:53 pm Christos

cyclades: Add SnapshotInstance RAPI method

bec591bd 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Delete volumes together with the instance

ae835e3b 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Check that image fits into disk

Check that the disk size is big enough to fit the image.

f518210b 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Allow snapshots only for ext_ template

Do not allow taking a snapshot from a volume, if the disk template is
not ext_*.

4b902a1e 01/29/2014 03:53 pm Kostas Papadimitriou

ui: Create vm snapshot view

- New overlay view to handle vm snapshot creation
- Snapshot action available from vm single view

e7953d63 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Various fixes for volumes and snapshots

862afc75 01/29/2014 03:53 pm Christos Stavrakakis

cyclades: Make plankton aware of snapshots

Add 'is_snapshot' attribute to plankton images. Also add methods for
getting or deleting a snapshot.

c970e0d2 01/29/2014 03:52 pm Christos Stavrakakis

cyclades: Initialize 'volume' app

Initialize new 'volume' app, which will implement the block storage API
of Cyclades.

d4617818 01/29/2014 03:52 pm Christos Stavrakakis

cyclades: Create DB models for 'volume' app

Create new database models for 'volume' app:
  • Volume
  • Snapshot
  • VolumeMetadata
  • SnapshotMetadata

Also add VolumeFactory and SnapshotFactory models factories.

0f55b744 01/29/2014 03:52 pm Christos Stavrakakis

cyclades: Add urls for volume API

dec501fa 01/29/2014 03:52 pm Christos Stavrakakis

cyclades: Implementat volumes and snapshots

178eabbf 01/29/2014 03:52 pm Christos Stavrakakis

cyclades: Add tests for volumes

cbe81673 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: pep8 fixes

34f3d4fa 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Change relative import "base"

Relative import "base" should be "pithos.backends.base"

8b1719d2 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Remove unused import objpool

e7682feb 01/29/2014 03:52 pm Filippos Giannakos

pithos: Do not put xseg request before map retrieval

During map_retr_archipelago, we should not put the xseg request which fetched
the map data, before actually retrieving them.

The ctypes "from_address" method, does not copy the data where the pointer
points. It simply creates a ctypes instance using the given memory. Ctypes...

9bcb53c8 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Fix bug when catching IllegalExceptionError

32293ec0 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Add Archipelago Blocker and Mapper

a1557c9c 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Remove File - RADOS Blocker and Mapper

Add new constant for Archipelago configuration file in pithos API,
PITHOS_BACKEND_ARCHIPELAGO_CONF

1e47e49d 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Add support for recognizing Archipelago Volumes

Fix mapfile support the new snapshot naming

Introduce new IllegalOperationError exception

Add access control to Archipelago Volume hashmaps and blocks.
Raise an IllegalOperationError exception when trying to update an...

e851ad95 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Introduce new register_object_map function

Register an object without providing any data. Cyclades can
use this function to register a newly created VM snapshot

f75f40cb 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: pep8 fixes

91b63720 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Add Gevent Gunicorn Worker for Archipelago

6a6aed61 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Add glue code for Archipelago XSEG Object Pool and Gunicorn

5dd1a322 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Add monkey patch for making XSEG Request go green

660ee574 01/29/2014 03:52 pm Chrysostomos Nanakos

pithos: Add configuration file for Gunicorn

Make workers delegate only one XSEG port pool

caf6cb1f 01/29/2014 03:46 pm Christos Stavrakakis

Merge branch 'release-0.15' into develop

Conflicts:
snf-deploy/snfdeploy/__init__.py
version

606837c6 01/29/2014 03:43 pm Christos Stavrakakis

plankton: Fix wrong import

s/lib/util

78fa9134 01/29/2014 03:24 pm Christos Stavrakakis

plankton: Validate parameters and catch assertions

d58ea30a 01/29/2014 01:41 pm Christos Stavrakakis

plankton: Fix storing of image properties

Image properties where stored all together as one metadata (JSON dumped
string). This caused problems with the maximum allowed length of for a
metadata value. This commit fixes this by storing each property as a
separate metadata which is prefixed with the 'PROPERTY_PREFIX'.

73c37386 01/29/2014 01:41 pm Sofia Papagiannaki

pithos: Database data migration for the plankton properties.

0efb43cd 01/29/2014 01:41 pm Christos Stavrakakis

plankton: Validate meta key/value length

Fail with BadRequest if length of metadata key or value is not valid.

c0aaf871 01/29/2014 08:34 am Ilias Tsitsimpis

snf-deploy: Fix ASTAKOS_AUTH_URL for cyclades.conf

Add the '/astakos' prefix to the ASTAKOS_AUTH_URL path.

0efc6bb7 01/29/2014 08:28 am Dimitris Aragiorgis

Add missing dhcp_queue option in nfdhcpd template

Since 0.12.0 nfdhcpd serves DHCPv6 requests in order to supply DNS
related info. So we have to define a new NFQUEUE to mangle the
corresponding packets.

Signed-off-by: Dimitris Aragiorgis <>

de1dcc91 01/29/2014 08:09 am Dimitris Aragiorgis

deploy: Fix cyclades configure()

CYCLADES_NODE_IP is needed for customizing cyclades.conf
template for UI_MEDIA_URL.

Signed-off-by: Dimitris Aragiorgis <>

8d693406 01/29/2014 08:08 am Dimitris Aragiorgis

deploy: workaround for java console Issue

Java VncViewer class has an issue with self-signed certificates.
With existing deployment it does not work if UI_MEDIA_URL uses
FQDN. Use the node's IP instead.

NOTE: In a linux (Debian) client add the following in...

080880d9 01/29/2014 08:03 am Dimitris Aragiorgis

deploy: workaround for java console Issue

Java VncViewer class has an issue with self-signed certificates.
With existing deployment it does not work if UI_MEDIA_URL uses
FQDN. Use the node's IP instead.

NOTE: In a linux (Debian) client add the following in...

394f5d2a 01/28/2014 06:13 pm Dionysis Grigoropoulos

docs: Update image api guide

  • Update response code for image not found
  • Remove unwanted whitespace at the end of lines
1a9aa726 01/28/2014 03:43 pm Dionysis Grigoropoulos

cyclades: Check if the name of an image is null

491d2a31 01/28/2014 12:30 pm Christos Stavrakakis

cyclades: Stats per backend from API

Extend Cyclades stats API endpoint with the ability to return stats
only for a backend. Also, add option to include image stats or not.

72224dd6 01/28/2014 11:59 am Christos Stavrakakis

plankton: Check that object is an image

Fix bug that caused Plankton to return Pithos files that were not
registered as images. Plankton did not checked that the requested Pithos
object (UUID or URL) was an Image. This was caused because
'get_object_meta' call of PithosBackend returns the common metadata for...

182b2e2a 01/28/2014 11:21 am Dionysis Grigoropoulos

cyclades: Fix typo in tests/networks.py

18405a2c 01/28/2014 11:20 am Dionysis Grigoropoulos

snf-deploy: Fix ownership of snf_pithos database

3de93ef3 01/27/2014 05:48 pm Dimitris Aragiorgis

Add missing dhcp_queue option in nfdhcpd template

Since 0.12.0 nfdhcpd serves DHCPv6 requests in order to supply DNS
related info. So we have to define a new NFQUEUE to mangle the
corresponding packets.

Signed-off-by: Dimitris Aragiorgis <>

9a48ef23 01/27/2014 05:36 pm Dimitris Aragiorgis

deploy: add missing ganeti collectd setup

Signed-off-by: Dimitris Aragiorgis <>

6faf3c78 01/27/2014 03:35 pm Dionysis Grigoropoulos

cyclades: Typo fix in api/networks.py

  • Fix a typo that made responses report all networks as "deleted=True"
3d870b05 01/27/2014 02:17 pm Dionysis Grigoropoulos

cyclades: Update api/networks.py and typo fixes

  • Update api/networks.py to use the updated get_attribute from commit
    14402edcf6d19fc42a64ef93da3d66ef7969327b.
  • Add corresponding test case
  • Typo fix in an error message in api/subnets.py

Refs #4979