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

1# Reference Doc: https://github.com/metallb/metallb-operator/blob/main/api/v1beta1/metallb_types.go 

2 

3from ocp_resources.resource import NamespacedResource 

4 

5 

6class MetalLB(NamespacedResource): 

7 """ 

8 MetalLB object. 

9 """ 

10 

11 api_group = NamespacedResource.ApiGroup.METALLB_IO 

12 

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 

42 

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 

48 

49 if self.speaker_config: 

50 self.res["spec"]["speakerConfig"] = self.speaker_config 

51 

52 if self.speaker_tolerations: 

53 self.res["spec"]["speakerTolerations"] = self.speaker_tolerations