Skip to content

Commit d67d100

Browse files
authored
Merge pull request #57 from myakove/mtv
Mtv
2 parents c38dd06 + 0800522 commit d67d100

File tree

6 files changed

+67
-81
lines changed

6 files changed

+67
-81
lines changed

ocp_resources/migration.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,22 @@ class Migration(NamespacedResource, MTV):
1616
api_group = NamespacedResource.ApiGroup.FORKLIFT_KONVEYOR_IO
1717

1818
def __init__(
19-
self, name, namespace, plan_name, plan_namespace, cut_over=None, teardown=True
19+
self,
20+
name,
21+
namespace,
22+
plan_name=None,
23+
plan_namespace=None,
24+
cut_over=None,
25+
client=None,
26+
teardown=True,
2027
):
21-
super().__init__(name=name, namespace=namespace, teardown=teardown)
28+
super().__init__(
29+
name=name, namespace=namespace, client=client, teardown=teardown
30+
)
2231
self.plan_name = plan_name
2332
self.plan_namespace = plan_namespace
2433
self.cut_over = cut_over
34+
self.condition_message_succeeded = self.ConditionMessage.MIGRATION_SUCCEEDED
2535

2636
def to_dict(self):
2737
res = super().to_dict()
@@ -39,11 +49,3 @@ def to_dict(self):
3949
)
4050

4151
return res
42-
43-
def wait_for_condition_succeeded(self):
44-
self._wait_for_resource_status(
45-
mtv_resource=self,
46-
condition_message=self.ConditionMessage.MIGRATION_SUCCEEDED,
47-
condition_category=self.StatusConditions.CATEGORY.REQUIRED,
48-
condition_status=self.StatusConditions.STATUS.TRUE,
49-
)

ocp_resources/mtv.py

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,23 @@ class MTV:
2929
"""
3030

3131
def __init__(self):
32+
self.api = None
33+
self.name = None
34+
self.namespace = None
35+
self.kind = None
36+
self.Condition = None
37+
self.Status = None
38+
39+
self.condition_message_ready = None
40+
self.condition_message_succeeded = None
41+
self.mapping = None
42+
self.source_provider_name = None
43+
self.source_provider_namespace = None
44+
self.destination_provider_name = None
45+
self.destination_provider_namespace = None
46+
3247
if self.__class__.__name__ == "MTV":
33-
raise TypeError("MTV is not a Resource.Please Use one of its successors.")
48+
raise TypeError("MTV is not a Resource. Please Use one of its successors.")
3449

3550
class ConditionMessage:
3651
PROVIDER_READY = "The provider is ready."
@@ -112,3 +127,35 @@ def wait_for_resource_status(
112127
msg=f"Last Status Condition of {self.kind} {self.name} was: {last_condition}"
113128
)
114129
raise
130+
131+
def wait_for_condition_ready(self):
132+
self.wait_for_resource_status(
133+
condition_message=self.condition_message_ready,
134+
condition_status=self.Condition.Status.TRUE,
135+
condition_type=self.Condition.READY,
136+
)
137+
138+
def wait_for_condition_succeeded(self):
139+
self.wait_for_resource_status(
140+
condition_type=self.Status.SUCCEEDED,
141+
condition_message=self.condition_message_succeeded,
142+
condition_status=self.Condition.Status.TRUE,
143+
)
144+
145+
@property
146+
def map_to_dict(self):
147+
return {
148+
"spec": {
149+
"map": self.mapping,
150+
"provider": {
151+
"source": {
152+
"name": self.source_provider_name,
153+
"namespace": self.source_provider_namespace,
154+
},
155+
"destination": {
156+
"name": self.destination_provider_name,
157+
"namespace": self.destination_provider_namespace,
158+
},
159+
},
160+
}
161+
}

ocp_resources/network_map.py

Lines changed: 2 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -46,32 +46,9 @@ def __init__(
4646
self.source_provider_namespace = source_provider_namespace
4747
self.destination_provider_name = destination_provider_name
4848
self.destination_provider_namespace = destination_provider_namespace
49+
self.condition_message_ready = self.ConditionMessage.NETWORK_MAP_READY
4950

5051
def to_dict(self):
5152
res = super().to_dict()
52-
res.update(
53-
{
54-
"spec": {
55-
"map": self.mapping,
56-
"provider": {
57-
"source": {
58-
"name": self.source_provider_name,
59-
"namespace": self.source_provider_namespace,
60-
},
61-
"destination": {
62-
"name": self.destination_provider_name,
63-
"namespace": self.destination_provider_namespace,
64-
},
65-
},
66-
}
67-
}
68-
)
69-
53+
res.update(self.map_to_dict)
7054
return res
71-
72-
def wait_for_condition_ready(self):
73-
self.wait_for_resource_status(
74-
condition_message=self.ConditionMessage.NETWORK_MAP_READY,
75-
condition_status=self.StatusCondition.Status.TRUE,
76-
condition_type=self.StatusCondition.Type.READY,
77-
)

ocp_resources/plan.py

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,8 @@ def __init__(
5555
self.virtual_machines_list = virtual_machines_list
5656
self.warm_migration = warm_migration
5757
self.target_namespace = target_namespace or self.namespace
58+
self.condition_message_ready = self.ConditionMessage.PLAN_READY
59+
self.condition_message_succeeded = self.ConditionMessage.PLAN_SUCCEEDED
5860

5961
def to_dict(self):
6062
res = super().to_dict()
@@ -88,17 +90,3 @@ def to_dict(self):
8890
}
8991
)
9092
return res
91-
92-
def wait_for_condition_ready(self):
93-
self.wait_for_resource_status(
94-
condition_message=self.ConditionMessage.PLAN_READY,
95-
condition_status=self.Condition.Status.TRUE,
96-
condition_type=self.Condition.READY,
97-
)
98-
99-
def wait_for_condition_successfully(self):
100-
self.wait_for_resource_status(
101-
condition_message=self.ConditionMessage.PLAN_SUCCEEDED,
102-
condition_status=self.Condition.Status.TRUE,
103-
condition_type=self.Status.SUCCEEDED,
104-
)

ocp_resources/provider.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ def __init__(
2727
self.url = url
2828
self.secret_name = secret_name
2929
self.secret_namespace = secret_namespace
30+
self.condition_message_ready = self.ConditionMessage.PROVIDER_READY
3031

3132
def to_dict(self):
3233
res = super().to_dict()
@@ -44,10 +45,3 @@ def to_dict(self):
4445
)
4546

4647
return res
47-
48-
def wait_for_condition_ready(self):
49-
self.wait_for_resource_status(
50-
condition_message=self.ConditionMessage.PROVIDER_READY,
51-
condition_status=NamespacedResource.Condition.Status.TRUE,
52-
condition_type=NamespacedResource.Condition.READY,
53-
)

ocp_resources/storage_map.py

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -49,31 +49,9 @@ def __init__(
4949
self.source_provider_namespace = source_provider_namespace
5050
self.destination_provider_name = destination_provider_name
5151
self.destination_provider_namespace = destination_provider_namespace
52+
self.condition_message_ready = self.ConditionMessage.STORAGE_MAP_READY
5253

5354
def to_dict(self):
5455
res = super().to_dict()
55-
res.update(
56-
{
57-
"spec": {
58-
"map": self.mapping,
59-
"provider": {
60-
"source": {
61-
"name": self.source_provider_name,
62-
"namespace": self.source_provider_namespace,
63-
},
64-
"destination": {
65-
"name": self.destination_provider_name,
66-
"namespace": self.destination_provider_namespace,
67-
},
68-
},
69-
}
70-
}
71-
)
56+
res.update(self.map_to_dict)
7257
return res
73-
74-
def wait_for_condition_ready(self):
75-
self.wait_for_resource_status(
76-
condition_message=self.ConditionMessage.STORAGE_MAP_READY,
77-
condition_status=self.StatusCondition.Status.TRUE,
78-
condition_type=self.StatusCondition.Type.READY,
79-
)

0 commit comments

Comments
 (0)