Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / api / servers.py @ 2522e489

History | View | Annotate | Download (31.5 kB)

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

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.

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

cyclades: Simple code refactoring

b6bc4afa 07/07/2013 03:04 pm Christos Stavrakakis

cyclades: Common filtering based on changes-since

Add 'filter_modified_since' function in snf_django api utils, for
parsing 'changes-since' HTTP parameter and filter the DB objects that
are updated after that date. Otherwise the deleted objects are returned.

78c165cf 07/02/2013 12:32 pm Christos Stavrakakis

cyclades: Export OS-EXT-IPS:type for floating IPs.

Cyclades API should return "floating" for the OS-EXT-IPS:type attribute.

816d7588 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Choose floating-ips when creating server

Extend POST /servers API call, to take an optional attribute
'floating_ips', which is a list of floating IP addresses. The server
will have one NIC for each of this addresses after the
'DEFAULT_INSTANCE_NETWORKS' and before any private networks that the...

f8675683 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Various fixes regarding floating IPs

Fix some issues regarding floating ips introduced by rebasing branch.

ece5581b 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Separate logic for networks from API

Remove code handling networks from network API views to logic.networks

cb66110b 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Add network policy at server create

Add 'DEFAULT_INSTANCE_NETWORKS' setting that can be used by the
administrator to define the list of networks that each server that is
created must be connected to. Each created VM will have a NIC connected
to each of these networks. This settings can include a list of network...

9ba6bb95 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Extend /servers with floating IP actions

Extend '/servers/action' API endpoint, to support 'addFloatingIP'
and 'removeFloatingIP' actions.

41a7fae7 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: Major refactor to api and logic apps

Major refactor to cyclades api and logic apps that removes most code
from the api views and moves it to logic app, so that the same logic
code can be used by different apps (e.g. EC2 API). Code is moved into...

40d53b77 06/19/2013 11:07 am Christos Stavrakakis

cyclades: Fix deadlock when creating servers

Fix deadlock between snf-dispatcher and backend allocator, by making
snf-dispatcher take an exclusive lock to the backend which hosts the vm,
before trying to get the exclusive locks to the IP pools in order to...

c0720b78 06/17/2013 01:35 pm Kostas Papadimitriou

cyclades: api_method_not_allowed typo's

1b696c26 06/14/2013 03:52 pm Christos Stavrakakis

cyclades: Add 'links' to compute endpoints

Add 'links' attribute to API responses for servers, networks, flavors
and images endpoints.

936e0be3 06/14/2013 03:52 pm Christos Stavrakakis

cyclades: Add 'user_id' and 'tenant_id' to API

Add 'user_id' to API responses, and add a dummy 'tenant_id' to be equal
with the 'user_id'. Also always include metadata.

1f638a85 06/14/2013 03:52 pm Christos Stavrakakis

cyclades: Add 'addresses' to servers API response

f8352d29 06/14/2013 03:52 pm Christos Stavrakakis

cyclades: Make servers response compatible with OS

b2222a7f 06/13/2013 05:10 pm Christos Stavrakakis

cyclades: Pass disk origin for all 'ext' flavors

8a992938 05/28/2013 01:22 pm Christos Stavrakakis

cyclades: Rename meta to metadata at Cyclades URLs

For compatibility with OpenStack Compute API v2, rename 'meta' to
'metadata' to Cyclades API URLs. Specifically, to the following ones:

  • /servers/<server-id>/meta
  • /servers/<server-id>/meta/<key>
  • /images/<image-id>/meta...
5029ff36 05/28/2013 01:22 pm Christos Stavrakakis

cyclades: Remove "values" term from API

For compatibility with OpenStack Compute API v2, we remove the
term 'values' from all JSON requests and responses.

Refs #3768

e13aeb09 05/28/2013 01:22 pm Christos Stavrakakis

cyclades: Remove 'Ref' suffix from servers API

Rename 'flavorRef' to 'flavor' and 'imageRef' to 'image', to responses of
/servers API. 'flavorRef' and 'imageRef' are still preserved to to request
parameters of POST /servers.

Refs #3768

d3e3ad5d 05/24/2013 04:30 pm Christos Stavrakakis

cyclades: Always add attachments to server info

Update /servers API, to include attachments to /servers responses,
even if the server has no NICs.

bcd80cd9 05/16/2013 06:30 pm Christos Stavrakakis

cyclades: Move common code to seperate function

Move common between API method and management command for creating a
server to a separate function.

a5781130 05/14/2013 01:24 pm Christos Stavrakakis

cyclades: Fix typo in comment

47b8d4b1 05/13/2013 12:15 pm Christos Stavrakakis

Merge branch 'feature-quotas' into develop

Conflicts:
docs/dev-guide.rst

cfb0ff80 05/09/2013 02:54 pm Constantinos Venetsanopoulos

Merge branch 'feature-api-docs' into develop

Minor Conflict:
docs/cyclades-api-guide.rst

2509ce17 04/30/2013 05:05 pm Christos Stavrakakis

cyclades: refactor code relative to commission

Refactor Cyclades code that handles commissioning with Quotaholder. This
commit removes the 'uses_commission' decorator. Instead it introduces
the 'issue_and_accept_commission' function that is responsible for...

