Revision dcb17973 snfOCCI/APIserver.py

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