Revision ee6eff28 ci/utils.py

b/ci/utils.py
15 15
from ConfigParser import ConfigParser, DuplicateSectionError
16 16

  
17 17
from kamaki.cli import config as kamaki_config
18
from kamaki.clients.astakos import CachedAstakosClient
18
from kamaki.clients.astakos import AstakosClient, parse_endpoints
19 19
from kamaki.clients.cyclades import CycladesClient, CycladesNetworkClient
20 20
from kamaki.clients.image import ImageClient
21 21
from kamaki.clients.compute import ComputeClient
......
199 199
        token = config.get_cloud(self.kamaki_cloud, "token")
200 200
        #self.logger.debug("Token is %s" % _green(token))
201 201

  
202
        self.astakos_client = CachedAstakosClient(auth_url, token)
202
        self.astakos_client = AstakosClient(auth_url, token)
203
        endpoints = self.astakos_client.authenticate()
203 204

  
204
        cyclades_url = \
205
            self.astakos_client.get_service_endpoints('compute')['publicURL']
205
        cyclades_url = get_endpoint_url(endpoints, "compute")
206 206
        self.logger.debug("Cyclades API url is %s" % _green(cyclades_url))
207 207
        self.cyclades_client = CycladesClient(cyclades_url, token)
208 208
        self.cyclades_client.CONNECTION_RETRY_LIMIT = 2
209 209

  
210
        network_url = \
211
            self.astakos_client.get_service_endpoints('network')['publicURL']
210
        network_url = get_endpoint_url(endpoints, "network")
212 211
        self.logger.debug("Network API url is %s" % _green(network_url))
213 212
        self.network_client = CycladesNetworkClient(network_url, token)
214 213
        self.network_client.CONNECTION_RETRY_LIMIT = 2
215 214

  
216
        image_url = \
217
            self.astakos_client.get_service_endpoints('image')['publicURL']
215
        image_url = get_endpoint_url(endpoints, "image")
218 216
        self.logger.debug("Images API url is %s" % _green(image_url))
219 217
        self.image_client = ImageClient(cyclades_url, token)
220 218
        self.image_client.CONNECTION_RETRY_LIMIT = 2
221 219

  
222
        compute_url = \
223
            self.astakos_client.get_service_endpoints('compute')['publicURL']
220
        compute_url = get_endpoint_url(endpoints, "compute")
224 221
        self.logger.debug("Compute API url is %s" % _green(compute_url))
225 222
        self.compute_client = ComputeClient(compute_url, token)
226 223
        self.compute_client.CONNECTION_RETRY_LIMIT = 2
......
285 282
        return port
286 283

  
287 284
    @_check_kamaki
285
    # Too many local variables. pylint: disable-msg=R0914
288 286
    def create_server(self, image=None, flavor=None, ssh_keys=None,
289 287
                      server_name=None):
290 288
        """Create slave server"""
......
1040 1038
    except ValueError:
1041 1039
        msg = "Invalid %s format. Must be [id|name]:.+" % option
1042 1040
        raise ValueError(msg)
1041

  
1042

  
1043
def get_endpoint_url(endpoints, endpoint_type):
1044
    """Get the publicURL for the specified endpoint"""
1045

  
1046
    service_catalog = parse_endpoints(endpoints, ep_type=endpoint_type)
1047
    return service_catalog[0]['endpoints'][0]['publicURL']

Also available in: Unified diff