Convert port to string. (#919)

The str type check doesn't work if the port is a ruamel.yaml.scalarstring.SingleQuotedScalarString or ruamel.yaml.scalarstring.DoubleQuotedScalarString

Reviewed-on: cerc-io/stack-orchestrator#919
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>
This commit is contained in:
Thomas E Lackey 2024-08-14 00:25:35 +00:00 committed by Thomas E Lackey
parent 65c1cdf6b1
commit 8576137557

View File

@ -86,10 +86,10 @@ class ClusterInfo:
for service_name in services: for service_name in services:
service_info = services[service_name] service_info = services[service_name]
if "ports" in service_info: if "ports" in service_info:
for raw_port in service_info["ports"]: for raw_port in [str(p) for p in service_info["ports"]]:
if opts.o.debug: if opts.o.debug:
print(f"service port: {raw_port}") print(f"service port: {raw_port}")
if type(raw_port) is str and ":" in raw_port: if ":" in raw_port:
parts = raw_port.split(":") parts = raw_port.split(":")
if len(parts) != 2: if len(parts) != 2:
raise Exception(f"Invalid port definition: {raw_port}") raise Exception(f"Invalid port definition: {raw_port}")