Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / api @ 9d1e6480

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

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

cyclades: Fix bug in port-inspect 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.

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

cyclades: PEP8 fixes

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

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

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.

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
95a213d4 10/10/2013 04:46 pm Christos Stavrakakis

cyclades: Fix indentation, PEP8 and wrong imports

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.

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

cyclades: Add api/subnets.py

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.

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.

443315d6 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Add 'ip_type' attribute to NIC

Extend NetworkInterface model with the 'ip_type' attribute to show
whether the IP is a floating or fixed.

Signed-off-by: Christos Stavrakakis <>

7c714455 10/09/2013 11:40 am Christos Stavrakakis

cyclades: Use Ganeti NIC UUIDs

Since Ganeti 2.8, it is supported to refer to devices (NICs and Disks)
not only by their index but also by their name or UUID. This commit
updates Synnefo to refer to devices by their name. Synnefo will set the
name of the devices which will be a UUID. We do not use Ganeti's UUIDs...

c4ed6248 10/09/2013 11:39 am Christos Stavrakakis

cyclades: Fix bug in floating IP test

2a2f9ffa 10/07/2013 02:37 pm Christos Stavrakakis

cyclades: Refactor network-modify command

Refactor snf-manage network-modify command. Remove options that modified
link, mac_prefix, mode, enable_dhcp or state of the network. This
options modified only the network in DB and resulted in incosistencies
between Cyclades DB and Ganeti.

a52cc1b4 10/07/2013 02:37 pm Christos Stavrakakis

cyclades: Refactor code for renaming a server

Created function for renaming a server.

91f7a08c 10/07/2013 02:37 pm Christos Stavrakakis

cyclades: Fix server-modify management command

  • Change --set-suspended and --unsuspended to --suspended=True|False
  • Removed --set-deleted as snf-manage server-remove can be used.
  • Removed option for modifying the state of a server.
60a71437 10/07/2013 02:37 pm Christos Stavrakakis

cyclades: Resize server from management command

Add the --flavor option in server-modify management command to resize a
server to a different flavor.

35f2fc07 10/07/2013 02:37 pm Christos Stavrakakis

cyclades: Add --action option in server-modify cmd

Add --action option in server modify command, to start, stop or reboot
an instance.

c3c8297e 10/03/2013 11:19 am Christos Stavrakakis

cyclades: Add 'server-remove' management command

Implement server-remove management command that deletes an instance from
a Ganeti backend. The command will wait by default for the
OP_INSTANCE_REMOVE job to complete, except if --wait=False is used.

6b256427 10/01/2013 06:56 pm Christos Stavrakakis

Request Django=>1.4, <1.5

Drop support for Django 1.2. Remove compatibility code that were used in
order to support Django 1.2 and 1.4. Finally update django documentation
link in the docs.

0a70d2c5 10/01/2013 06:16 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.8' into develop

Merge hotfix-0.14.8 which ports Synnefo to wheezy and Django 1.4.5

Conflicts:
ci/ci_squeeze.conf
ci/ci_wheezy.conf
ci/schemas/one_node_squeeze/packages.conf
ci/schemas/one_node_squeeze/squeeze.conf
ci/schemas/one_node_squeeze/wheezy.conf...

a1d0f147 09/27/2013 10:49 am Christos Stavrakakis

cyclades: Remove commit_manually decorator

Replace commit_manually decorator with commit_on_success. Since network
is no longer created in DB in the API request, the manually decorator is
no longer needed.

a6b17d33 09/24/2013 05:16 pm Christos Stavrakakis

wheezy: urls module doesn't export defaults

2c6ac437 09/24/2013 12:30 pm Christos Stavrakakis

Fix missing import and broken test

9dcfad23 09/20/2013 01:45 pm Christos Stavrakakis

cyclades: Handle errors during vm creation

Commit #f2080d1 mocked an OP_INSTANCE_REMOVE when enqueuing an
OP_INSTANCE_CREATE job to Ganeti failed. However, this may result in
releasing IPs that may get reserved in Ganeti, because we can never
really know if the job has reached Ganeti or not (e.g. timeout). For...

874383a4 09/20/2013 01:45 pm Christos Stavrakakis

cyclades: Add missing commit_on_success decorator

8e67ea28 09/18/2013 06:22 pm Christos Stavrakakis

cyclades: Apply old commits to moved files

Code from file 'api/servers.py' has been moved to 'logic/servers.py'.
During the merge of hotfix-0.14.6 the develop, this code was lost. This
commit applies commits #f2080d1, #ea9b0fb, #32a0b85 to the new file.

ed2064f8 09/18/2013 05:17 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.6' into develop

Conflicts:
Changelog
docs/admin-guide.rst
snf-cyclades-app/synnefo/api/management/commands/network-remove.py
snf-cyclades-app/synnefo/api/servers.py
snf-cyclades-app/synnefo/api/tests/servers.py
snf-cyclades-app/synnefo/logic/backend.py...

f2080d16 09/17/2013 02:33 pm Christos Stavrakakis

cyclades: Mock vm removal if creation fails

In case creating a VM fails before the OP_INSTANCE_CREATE job is
enqueued in Ganeti, the VM and its NICs must be deleted, and the
resources must be released from Quotaholder, which is exactly what is
done when a VM is deleted from Ganeti. Instead of duplicating the code,...

ea9b0fb9 09/17/2013 01:26 pm Christos Stavrakakis

cyclades: Fix bug during server creation

Commit #32a0b85, modified server creation, by refetching the object from
DB after issuing commission to quotaholder. However, the new object is
not having the 'config_url' attributed, which is added to the vm object...

bdb4641c 09/16/2013 02:53 pm Giorgos Korfiatis

cyclades: Fix unbound reference

Set backend to None if not specified.

db3037f1 09/12/2013 06:29 pm Giorgos Korfiatis

cyclades: Do not release resources if already deleted

Ensure that a commission to release vm resources is issued only once.
If a vm is marked `deleted', then resources must have already been
released.

32a0b855 09/12/2013 06:29 pm Giorgos Korfiatis

cyclades: Do not save stale objects after a commit

Call to issue_and_accept_commission saves the resource object (eg a vm)
and commits the transaction. This has the side-effect that the resource
object becomes stale: its lock is released and another thread may acquire...

347b2ba1 09/12/2013 06:26 pm Giorgos Korfiatis

common: Strip trailing slash from endpoints

Remove trailing slash from the endpoints' publicURL field in service
definitions. These values end up in the response of POST /tokens, and,
according to the keystone API, should not end in slash. A trailing slash...

a8333def 09/11/2013 05:06 pm Christos Stavrakakis

cyclades: Add newline

4111c53e 09/10/2013 03:29 pm Christos Stavrakakis

cyclades: fix typos

051e47f8 09/10/2013 03:29 pm Christos Stavrakakis

cyclades: Make index field of NIC optional

Change 'index' field of NIC model to be optional, because the index of
building NICs is unknown. Also, change all API responses to return only
the active NICs.

bbae3e45 08/28/2013 01:55 pm Christos Stavrakakis

cyclades: Fix bug in handling of reboot type.

'type' attribute of reboot OS API call was directly mapped to the
'reboot_type' option of Ganeti reboot job. However these two are
semantically different. The 'SOFT' and 'HARD' reboot types of OS API are
mapped to 'shutdown_timeout' option of Ganeti jobs. However, setting...

dfcece01 08/23/2013 06:00 pm Christos Stavrakakis

cyclades: Fix broken tests from commit #c172f4a

Commit #c172f4a used the "size" attribute of images. This commit
fixes mocked images of tests to contain this attribute.

c172f4ab 08/23/2013 12:16 pm Christos Stavrakakis

Pass hashmap instead of location to snf-image

Update Cyclades, to pass as 'img_id' the hashmap('checksum') of the
image, instead of the location URL. In that way, snf-image does not any
access to the Pithos database.

20a626e7 08/21/2013 11:36 am Giorgos Korfiatis

cyclades: Fix call to api_method_not_allowed

e368ad39 08/07/2013 11:08 am Christos Stavrakakis

cyclades: PEP8 fixes to tests module

2522e489 08/07/2013 11:08 am Christos Stavrakakis

cyclades: extend VM info with 'port_forwarding'

Extend servers info API response with 'SNF:port_forwarding' attribute,
describing port fowarding rules (DNAT) that are applied to vms. The
description of such rules is done via the new CYCLADES_PORT_FORWARDING...

d328a525 08/07/2013 11:08 am Christos Stavrakakis

cyclades: Extend servers info with fqdn attribute

Extend the servers info API response with the 'SNF:fqdn' attribute,
containg the vm's domain name in a DNS. This attribue is configurable by
the 'CYCLADES_SERVERS_FQDN' setting. If this setting is set to None,...

7e82ac17 08/07/2013 11:08 am Christos Stavrakakis

cyclades: add tests for 'fqdn'

16855230 08/06/2013 11:09 am Christos Stavrakakis

cyclades: Fix bugs in modifying network to IP pool

Fix bugs in network-modify command, and specifically when modifying
a network to a floating IP pool:
  • do not check availability of link in backends in which the network is
    already created.
  • check about the group list was working only with ganeti>=2.7...
a4658bbe 08/06/2013 08:40 am Christos Stavrakakis

cyclades: Move code for validating network values

Move code for network parameters validation from 'api' module to 'logic'.

d758784b 08/05/2013 02:39 pm Christos Stavrakakis

Fix stale import statements

Commit 7cfc0ce moved code from webproject to snf_django. This commit
fixes some stale imports that skipped renaming.

9582e68e 08/05/2013 01:29 pm Christos Stavrakakis

cyclades: Remove assumptions from tests

Remove some hard-coded IDs from tests.

7cfc0cef 08/05/2013 12:45 pm Christos Stavrakakis

snf-django: Move ListCommand to snf-django

snf-webproject contained the generic ListCommand, and because of this it
had a dependency from snf-django-lib. This commit moves this command from
snf-webproject to snf-django-lib and removes this dependency. Also,...

6c77ed37 07/26/2013 09:59 am Christos Stavrakakis

cyclades: Create network in all backends

Add option in snf-manage network-create command to create network in all
backends.

671db71c 07/25/2013 01:31 pm Christos Stavrakakis

cyclades: Add network to multiple backends

Update snf-manage network-create command to take a list of comma
seperated backend IDs to create the network to.

b47f167a 07/24/2013 09:15 pm Christos Stavrakakis

cyclades: Fixes in network management commands

Merge code from logic/networks.py and network management commands.

12e539f0 07/24/2013 09:15 pm Christos Stavrakakis

cyclades: Exclude FIP pools from IP allocation

Do not include the floating IP pools, to the available public networks
when allocating an IPv4 address, when 'SNF:ANY_PUBLIC' option is used.

b2791a77 07/24/2013 09:15 pm Christos Stavrakakis

cyclades: Set firewall profile per NIC

Set firewall profile per NIC, because since Floating IPs an instance can
have more than one NICs in a public network. Extend the API call to take
the NIC index as argument, and modify the Ganeti instance tags to be
formated with the NIC index.

449c2d82 07/24/2013 09:15 pm Christos Stavrakakis

cyclades: Fix bug in network-modify command

Fix bug caused by wrong identation level. Modification of network in
Ganeti should be performed only if 'add_reserved_ips' or
'remove_reserved_ips' options are used.

5e5b2476 07/24/2013 09:15 pm Christos Stavrakakis

cyclades: Convert network to floating IP pool

Add '--floating-ip-pool' option to network-modify management command, in
order to convert a network to a floating IP pool. Conversation of a
network to a floating IP pool requires the creation of the network to...

1fb0fdda 07/22/2013 04:53 pm Christos Stavrakakis

cyclades: Display task and task_job_id

Make 'server-show' and 'server-inspect' management command to display
the 'task' and 'task_job_id' fields of the vm.

12cb6933 07/22/2013 04:53 pm Christos Stavrakakis

cyclades: Minor improvements in manage commands

8d325d4b 07/17/2013 02:57 pm Christos Stavrakakis

cyclades: Simple code refactoring

5aeb4e93 07/17/2013 02:57 pm Christos Stavrakakis

cyclades: Support IPv6 only networks

Make Cyclades support IPv6 only networks. Such networks will have
the 'subnet' attribute set to None, in the same way that IPv4 only
networks have the 'subnet6' attribute set to None.

Because currently Ganeti does not support IPv6 only networks, we create the...

c75ab92e 07/17/2013 02:57 pm Christos Stavrakakis

cyclades: Refactor code relative to networks

Move code checks from network-create management command to
logic/networks.py.

Also create common decorator for management commands to convert api
faults to command errors.

890f3d4c 07/12/2013 01:22 pm Christos Stavrakakis

Merge branch 'hotfix-0.14.2' into develop

Conflicts:
Changelog
snf-astakos-app/astakos/im/messages.py
snf-astakos-app/astakos/im/views/target/__init__.py
snf-cyclades-app/synnefo/logic/backend.py
snf-cyclades-app/synnefo/logic/management/commands/reconcile-servers.py...

94537e34 07/11/2013 03:52 pm Christos Stavrakakis

cyclades: Move tests in tests directory

0ace35e4 07/10/2013 10:55 am Christos Stavrakakis

cyclades: Add size and free to floating-ip-pools

6193628f 07/08/2013 12:04 pm Christos Stavrakakis

cyclades: Fix typo bug in management command