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

[release-3.7] Migrate: handle NotFound via resource matching and during conflicts #18287

Conversation

openshift-cherrypick-robot

This is an automated cherry-pick of #18280

/assign enj

This change fixes two issues with the migrate command:

1. It updates isNotFoundForInfo to compare the error's kind to the
info's resource as well as its kind.  The server error's use the
resource value in places where the kind should be used.  We simply
accept both now.
2. It updates DefaultRetriable to not fail on conflict errors if
they were caused by the deletion of the given resource.

The following shell based tests were used to stress the edge cases
that this change fixes.  The migrate command will readily fail in
these tests without the fixes from this change.

In one shell we continuously create service accounts with random
names as fast as possible.  The resource type is not relevant.

N=8
while true; do
    ((i=i%N)); ((i++==0)) && wait
    oc create serviceaccount $((1 + RANDOM % 10000000)) &
done

In a second shell we try to continuously delete all service
accounts:

while true; do
    oc delete sa --all
done

In a third shell we try to continuously migrate service accounts:

while true; do
    oc adm migrate storage --include='serviceaccount' --confirm
done

Bug 1537751

Signed-off-by: Monis Khan <[email protected]>
@openshift-ci-robot openshift-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jan 25, 2018
@enj
Copy link
Contributor

enj commented Jan 25, 2018

/lgtm
/kind bug

@openshift-ci-robot openshift-ci-robot added lgtm Indicates that a PR is ready to be merged. kind/bug Categorizes issue or PR as related to a bug. labels Jan 25, 2018
@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: enj, openshift-cherrypick-robot

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these OWNERS Files:

You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

@openshift-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jan 25, 2018
@enj
Copy link
Contributor

enj commented Jan 25, 2018

/retest

5 similar comments
@enj
Copy link
Contributor

enj commented Jan 25, 2018

/retest

@enj
Copy link
Contributor

enj commented Jan 25, 2018

/retest

@enj
Copy link
Contributor

enj commented Jan 26, 2018

/retest

@enj
Copy link
Contributor

enj commented Jan 26, 2018

/retest

@enj
Copy link
Contributor

enj commented Jan 26, 2018

/retest

@openshift-merge-robot
Copy link
Contributor

Automatic merge from submit-queue.

@openshift-merge-robot openshift-merge-robot merged commit 6db4d4e into openshift:release-3.7 Jan 26, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. kind/bug Categorizes issue or PR as related to a bug. kind/delivery-blocker lgtm Indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants