@@ -57,24 +57,25 @@ def scale_statefulset(name: str, replicas: int, ns: str = "default",
5757def remove_statefulset (name : str = None , ns : str = "default" ,
5858 label_selector : str = None , secrets : Secrets = None ):
5959 """
60- Remove a statefulset by `name` in the namespace `ns`.
60+ Remove a statefulset by `name` or `label_selector` in the namespace `ns`.
6161
6262 The statefulset is removed by deleting it without
6363 a graceful period to trigger an abrupt termination.
6464
65- The selected resources are matched by the given `label_selector`.
65+ If neither `name` nor `label_selector` is specified, all the statefulsets
66+ will be deleted in the namespace.
6667 """
67- field_selector = "metadata.name={name}" .format (name = name )
6868 api = create_k8s_api_client (secrets )
6969
7070 v1 = client .AppsV1Api (api )
71- if label_selector :
71+ if name :
7272 ret = v1 .list_namespaced_stateful_set (
73- ns , field_selector = field_selector ,
74- label_selector = label_selector )
73+ ns , field_selector = "metadata.name={}" .format (name ))
74+ elif label_selector :
75+ ret = v1 .list_namespaced_stateful_set (
76+ ns , label_selector = label_selector )
7577 else :
76- ret = v1 .list_namespaced_stateful_set (ns ,
77- field_selector = field_selector )
78+ ret = v1 .list_namespaced_stateful_set (ns )
7879
7980 logger .debug ("Found {d} statefulset(s) named '{n}' in ns '{s}'" .format (
8081 d = len (ret .items ), n = name , s = ns ))
0 commit comments