Statistics
| Branch: | Tag: | Revision:

root / snf-cyclades-app / synnefo / logic / reconciliation.py @ 74267398

History | View | Annotate | Download (30.3 kB)

# Date Author Comment
edbc1d5a 11/23/2013 07:59 pm Christos Stavrakakis

cyclades: Remove duplicate constants

1cb7846c 11/23/2013 07:52 pm Christos Stavrakakis

cyclades: Fix removal of stale NICs in BUILD state

Until now, NICs that did not exist in the Ganeti backend and were in
BUILD state were removed after a timeout (BUILDING_NIC_TIMEOUT). This
was dangerous, because if an OP_INSTANCE_CONNECT job had been "stuck"...

ec4e0acc 11/08/2013 04:49 pm Christos Stavrakakis

cyclades: Fix corner case in reconciliation

If at the end of reconciliation the state of the network is not ACTIVE,
try to recompute the state of the network based on the state of the
networks in each backend. This step is mostly needed in case that the
network does not exist in any backend.

84a0469b 11/07/2013 09:32 pm Christos Stavrakakis

cyclades: Fix reconciliation of floating IP pools

Remove special handling of floating IP pools in reconciliation
mechanism since floating IP pools are treated the same way with other
networks.

c82f57ad 11/04/2013 12:18 pm Christos Stavrakakis

cyclades: Series of fixes regarding networks & ips

  • Do not delete the network from the DB if it has associated floating
    IPs. This should never be the case because a check is made before
    deleting the network, however this check is added for safety.
  • Do not allow deleting a network if there are still ports configured on...
4cbd934b 11/01/2013 04:17 pm Christos Stavrakakis

cyclades: Reconcile pools only for IPv4+dhcp subs

Perform IP pools reconciliation only for networks with an IPv4 subnet
that has enabled the dhcp option.

3a6be177 10/30/2013 12:51 pm Christos Stavrakakis

cyclades: Rename Port state from BUILDING to BUILD

Neutron API defines the 'BUILD' status. This commit renames BUILDING
state of NIC to BUILD.
0e0a6ef9 10/29/2013 07:38 pm Christos Stavrakakis

cyclades: Fix reconciliation for network and pools

Fix reconciliation to work with multiple IP pools per network:
  • Fix reconcile-networks command to check if a reserved_ip in a Ganeti
    network is reserved in the pool that contains this IP (if any)
  • Fix reconcile-pools to reconcile each of the networks IP pools and...
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
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.

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

cyclades: Include 'index' when comparing NICs

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.

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

cyclades: Use UUIDs to update VM NICs

Callback functions of snf-dispatcher updated the NICs of a VM by
deleting all NICs from DB, and creating the new NICs that were described
in the message. However, since NICs have UUIDs, this is no longer
required. This commit update callbacks to update the NICs based on their...

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

gtools: Make eventd send job fields

Make snf-ganeti-eventd send 'job_fields' for instance and network
opcodes, and modify the corresponding backend functions and
snf-dispatcher callbacks.

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.

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

Fix compatibility issues with ganeti-2.7

  • SimpleConfigReader has been removed. Use SimpleStore
  • QUEUE_DIR has been moven from ganeti.constants to ganeti.pathutils
  • _QueuedJob.Restore takes 2 more arguments
  • Group info is returned as list instead of string
98a01362 10/09/2013 11:29 am Christos Stavrakakis

cyclades: Fix bug for externally reserved IPs

Skip check if there are no externally reserved IPs in the Ganeti
backend.

0ccb6461 10/07/2013 02:37 pm Christos Stavrakakis

cyclades: Refactor reconciliation of pools

Move reconciliation of IP pools from 'snf-manage reconcile-networks'
to 'snf-manage reconcile-pools'. Also change the way reconciliation
works: Instead of reconciling the IP pools in DB with the IP pools in
Ganeti, the new reconciliation just checks that:...

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

cyclades: fix typos

1464a17b 09/10/2013 03:29 pm Christos Stavrakakis

cyclades: Fix bug in reconciliation

VMs at building error that do not exist in Ganeti must not be reported
as stale. The VM is stale only if the user has asked to destroy the VM,
and so the action is DESTROY.

0c09b1c0 08/07/2013 11:08 am Christos Stavrakakis

cyclades: Import settings from django.conf

160c81a1 08/06/2013 04:01 pm Christos Stavrakakis

cyclades: Fix typo

ce55f724 08/06/2013 03:58 pm Christos Stavrakakis

cyclades: Fix typo

63f9eb8e 07/24/2013 09:15 pm Christos Stavrakakis

cyclades: Reconciliation for pending vm tasks

Extend reconciliation mechanism, to detect instances with stale pending
tasks, by looking if the corresponding job, 'vm.task_job_id', is still
running in the Ganeti backend.

Also refactor code that performed reconciliation for buildign vms, to...

89b2b908 07/17/2013 02:57 pm Christos Stavrakakis

cyclades: Move NetworkReconciler to reconciliation

Move NetworkReconciler class from network-create command to
reconciliation module.

5d3e597a 07/09/2013 04:43 pm Christos Stavrakakis

cyclades: Fix reconciliation of building vms

When reconciling a building vm, you first have to reconciliation it's
creation and then it's operstate. Otherwise it is possible to end up
having wrong quotas.

75dc539e 07/05/2013 04:13 pm Christos Stavrakakis

cyclades: Parallel server reconciliation

Major refactor to reconcile-servers management command to make it work
in parallel for each backend. Also, removed all --detect options, and
detect all incosistencies by default.

7ab30015 07/02/2013 12:31 pm Christos Stavrakakis

cyclades: refactor reconciliation

Refactor reconciliation code to use namedtuples and improve performance
for retrieving info from database.

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

cyclades: reconciliation for resizing VMs

abe6915b 06/28/2013 09:12 pm Christos Stavrakakis

Merge branch 'release-0.14' into develop

Conflicts:
snf-astakos-app/astakos/im/views/target/redirect.py
snf-cyclades-app/synnefo/logic/backend.py
version

e77a29ab 06/28/2013 08:45 pm Christos Stavrakakis

cyclades: Fixes relative to reconciliation

Get available backends once and work only with them, since available
backends may change during reconciliation. Also temporary remove support
for communicating with each backend in a separate process.

e63050ca 06/19/2013 02:30 pm Christos Stavrakakis

cyclades: Speed up server reconciliation

Speed up reconciliation, by increasing the time interval to get Ganeti
job status for VMs in building state.

c4e45b57 02/18/2013 02:25 pm Christos Stavrakakis

pep8 convension

1ad47ca5 02/12/2013 08:08 pm Christos Stavrakakis

Fix reconciliation for building VMs

Since commit 482c645, a VM exists in the Cyclades DB before the
corresponding job is enqueued in the Ganeti backend. Therefore, there is
a corner case, where Cyclades can not enqueue the job to Ganeti and
Cyclades crashes before deleting the VM from the DB, which results in a...

cc92b70f 02/06/2013 02:18 pm Christos Stavrakakis

Fix pep8 warnings

c414bc87 12/10/2012 04:14 pm Christos Stavrakakis

Add backend-id option to reconcile-servers

Make reconcile-servers perform reconciliation only for the specified
backend.

c6ad2f2d 12/06/2012 02:02 pm Christos Stavrakakis

reconciliation:avoid double asking Ganeti

Modify reconcile-servers to not communicate 2 times with Ganeti
to get the operstate and the NICs of the VMs. Merge this two one
call.

4216cd83 10/04/2012 06:18 pm Christos Stavrakakis

Fix bug about RAPI client pooling

Modify the pooled_rapi_client context manager to handle exceptions
and release the client in any case. Also modify uses of reconciliation
to handle exceptions inside the scope of the context manager

3524241a 10/03/2012 12:22 pm Christos Stavrakakis

Pool Ganeti RAPI clients

- Move Ganeti RAPI client from snf-common to snf-cyclades-app/logic.
- Create GanetiRapiClientPool for pooling GanetiRapiClient objects
- Create context manager in db.models for pool handling
- Update code using the RAPI client

c807398f 07/27/2012 02:57 pm Kostas Papadimitriou

Fix serious bug in reconciliation

Do not perform reconciliation for VMs that are hosted in Backends
that are currently offline, since it is impossible to get the
state of these VMs from the backend. Before this patch, the
reconciliation mechanism would report these VMs as stale (and with...

0e9a423f 07/23/2012 11:39 am Christos Stavrakakis

Implement network reconciliation

d30f29aa 07/23/2012 11:39 am Christos Stavrakakis

Common functions for instance/network backend name

44e2c577 07/23/2012 11:39 am Christos Stavrakakis

Fix use of network name prefix

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.

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

Renamed snf-app to snf-cyclades-app