Coverage for ocp_resources/migration.py: 0%

15 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 Migration(NamespacedResource): 

6 """ 

7 Migration Toolkit For Virtualization (MTV) Migration object. 

8 

9 Args: 

10 plan_name (str): MTV Plan CR name. 

11 plan_namespace (str): MTV Plan CR namespace. 

12 cut_over (date): For Warm Migration Only.Cut Over Phase Start Date & Time. 

13 

14 """ 

15 

16 api_group = NamespacedResource.ApiGroup.FORKLIFT_KONVEYOR_IO 

17 

18 def __init__( 

19 self, 

20 name=None, 

21 namespace=None, 

22 plan_name=None, 

23 plan_namespace=None, 

24 cut_over=None, 

25 client=None, 

26 teardown=True, 

27 yaml_file=None, 

28 delete_timeout=TIMEOUT_4MINUTES, 

29 **kwargs, 

30 ): 

31 super().__init__( 

32 name=name, 

33 namespace=namespace, 

34 client=client, 

35 teardown=teardown, 

36 yaml_file=yaml_file, 

37 delete_timeout=delete_timeout, 

38 **kwargs, 

39 ) 

40 self.plan_name = plan_name 

41 self.plan_namespace = plan_namespace 

42 self.cut_over = cut_over 

43 

44 def to_dict(self) -> None: 

45 super().to_dict() 

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

47 self.res.update({ 

48 "spec": { 

49 "plan": { 

50 "name": self.plan_name, 

51 "namespace": self.plan_namespace, 

52 } 

53 } 

54 }) 

55 

56 if self.cut_over: 

57 self.res["spec"]["cutover"] = self.cut_over.strftime(format="%Y-%m-%dT%H:%M:%SZ")