cncf / foundation

☁️♮🏛 This repo contains several documents related to the operation of the CNCF. File non-technical issues related to CNCF here.
https://cncf.io
Other
557 stars 553 forks source link

Open source CLAbot #3

Closed dankohn closed 5 years ago

dankohn commented 8 years ago

I would prefer for the entire CLAbot codebase to be open source so that others could make use of it, fix bugs, contribute features, etc.

@emsearcy Could you please scope out what would be involved in separating the CLAbot from the LF's Drupal infrastructure so that CNCF (and others who wanted to use it) are not reliant on any closed source infrastructure.

I presume we would still want the production database of signatories to be private, but we could have a demo server with fake data for testing.

Thanks.

Cc @caniszczyk @mkdolan

spiffxp commented 7 years ago

I don't have links handy, but anecdotally the CLAbot being opaque to kubernetes has been a little annoying lately. The bot occasionally misbehaves, and issues related to it get routed to kubernetes-sig-testing, or the kubernetes/test-infra repo. Neither of these places have anything to do with running or troubleshooting the bot.

What's the appropriate escalation path? And where are we on open sourcing the cla bot?

dankohn commented 7 years ago

Hi, we're well aware that the existing CLAbot is not ideal and the Linux Foundation (CNCF's parent) has been investing significant resources over the last 6 months to build an open source replacement for it. In fact, we're pretty close to rolling it out.

However, precisely because the current CLAbot works "well enough", we're likely going to make gRPC our first guinea pigs rather than risk disrupting the Kubernetes work flow. Once it's working, we would then transition Kubernetes as well. In the meantime, we do have a fully-staffed helpdesk at helpdesk@rt.linuxfoundation.org who can respond to any specific problems. But we agree that a more transparent system would be preferable and we hope to get there this fall.

Cc @alanapost, @caniszczyk

BenTheElder commented 7 years ago

Is there any ETA on this? As @spiffxp said we sometimes see the bot flake and we'd love to be able to do more. Also: is there any way to explicitly request that the CLAbot recheck a PR if it does seem hung? For most of our checks we can put a /retest comment to kick the tires, but when the CLAbot seems hung I'm not sure what to do besides point people to the helpdesk.

dankohn commented 7 years ago

@alanapost can the new CLAbot support a /retest (or /recheckcla) command?

@BenTheElder although the current CLAbot is far from ideal, I think we were planning to roll out the new CLAbot to gRPC first to let them deal with any beta bugs.

multi-io commented 6 years ago

Hi. I’m trying to sign up to the CNCF CLA to be able to submit code, and I’m failing to do so. This is the PR where the corresponding check fails:

kubernetes-incubator/external-dns#376

The commits were made using my corporate mail address. I signed up at LinuxFoundation using my private Github account and associated private mail address (not the same as the corporate mail address), then changed my mail address to be identical to the corporate one. From there I signed my employer’s company up as an organization at the Linux foundation, with me (and some other employees) as a manager. The CA check still fails.

Out of desperation I then changed the mail address back to the private one and create a second, entirely new LF account with a different username and my corporate mail address as its mail address, and successfully invited and joined that user into the group. The CA check still fails.

How do I find out what’s missing? Please help.

multi-io commented 6 years ago

I re-made all my commits using my personal mail address, which is my primary Github address, which I used to sign up at LF/CNCF. The CLA check still fails.

This must be one of the crappiest services I’ve ever encountered.

I guess I’m giving up now. I can’t submit any PRs or contribute any code to any K8s project, apparently. :sob:

cblecker commented 6 years ago

@multi-io Did you e-mail the Linux Foundation helpdesk?

multi-io commented 6 years ago

@cblecker I did, they replied quickly, we discussed some options. It works now, without either me or them having done anything, it appears. :-P Still investigating.

emsearcy commented 6 years ago

@multi-io I'm glad you are able to contribute your changes, and we appreciate your involvement in the project.

I'll send an update on your ticket, but I'll cross-post here for the benefit of others who may have similar issues. Investigating, it appears you and the other CCLA managers still needed to click the "Contribute as employee" link on https://identity.linuxfoundation.org/projects/cncf (which is a distinct step from creating/managing CCLAs). It started working for you not via the CCLA, but via an ICLA, as the system shows you later chose "Contribute as individual", and a subsequent comment on the PR marked your Github user "authorized".

