-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Run storage upgrade pre and post master upgrade #4476
Conversation
Implicit here is that It seems to me if we can't rely on that this is a critical flaw in the migrate command. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, need clayton to verify options for migrate command.
Since this is not covered under CI, I'm testing each version of the upgrade playbooks currently in the repo. |
Ok, I'd focus first on 3.5 to 3.6 then 3.4 to 3.5 but this change wouldn't land there unless we backport it anyway. I wouldn't bother going any further back than that. |
aos-ci-test |
@mfojtik you're the only other significant contributor to |
@enj fyi
…On 16 June 2017 at 18:27:34, Scott Dodson ***@***.***) wrote:
@mfojtik <https://github.com/mfojtik> you're the only other significant
contributor to oadm migrate storage can you validate we're doing the
right thing here?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4476 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AACsaDvneAFTFqsDMjKzoCc2HPpLphLLks5sEqz2gaJpZM4N8hat>
.
|
Tested 3.5->3.6 upgrade:
|
oadm migrate storage does nothing clientside. Instead, it talks to the server and does a blind update. So options would only apply to filtering out things, and should be both reentrant and safe. I'm not sure why you got 0 total. |
--include=jobs does not do what you think it does. It only runs migrations on jobs. |
You want to run |
No, it is just a bug, like any other programmer mistake. There is no way for us to guarantee that we will know everything in advance, but I suppose we can always backport fixes (I assume upgrades would be run with the latest matching minor version). |
There is a bug fix going to origin which corrects where you see resources already modified - the serialization order of protobuf wasn't stable, which was also a bug in upstream. |
I just meant that as a pattern, the playbooks will run the current version of the storage migration before upgrading and the current version after upgrading. |
I was wrong before, we should not be using the --include flag at all for
now. We want to switch to dynamic discovery to control what gets migrated,
and so the CLI should let the master decide.
…On Sun, Jun 18, 2017 at 4:21 PM, Scott Dodson ***@***.***> wrote:
I just meant that as a pattern, the installer will run the current version
of the storage migration before upgrading and the current version after
upgrading.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#4476 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ABG_p0k-DfCLfng4aWEiCCSrZpZE2h_0ks5sFYaugaJpZM4N8hat>
.
|
ACK, i'll update the pr and get it merged asap. thanks |
Well the good news is that this caught a bug: The bad news is that it's now blocking the merge queue and the test queue. @deads2k needs to take a look at the symptom and help assess whether ClusterPolicy should be:
If I'm not mistaken, the error here will block any declarative flow an end user might have (i.e. if you apply your cluster policy, you're broken as well), and this generally fails our "we don't break old APIs on upgrade" rule. In the meantime we should probably disable this task on those jobs temporarily. @stevekuznetsov |
It's also possible the post upgrade errors should be flagged for user attention but not blocking, because the cluster is not necessarily broken at this point, just operating as best it can. |
So the error is caused by the tighter validation I added to policy objects. It is not supposed to complain about attribute restrictions if the old and new objects are the same, but the specifics of the ratcheting are complex... |
This is on upgrade from 3.5 - were any fields defaulted? I don't know if this is before or after reconcile. |
@smarterclayton you mean disable the upgrade test or revert this PR temporarilly? |
Must be a bug in the logic somewhere. Maybe it only fails on the container Policy objects? Also, @smarterclayton I really hate virtual storage. |
#4491 reverts back to just migrating jobs |
I know you hate virtual storage :) |
Storage upgrades (
oc adm migrate storage
) is performed prior to master upgrade as well as after. This PR also moves the task into a common playbook for all versions of upgrades, currently 3.3 through 3.6.See: openshift/origin#14625 (comment)
@smarterclayton Are these CLI options still valid and does this need to be run for all versions of upgrades?
Trello: https://trello.com/c/x2fUWNbK