Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app @ 65566d61

# Date Author Comment
65566d61 10/29/2013 06:50 pm Dionysis Grigoropoulos

cyclades: Add snf-manage subnet-update

  • Add snf-manage subnet-update. For the time being only the name of
    subnet can be updated.
99718617 10/29/2013 04:03 pm Dionysis Grigoropoulos

cyclades: Small bug fixes in logic/subnets.py

cfc33ff7 10/29/2013 04:03 pm Dionysis Grigoropoulos

cyclades: Add snf-manage subnet-create command

6f99f94f 10/29/2013 04:03 pm Dionysis Grigoropoulos

cyclades: Bug fixes in snf-manage subnet-list

  • Subnet-list now prints correctly the user ID and network ID of a subnet
  • Remove non-existing field "created"
316787ab 10/29/2013 04:03 pm Dionysis Grigoropoulos

cyclades: Update docstrings, remove old functions

  • Update docstrings in api/subnets.py and logic/subnets.py
  • Remove duplicate and unused functions from logic/subnets.py
c068e75d 10/29/2013 04:03 pm Dionysis Grigoropoulos

cyclades: Update snf-manage subnet-create

Update snf-manage subnet-create. Previous version was pushed without
being tested, thus it wasn't working at all.

8646e606 10/29/2013 04:03 pm Dionysis Grigoropoulos

cyclades: Fix some bugs in subnets

  • Fix a bug, where a user could change the name of a subnet without
    being the owner of said subnet.
  • Fix two bugs in snf-manage subnet-create. Fix no-dhcp option and a
    potential crash if the user specified an invalid IP version type....
014df29c 10/29/2013 03:40 pm Christos Stavrakakis

cyclades: Remove stale references to vm.router

87105bf9 10/29/2013 03:06 pm Christos Stavrakakis

cyclades: Remove stale reference to 'router'

a859190b 10/29/2013 02:57 pm Christos Stavrakakis

cyclades: Fix output of network-inspect command

437e1eee 10/29/2013 02:42 pm Christos Stavrakakis

cyclades: Create network in backend if missing

Automatically create a network in a Ganeti backend if missing.
Currently, this was done only for private networks. This commit changes
this to be done for any kind of networks.

a15114a0 10/29/2013 02:26 pm Christos Stavrakakis

cyclades: Default name for ports and subnets

3d63d954 10/29/2013 02:22 pm Christos Stavrakakis

cyclades: Set external_router for public networks

Set 'external_router' attribute of created networks to True, if a
network is a public network.

7f7f49e3 10/29/2013 02:20 pm Christos Stavrakakis

cyclades: Add migratrion for external_router field

Add data migration for 'external_router' fields. This field is set to
True for all 'public' networks.

495e2be8 10/29/2013 02:17 pm Christos Stavrakakis

Revert "cyclades: Add /routers api"

This reverts commit 69dadbe4e3223dc4d8cbaa5b09dde755c15679ed. Temporary
remove the /routers API.

9c74cc19 10/25/2013 04:25 pm Marios Kogias

cyclades: Fix POST /ports

Modify port create api call. If the user gives a public network
he has to give a valid floating ip as well.

79f4eec0 10/25/2013 03:41 pm Christos Stavrakakis

cyclades: Use existing IP when creating port

Extend port creation with the option to use an existing IPAddress. This
will be used to create a port with an existing Floating IP. Also, extend
port-creata management command with the '--floating-ip' option.

6d5c0344 10/25/2013 03:03 pm Christos Stavrakakis

cyclades: Fixes to port-create command

Verbal and code-style fixes to port-create command.

54f13218 10/25/2013 02:30 pm Christos Stavrakakis

cyclades: PEP8 fix

666b9edc 10/25/2013 12:35 am Marios Kogias

cyclades: Fix snf-manage floating-ip-list

A minor fix to the snf-manage floating-ip-list command to comply
to the new models

d9c36253 10/25/2013 12:35 am Marios Kogias

cyclades: snf-manage floating-ip-attach

snf-manage floating-ip-attach <address> --machine <server_id/router_id>

b3106aa4 10/25/2013 12:35 am Marios Kogias

cyclades: snf-manage floating-ip-dettach <address>

a1ab4e66 10/25/2013 12:35 am Marios Kogias

cyclades: Fix bug in snf-manage network-modify

There was no field floating_ips, ips instead.

69dadbe4 10/25/2013 12:35 am Marios Kogias

cyclades: Add /routers api

  • Add support for /routers api calls
  • Add tests for the api
9d1e6480 10/25/2013 12:35 am Marios Kogias

cyclades: snf-manage floating-ip-release <address>

