Unified NEWS file for Synnefo versions >= 0.13

Since v0.13 all Synnefo components have been merged into a single repository.


Released: Tue May 27 13:50:31 EEST 2014

  • Bug fix version


Released: Thu May 15 13:31:37 EEST 2014

Since this version, Synnefo officially supports CentOS, alongside Debian. The most notable changes are:

  • Support for selectable storage backends for Pithos. Two options available: NFS or Ceph’s RADOS.
  • Refactoring and extension of the statistics API, to export detailed information about Ganeti clusters, virtual servers, networks, IPv4 pools, images, users, auth providers.
  • New CentOS installation guide.
  • Smaller bug and security fixes. See Changelog file for complete list.


Released: Mon Mar 10 14:01:32 EET 2014

This release brings major new features and significant bug fixes across Synnefo. All users are strongly encouraged to upgrade. Please see the Synnefo documentation for upgrade instructions to v0.15.


  • Networking: Major improvements in the Network Service. This release introduces a complete implementation of the OpenStack Networking (Neutron) API v2.0, with distinct /networks, /ports, /subnets, and /floatingips API endpoints, replacing the old Cyclades /networks API.
  • Networking: Support the creation of arbitrary L2/L3 network topologies, with IPv4-only, dual IPv4/IPv6 or IPv6-only functionality.
  • Networking: Simplify network administration, support forced networking configurations, e.g., a permanent management network across VMs.
  • Networking: Introduce new CLI management commands for handling networks, subnets, and ports.
  • Networking: Support management of floating IPs as a distinct resource in Cyclades. Users may create new IPs from admin-defined IP pools, attach them to and detach them from VMs arbitrarily, and eventually release them.
  • Compute: Support server resize, by changing server Flavors. Extend the API and UI accordingly. Support fine-grained, per-flavor control of resize and create actions (“allow_create” flavor attribute).
  • Compute: Support finer-grained accounting of “Active CPUs”, “Active RAM” resources, in addition to “CPUs”, “RAM”. Active resources are those of running VMs. This allows the administrator to limit currently used VM resources to only a subset of the total allocated resources.
  • Compute: Support NIC hotplugging. Allow addition and removal of NICs on running VMs, without a reboot, to support on-the-fly network reconfiguration, e.g., allocation of floating IPs, without the need for NAT.
  • Compute: Speed up server reconciliation, by performing operations in parallel, across Ganeti backends.
  • Compute: Support running snf-vncauthproxy in distinct machine, with control channel over TCP. This simplifies firewalling.
  • UI: Numerous UI improvements, especially wrt Networking: Better handling of multiple NICs per server, with multiple IPv4 and IPv6 addresses per NIC. Introduce distinct “IP addresses” view. The “Create New Machine” wizard has also been extended to support on-the-fly networking configuration of a new machine.
  • UI: Introduce distinct “SSH key” view.
  • UI: Make Google fonts base URL configurable, to support running in networks isolated from the public Internet.
  • UI: Support consistent display of pending actions, e.g., “Shutting Down...”, or “Destroying...”. Previously, they were reset upon page reload.
  • UI: Support arbitrary groupings of public networks, based on their name.
  • Quota: Support quota enforcement through new ‘enforce-resource-cyclades’ management command with fine-grained, per-resource actions, to bring current per-user resource usage within specified limits.
  • Statistics: Export basic statistics at the /admin/stats/detail API endpoint. Also make them available at the CLI.
  • Administration: Support mixed DRBD/Archipelago-based Ganeti backends. Previously, a Ganeti cluster was defined as Archipelago-only explicitly.


  • API: Numerous bugfixes and improvements across the codebase. Improve handling of various corner cases, with better error reporting.
  • UI: Support separate view/unsafe domain, for increased security. Users may download their files from a specific view domain, distinct from the API domain, to prevent malicious user content from accessing cookies and other sensitive data set at the level of the API domain. This uses newly-introduced support for OAuth2 tokens in Astakos.


  • Projects: Improved project handling: Better logging of project, application, and membership actions.
  • Account API: The Account API has been extended to allow full programmatic handling of projects.
  • Authentication: Remove obsolete /account/v1.0/authenticate call in favor of the standard POST /identity/v2.0/tokens Keystone API call.
  • Authentication: Support OAuth 2.0 Authorization Code Grant, generate and validate OAuth 2.0 access token. This is used by Pithos to support distinct API and view/unsafe domains.
  • Authentication: Support arbitrary attributes as unique identifiers, e.g., eduPersonTargetedId, or ePPN, by extracting them from the REMOTE_USER header. Also fill third-party signup form fields automatically.
  • Administration: Introduce numerous new admin commands at the CLI, simplify resource and user management commands.
  • Resources: Finer-grained resource control, with individual setting of resource visibility in the API, the UI, and Projects.
  • Statistics: Export basic statistics at the /admin/stats/detail API endpoint. Also make them available at the CLI.


  • Burnin tests: Significant improvements to the Synnefo Continuous Integration mechanism (snf-burnin). It has been extended to also test the Pithos storage service.
  • Administration: Better error logging, and reporting across Synnefo. Admins are notified by default, via email, whenever an unhandled exception occurs in a Synnefo worker.
  • Administration: Ganeti nodes no longer access the Pithos DB at all. Previously, read-only access was required to support spawning VMs from Images on Pithos. As of v0.15, Ganeti nodes only need read-only access to the Pithos block store (NFS or RADOS).


