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

prometheus: switch to Kubernetes 1.6 storage class specification #1332

Merged
merged 2 commits into from
Aug 1, 2017

Conversation

bryanlarsen
Copy link
Contributor

Ditching the alpha storage class annotation and using the 1.6 style specification instead brings the following benefits:

  • a standard way to specify the default provisioner
  • a mechanism to disble the dynamic provisioner

Unfortunately, go template makes the second one hacky. See helm/helm#2600 for more details. So instead of using an empty string to disable the dynamic provisioner, this PR uses "-".

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jun 21, 2017
@k8s-ci-robot
Copy link
Contributor

Hi @bryanlarsen. Thanks for your PR.

I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with @k8s-bot ok to test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.

I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@k8s-ci-robot k8s-ci-robot added the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jun 21, 2017
@foxish
Copy link
Member

foxish commented Jun 22, 2017

/ok-to-test

@k8s-ci-robot k8s-ci-robot removed the needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. label Jun 22, 2017
@mgoodness mgoodness self-assigned this Jul 15, 2017
@mgoodness mgoodness self-requested a review July 15, 2017 16:08
Copy link
Contributor

@mgoodness mgoodness left a comment

Choose a reason for hiding this comment

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

This LGTM, but I'd like a couple other maintainers to weigh in re: if this is how we want to address StorageClass repo-wide.

I'm thinking this also merits a major version bump, since it could break existing installations.

{{- else }}
storageClassName: "{{ .Values.alertmanager.persistentVolume.storageClass }}"
{{- end }}
{{- end }}
Copy link
Contributor

Choose a reason for hiding this comment

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

This seems like a reasonable approach. Provides the necessary options for 1.6+, and users can still use on <1.6 by leaving storageClass unset and providing the annotation.

Ping @unguiculus @viglesiasce @lachie83 @prydonius @seanknox @linki @sameersbn @foxish: is this a/the pattern we want to adopt repo-wide?

Copy link
Contributor

Choose a reason for hiding this comment

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

OK with me. Plus, now that v1.7 is out, we should formally deprecate v1.5 support and focus on v1.6 and v1.7.

Copy link
Member

Choose a reason for hiding this comment

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

OK with me too.

Copy link
Member

Choose a reason for hiding this comment

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

+1

## If set to "-", storageClassName: "", which disables dynamic provisioning
## If undefined (the default) or set to null, no storageClassName spec is
## set, choosing the default provisioner. (gp2 on AWS, standard on
## GKE, AWS & OpenStack)
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps also a note about providing the old annotations for clusters <1.6?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@seanknox's comment indicated a deprecation of v1.5 support.

@mgoodness
Copy link
Contributor

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Aug 1, 2017
bryanlarsen and others added 2 commits August 1, 2017 17:55
Ditching the alpha storage class annotation and using the 1.6 style specification instead brings the following benefits:

- a standard way to specify the default provisioner
- a mechanism to disble the dynamic provisioner

Unfortunately, go template makes the second one hacky.   See helm/helm#2600 for more details.   So instead of using an empty string to disable the dynamic provisioner, this PR uses "-".
@mgoodness mgoodness force-pushed the prometheus-storage-class-1-6 branch from 567089e to 5d520ee Compare August 1, 2017 22:57
@mgoodness
Copy link
Contributor

Bumped to v4.0.0 since we've changed StorageClass behavior.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm Indicates that a PR is ready to be merged. size/large
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants