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

add VerifiedMaintainer field to Addons and display a warning if empty #14499

Merged
merged 5 commits into from
Jul 26, 2022

Conversation

inifares23lab
Copy link
Contributor

The Addon type now has another string Field: VerifiedMaintainer
The new field is added to the NewAddon function and to the Addons map.

When enabling an addon if the VerifiedMaintainer field is empty a warning message is displayed:

! The <ADDON_NAME> addon doesn't have a verified maintainer.
Since for now I just added an empty string for every addon, it will always display the warning when enabling

fixes #14493

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

Hi @inifares23lab. 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/test-infra repository.

@k8s-ci-robot k8s-ci-robot added needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jul 3, 2022
@minikube-bot
Copy link
Collaborator

Can one of the admins verify this patch?

Copy link
Member

@spowelljr spowelljr left a comment

Choose a reason for hiding this comment

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

Hi @inifares23lab, there are a lot of formatting problems in this PR, could you run gofmt -w -s . to resolve them and then push the changes up, thanks.

@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Jul 6, 2022
@inifares23lab
Copy link
Contributor Author

Hi @spowelljr
apologies
formatted and pushed now

@spowelljr
Copy link
Member

spowelljr commented Jul 6, 2022

Hi @inifares23lab, thanks for formatting the code.

Could you wrap all Maintainers that aren't Google or Kubernetes with 3rd party (X).

For example Portainer.io to 3rd party (Portainer.io)

Could you also add 3rd party (Gluster) as the maintainer for storage-provisioner-gluster.

If the Maintainer is Kubernetes or Google could you make the message be the following:

<addon_name> is an addon maintained by <maintainer> for any concerns contact minikube on GitHub.
You can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS

For the rest of addons could you update your message to:

<addon_name> is A 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.

And for 3rd party addons, if there's a verified maintainer for the addon could you also add the following line:

<addonn_name> is maintained by <maintainer> for any concerns contact <verified_maintaer> on GitHub.

@k8s-ci-robot k8s-ci-robot added size/L Denotes a PR that changes 100-499 lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jul 7, 2022
@inifares23lab
Copy link
Contributor Author

Hello

  • updated messages and handled the 3 different cases
  • updated 3rd party maintainers and fixed some typos

examples:
💡 auto-pause is an addon maintained by Google. For any concerns contact minikube on GitHub.
You can view the list of minikube maintainers at: https://github.com/kubernetes/minikube/blob/master/OWNERS

❗ ambassador is A 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.

💡 metallb is maintained by 3rd party (MetalLB) for any concerns contact MOCK-VERIFI
ED-MAINTAINER on GitHub.

cmd/minikube/cmd/config/enable.go Outdated Show resolved Hide resolved
cmd/minikube/cmd/config/enable.go Outdated Show resolved Hide resolved
cmd/minikube/cmd/config/enable.go Outdated Show resolved Hide resolved
Copy link
Member

@spowelljr spowelljr left a comment

Choose a reason for hiding this comment

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

The Google/Kubernetes and no verified maintainer case is perfect.

But if it's a 3rd party and has a verified maintainer it should have both messages:

<addon_name> is A 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.
<addon_name> is maintained by <maintainer> for any concerns contact <verified_maintaer> on GitHub.

That ways they're notified it's a 3rd party addon and to enable at their own risk, but also pointed to someone if they have troubles.

pkg/minikube/assets/addons.go Outdated Show resolved Hide resolved
cmd/minikube/cmd/config/enable.go Outdated Show resolved Hide resolved
@inifares23lab
Copy link
Contributor Author

inifares23lab commented Jul 15, 2022

Hi @spowelljr

I agree that displaying both messages is more clear for the user, however I have one concern:

  • the first message also states that the addon is not verified by minikube maintainers even if in some cases it has a VerifiedMaintainer

It may be better to further customize the messages for the two cases:

  1. 3rd party without verified maintainer(same as before):

<addon_name> is A 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.

  1. 3rd party with a verified maintainer(add the first message but omit "or verified"):

<addon_name> is A 3rd party addon and not maintained by minikube maintainers, enable at your own risk.
<addon_name> is maintained by <.maintainer> for any concerns contact <verified_maintaer> on GitHub.

Let me know if it makes sense to you
thanks

@spowelljr
Copy link
Member

Hi @inifares23lab, I know in the issue I originally mentioned a verified maintainer but that was just something I quickly jotted down and should have named it something else.

The field can be called anything, GitHubMaintainer or something like that, there's really no verifying the user themselves. Verified is related to the addon itself though, and any addon that's not maintained by Kubernetes or Google isn't verified.

So the message:
<addon_name> is A 3rd party addon and not maintained or verified by minikube maintainers, enable at your own risk.
Seems fine to me for both cases because there is no verified maintainer.

@inifares23lab
Copy link
Contributor Author

understood, thank you for clarifying.
I applied the requested changes

Copy link
Member

@spowelljr spowelljr left a comment

Choose a reason for hiding this comment

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

Looks good! Just a few last comments

pkg/minikube/assets/addons.go Outdated Show resolved Hide resolved
pkg/minikube/assets/addons.go Outdated Show resolved Hide resolved
pkg/minikube/assets/addons.go Outdated Show resolved Hide resolved
@spowelljr
Copy link
Member

/ok-to-test

@k8s-ci-robot k8s-ci-robot added the ok-to-test Indicates a non-member PR verified by an org member that is safe to test. label Jul 25, 2022
@minikube-pr-bot
Copy link

kvm2 driver with docker runtime

+----------------+----------+---------------------+
|    COMMAND     | MINIKUBE | MINIKUBE (PR 14499) |
+----------------+----------+---------------------+
| minikube start | 55.5s    | 56.6s               |
| enable ingress | 28.3s    | 27.5s               |
+----------------+----------+---------------------+

Times for minikube ingress: 29.0s 29.5s 28.6s 25.6s 28.5s
Times for minikube (PR 14499) ingress: 25.6s 28.1s 27.1s 29.7s 27.1s

Times for minikube start: 56.0s 54.7s 55.2s 55.9s 55.7s
Times for minikube (PR 14499) start: 56.1s 57.6s 55.7s 56.6s 57.1s

docker driver with docker runtime
error collecting results for docker driver: timing run 0 with minikube: timing cmd: [out/minikube addons enable ingress]: waiting for minikube: exit status 10
docker driver with containerd runtime
error downloading artifacts: artifact download start: exit status 90

@minikube-pr-bot
Copy link

These are the flake rates of all failed tests.

Environment Failed Tests Flake Rate (%)
Docker_macOS TestDownloadOnlyKic (gopogh) 1.36 (chart)
Docker_macOS TestDownloadOnly/v1.24.2/preload-exists (gopogh) 1.36 (chart)
Docker_Linux_containerd TestNetworkPlugins/group/auto/DNS (gopogh) 2.68 (chart)
KVM_Linux_containerd TestPause/serial/SecondStartNoReconfiguration (gopogh) 13.38 (chart)
Docker_Linux_containerd TestOffline (gopogh) 24.32 (chart)
Docker_Linux_containerd TestAddons/Setup (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/parallel/DashboardCmd (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/parallel/MountCmd/any-port (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/parallel/MySQL (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/parallel/PersistentVolumeClaim (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/parallel/ServiceCmd (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/parallel/ServiceCmdConnect (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/parallel/TunnelCmd/serial/AccessDirect (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/parallel/TunnelCmd/serial/WaitService/Setup (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/serial/ExtraConfig (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/serial/SoftStart (gopogh) 25.68 (chart)
Docker_Linux_containerd TestFunctional/serial/StartWithProxy (gopogh) 25.68 (chart)
Docker_Linux_containerd TestIngressAddonLegacy/serial/ValidateIngressAddonActivation (gopogh) 25.68 (chart)
Docker_Linux_containerd TestIngressAddonLegacy/StartLegacyK8sCluster (gopogh) 25.68 (chart)
Docker_Linux_containerd TestJSONOutput/start/Command (gopogh) 25.68 (chart)
Docker_Linux_containerd TestMultiNode/serial/AddNode (gopogh) 25.68 (chart)
Docker_Linux_containerd TestMultiNode/serial/DeleteNode (gopogh) 25.68 (chart)
Docker_Linux_containerd TestMultiNode/serial/DeployApp2Nodes (gopogh) 25.68 (chart)
Docker_Linux_containerd TestMultiNode/serial/FreshStart2Nodes (gopogh) 25.68 (chart)
Docker_Linux_containerd TestMultiNode/serial/PingHostFrom2Pods (gopogh) 25.68 (chart)
Docker_Linux_containerd TestMultiNode/serial/ProfileList (gopogh) 25.68 (chart)
Docker_Linux_containerd TestMultiNode/serial/StartAfterStop (gopogh) 25.68 (chart)
Docker_Linux_containerd TestMultiNode/serial/StopNode (gopogh) 25.68 (chart)
Docker_Linux_containerd TestPreload (gopogh) 25.68 (chart)
Docker_Linux_containerd TestMultiNode/serial/RestartKeepsNodes (gopogh) 27.70 (chart)
More tests... Continued...

Too many tests failed - See test logs for more details.

To see the flake rates of all tests by environment, click here.

Copy link
Member

@spowelljr spowelljr left a comment

Choose a reason for hiding this comment

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

Looks good, thanks for your work on this!

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: inifares23lab, spowelljr

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

The pull request process is described 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

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jul 26, 2022
@spowelljr spowelljr merged commit 0d274d5 into kubernetes:master Jul 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. needs-ok-to-test Indicates a PR that requires an org member to verify it is safe to test. ok-to-test Indicates a non-member PR verified by an org member that is safe to test. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add GitHub maintainer field to addons & warn for all addons missing a maintainer
5 participants