Skip to content
Snippets Groups Projects
Commit ae33a1a6 authored by istmxrein's avatar istmxrein
Browse files

add error handling to get ip address

parent ede891e6
Branches
No related tags found
No related merge requests found
#!/usr/bin/env python #!/usr/bin/env python
import sys import sys
import time
import traceback import traceback
import ipaddress import ipaddress
import openstack import openstack
...@@ -26,7 +27,6 @@ def provision_server( ...@@ -26,7 +27,6 @@ def provision_server(
name=env.VM_NAME, name=env.VM_NAME,
flavor=flavor.id, flavor=flavor.id,
image=image.id, image=image.id,
auto_ip=False,
boot_from_volume=True, boot_from_volume=True,
terminate_volume=True, terminate_volume=True,
wait=True, wait=True,
...@@ -37,10 +37,6 @@ def provision_server( ...@@ -37,10 +37,6 @@ def provision_server(
) )
server = conn.wait_for_server(server, timeout=180) server = conn.wait_for_server(server, timeout=180)
# if env.SSH_IP_VERSION == "4":
# ips = conn.available_floating_ip(network=env.FLOATING_IP_NETWORK, server=server)
# conn.compute.add_floating_ip_to_server(server, ips.floating_ip_address, fixed_address=None)
return server return server
...@@ -48,11 +44,15 @@ def provision_server( ...@@ -48,11 +44,15 @@ def provision_server(
def get_server_ip( def get_server_ip(
conn: openstack.connection.Connection, server: openstack.compute.v2.server.Server conn: openstack.connection.Connection, server: openstack.compute.v2.server.Server
) -> str: ) -> str:
ips = [ipaddress.ip_address(ip.address) for ip in list(conn.compute.server_ips(server.id))] for i in range(3):
print(ips) ips = [ipaddress.ip_address(ip.address) for ip in list(conn.compute.server_ips(server.id))]
for ip in ips: print(ips)
if env.SSH_IP_VERSION == str(ip.version) and ip.is_global: for ip in ips:
return str(ip) if env.SSH_IP_VERSION == str(ip.version) and ip.is_global:
return str(ip)
time.sleep(10)
raise RuntimeError("No working ip address found")
def check_ssh(ip: str) -> None: def check_ssh(ip: str) -> None:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment