@@ -1726,23 +1726,39 @@ func (o *Operator) ExecutePlan(plan *v1alpha1.InstallPlan) error {
1726
1726
Resource : r .Name ,
1727
1727
}
1728
1728
1729
- // Set up the dynamic client ResourceInterface
1729
+ if step .Resolving != "" {
1730
+ owner := & v1alpha1.ClusterServiceVersion {}
1731
+ owner .SetNamespace (plan .GetNamespace ())
1732
+ owner .SetName (step .Resolving )
1733
+
1734
+ if r .Namespaced {
1735
+ // Set OwnerReferences for namespace-scoped resource
1736
+ ownerutil .AddNonBlockingOwner (unstructuredObject , owner )
1737
+
1738
+ // Update UIDs on all CSV OwnerReferences
1739
+ updated , err := o .getUpdatedOwnerReferences (unstructuredObject .GetOwnerReferences (), plan .Namespace )
1740
+ if err != nil {
1741
+ return errorwrap .Wrapf (err , "error generating ownerrefs for unstructured object: %s" , unstructuredObject .GetName ())
1742
+ }
1743
+
1744
+ unstructuredObject .SetOwnerReferences (updated )
1745
+ } else {
1746
+ // Add owner labels to cluster-scoped resource
1747
+ if err := ownerutil .AddOwnerLabels (unstructuredObject , owner ); err != nil {
1748
+ return err
1749
+ }
1750
+ }
1751
+ }
1752
+
1753
+ // Set up the dynamic client ResourceInterface and set ownerrefs
1730
1754
var resourceInterface dynamic.ResourceInterface
1731
1755
if r .Namespaced {
1732
- ownerutil .AddOwner (unstructuredObject , plan , false , false )
1733
1756
unstructuredObject .SetNamespace (namespace )
1734
1757
resourceInterface = o .dynamicClient .Resource (gvr ).Namespace (namespace )
1735
1758
} else {
1736
1759
resourceInterface = o .dynamicClient .Resource (gvr )
1737
1760
}
1738
1761
1739
- // Update UIDs on all CSV OwnerReferences
1740
- updated , err := o .getUpdatedOwnerReferences (unstructuredObject .GetOwnerReferences (), plan .Namespace )
1741
- if err != nil {
1742
- return errorwrap .Wrapf (err , "error generating ownerrefs for unstructured object: %s" , unstructuredObject .GetName ())
1743
- }
1744
- unstructuredObject .SetOwnerReferences (updated )
1745
-
1746
1762
// Ensure Unstructured Object
1747
1763
status , err := ensurer .EnsureUnstructuredObject (resourceInterface , unstructuredObject )
1748
1764
if err != nil {
0 commit comments