Revision 43a22402

b/ci/utils.py
47 47

  
48 48
def _check_fabric(fun):
49 49
    """Check if fabric env has been set"""
50
    def wrapper(self, *args):
50
    def wrapper(self, *args, **kwargs):
51 51
        """wrapper function"""
52 52
        if not self.fabric_installed:
53 53
            self.setup_fabric()
54
        return fun(self, *args)
54
        return fun(self, *args, **kwargs)
55 55
    return wrapper
56 56

  
57 57

  
58 58
def _check_kamaki(fun):
59 59
    """Check if kamaki has been initialized"""
60
    def wrapper(self, *args):
60
    def wrapper(self, *args, **kwargs):
61 61
        """wrapper function"""
62 62
        if not self.kamaki_installed:
63 63
            self.setup_kamaki()
64
        return fun(self, *args)
64
        return fun(self, *args, **kwargs)
65 65
    return wrapper
66 66

  
67 67

  
......
199 199
            self._wait_transition(server_id, "ACTIVE", "DELETED")
200 200

  
201 201
    @_check_kamaki
202
    def create_server(self):
202
    def create_server(self, image_id=None, flavor_id=None):
203 203
        """Create slave server"""
204 204
        self.logger.info("Create a new server..")
205
        image = self._find_image()
206
        self.logger.debug("Will use image \"%s\"" % _green(image['name']))
207
        self.logger.debug("Image has id %s" % _green(image['id']))
205
        if image_id is None:
206
            image = self._find_image()
207
            self.logger.debug("Will use image \"%s\"" % _green(image['name']))
208
            image_id = image["id"]
209
        self.logger.debug("Image has id %s" % _green(image_id))
210
        if flavor_id is None:
211
            flavor_id = self.config.getint("Deployment", "flavor_id")
208 212
        server = self.cyclades_client.create_server(
209 213
            self.config.get('Deployment', 'server_name'),
210
            self.config.getint('Deployment', 'flavor_id'),
211
            image['id'])
214
            flavor_id,
215
            image_id)
212 216
        server_id = server['id']
213 217
        self.write_config('server_id', server_id)
214 218
        self.logger.debug("Server got id %s" % _green(server_id))

Also available in: Unified diff