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

Update prometheus/client_golang to 1.21.0-rc.0 #129752

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

bwplotka
Copy link

What type of PR is this?

/kind feature
/hold

What this PR does / why we need it:

As per new client_golang release process we try to understand better potential compatibility issues for every minor release, against a bigger users.

This particular release can be tricky due to client_golang dependency relaxing label name and metric name validation with the model.NameValidationScheme global value change, so we want to understand the consequences.

Special notes for your reviewer:

Technically this change permits new characters in the Prometheus metric and label names. cc @dashpole

Does this PR introduce a user-facing change?

NONE

@k8s-ci-robot k8s-ci-robot added release-note-none Denotes a PR that doesn't merit a release note. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. kind/feature Categorizes issue or PR as related to a new feature. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 22, 2025
@k8s-ci-robot
Copy link
Contributor

Hi @bwplotka. 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 /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.

Once the patch is verified, the new status will be reflected by the ok-to-test label.

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-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the needs-priority Indicates a PR lacks a `priority/foo` label and requires one. label Jan 22, 2025
@k8s-ci-robot k8s-ci-robot requested review from caseydavenport, cheftako and a team January 22, 2025 09:48
@k8s-ci-robot k8s-ci-robot added area/apiserver area/cloudprovider area/dependency Issues or PRs related to dependency changes area/kube-proxy area/kubectl area/kubelet sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/node Categorizes an issue or PR as relevant to SIG Node. wg/device-management Categorizes an issue or PR as relevant to WG Device Management. and removed do-not-merge/needs-sig Indicates an issue or PR lacks a `sig/foo` label and requires one. labels Jan 22, 2025
@bwplotka
Copy link
Author

Any chances to trigger tests which is primary reason for this PR? (:

/test

@k8s-ci-robot
Copy link
Contributor

@bwplotka: Cannot trigger testing until a trusted user reviews the PR and leaves an /ok-to-test message.

In response to this:

Any chances to trigger tests which is primary reason for this PR? (:

/test

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-sigs/prow repository.

@k8s-ci-robot k8s-ci-robot added the size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. label Jan 23, 2025
@bwplotka
Copy link
Author

Did

./hack/pin-dependency.sh github.com/prometheus/client_golang v1.21.0-rc.0
./hack/update-vendor.sh

@dims
Copy link
Member

dims commented Jan 23, 2025

/ok-to-test

@k8s-ci-robot k8s-ci-robot added ok-to-test Indicates a non-member PR verified by an org member that is safe to test. and removed needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. labels Jan 23, 2025
@dims
Copy link
Member

dims commented Jan 23, 2025

/assign @dashpole

@rexagod
Copy link
Member

rexagod commented Jan 23, 2025

/assign @dashpole
/triage accepted

@k8s-ci-robot k8s-ci-robot added triage/accepted Indicates an issue or PR is ready to be actively worked on. and removed needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. labels Jan 23, 2025
@dims
Copy link
Member

dims commented Jan 26, 2025

@bwplotka need to touch up the unwanted-dependencies.json file. the instructions are in the logs of the failed ci job. looks like 5 lines can be removed now.

https://storage.googleapis.com/kubernetes-ci-logs/pr-logs/pull/129752/pull-kubernetes-dependencies/1882421034980741120/build-log.txt

2025/01/23 13:34:38 Status diff:
  []uint8(
  	"""
  	... // 21 identical lines
  	      "github.com/google/cadvisor",
  	      "github.com/json-iterator/go",
- 	      "github.com/prometheus/client_golang",
  	      "github.com/prometheus/common",
  	      "github.com/sirupsen/logrus",
  	... // 60 identical lines
  	      "github.com/grpc-ecosystem/go-grpc-middleware",
  	      "github.com/grpc-ecosystem/grpc-gateway",
- 	      "github.com/prometheus/client_golang",
  	      "go.etcd.io/etcd/api/v3",
  	      "go.etcd.io/etcd/client/v3",
  	... // 82 identical lines
  	      "github.com/opencontainers/runc",
  	      "k8s.io/mount-utils"
- 	    ],
- 	    "google.golang.org/appengine": [
- 	      "github.com/prometheus/client_golang"
  	    ],
  	    "google.golang.org/genproto": [
  	... // 33 identical lines
  	"""
  )
2025/01/23 13:34:38 Good news! Unwanted dependency "google.golang.org/appengine" is no longer referenced. Remove status.unwantedReferences["google.golang.org/appengine"] in /home/prow/go/src/k8s.io/kubernetes/hack/unwanted-dependencies.json to ensure it doesn't get reintroduced.
2025/01/23 13:34:38 Good news! Unwanted module "github.com/golang/protobuf" dropped the following dependants:
2025/01/23 13:34:38    github.com/prometheus/client_golang
2025/01/23 13:34:38 !!! Remove those from status.unwantedReferences["github.com/golang/protobuf"] in /home/prow/go/src/k8s.io/kubernetes/hack/unwanted-dependencies.json to ensure they don't get reintroduced.
2025/01/23 13:34:38 Good news! Unwanted module "github.com/davecgh/go-spew" dropped the following dependants:
2025/01/23 13:34:38    github.com/prometheus/client_golang
2025/01/23 13:34:38 !!! Remove those from status.unwantedReferences["github.com/davecgh/go-spew"] in /home/prow/go/src/k8s.io/kubernetes/hack/unwanted-dependencies.json to ensure they don't get reintroduced.
exit status 1
Removing /tmp/verify-vendor.sh.vn7rAV

@bwplotka
Copy link
Author

Yup, on it, thanks!

@k8s-ci-robot k8s-ci-robot added the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Jan 27, 2025
As per new client_golang release process we try to understand better potential compatibility issues for every minor release, against a bigger users.

This particular release can be tricky due to client_golang dependency relaxing label name and metric name validation with the model.NameValidationScheme global value change, so we want to understand the consequences.

Special notes for your reviewer:

Technically this change permits new characters in the Prometheus metric and label names.

With this we also managed to remove the need for appeengine and locally go-spew, but we added zstd compression dep.

Signed-off-by: bwplotka <bwplotka@gmail.com>
@k8s-ci-robot k8s-ci-robot removed the do-not-merge/invalid-commit-message Indicates that a PR should not merge because it has an invalid commit message. label Jan 27, 2025
@bwplotka
Copy link
Author

Done @dims @dashpole, thanks for help! Added tips for client_golang maintainers for the next PRs prometheus/client_golang#1723

Copy link
Contributor

@dashpole dashpole left a comment

Choose a reason for hiding this comment

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

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jan 27, 2025
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 4bc8f6dead5c1ae8b39e899b326298b73a8a444f

@dims
Copy link
Member

dims commented Jan 27, 2025

/approve
/lgtm

/assign @liggitt

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: bwplotka, dashpole, dims
Once this PR has been reviewed and has the lgtm label, please assign deads2k, thockin for approval. For more information see the Code Review Process.

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

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@dims
Copy link
Member

dims commented Jan 27, 2025

/hold do we want to wait till the final is cut?

@k8s-ci-robot k8s-ci-robot added the needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. label Feb 8, 2025
@k8s-ci-robot
Copy link
Contributor

PR needs rebase.

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-sigs/prow repository.

@bwplotka
Copy link
Author

I will rebase, but first we will try to release a non-rc version (:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/apiserver area/cloudprovider area/code-generation area/dependency Issues or PRs related to dependency changes area/kube-proxy area/kubectl area/kubelet cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. kind/feature Categorizes issue or PR as related to a new feature. lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-priority Indicates a PR lacks a `priority/foo` label and requires one. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. release-note-none Denotes a PR that doesn't merit a release note. sig/api-machinery Categorizes an issue or PR as relevant to SIG API Machinery. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/auth Categorizes an issue or PR as relevant to SIG Auth. sig/cli Categorizes an issue or PR as relevant to SIG CLI. sig/cloud-provider Categorizes an issue or PR as relevant to SIG Cloud Provider. sig/cluster-lifecycle Categorizes an issue or PR as relevant to SIG Cluster Lifecycle. sig/instrumentation Categorizes an issue or PR as relevant to SIG Instrumentation. sig/network Categorizes an issue or PR as relevant to SIG Network. sig/node Categorizes an issue or PR as relevant to SIG Node. sig/storage Categorizes an issue or PR as relevant to SIG Storage. size/XL Denotes a PR that changes 500-999 lines, ignoring generated files. triage/accepted Indicates an issue or PR is ready to be actively worked on. wg/device-management Categorizes an issue or PR as relevant to WG Device Management.
Projects
Status: !SIG Auth
Status: Needs Triage
Status: not-only-sig-node
Development

Successfully merging this pull request may close these issues.

6 participants