@@ -202,25 +202,31 @@ function copy_resource() {
202
202
local newResourceName=${3:- $resourceName }
203
203
title " Copying $resourceType $resourceName from $FROM_NAMESPACE to $TO_NAMESPACE "
204
204
resource_exists=$( ${OC} get $resourceType $resourceName -n $FROM_NAMESPACE || echo " fail" )
205
+ storageClass_exist=$( ${OC} get $resourceType $resourceName -n $FROM_NAMESPACE -o yaml | $YQ ' .spec | has("storageClass")' )
205
206
if [[ $resource_exists != " fail" ]]; then
206
- $OC get $resourceType $resourceName -n $FROM_NAMESPACE -o yaml | \
207
- $YQ '
208
- .metadata.name = "' $newResourceName ' " |
207
+ $OC get $resourceType $resourceName -n $FROM_NAMESPACE -o yaml > tmp-resource.yaml
208
+ $YQ -i ' .metadata.name = "' ${newResourceName} ' " |
209
209
del(.metadata.creationTimestamp) |
210
210
del(.metadata.resourceVersion) |
211
211
del(.metadata.namespace) |
212
212
del(.metadata.uid) |
213
213
del(.metadata.ownerReferences) |
214
214
del(.metadata.managedFields) |
215
215
del(.metadata.labels)
216
- ' | \
217
- $OC apply -n $TO_NAMESPACE -f - || error " Failed to copy over $resourceType $resourceName ."
218
-
216
+ ' tmp-resource.yaml || error " Could not update tmp-resource.yaml"
217
+ # delete storageclass field from common-service CR
218
+ if [[ $resourceType == " commonservice" && $storageClass_exist == " true" ]]; then
219
+ echo " Deleting storageClass field from commonservice CR"
220
+ $YQ -i ' del(.spec.storageClass)' tmp-resource.yaml
221
+ fi
222
+ $OC apply -n $TO_NAMESPACE -f tmp-resource.yaml || error " Failed to copy over $resourceType $resourceName ."
219
223
# Check if the resource is created in TO_NAMESPACE
220
224
check_copied_resource $resourceType $newResourceName $TO_NAMESPACE
221
225
else
222
226
warning " Resource $resourceType $resourceName not found and not migrated from $FROM_NAMESPACE to $TO_NAMESPACE "
223
227
fi
228
+
229
+ rm tmp-resource.yaml
224
230
}
225
231
226
232
function check_copied_resource() {
0 commit comments