7907af91 04/30/2013 05:05 pm Christos Stavrakakis

Restore quotas if enqueuing job to Ganeti fails

When creating a server, we commit the VM model in DB and reserve the
corresponding quotas in Quotaholder before enqueuing the
OP_INSTANCE_CREATE job (because messages from dispatcher may arrive
before committing). In case enqueuing job to Ganeti fails we must...

fa8c2506 04/29/2013 04:24 pm Christos Stavrakakis

cyclades: Fix typo in create_server

State of public NIC should be 'BUILDING'

501053a1 04/22/2013 01:35 pm Christos Stavrakakis

Cyclades: reserve public IP after commission

When creating a server, do not reserve a public IP address before
issuing commission to quotaholder. This bug resulted in unsynchronized
IP pools between Cyclades and Ganeti, and needed external
reconciliation to synchronize them....

baca1e50 04/19/2013 12:27 pm Stavros Sachtouris

Merge branch 'develop' into feature-api-docs

0e214bbe 04/10/2013 06:14 pm Stavros Sachtouris

Add Server Create documentation

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.

b3fd98ae 04/08/2013 11:06 am Christos Stavrakakis

Use common 'api_method' decorator to cyclades api

Update Cyclades API methods to use the new common 'api_method'
decorator. Also, update all the relevant tests.

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

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

e440e835 02/15/2013 02:52 pm Christos Stavrakakis

pep8 fixes

482c6454 02/12/2013 07:50 pm Christos Stavrakakis

Fix transaction handling when creating server

Better handling of transactions when creating a server. Commit the
creation of VM in DB, before enqueuing the job to the Ganeti backend.
If communication with Ganeti fails, then the VM is deleted from the DB....

2cb812be 01/31/2013 01:43 pm Christos Stavrakakis

Fix image 'backend_id' for archipelago

Archipelago needs as disk origin, the hashmap of the image
instead of its url in the backend.

b7f21824 12/14/2012 06:20 pm Kostas Papadimitriou

Fix handling of firewallProfile action

Refs #3097

04a95cf3 12/14/2012 06:20 pm Kostas Papadimitriou

Fix variable scope

97f9c50c 12/01/2012 04:36 pm root

Fix metatada and personality of vmapi

006c6249 11/30/2012 12:49 pm Christos Stavrakakis

Fix typos

2a599282 11/30/2012 12:20 pm Christos Stavrakakis

Merge handling of ext_<provider> disk templates

6ec4694f 11/30/2012 11:44 am Christos Stavrakakis

Use helper function for verifying personalities

33050118 11/29/2012 03:55 pm Georgios D. Tsoukalas

Merge branch 'origin/devel-0.13' into quota

Conflicts:
snf-cyclades-app/synnefo/api/servers.py

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

Fix bugs from merging

77f45438 11/26/2012 12:38 pm Christos Stavrakakis

Issue commissions when creating server/networks

Issue commissions to the Quotaholder when creating a VM or a Network.
The VM/Network that is associated with the corresponding serial in DB.
Also, the serial is marked as accepted because at the end of the
transaction the resource will be present in the DB. Even in case the...

dca7553e 11/26/2012 12:36 pm Christos Stavrakakis

Refactor some code to API create_server method

79b7dbb7 11/23/2012 01:50 pm Christos Stavrakakis

Use vmapi when creating servers

Use the vmapi when creating servers. Creete instance RAPI call takes the
configuration url instead all the image parametere. The id and format
of the image are still passed, just for readability and debugging.

Also renamed params_url to config-url.

027e437a 11/22/2012 02:15 pm Kostas Papadimitriou

Rename nodeapi to vmapi

a9e5e76a 11/22/2012 02:15 pm Kostas Papadimitriou

vmapi improvements

07b73be0 11/22/2012 02:14 pm Kostas Papadimitriou

VM creation signal

`synnefo.api.servers.server_created` signal has been created. The signal
is send for each created server. The signal sender is the created vm and
one argument named `created_vm_params` is passed to the connected
callback functions.

cd2b0bf5 11/12/2012 04:59 pm Christos Stavrakakis

Sort all API list_* responses

6639a243 11/08/2012 06:19 pm Christos Stavrakakis

Merge branch 'master' into devel-0.12

Conflicts:
snf-cyclades-app/synnefo/api/management/commands/flavor-list.py
snf-cyclades-app/synnefo/api/management/commands/server-list.py
snf-cyclades-app/synnefo/api/networks.py
snf-cyclades-app/synnefo/logic/rapi.py

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.

d1b1e683 11/06/2012 01:30 pm Dimitris Aragiorgis

PUBLIC_ROUTED minor changes

Do not allow api to create public networks and type other
than PRIVATE_MAC_FILTERED/PRIVATE_PHYSICAL_VLAN.

Rename PUBLIC_ROUTED_USE_POOL setting to PUBLIC_USE_POOL.

Let synnefo do IP pool management only if network is private or...

5dd9d123 11/02/2012 11:29 pm Christos Stavrakakis

Introduce per-user allocation of VMs to backends

