Revision dcb17973
b/snfOCCI/APIserver.py | ||
---|---|---|
47 | 47 |
|
48 | 48 |
|
49 | 49 |
def refresh_compute_instances(self, snf): |
50 |
|
|
50 |
'''Syncing registry with cyclades resources''' |
|
51 |
|
|
51 | 52 |
servers = snf.list_servers() |
52 | 53 |
snf_keys = [] |
53 | 54 |
for server in servers: |
... | ... | |
57 | 58 |
occi_keys = resources.keys() |
58 | 59 |
|
59 | 60 |
diff = [x for x in snf_keys if '/compute/'+x not in occi_keys] |
60 |
|
|
61 | 61 |
for key in diff: |
62 | 62 |
|
63 | 63 |
details = snf.get_server_details(int(key)) |
64 | 64 |
flavor = snf.get_flavor_details(details['flavorRef']) |
65 | 65 |
|
66 | 66 |
resource = Resource(key, COMPUTE, []) |
67 |
|
|
68 | 67 |
resource.actions = [START] |
69 |
resource.attribute = {} |
|
70 | 68 |
resource.attributes['occi.core.id'] = key |
71 | 69 |
resource.attributes['occi.compute.state'] = 'inactive' |
72 | 70 |
resource.attributes['occi.compute.architecture'] = SERVER_CONFIG['compute_arch'] |
... | ... | |
76 | 74 |
|
77 | 75 |
self.registry.add_resource(key, resource, None) |
78 | 76 |
|
77 |
diff = [x for x in occi_keys if x[9:] not in snf_keys] |
|
78 |
for key in diff: |
|
79 |
self.registry.delete_resource(key, None) |
|
80 |
|
|
81 |
|
|
79 | 82 |
def __call__(self, environ, response): |
80 | 83 |
|
81 | 84 |
conf = Config() |
Also available in: Unified diff