Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PB-4578: Fix RT CR status with duplicate resources and RT controller with duplicate effort. #1529

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sgajawada-px
Copy link
Contributor

@sgajawada-px sgajawada-px commented Oct 12, 2023

  • Remove loop on the paths in the validateTransformResource as this is already been doing in the resourcecollector.TransformResources
  • Because of this redandent computation issue is solved and RT CR status will not be overloded with duplicate resource information.
  • Remove path.Operation validation in validateTransformResource as this is already completed with the RT CR is in Initial Stage using the ResourceTransformationController.validateSpecPath method.

What type of PR is this?

Uncomment only one and also add the corresponding label in the PR:
bug
feature
improvement
cleanup
api-change
design
documentation
failing-test
unit-test
integration-test

What this PR does / why we need it:
To fix the performance while transforming resources in rt controller by removing the redundant computations which are even occupying the RT CR status

Does this PR change a user-facing CRD or CLI?:
no

Is a release note needed?:
no

Issue:
User Impact:
Resolution

Does this change need to be cherry-picked to a release branch?:
Yes because it is a bug in the latest release stork release.

JIRA BUG: https://portworx.atlassian.net/browse/PB-4578
Unit Test Result
Screenshot from 2023-10-12 13-26-15

@cnbu-jenkins
Copy link
Collaborator

Can one of the admins verify this patch?

@codecov
Copy link

codecov bot commented Oct 12, 2023

Codecov Report

All modified lines are covered by tests ✅

Comparison is base (56aa1f2) 65.93% compared to head (686c1ea) 65.99%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1529      +/-   ##
==========================================
+ Coverage   65.93%   65.99%   +0.05%     
==========================================
  Files          43       43              
  Lines        5349     5349              
==========================================
+ Hits         3527     3530       +3     
+ Misses       1490     1488       -2     
+ Partials      332      331       -1     

see 1 file with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

path.Operation == stork_api.ModifyResourcePathValue) {
return fmt.Errorf("unsupported operation type for given path : %s", path.Operation)
for _, object := range objects.Items {
logrus.Debugf("Objects Item %v", object)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this line.

dynamicClient := localInterface.Resource(
object.GetObjectKind().GroupVersionKind().GroupVersion().WithResource(resource.Name)).Namespace(getTransformNamespace(transform.Namespace))
if err := resourcecollector.TransformResources(object, []stork_api.TransformResourceInfo{*resInfo}, metadata.GetName(), metadata.GetNamespace()); err != nil {
log.TransformLog(transform).Errorf("Unable to transform resource: %s/%s having gvk:%v with error: %v", resInfo.Namespace, resInfo.Name, resInfo.GroupVersionKind, err)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

instead of gvk say group version kind.

@Rohit-PX
Copy link
Contributor

Please add integration test to stork.

@sgajawada-px
Copy link
Contributor Author

As discussed with anjan currently we can rely on unit tests
Integration tests for the bug will be added as a separate task by the stork team.

@sgajawada-px sgajawada-px changed the title PB-4578: PB-4578: Fix RT CR status with duplicate resources and RT controller with duplicate effort. Oct 18, 2023
 - Remove loop on the paths in the validateTransformResource as this is already been doing in the resourcecollector.TransformResources
 - Because of this redandent computation issue is solved and RT CR status will not be overloded with duplicate resource information.
 - Remove path.Operation validation in validateTransformResource as this is already completed with the RT CR is in Initial Stage using the ResourceTransformationController.validateSpecPath method.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants