Coverage for ocp_resources/metallb.py: 0%
17 statements
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
« prev ^ index » next coverage.py v7.6.10, created at 2025-01-30 10:48 +0200
1# Reference Doc: https://github.com/metallb/metallb-operator/blob/main/api/v1beta1/metallb_types.go
3from ocp_resources.resource import NamespacedResource
6class MetalLB(NamespacedResource):
7 """
8 MetalLB object.
9 """
11 api_group = NamespacedResource.ApiGroup.METALLB_IO
13 def __init__(
14 self,
15 name=None,
16 namespace=None,
17 client=None,
18 log_level="info",
19 speaker_config=None,
20 speaker_tolerations=None,
21 **kwargs,
22 ):
23 """
24 Args:
25 name (str): Name of the MetalLB or it's CR's.
26 namespace (str): Namespace of the MetalLB
27 client: (DynamicClient): DynamicClient to use.
28 log_level(str): The verbosity of the controller and the speaker logging.
29 Allowed values are: all, debug, info, warn, error, none. (default: info)
30 speaker_config (dict): Additional configs to be applied on MetalLB Speaker daemonset.
31 speaker_tolerations (list): List of tolerations to be applied on Speaker Daemonset.
32 """
33 super().__init__(
34 name=name,
35 namespace=namespace,
36 client=client,
37 **kwargs,
38 )
39 self.log_level = log_level
40 self.speaker_config = speaker_config
41 self.speaker_tolerations = speaker_tolerations
43 def to_dict(self) -> None:
44 super().to_dict()
45 if not self.kind_dict and not self.yaml_file:
46 self.res["spec"] = {}
47 self.res["spec"]["logLevel"] = self.log_level
49 if self.speaker_config:
50 self.res["spec"]["speakerConfig"] = self.speaker_config
52 if self.speaker_tolerations:
53 self.res["spec"]["speakerTolerations"] = self.speaker_tolerations