7bff4d2f 10/25/2013 12:33 am Marios Kogias

cyclades: Add a port deletion test

0e4ec1f5 10/25/2013 12:33 am Marios Kogias

cyclades: Fix snf-manage port-create command

In order to create a new port on a server you give --server <server_id>
In order to create a new port on a router you give --router <router_id>

f29f1326 10/25/2013 12:33 am Marios Kogias

cyclades: Start the snf-manage floating-ip commands

  • Add snf-manage floating-ip-create command
bf42a16c 10/24/2013 06:32 pm Dionysis Grigoropoulos

cyclades: Add snf-manage subnet-list command

5d83d2ff 10/24/2013 04:49 pm Dionysis Grigoropoulos

cyclades: Bug fixes in subnets

9cd6d7e9 10/24/2013 03:33 pm Dionysis Grigoropoulos

cyclades: Update api/subnets.py to use logic files

9eb0710b 10/24/2013 12:36 pm Dionysis Grigoropoulos

cyclades: move subnets.py from api to logic

Move api/subnets.py to logic/subnets.py, for further code refactoring

a17ce1de 10/24/2013 10:38 am Dionysis Grigoropoulos

cyclades: Add get_subnet in management/common.py

00eb7f51 10/18/2013 04:34 pm Christos Stavrakakis

cyclades: Add message to exceptions

1aec0223 10/18/2013 04:33 pm Christos Stavrakakis

cyclades: Fix bug in port-inspect command

4ac628d3 10/18/2013 04:16 pm Christos Stavrakakis

cyclades: Fix network inspect management command

86961519 10/18/2013 03:44 pm Christos Stavrakakis

cyclades: Add backend code to Ports API/logic

Add backend code to create and remove ports from Ganeti backends. Also
add some imporovements and fixes to logic, API code and management
commands.

fe3b2809 10/18/2013 02:50 pm Christos Stavrakakis

cyclades: Fix bug when creating networks

9f6760ee 10/18/2013 01:16 pm Christos Stavrakakis

cyclades: PEP8 fixes

a1d3bc8a 10/18/2013 01:13 pm Christos Stavrakakis

cyclades: Hack-ish commit for old IP pools

411e5025 10/16/2013 06:53 pm Dionysis Grigoropoulos

cyclades: Update subnet tests

097009bf 10/16/2013 06:28 pm Dionysis Grigoropoulos

cyclades: s/slac/enable_slac in api/subnets.py

868e4ce0 10/16/2013 01:57 pm Dionysis Grigoropoulos

cyclades: Fix a typo in api/subnets.py

911a1bc1 10/16/2013 01:26 pm Dionysis Grigoropoulos

cyclades: Various fixes in api/subnets.py

4445f97a 10/16/2013 01:26 pm Dionysis Grigoropoulos

cyclades: Fully support ip pools in subnets

5fa91dc4 10/16/2013 11:37 am Marios Kogias

cyclades: Add snf-manage port-inspect command

This command will provide info about the port concerning the DB and
the Ganeti state. For now, it provides only DB info.

0069a20c 10/16/2013 11:19 am Marios Kogias

cyclades: Add snf-manage port-remove command

f16aa9e6 10/15/2013 01:20 am Marios Kogias

cyclades: Add logic ports.py

Created a new file for ports in logic directory. This will have
the code about port manipulation in the backend. For now it is just
used for db filling.
Use the new function 'create' in the ports API.

a1713485 10/15/2013 01:20 am Marios Kogias

cyclades: snf-manage port-create

  • Create new command snf-manage port-create
  • Create new function util.get_security_group
be7c5377 10/14/2013 08:19 pm Christos Stavrakakis

cyclades: Fix some network management commands

  • Fix network-list to properly display networks. Add optionally
    'subnets' fields to display the IDs of all subnets
  • Fix network-modify to externally reserve the IPs in DB
  • Fix network-create to not require a name and subnet4 or subnet6...
3278725f 10/14/2013 05:56 pm Christos Stavrakakis

cyclades: Refactor backend code for new networks

  • Optimize DB queries by using prefetch related for NIC IPs.
  • Do not try to construct new NIC if it does not exist in Cyclades DB.
  • Update tests
812a1114 10/14/2013 05:42 pm Dionysis Grigoropoulos

cyclades: Add two functions to validate IP Pools

01adca6b 10/14/2013 05:42 pm Dionysis Grigoropoulos

cyclades: Neutron API, update tests for IP Pools

a996065e 10/14/2013 05:42 pm Dionysis Grigoropoulos

cyclades: Update subnets.py to support IP Pools

Update subnets.py to use the two functions introduced in commit 2a1e6fb