Released: Tue Nov 26 11:03:37 EET 2013

  • Support for Ganeti 2.8


Released: Mon Nov 11 12:13:31 EET 2013

  • Minor bug-fix release


Released: Fri Nov 8 17:25:08 EET 2013

  • Support for Debian Wheezy
  • Bug fix version


Released: Wed Sep 18 17:50:12 EEST 2013

  • Bug fix version


Released: Wed Sep 18 16:18:58 EEST 2013

  • Bug fix version


Released: Wed Aug 7 11:19:49 EEST 2013


  • Bug fix version


Released: Mon Jul 29 12:24:22 EEST 2013


Released: Thu Jul 25 12:22:47 EEST 2013


Released: Fri Jul 12 13:13:32 EEST 2013


Released: Tue Jun 25 14:01:19 EEST 2013


  • Standardize URLs for Synnefo Components:
    • impose structure and naming conventions to all URL related settings. Make each component deployable under a user-configurable <COMPONENT>_BASE_URL. Each API (compute, image, etc.) is deployable under a developer-configurable prefix beneath BASE_URL.
  • Branding customization support across synnefo frontend components:
    • ability to adapt the Astakos, Pithos and Cyclades Web UI to a company’s visual identity. This is possible using the snf-branding component, which is automatically installed on the nodes running the API servers for Astakos, Pithos and Cyclades.
  • Create a JSON-exportable definition document for each Synnefo Components (Astakos, Cyclades, Pithos, etc.) that consolidates APIs (services), resources, and other standardized properties (e.g. default URL prefixes).
  • Implement common client for communication with Astakos and proper error handling.


  • Redesign of the accounting system (quotaholder) and integration into Astakos.
  • Implemented the keystone API call POST /tokens
    • Specified the API call allong with a procedure to register a Synnefo component (e.g. cyclades) along with the services it provides (e.g. compute, plankton) and the resources it handles (e.g. vm, cpu).
  • All API calls are moved under ‘/account/v1.0’.
  • Support API calls for quotas, commissions and resources.
  • Improved user activation process
  • Improve limit of pending applications by making it a quotable resource.
  • Added fine grain user auth provider’s policies.
  • Overhauling of Astakos management commands for usability and uniformity.


  • Speed up private network creation, by creating a network to a Ganeti backend only when a server connects to that network.
  • Rename management commands for commissions and resources for uniformity with other services.
  • Synchronize Cyclades API with Openstack Compute v2.0 API.


Released: Wed Apr 10 18:52:50 EEST 2013


  • Support for pooling throughout Synnefo
    • Pooled Django DB connections, Pithos backend connections, HTTP connections using single objpool package
  • Improved management commands
    • Unified codebase for output of tables in JSON, CSV
  • Bring most of Synnefo code inside a single, unified repository
    • support automatic Python and Debian package builds for individual commits
    • with automatic version generation
  • Overhauling of Synnefo settings: renames and refactoring, for increased uniformity (in progress)
  • Deployment: Standardize on gunicorn, with gevent-based workers and use of Green threads throughout Synnefo
  • Documentation: New scale-out guide, with distinct node roles, for mass Synnefo deployments


  • Support multiple authentication methods
    • Classic (username/password), Shibboleth, LDAP/Active Directory, Google, Twitter, LinkedIn
    • Users can enable/disable auth methods, and switch between them
  • Introduce a UUID as a global identifier for users, throughout Synnefo
    • The UUID remains constant as the user enables/disables login methods
  • Allow users to modify their email address freely
  • Per-user, per-resource accounting mechanism (quotaholder)
  • Full quota support, with per-user, per-resource quotas, based on quotaholder
  • Projects: Users can create and join Projects
    • Projects grant extra resources to their members
  • UI Enhancements for quotas and projects
    • distinct Usage tab, showing usage of individual resources
    • Project management UI
    • New Overview page


  • Commission resources on quotaholder/Astakos
  • Support mass creation of flavors
  • Support for the ExtStorage disk template in Ganeti
  • Query and report quotas in the UI
  • Pass VM configuration parameters over a VM-side API (vmapi)
    • Do not pass sensitive data as Ganeti OS parameters
    • Keep sensitive data in memory caches (memcached) and never allow them to hit the disk
  • Display additional backend information in helpdesk machines list
  • Allow helpdesk users to search for an account using a known machine id
  • Helpdesk actions are now logged using the synnefo’s common login infrastructure


  • Support storage of blocks on a RADOS backend, for Archipelago
  • Rewritten support for public URLs, with admin-selectable length


  • Extend snf-burnin to include testing of Pithos functionality