The "Contribute as employee" check also walks the user through associating a Github account to their Linux Foundation ID if they haven't done so yet, will will be an important step for the other CCLA managers you invited, who don't have Github IDs attached yet.

multi-io commented 6 years ago

Thank you @emsearcy and Johnson. Upon clicking the link you mentioned, I arrived at the "you are now authorized..." screen. I'll tell my colleagues about it. Your quick support is much appreciated, and my apologies for my misguided earlier flame. Peace :-)

Olaf

justinsb commented 5 years ago

Any news on the open sourcing? Personally, what I need is "just" an API that doesn't need authentication that can check whether an email has signed the CLA - do we have that already? Is it safe to provide that?

dankohn commented 5 years ago

Cc @ShubhraKar who is the LF's new VP Product and managing the new CLAbot. Shubhra, I would suggest doing a call with Justin to understand his requirements.

ShubhraKar commented 5 years ago

Absolutely @dankohn would love to. @justinsb we are planning to open source the new CLA tool in mid December. I can show you a demo as well as discuss your requirements. Do you have time this week?

ShubhraKar commented 5 years ago

@justinsb did not hear back. Do you have time next week? cc @dankohn

spiffxp commented 5 years ago

The current CLA bot doesn't deal well with people changing the e-mail addresses associated with their GitHub profile

https://github.com/kubernetes/community/pull/3001#issuecomment-458317632

justinsb commented 5 years ago

Sorry @ShubhraKar - fell off my plate in the kubecon buildup. Has clabot been open sourced? Then I can send a PR to add the endpoint if it isn't there already :-)

dankohn commented 5 years ago

Not open sourced yet, but it will be happening soon. First step is for us to deploy (and beta test) with gRPC. Please see: https://github.com/cncf/foundation/issues/26#issuecomment-456975915

We can try and get the logs and changing email address fixed during the beta test, and then be ready to switch kubernetes to use that bot. We will open source at the same time so that the K8s community will not be solely dependent on LF resources, though we will still take responsibility for the service.

joejulian commented 5 years ago

The bot's flaking out and not allowing my PR to be marked as having the CLA signed. Has gRPC's use of this started? Would be nice to have something with community support rather than directing us to use Jira where the only CLA related project appears to be considered, "Legacy" (as the "details" linked page does).

FlorianHockmann commented 5 years ago

Will it be possible to use this bot for other projects at the LF or only for CNCF projects? Will the bot require additional infrastructure or do you plan to provide that for LF/CNCF projects?

I'm mainly asking for JanusGraph where the CLA process is currently done manually which is very time consuming and scares away some potential contributors. This seems to be the only bot that also handles corporate CLAs so it would be really helpful if we could use it.

dankohn commented 5 years ago

Yes, JanusGraph will be very welcome to use it with the LF managing the CLAbot. We're just a little backed up with the 2 week private beta of CommunityBridge and then we can hopefully move forward with the gRPC CLAbot rollout. https://www.linuxfoundation.org/press-release/2019/03/the-linux-foundation-launches-new-communitybridge-platform-to-help-sustain-open-source-communities/

FlorianHockmann commented 5 years ago

Thanks for the quick response and it's great to hear that we will be able to automate the CLA process soon 🎉 Looking forward to any updates on this matter

nikhita commented 5 years ago

:wave: Hey folks, just wanted to check if this was rolled out to gRPC already and when we can expect this to be open sourced? :)

dankohn commented 5 years ago

Thanks for the ping. @thisisnotapril and @dims have signed off on the plan for gRPC which is being rolled out over the next several weeks. When it's successful, the new CLAbot will be ready to be open sourced and rolled out for Kubernetes.

nikhita commented 5 years ago

Awesome, thank you! :+1:

cblecker commented 5 years ago

Hi @dankohn 👋

Any update on this? We have a number of enhancements we'd like to make to the CLA bot when it becomes OSS.

ShubhraKar commented 5 years ago

@cblecker we are launching in 3 days - i.e on the 07/18/2019.

cblecker commented 5 years ago

Awesome! Will keep 👀 on it. Thank you!

caniszczyk commented 5 years ago

https://github.com/communitybridge/easycla