97ca522f 10/14/2013 05:42 pm Dionysis Grigoropoulos

cyclades: Update subnets.py to support slac

IPv6 subnets now support a boolean attribute called slac.
If a request for a subnet contains both a slac field and an enable_dhcp
field, only the slac one will be used. If no slac field is found for an
IPv6 subnet, the field enable_dhcp will be used instead....

fde2c1f7 10/14/2013 03:51 pm Christos Stavrakakis

cyclades: Fix the os-floating-ips API

Rewrite the of-floating-ips API to match with the new DB schema.

ae994d2e 10/14/2013 03:51 pm Christos Stavrakakis

cyclades: Fix getting value from pool

If an address is specified, check that the value belong to the pool,
else raise InvalidValue.

94b7399e 10/14/2013 03:51 pm Christos Stavrakakis

cyclades: Create IPv4 pool when creating network

Create IPv4 address pool when creating the network. This is a temporary
commit to make logic network work, since subnet and pool creation must
be moved out of the network creation part.

08e6fe1b 10/14/2013 03:51 pm Christos Stavrakakis

cyclades: Add method to get ip stats to network

Extend Network model with a method to get the number of free and total
IPv4 addresses of the network. Also, add method to IPAddress model to
release its IPv4 address if any. Finally, update backend-list management...

710b1c43 10/14/2013 03:51 pm Christos Stavrakakis

cyclades: Refactor code for allocating IPs

Refactor code that was used for allocating IP addresses and creating
NetworkInterfaces. The new code is more suitable to the new DB schema
where each network may have many IPv4 subnets and each subnet may
have many IP pools. Also, the new functions are using prefetch related...

413fb1dd 10/14/2013 11:07 am Christos Stavrakakis

cyclades: Add option to get value from pool

Extend PoolManager 'get' method to also take as argument a value to
get from the pool. If the value is already reserved, then a
ValueNotAvailable exception will be raised.

9541aab5 10/14/2013 12:07 am Marios Kogias

cyclades: snf-manage port-list

ab6d1a2f 10/13/2013 11:59 pm Marios Kogias

cyclades: Modify snf-manage network commands

Modifications according to the new API

a3b8aaf6 10/11/2013 04:54 pm Marios Kogias

cyclades: Add more port tests

e08afd0b 10/11/2013 02:45 pm Christos Stavrakakis

cyclades: Fix typo and tests

b3a43976 10/11/2013 02:40 pm Christos Stavrakakis

cyclades: Optimize DB queries of /servers API

Use 'prefetch_related' attribute of Django queryset to prefetch the
NetworkInterface and IPaddress objects that are related with a
VirtualMachine object. Also, modify functions that operate on server
NICs and IPs, to to use only the prefetched objects, which means that...

5db2001a 10/11/2013 11:07 am Marios Kogias

cyclades: Syntactic refactor ports

a96e84cf 10/10/2013 08:08 pm Christos Stavrakakis

cyclades: Fix code for networks logic and API

5b8a9240 10/10/2013 08:08 pm Christos Stavrakakis

cyclades: Fix and add new tests for /networks

Also, delete tests for old networks.

69237e6e 10/10/2013 08:06 pm Christos Stavrakakis

cyclades: Fix quotas tests

6a959c73 10/10/2013 06:12 pm Dionysis Grigoropoulos

cyclades: Update api/subnets.py and tests

Commit 4e3a667 introduced a new model for Subnets, this commit contains
the following changes:

  • Update api/subnets.py to match the new model
  • Create tests/subnets.py to test the above api calls
  • Update api/urls and tests/__init__.py to reflect the above changes
88329243 10/10/2013 05:30 pm Christos Stavrakakis

cyclades: Fix helpdesk code and tests for new nets

8c7c9813 10/10/2013 04:59 pm Christos Stavrakakis

cyclades: Fix DB tests

95a213d4 10/10/2013 04:46 pm Christos Stavrakakis

cyclades: Fix indentation, PEP8 and wrong imports

8764d304 10/10/2013 04:35 pm Christos Stavrakakis

cyclades: Make logic tests pass

Refactor Cyclades code so that it follows the new models for Networks,
Subnets and IPAddresses. This refactor is not complete. Instead is the
necessary refactor for making tests for server API calls succeed.

0baa1e3d 10/10/2013 12:40 pm Build Bot

Integrate /networks API call

593851e0 10/10/2013 12:40 pm Build Bot

cyclades: Add /ports api call

92d2d1ce 10/10/2013 01:56 am Christos Stavrakakis

cyclades: Make API server tests pass

Refactor Cyclades code so that it follows the new models for Networks,
Subnets and IPAddresses. This refactor is not complete. Instead is the
necessary refactor for making tests for server API calls succeed.

b4695420 10/09/2013 08:00 pm Christos Stavrakakis

cyclades: Make IPPool manager work for subnets

Temporary commit to make IPPool manager work. This will work only if
there is only one allocation pool for each subnet.

74d936dc 10/09/2013 07:59 pm Christos Stavrakakis

cyclades: Change 'null' attribute of Subnet models

2f1b4cbc 10/09/2013 07:38 pm Christos Stavrakakis

cyclades: Add missing migration file

16f7d0d9 10/09/2013 07:36 pm Dionysis Grigoropoulos

cyclades: Add api/subnets.py

cddc2b2f 10/09/2013 07:36 pm Dionysis Grigoropoulos

cyclades: Use a constant for name length of models

Use a constant for declaring the max length of the name of a
model

326c3ec8 10/09/2013 07:36 pm Christos Stavrakakis

cyclades: Replace FloatingIP with IPAddress

This commit just replaces all references to FloatingIP objects with
references to IPAddress object, in order to be able to just load the
code. But the code is left unchanged, so all tests will fail.

0247388f 10/09/2013 07:34 pm Christos Stavrakakis

cyclades: Update models_factory

Update models factory to match the new models.

Signed-off-by: Marios Kogias <>
Signed-off-by: Dionysis Grigoropoulos <>

06ffd11f 10/09/2013 07:33 pm Christos Stavrakakis

cyclades: Remove unused fields and model from DB

Remove unused 'ipv4' and 'ipv6' attributes from NetworkInterface model
and totally remove FloatingIP model. This information has been moved
in commit 972a428 to IPAddress model.

d484f6df 10/09/2013 07:33 pm Christos Stavrakakis

cyclades: Data migration from NIC to IPAddress

Migrate db data from NetworkInterface model to IPAddress model.

bdd0f1a6 10/09/2013 07:33 pm Christos Stavrakakis

cyclades: Major refactor on NIC model

Major refactor on db models concerning NetworkInterface models. A new
table, namely 'IPAddress' has been created to represent an IPAddress
(IPv4 or IPv6). Each IPAddress is related with a network and the subnet
from which it has been allocated. Also it contains 'floating_ip' attribute...

7b72b50d 10/09/2013 07:31 pm Christos Stavrakakis

cyclades: Remove unused fields from Network model

Remove unused fields from Network: subnet, subnet6, gateway, gateway6,
dhcp and pool. The following attributes have been moved to Subnet model
in commit 779c887. Also extend model with the 'external_router'...

4e3a6674 10/09/2013 07:31 pm Christos Stavrakakis

cyclades: Add new Subnet model

Add Subnet model containing Layer-3 characteristics for networks. Also,
extend IPPoolTable object to hold a reference to the Subnet that the
pool belongs to.

Signed-off-by: Dionysis Grigoropoulos <>

d8989b47 10/09/2013 07:31 pm Christos Stavrakakis

cyclades: Add DB data migration for subnets

Migrate attributes from old Network model to new Subnet model.

258d1f78 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Do not delete FIPs if VM is deleted

Remove on delete CASCADE for floating IPs if the VirtualMachine is
deleted.

bfd04b01 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Include 'index' when comparing NICs

cb7b1c23 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Clear FloatingIP when deleting NIC

Override 'delete' method of NetworkInterface model, to clear the
'machine' flag of the corresponding NIC, if any.

0d069390 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Ignore Ganeti NICs with unknown ID

Do not process Ganeti NICs that do not have a valid ID and so are
unknown to Cyclades, because processing these NICs would require to
create them in DB and then rename them in Ganeti with the corresponding
identifier....

d0545590 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Use NIC UUID in firewall tags

Use NICs UUID instead of index to generate firewall tags. Make the
'set_firewall_profile' action to take the NICs ID as argument. Also,
update the firewall settings.

c988fcca 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Change format of 'attachment' attribute

Change the format of the 'attachment' attribute. Until now, each
attachment had an identifier of the form 'nic-$vm_id-$nic_id'. This
commit changes the identifier to just '$nic_id', since from now on
is unique for the lifetime of a NIC.

121b8921 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Fix case where 'dfree' is None

If Ganeti has not enabled 'plain' or 'drbd' disk template, then it
reports 'dfree' as None. Fix this corner case by treating None as 0.

d7ff7f5a 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Make reconciliation timeouts constants

Remove hard-coded timeouts from code and make them constants. Also do
not perform reconciliation for recent building NICs.

cd7ed999 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Use NIC uuid when deleting NIC