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 a CODE_REVIEW_CHECKLIST.md #1273

Merged
merged 2 commits into from
May 18, 2017
Merged

Add a CODE_REVIEW_CHECKLIST.md #1273

merged 2 commits into from
May 18, 2017

Conversation

stevendanna
Copy link
Contributor

The Chef Server 12.15 release had a number of regressions. As part of
the post-mortem for that release, we agreed that a PR checklist may be
helpful to have more fruitful discussions during code review.

This is a first attempt at such a checklist.

Signed-off-by: Steven Danna [email protected]

Copy link
Contributor

@srenatus srenatus left a comment

Choose a reason for hiding this comment

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

I like that list. I think it's the right thing not to include overly vague "Does it work in all possible configurations?", but I do wonder if we have a set of first- and second-class deployment options? (I'm thinking about HA, tiered, external PG, external RMQ, and the like)

- [ ] Do any new configurables have a sensible default value?

- [ ] Are any new user-visible settings/features documented? (via a
linked PR to chef-docs)
Copy link
Contributor

Choose a reason for hiding this comment

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

[pedant] Is "chef-docs" the collective noun for chef-{dev,web}-docs, or am I missing something?

Copy link
Contributor

@srenatus srenatus May 16, 2017

Choose a reason for hiding this comment

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

Just realised the slack channel is called "chef-docs"... not sure if referencing that is a good thing, since that one is internal.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Let's make this a link to the chef-web-docs repo.

used by add-ons? If so, has add-on compatibility been
specifically tested?

- [ ] Has this PR changed an API response that may break API clients?
Copy link
Contributor

Choose a reason for hiding this comment

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

If we care about API clients (haha, of course we do), would it make sense to enumerate those we support? As in, you can't fix the world's Chef server API clients, but we can take care of chef-client. (Or is {chef-client} that set?)

Also, we're not mentioning API versioning or versioning altogether -- would it make sense to add some item for that? I'd assume the contributed change itself won't bump the version, but the necessity to bump the version might be relevant for code review?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I think we mention API versioning in the sentence below this? Overall, I think which clients to fix would be a discussion during the PR depending on which APIs were changing.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yep, I've read over that bit 😖

Copy link
Contributor

Choose a reason for hiding this comment

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

I think at a minimum we care about chef-client, ridley (for berkshelf), and possibly py-chef or chef-api as stretch goals. But the first two are critical.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@thommay I'm going to merge this without the explicit list, but I think we should continue to have a discussion about what clients we should be testing compat with. Currently API compat is only tested with pedant, but perhaps we could add some "external integration" tests to ensure that we don't break any the core features of these products. To be honest though, right now most bugs concern add-on compat and not REST API compat.

Copy link
Contributor

Choose a reason for hiding this comment

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

Yeah, I think that's fine. In general API clients should assume that chef-client (or pedant) is the reference implementation and be bug compatible with that, but it would be good to have some assurance.

@stevendanna
Copy link
Contributor Author

I do wonder if we have a set of first- and second-class deployment options? (I'm thinking about HA, tiered, external PG, external RMQ, and the like)

Yup, we have another task to define the list of our top-tier deployment scenarios.

specifically tested?

- [ ] Has this PR changed an API response that may break API clients?
If so, does this change require and API version bump and has
Copy link
Contributor Author

Choose a reason for hiding this comment

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

s/and/an/

- [ ] Can any of the logging be removed or moved to a more detailed
log level?

- [ ] Are any new logs properly rotated?
Copy link
Contributor

Choose a reason for hiding this comment

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

Is it warranted to have this singled out like that? I mean, any new service could have various ways for filling up the filesystem. But I guess, producing logs is something every service does... 🤔

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I'll remove this one. This list is kind of long and we were looking for way to shorten it a bit. This question was on a list we started a bit ago about things to consider for a new service, but I'm not sure it is appropriate here.

CONTRIBUTING.md Outdated

## Reporting an Issue

When reporting an issue, please try to include as much detail as
Copy link
Member

Choose a reason for hiding this comment

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

This might be better moved to an issue template.

stevendanna and others added 2 commits May 18, 2017 09:42
The Chef Server 12.15 release had a number of regressions. As part of
the post-mortem for that release, we agreed that a PR checklist may be
helpful to have more fruitful discussions during code review.

This is a first attempt at such a checklist.

Signed-off-by: Steven Danna <[email protected]>
Signed-off-by: Marc Paradise <[email protected]>
@stevendanna stevendanna merged commit 67178b5 into master May 18, 2017
@stevendanna stevendanna deleted the ssd/pr-checklist branch May 18, 2017 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants