Coverage for ocp_resources/network_map.py: 0%

18 statements  

« prev     ^ index     » next       coverage.py v7.6.10, created at 2025-01-30 10:48 +0200

1from ocp_resources.utils.constants import TIMEOUT_4MINUTES 

2from ocp_resources.resource import NamespacedResource 

3 

4 

5class NetworkMap(NamespacedResource): 

6 """ 

7 Migration Toolkit For Virtualization (MTV) NetworkMap object. 

8 

9 Args: 

10 source_provider_name (str): MTV Source Provider CR name. 

11 source_provider_namespace (str): MTV Source Provider CR namespace. 

12 destination_provider_name (str): MTV Destination Provider CR name. 

13 destination_provider_namespace (str): MTV Destination Provider CR namespace. 

14 mapping (dict): Storage Resources Mapping 

15 Exaple: 

16 [ { "destination" : { "type": "pod", 

17 "source" : { "id": "network-13" }}, 

18 

19 { "destination" : { "name": "nad_cr_name", 

20 "namespace": "nad_cr_namespace", 

21 "type": "multus"}, 

22 "source" : { "name": "VM Netowrk" }}, 

23 

24 ] 

25 """ 

26 

27 api_group = NamespacedResource.ApiGroup.FORKLIFT_KONVEYOR_IO 

28 

29 def __init__( 

30 self, 

31 name=None, 

32 namespace=None, 

33 mapping=None, 

34 source_provider_name=None, 

35 source_provider_namespace=None, 

36 destination_provider_name=None, 

37 destination_provider_namespace=None, 

38 client=None, 

39 teardown=True, 

40 yaml_file=None, 

41 delete_timeout=TIMEOUT_4MINUTES, 

42 **kwargs, 

43 ): 

44 super().__init__( 

45 name=name, 

46 namespace=namespace, 

47 client=client, 

48 teardown=teardown, 

49 yaml_file=yaml_file, 

50 delete_timeout=delete_timeout, 

51 **kwargs, 

52 ) 

53 self.mapping = mapping 

54 self.source_provider_name = source_provider_name 

55 self.source_provider_namespace = source_provider_namespace 

56 self.destination_provider_name = destination_provider_name 

57 self.destination_provider_namespace = destination_provider_namespace 

58 

59 @property 

60 def map_to_dict(self): 

61 return { 

62 "spec": { 

63 "map": self.mapping, 

64 "provider": { 

65 "source": { 

66 "name": self.source_provider_name, 

67 "namespace": self.source_provider_namespace, 

68 }, 

69 "destination": { 

70 "name": self.destination_provider_name, 

71 "namespace": self.destination_provider_namespace, 

72 }, 

73 }, 

74 } 

75 } 

76 

77 def to_dict(self) -> None: 

78 super().to_dict() 

79 if not self.kind_dict and not self.yaml_file: 

80 self.res.update(self.map_to_dict)