]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
cephadm: add fetch_tcp_ports function for getting processed ports
authorJohn Mulligan <jmulligan@redhat.com>
Fri, 26 May 2023 19:06:40 +0000 (15:06 -0400)
committerAdam King <adking@redhat.com>
Thu, 31 Aug 2023 17:35:14 +0000 (13:35 -0400)
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>
src/cephadm/cephadm.py

index 6f19620ee56f4bbaf088d04cc74c638f6b0d098a..fc5ba80023db4a7a00cfba5e267419d305f75e25 100755 (executable)
@@ -3066,6 +3066,17 @@ def fetch_configs(ctx: CephadmContext) -> Dict[str, str]:
     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