Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.

support upgrade and downgrade #687

Closed
pohly opened this issue Jun 18, 2020 · 3 comments
Closed

support upgrade and downgrade #687

pohly opened this issue Jun 18, 2020 · 3 comments
Labels
0.8 needs to be fixed in 0.8.x

Comments

@pohly
Copy link
Contributor

pohly commented Jun 18, 2020

Starting with PMEM-CSI 0.7.0, we want to be sure that users can update PMEM-CSI in a live cluster seamlessly, without downtime. If something goes wrong with a new release, we want them to be able to return to the previous version.

In practice that means:

  • within a stable series, "kubectl apply" for upgrades and downgrades
  • between 0.x and 0.y: delete old objects, reinstall (YAML files might have changed too much)
  • for both: upgrade or downgrade operator (depends on operator should delete obsolete sub-resources if any #595 which is not in 0.7.0, so downgrades to that may not fully work yet)

The main concerns are on-disk files and the operator API. Although the current operator API is called v1alpha1, we should continue to support it, both to minimize user confusion and as a test that we can handle the inevitable API changes.

@pohly
Copy link
Contributor Author

pohly commented Jun 18, 2020

We need tests which cover:

  • creating volumes, starting pods with them and ephemeral volumes
  • updating to a newer version
  • starting a pod with an existing volume, deleting pods and volumes

And the same with a transition from newer to older version.

@pohly
Copy link
Contributor Author

pohly commented Jun 18, 2020

Downgrades can be problematic: if we add a new parameter that the old version doesn't support, it has to be valid that the old version rejects the item, i.e. we should not try to proceed by ignoring unknown parameters.

@pohly pohly added the 0.8 needs to be fixed in 0.8.x label Jun 22, 2020
@pohly
Copy link
Contributor Author

pohly commented Sep 30, 2020

PR #723 added tests for this.

The operator is covered yet, but that is tracked as a TODO in issue #758, so let's close this issue here.

@pohly pohly closed this as completed Sep 30, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
0.8 needs to be fixed in 0.8.x
Projects
None yet
Development

No branches or pull requests

1 participant