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

fix: Add workaround for Minikube storage provisioning bug #752

Merged
merged 2 commits into from
Jun 23, 2020
Merged

Conversation

mmorhun
Copy link
Contributor

@mmorhun mmorhun commented Jun 22, 2020

Signed-off-by: Mykola Morhun mmorhun@redhat.com

What does this PR do?

Minikube starting from version 1.9 has a bug which prevents Che and some other products from successful deployment. The root cause is the outdated storage-provisioner image and updating it to the latest version fixes the problem, but it also requires to add some permissions to the storage-provisioner cluster role. That is done in this PR on platform preparation phase.

However, we should update range of Minikube versions for which this workaround is applied when Minikube with the fix released.

Tested with Minikube 1.11.0

What issues does this PR fix or reference?

eclipse-che/che#17142

@mmorhun mmorhun requested a review from tolusha as a code owner June 22, 2020 08:54
@mmorhun mmorhun self-assigned this Jun 22, 2020
@mmorhun mmorhun changed the title Add workaround for Minikube storage provisioning bug fix: Add workaround for Minikube storage provisioning bug Jun 22, 2020
Signed-off-by: Mykola Morhun <mmorhun@redhat.com>
@flacatus
Copy link
Collaborator

[test]

// To workaround the bug, it is required to patch storage provisioner as well as its permissions.
title: 'Patch minikube storage',
enabled: ctx => ctx.minikubeVersionMajor && ctx.minikubeVersionMinor &&
ctx.minikubeVersionMajor === 1 && ctx.minikubeVersionMinor >= 9 && ctx.minikubeVersionMinor <= 11,
Copy link
Collaborator

@l0rd l0rd Jun 22, 2020

Choose a reason for hiding this comment

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

Why do we need to check that the version is <= 11? I mean I would set the upper bound only when we know which version of minikube will contain the fix. Otherwise we will get a blocker as soon as 1.12 is out.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

It is sort of a template when the bug is fixed. Seems there are some activity in the Minikube issue, so I hoped that it will be fixed soon. But agree, we'll add stop condition when Minikube fix arrives.

kind: 'Pod',
spec: {
containers: [
{ name: 'storage-provisioner', image: 'gcr.io/k8s-minikube/storage-provisioner:latest' }
Copy link
Collaborator

Choose a reason for hiding this comment

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

Instead of latest here we should use use the digest (or a version) to avoid that an update to latest breaks things.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

ok, I will use digest as there is no tag (if don't count latest) for the images above v1.8.1 which is 2 years old.

Signed-off-by: Mykola Morhun <mmorhun@redhat.com>
@mmorhun mmorhun requested a review from l0rd June 22, 2020 13:47
@AndrienkoAleksandr
Copy link
Contributor

Tested with minikube 1.11 installation works fine. Workspaces starts too.

@flacatus
Copy link
Collaborator

Tested as well in my local machine with latest minikube version.
I think we can use latest minikube version here:
https://github.com/che-incubator/chectl/blob/master/.ci/start-minikube.sh#L14-L15

@AndrienkoAleksandr
Copy link
Contributor

I think we can use latest minikube version here:

Then we need set up argument --driver=virtualbox for minikube start command, otherwise minikube will use docker...

@flacatus
Copy link
Collaborator

I think we can use latest minikube version here:

Then we need set up argument --driver=virtualbox for minikube start command, otherwise minikube will use docker...

In ci.centos unfortunetly we cannot use virtualbox or kvm2 drivers only --driver=none :(

@mmorhun mmorhun merged commit 2476b14 into master Jun 23, 2020
@mmorhun mmorhun deleted the che-17142 branch June 23, 2020 07:45
@l0rd l0rd added the new&noteworthy For new and/or noteworthy issues that deserve a blog post, new docs, or emphasis in release notes label Jul 1, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new&noteworthy For new and/or noteworthy issues that deserve a blog post, new docs, or emphasis in release notes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants