The cephadm cli can pass ports as either a string containing space
separated port numbers or, in the newer method, a (JSON) list of ints.
The fetch_tcp_ports function abstracts away the handling of
these input forms.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
return {}
+def fetch_tcp_ports(ctx: CephadmContext) -> List[int]:
+ """Return a list of tcp ports, as integers, stored on the given ctx.
+ """
+ ports = getattr(ctx, 'tcp_ports', None)
+ if ports is None:
+ return []
+ if isinstance(ports, str):
+ return list(map(int, ports.split()))
+ return ports
+
+
def get_config_and_keyring(ctx):
# type: (CephadmContext) -> Tuple[Optional[str], Optional[str]]
config = None