Skip to content

Commit 3d55201

Browse files
vsibirskmyakove
andauthored
feat: update datasource source method (#2603)
* update datasource source method on multi-arch clusters, datasource can have another datasource as it's source * ensure inner datasource exists --------- Co-authored-by: Meni Yakove <[email protected]>
1 parent d431380 commit 3d55201

File tree

1 file changed

+16
-6
lines changed

1 file changed

+16
-6
lines changed

ocp_resources/data_source.py

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,22 @@ def pvc(self):
5252

5353
@property
5454
def source(self):
55-
_instance_source = self.instance.spec.source
56-
_source = [*_instance_source][0][0]
57-
_source_mapping = {"pvc": PersistentVolumeClaim, "snapshot": VolumeSnapshot}
55+
instance_source = self.instance.spec.source
56+
ds_source = next(iter(instance_source))[0]
5857

59-
return _source_mapping[_source](
58+
if ds_source == "dataSource":
59+
instance_source = DataSource(
60+
client=self.client,
61+
name=instance_source[ds_source].name,
62+
namespace=instance_source[ds_source].namespace,
63+
ensure_exists=True,
64+
).instance.spec.source
65+
ds_source = next(iter(instance_source))[0]
66+
67+
source_mapping = {"pvc": PersistentVolumeClaim, "snapshot": VolumeSnapshot}
68+
69+
return source_mapping[ds_source](
6070
client=self.client,
61-
name=_instance_source[_source].name,
62-
namespace=_instance_source[_source].namespace,
71+
name=instance_source[ds_source].name,
72+
namespace=instance_source[ds_source].namespace,
6373
)

0 commit comments

Comments
 (0)