Coverage for ocp_resources/lease.py: 0%
24 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
1from ocp_resources.utils.constants import TIMEOUT_4MINUTES
2from ocp_resources.resource import NamespacedResource
5class Lease(NamespacedResource):
6 """
7 Lease object. API reference:
8 https://kubernetes.io/docs/reference/kubernetes-api/cluster-resources/lease-v1/
9 """
11 api_group = NamespacedResource.ApiGroup.COORDINATION_K8S_IO
13 def __init__(
14 self,
15 name=None,
16 namespace=None,
17 client=None,
18 teardown=True,
19 yaml_file=None,
20 delete_timeout=TIMEOUT_4MINUTES,
21 holder_identity=None,
22 acquire_time=None,
23 renew_time=None,
24 lease_duration_seconds=None,
25 lease_transitions=None,
26 **kwargs,
27 ):
28 """
29 Args:
30 name (str): Name of the Lease resource
31 namespace (str): Namespace of Lease resource
32 client: (DynamicClient): DynamicClient for api calls
33 teardown (bool): Indicates if the resource should be torn down at the end
34 holder_identity (str, optional): identify of the holder of the current lease
35 lease_duration_seconds (int, optional): duration for which candidate of a lease needs to wait to acquire it
36 lease_transitions (int, optional): number of transitions of a lease between holders.
37 acquire_time (time, optional): when the current lease was acquired
38 renew_time (time, optional): when current holder of the lease has last updated it
39 yaml_file (str): yaml file for the resource.
40 delete_timeout (int): timeout associated with delete action
41 """
42 super().__init__(
43 name=name,
44 namespace=namespace,
45 client=client,
46 teardown=teardown,
47 yaml_file=yaml_file,
48 delete_timeout=delete_timeout,
49 **kwargs,
50 )
51 self.holder_identity = holder_identity
52 self.lease_transitions = lease_transitions
53 self.lease_duration_seconds = lease_duration_seconds
54 self.acquire_time = acquire_time
55 self.renew_time = renew_time
57 def to_dict(self) -> None:
58 super().to_dict()
59 if not self.kind_dict and not self.yaml_file:
60 if self.acquire_time:
61 self.res["spec"]["acquireTime"] = self.acquire_time
62 if self.renew_time:
63 self.res["spec"]["renewTime"] = self.renew_time
64 if self.holder_identity:
65 self.res["spec"]["holderIdentity"] = self.holder_identity
66 if self.lease_duration_seconds:
67 self.res["spec"]["leaseDurationSeconds"] = self.lease_duration_seconds
68 if self.lease_transitions:
69 self.res["spec"]["leaseTransitions"] = self.lease_transitions