Revision bbc826ca ci/utils.py
b/ci/utils.py | ||
---|---|---|
306 | 306 |
networks.append({'port': port['id']}) |
307 | 307 |
private_networks = self.config.get('Deployment', 'private_networks') |
308 | 308 |
if private_networks: |
309 |
private_networks = private_networks.split(",") |
|
310 |
networks.extend([{"uuid": uuid.strip()} |
|
311 |
for uuid in private_networks]) |
|
309 |
private_networks = [p.strip() for p in private_networks.split(",")] |
|
310 |
networks.extend([{"uuid": uuid} for uuid in private_networks]) |
|
312 | 311 |
if server_name is None: |
313 | 312 |
server_name = self.config.get("Deployment", "server_name") |
314 | 313 |
server_name = "%s(BID: %s)" % (server_name, self.build_id) |
... | ... | |
324 | 323 |
self.write_temp_config('server_passwd', server_passwd) |
325 | 324 |
|
326 | 325 |
server = self._wait_transition(server_id, "BUILD", "ACTIVE") |
327 |
self._get_server_ip_and_port(server) |
|
326 |
self._get_server_ip_and_port(server, private_networks)
|
|
328 | 327 |
self._copy_ssh_keys(ssh_keys) |
329 | 328 |
|
330 | 329 |
# Setup Firewall |
... | ... | |
468 | 467 |
self.logger.error("No matching image found.. aborting") |
469 | 468 |
sys.exit(1) |
470 | 469 |
|
471 |
def _get_server_ip_and_port(self, server): |
|
470 |
def _get_server_ip_and_port(self, server, private_networks):
|
|
472 | 471 |
"""Compute server's IPv4 and ssh port number""" |
473 | 472 |
self.logger.info("Get server connection details..") |
474 |
server_ip = server['attachments'][0]['ipv4'] |
|
473 |
if private_networks: |
|
474 |
# Choose the networks that belong to private_networks |
|
475 |
networks = [n for n in server['attachments'] |
|
476 |
if n['network_id'] in private_networks] |
|
477 |
else: |
|
478 |
# Choose the networks that are public |
|
479 |
networks = \ |
|
480 |
[n for n in server['attachments'] |
|
481 |
if self.network_client.get_network_details(n['id'])['public']] |
|
482 |
# Choose the networks with IPv4 |
|
483 |
networks = [n for n in networks if n['ipv4']] |
|
484 |
# Use the first network as IPv4 |
|
485 |
server_ip = networks[0]['ipv4'] |
|
486 |
|
|
475 | 487 |
if (".okeanos.io" in self.cyclades_client.base_url or |
476 | 488 |
".demo.synnefo.org" in self.cyclades_client.base_url): |
477 | 489 |
tmp1 = int(server_ip.split(".")[2]) |
Also available in: Unified diff