Tango control subpackage with Kubernetes support (ska_tangoctl.tango_kontrol)

Read and display Kubernetes and Tango stuff.

class ska_tangoctl.tango_kontrol.TangoControlKubernetes(logger: Logger, cfg_data: Any, ns_name: str | None)[source]

Read Tango devices running in a Kubernetes cluster.

__init__(logger: Logger, cfg_data: Any, ns_name: str | None)[source]

Time to rock and roll.

Parameters:
  • logger – logging handle

  • cfg_data – configuration dictionary

  • ns_name – K8S namespace

check_tango(tango_fqdn: str, quiet_mode: bool, tango_port: int = 10000) int[source]

Check Tango host address.

Parameters:
  • tango_fqdn – fully qualified domain name

  • quiet_mode – flag to suppress extra output

  • tango_port – port number

Returns:

error condition

get_pods_dict(ns_name: str | None) dict[source]

Read pods in Kubernetes namespace.

Parameters:

ns_name – namespace name

Returns:

dictionary with devices

get_pods_json(ns_name: str | None, quiet_mode: bool) dict[source]

Read pods in Kubernetes namespace.

Parameters:
  • ns_name – namespace name

  • quiet_mode – print progress bars

Returns:

dictionary with pod information

print_pods(ns_name: str | None, quiet_mode: bool) None[source]

Display pods in Kubernetes namespace.

Parameters:
  • ns_name – namespace name

  • quiet_mode – flag to suppress extra output

run_info(uniq_cls: bool, file_name: str | None, fmt: str, evrythng: bool, quiet_mode: bool, reverse: bool, disp_action: int, tgo_name: str | None, tgo_attrib: str | None, tgo_cmd: str | None, tgo_prop: str | None, tango_port: int) int[source]

Read information on Tango devices.

Parameters:
  • uniq_cls – only read one device per class

  • file_name – output file name

  • fmt – output format

  • evrythng – get commands and attributes regadrless of state

  • quiet_mode – flag for displaying progress bars

  • reverse – sort in reverse order

  • disp_action – flag for output format

  • tgo_name – device name

  • tgo_attrib – attribute name

  • tgo_cmd – filter command name

  • tgo_prop – filter property name

  • tango_port – device port

Returns:

error condition

show_pods(ns_name: str | None, quiet_mode: bool, output_file: str | None, fmt: str | None) None[source]

Display pods in Kubernetes namespace.

Parameters:
  • ns_name – namespace name

  • quiet_mode – flag to suppress progress bar etc.

  • output_file – output file name

  • fmt – output format

usage(p_name: str) None[source]

Show how it is done.

Parameters:

p_name – executable name

ska_tangoctl.tango_kontrol.get_namespaces_dict(logger: Logger) dict[source]

Read namespaces in Kubernetes cluster.

Parameters:

logger – logging handle

Returns:

dictionary with devices

ska_tangoctl.tango_kontrol.get_namespaces_list(logger: Logger, kube_namespace: str | None) list[source]

Read namespaces in Kubernetes cluster.

Parameters:
  • logger – logging handle

  • kube_namespace – K8S namespace name or regex

Returns:

list with devices

ska_tangoctl.tango_kontrol.read_tangoktl_config(logger: Logger, cfg_name: str | None = None) dict[source]

Read configuration data.

Parameters:
  • logger – logging handle

  • cfg_name – file name

Returns:

dictionary with configuration

ska_tangoctl.tango_kontrol.show_namespaces(logger: Logger, output_file: str | None, fmt: str, kube_namespace: str | None, reverse: bool) None[source]

Display namespaces in Kubernetes cluster.

Parameters:
  • logger – logging handle

  • output_file – output file name

  • kube_namespace – K8S namespace name or regex

  • reverse – sort in reverse order

  • fmt – output format