Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / logic / backend_allocator.py @ 435bb7fb

History | View | Annotate | Download (5.7 kB)

# Date Author Comment
3aecadc8 11/05/2013 11:07 am Christos Stavrakakis

cyclades: Fix default/forced server networking

Fix the default behaviour for networking of servers that are being
created. There are two settings controlling this behaviour:

  • CYCLADES_DEFAULT_SERVER_NETWORKS: This setting contains list of
    networks to connect a newly created server to, if the user has not...
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...

5d1f6b84 10/07/2013 12:48 pm Christos Stavrakakis

cyclades: Fix bug in backend_allocator

The 'disk_template' attribute for flavors of external disk template
included the name of the provider. The backend allocator tried to find a
backend with an enabled 'ext_$(provider)' disk template. This commit
fixes this by searching only for 'ext' in the enabled disk templates.

1da50fe3 10/01/2013 11:37 am Christos Stavrakakis

cyclades: Refactor backend-update-status cmd

The command has been changed to no longer take any arguments or options.
Instead, this command always updates the resources and the enabled disk
templates of all online Ganeti backends.

f15bf3d9 10/01/2013 11:37 am Christos Stavrakakis

Allocate VMs based on enabled disk-templates

Remove the ARCHIPELAGO_BACKENDS setting. Instead allocate VMs based on
the disk-templates that are enabled and allowed in ipolicy for each
backend. The command 'snf-manage backend-update-status' can be used to...

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

cyclades: Consider IPv6 only networks in allocator

Backend allocator excludes backends that do not have a free IPv4
address. Since, from now on, not all instances are connected to a public
network, this check is only needed when 'SNF:ANY_PUBIC' network is used.

e8aa2f64 06/21/2013 05:42 pm Christos Stavrakakis

cyclades: Fix bug in allocating archipelago VMs

This commit fixes a bug that caused backend allocator to send
archipelago VMs backends to backends not in ARCHIPELAGO_BACKENDS
setting. The flavor disk template is parsed before the backend
allocation, so the disk_template at this point is ext and not ext_vlmc,...

776d2a3f 01/31/2013 12:58 pm Christos Stavrakakis

Rename ARCHIPELAGOS to ARCHIPELAGO

Rename ARCHIPELAGOS_BACKENDS setting to ARCHIPELAGO_BACKEND.

cab31c74 01/18/2013 01:30 pm Christos Stavrakakis

Add warning message for backend without networks

2e1e6844 11/30/2012 02:47 pm Christos Stavrakakis

Temporary fix for allocating archipelagos VMs

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.

9cf4a3c0 10/03/2012 01:08 pm Christos Stavrakakis

Refresh backends in locked mode

f96f60fd 09/28/2012 03:32 pm Christos Stavrakakis

Move check for free IP to backend_allocator

Filter out the backends that do no have a free IP in BackendAllocator
instead of the default_allocator, in order to remove imports from
synnefo in the allocation strategy.

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

47d1d754 09/21/2012 11:23 am Christos Stavrakakis

Add some logging to backend allocator

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

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