Add BACKEND_PER_USER setting, a mapping from users to backends. This setting
can by used in order to bypass the default backend allocation process, and
allocate all the new VMs of a specific user to a specific Backend.

e221ade2 11/01/2012 01:24 pm Christos Stavrakakis

Do not allow any API action on suspended VMs

Do not allow any modification of any administratively suspended VM through the
API.

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

Merge branch 'ui-0.11' into devel-0.12

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

Include deleted networks in get_flavor_info

5e1d07d4 10/29/2012 05:14 pm Christos Stavrakakis

Return ServiceUnavailable when pools are depleted

Return ServiceUnavailable, instead of OverLimit, when pools of bridges,
mac-prefixes or IPs run out of resources.

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

Merge branch 'devel-0.12' into ui-0.11

4b8e03e5 10/17/2012 04:17 pm Christos Stavrakakis

Handle every exception in manually transactions

ae562340 10/11/2012 05:43 pm Christos Stavrakakis

Improve exception message when no backends

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

ec0b5e5b 10/03/2012 03:58 pm Christos Stavrakakis

Fix bug when not using pool for public networks

0c37a721 10/03/2012 01:39 pm Christos Stavrakakis

Change logging levels

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

Add extra logging

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

47c66641 09/07/2012 05:41 pm Dimitris Aragiorgis

Support multiple public networks in UI

Encapsulate in nic dict a public flag (network.public) and
remove twisted oldstyle identification way (network_id == 'public')
for retrieving public interfaces.
All network references are done via their network_id.
...

7fede91e 09/07/2012 05:36 pm Christos Stavrakakis

Implement multiple public networks

Implement multiple public networks in order to support:
- different public networks per backend
- non-consecutive IP ranges in each backend

To support this, public networks are treated different from private
ones. Namely, they are correlated with one backend (and so have...

85a634e6 08/08/2012 08:34 pm Kostas Papadimitriou

Api changes, additions for vm diagnostics

- Change /servers/detail to include the last diagnostic message for
each vm in the api response.
- Add new /<vm_id>/diagnostics api endpoint which returns the list of
the specified virtual machine diagnostic messages.

1d7c75e4 08/01/2012 06:08 pm Kostas Papadimitriou

Fix servers api list response

filter out deleted vms !!!!!!!

e524ed5f 08/01/2012 05:38 pm Kostas Papadimitriou

Fix servers api response

do not filter out deleted vms if valid changes-since parameter is set on
the request. This allows ui application to be able to identify and remove
deleted vms.

4dba0480 07/23/2012 11:49 am Christos Stavrakakis

Add transaction control to API methods

Specially for create_instance and create_network methods, since a
VirtualMachine, Network object is created before sending the request
to the backend.

8b2515a9 07/23/2012 11:48 am Christos Stavrakakis

Filter deleted entries when changes-since is used

Modify list_networks and list_servers to filter deleted entries when
if-modified-since HTTP header is used, because deleted entries can be
updated after deletion through the reconciliation mechanism.

08b079e2 07/23/2012 11:42 am Stavros Sachtouris

Update servers/networks responses for new API

- Reponses for servers and netowrks details (list or solo) are now
consistent to recent backend changes.
- Methods get_nic_from_index and construct_nic_id have been created
- Syntax for nic removal from network/vm has been adjusted

cc7c0f44 07/23/2012 11:33 am Christos Stavrakakis

Implement backend allocator and management command

New module implementing instance allocation to one of the available
backends. Allocation is performed based on memory and disk utilization.
Statistics for each backend are stored in DB and updated periodically....

4161cb41 07/23/2012 11:33 am Christos Stavrakakis

Fix issues concerning reconciliation

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.

924d8085 07/23/2012 11:32 am Christos Stavrakakis

Rename backend_id to backend_vm_id

Rename backend_id field of VirtualMachine model to avoid conflict between the
backend that hosts the VM and the id that the VM will have on the backend.

ce55f211 07/02/2012 08:25 pm Kostas Papadimitriou

Simple per user quota mechanism for networks/vms

- New dict setting VMS_USER_QUOTA to allow setting per user quota
(overrides MAX_VMS_PER_USER setting)
- Private networks quota mechanism (based on MAX_NETWORKS_PER_USER and
NETWORKS_USER_QUOTA settings)...

4b3b8688 02/24/2012 05:51 pm Giorgos Verigakis

Use lib.astakos instead of our own middleware

2035039b 02/24/2012 05:49 pm Giorgos Verigakis

Switch to the logging middleware

62b894c0 02/21/2012 04:12 pm Giorgos Verigakis

Fix metadata rendering

cc875294 02/02/2012 05:10 pm Giorgos Verigakis

Merge remote-tracking branch 'origin/master' into astakos-integration

Conflicts:
runtests.sh
snf-cyclades-app/synnefo/aai/__init__.py
snf-cyclades-app/synnefo/aai/fixtures/auth_test_data.json
snf-cyclades-app/synnefo/aai/middleware.py
snf-cyclades-app/synnefo/aai/models.py...

9c0ac5af 01/30/2012 06:55 pm Kostas Papadimitriou

Renamed snf-app to snf-cyclades-app